はじめに
squidのSSLインターセプト用に中間CAを準備しなきゃいけないけど、上位のCAがWindowsServerの証明機関(ADCS)だったので、LinuxでCSRを発行してADCSに投げて証明書をつくってもらいました。
ただそれだけなのですが、後日参照できるように手順を記載しておきます。
修正
タイトルにSSLインターセプトという言葉が入っていましたが、よくよく考えたら関係ないので外しました。
作業内容
秘密鍵(非暗号化RSA2048bit)とCSRを同時に作成
# openssl req -new -newkey rsa:2048 -nodes -keyout icaprivkey.pem \
> -out csr.pem -subj "/C=JP/ST=Tokyo/O=EXAMPLE/CN=EXAMPLE Inter CA"
Generating a 2048 bit RSA private key
...........................................................................................................+++
................................................................+++
writing new private key to 'icaprivkey.pem'
-----
証明書の文字列をコピーする。
csr.pem
-----BEGIN CERTIFICATE REQUEST-----
MIIClDCCAXwCAQAwTzELMAkGA1UEBhMCSlAxDjAMBgNVBAgMBVRva3lvMREwDwYD
(~省略~)
F/P8c98kLuUEOxXaYFNRTiyrpxWpbY9qKIpCzi85hnXW9DXUBQTZ2w==
-----END CERTIFICATE REQUEST-----
さっきコピーしたCSRの中身をペースト
証明書テンプレートは「下位の証明機関」を選択して、「送信」をクリック
すべてのアプリケーションポリシーになっていることを確認(認証局としての機能)
あとはProxyに証明書を秘密鍵をもっていけばOK
SSLをインターセプトするとこうなる
SSLをいちどProxyで終端するので、httpsでアクセスした先のサイトの証明書は、今回発行した認証局から発行されているようにみえる。
あのgoogleでさえ我が軍門に。。。
いえ、なんでもないです。