3.1. セキュアなインターネットプロトコル

3.1.1. apache の mod_ssl で証明書を使う

まず第一に、どのアプリケーションでもあなたの自己署名ルート CA 証明書を 絶対に使わないこと。特に apache では、あなたの秘密鍵のパスフレーズを 削除するように要求されるからです。

まず、www.mysite.com のような通常名(Common Name, CN)で証明書要求を 作成し書名します。 ---CERTIFICATE--- の部分だけを保存して余計な情報は削除してください。

秘密鍵を読むときには何のパスワードも要求されませんから、 鍵を非セキュア(安全でない状態)にする必要があります。 あなたの秘密鍵を含む newreq.pem ファイルを取り出し、 そこからパスフレーズを削除してください。

openssl rsa -in newreq.pem -out wwwkeyunsecure.pem

その鍵(PRIVATE Key)は安全でないですから、 あなたは自分が何をしているのかちゃんと分かっている必要があります: ファイルの許可情報をチェックするとか… もし誰かがそれを手に入れたら、あなたのサイトの信用が損なわれることになります (既に警告しましたよ)。 これで、apache 用に newcert と cakeyunsecure.pme が使えるようになりました。

/etc/httpd/conf/ssl/ ディレクトリの wwwkeyunsecure.pem と newcert.pem をそれぞれ wwwkeyunsecure.pem と wwwcert.crt としてコピーしてください。

/etc/httpd/conf/ssl/ssl.default-vhost.conf を編集します。

---- 
# Server Certificate: 
# サーバの証明書:
# Point SSLCertificateFile at a PEM encoded certificate. If 
# the certificate is encrypted, then you will be prompted for a 
# pass phrase. Note that a kill -HUP will prompt again. A test 
# certificate can be generated with `make certificate' under 
# built time. 
# PEM エンコードされた証明書で SSLCertificateFile を示す。
# もし証明書が暗号化されていれば、パスフレーズを要求されます。
# kill -HUP は再び入力を促すことに注意。ビルド時に、
# 'make certificate' としてテスト証明書を生成可能です。
#SSLCertificateFile conf/ssl/ca.crt 
SSLCertificateFile wwwcert.crt
# Server Private Key: 
# サーバの秘密鍵:
# If the key is not combined with the certificate, use this 
# directive to point at the key file. 
# もしこの鍵が証明書と一緒になっていなければ、この指示で
# 鍵ファイルを示す。
#SSLCertificateKeyFile conf/ssl/ca.key.unsecure 
SSLCertificateKeyFile wwwkeyunsecure.pem 
----

httpd を停止して再スタートし(/etc/rc.d/init.d/httpd stop)、 全てのプロセスが死に(killall httpd)、httpd が開始されたこと (/etc/rc.d/init.d/httpd start)を確認してください。

3.1.2. IMAPS で証明書を使う

“Using a certificate with POPS” の該当パラグラフを読んでください。

3.1.3. POPS で証明書を使う

ipop3sd の pem ファイルは証明書を生成し、秘密鍵を非セキュアにして、 この二つを合わせて /etc/ssl/imap/ipop3sd.pem を作ることで作成することができます。 これは Mandrake 9.0 の imap rpm がそのファイルを探す場所です。 同様の手続きを imap についても用いることができ、 その場合はファイルを /etc/ssl/imap/imapsd.pem とします。

CN はメイルクライアントが接続する名前(例えば、mail.xyz.org)で なくてはなりません。MS-Outlook は、サーバタブ上では、 受信メイルサーバ mail.xyz.org へ入り、 アドバンスドタブ上では、 “このサーバが安全な接続(SSL)を要求していること”をチェックして、 接続を 995 番ポート(imaps)に変更します。 mail.xyz.org からのその証明書を有効にするために、 信用されたルート CA が MS Internet Explorer の中に インストールされていなければなりません。

3.1.4. Postfix で証明書を使う

準備中

3.1.5. Stunnel で証明書を使う

準備中

3.1.6. Microsoft Key Manager で鍵を生成し署名する

Microsoft Key Manager では、あなたが鍵を作りたいサーヴィス (例えば IMAP とか WWW など)を選びます。 新しい鍵を生成するにはウィザードを使います。 識別名が以前に生成されている鍵と同じにならないよう注意してください。 例えば、通常名には(Common Name, CN) imap.mycompany.com などを使います。 ウィザードは C:\NewKeyRq.txt ファイルに要求書をおきます。 Key Manager は鍵を表示して、その鍵が署名されていないことを示して拒絶します。

このファイルを OpenSSL の /var/ssl ディレクトリに移し、 newreq.pem に名前を変更し、例によって要求に署名します。

CA.pl -sign

newcert.pem ファイルはテキストと -CERTIFICATE- セクションを含んでいますから、 Key Manager にとってはまだ適切な形式ではありません。 このテキスト部分を削除しなければなりませんが、以下がその簡単な方法です:

openssl x509 -in newcert.pem -out newcertx509.pem

テキストエディタを用いて -CERTIFICATE- セクション以外の部分を削除してしまうのも また適切な手段です。

これで newcertx509.pem ファイルは -CERTIFICATE- セクションだけを 含むことになりました。

newcertx509.pem ファイルを Key Manager が走っているコンピュータに転送し、 Key Manager アプリケーションで鍵のアイコンを選んで、 右クリックし、その鍵の証明書の Install をクリックして、 このファイルを選び、パスフレーズを入力します。 これで鍵は完全に機能を発揮するようになりました。