URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

OpenSSLで証明書(PEM)をPKCS #12に変換

 結構使うわりにはオプションを間違える事が多いのでメモ。

 SSLサーバ証明書をWindows環境で使うとき、Windowsの証明書マネージャ(certmgr.msc)へインポートします。この時、一般的にはPKCS #12(pfx)形式を使います。
 一方で、LAMP等のLinux環境ではPEM形式が一般的だと思います。そのため、認証局から発行してもらった証明書を使い回したいときとかには、変換することになります。

 準備するものは以下の通り(もしパスフレーズを設定している場合はそれも)。

秘密鍵server.key要準備
SSL証明書 (PEM)sample.pem要準備
中間CAsample-ca.pem必要に応じて準備
出力ファイル (PKCS #12形式)sample.pfxこれから作成

 あとは"openssl"コマンドを実行。

(秘密鍵と証明書のみの場合)
# openssl pkcs12 -export -in sample.pem -inkey server.key -out sample.pfx

(中間CA証明書が必要な場合)
# openssl pkcs12 -export -in sample.pem -inkey server.key -certfile sample-ca.pem -out sample.pfx