Windows でキーペアのエクスポート
SSL で利用するサーバーでは、サーバー証明書とそれに関連付けされた秘密鍵の両方をもっていなければなりません。
秘密鍵は CSR を作成する時点で必要です。
IIS マネージャから CSR を作成した場合には、裏で自動的に秘密鍵が作成されて、Windows の証明書ストアというところに格納されます。
秘密鍵とともに証明書が保持されている場合は、Windows の管理コンソールの証明書スナップインから、キーペア (*.pfx) という形式で証明書と秘密鍵をまとめてエクスポートすることが可能です。
キーペアをエクスポート
mmc (管理コンソール) で証明書スナップインを開きます。ローカルコンピュータで、コンピュータアカウントで開きます。
サーバー証明書は Personal (個人) 以下の証明書ストア内に格納されています。
エクスポートのオプションとして、秘密キーを含めるように指定します。
ちなみに、当然ながら、例えば外部のルート CA の CA 証明書などは、こちらが秘密鍵を持っているはずが無いので、 証明書スナップインからキーペアをエクスポートしようとしても無理です。ウィザードでは秘密鍵をエクスポートしますか?などと聞いてきません。
さらに、蛇足ですが証明書だけをエクスポートするときは、フォーマットとして拡張子が *.cer なるファイルが作成されます。Windows ではバイナリ形式でエクスポートした証明書も Base64 エンコードした証明書も同じ *.cer ファイルとして作成するので、少々紛らわしいですね。
Base64 エンコードとした *.cer ファイルの方は、いわゆる PEM ファイルです。証明書を ASN.1 DER エンコードし、 それを Base64 エンコードして、上下に BEGIN CERTIFICATE/END CERTIFICATE のアンカーラインを設定した形式です。
ま、これはそもそもキーペアではないので、話をキーペアに戻します。
さて次に、キーペアのフォーマットを指定します。PKCS #12 (*.pfx) を指定して次へ。
パスワードを入力して次へ。
ファイル名を指定して次へ。
完了をクリックすればエクスポートされます。
以上でキーペア (*.pfx) がエクスポートされました。
さらにキーペアから秘密鍵だけ、あるいは証明書だけを抽出したい場合は、次の資料を参考にしてください。