メニューSSL証明書 - メニュー
【SSL証明書】FAQ/情報

PFX(P12)ファイルから証明書・秘密鍵を取り出す方法

ページ更新日:2026/05/07

.pfx.p12)ファイルは、SSL証明書・中間CA証明書・秘密鍵が1つにまとめられたPKCS#12形式のファイルです。
IISのバックアップやクラウド環境からエクスポートすると、この形式で入手することがあります。
Apache・Nginx・Tomcat などに移行する際や、証明書と秘密鍵を個別に必要とする場面で、OpenSSLを使って各ファイルを取り出すことができます。

前提条件

証明書(CRT)を取り出す

PFXから証明書(サーバー証明書)のみを取り出します。

openssl pkcs12 -in server.pfx -clcerts -nokeys -out server.crt

秘密鍵(KEY)を取り出す

# パスフレーズなし(Apache/Nginx の自動起動向け)
openssl pkcs12 -in server.pfx -nocerts -nodes -out server.key

# パスフレーズあり(取り出した後に別途解除する場合)
openssl pkcs12 -in server.pfx -nocerts -out server.key

中間CA証明書チェーンを取り出す

openssl pkcs12 -in server.pfx -cacerts -nokeys -out intermediate.crt

証明書チェーン全体(証明書+中間CA)をまとめて取り出す

Nginx では証明書と中間CA証明書を結合した1つのファイルを使います。

openssl pkcs12 -in server.pfx -nokeys -out fullchain.pem

※ 出力されるファイルには証明書・中間CA証明書の順に含まれます(サーバー証明書が先)。

取り出したファイルの確認

取り出した後、証明書・秘密鍵・CSRが対応しているかをMD5ハッシュで確認することをおすすめします。

# 秘密鍵のMD5
openssl rsa -modulus -noout -in server.key | openssl md5

# 証明書のMD5
openssl x509 -modulus -noout -in server.crt | openssl md5

両方のMD5が一致していれば、この秘密鍵と証明書はセットです。一致しない場合は別の証明書・秘密鍵です。

OpenSSL 3.x での注意点

OpenSSL 3.x では古いRC2暗号で保護されたPFXファイルが読み込めない場合があります。
その際は -legacy オプションを追加してください。

openssl pkcs12 -legacy -in server.pfx -nocerts -nodes -out server.key

📌 関連ページ:
opensslでpfxファイル作成
SSL証明書のファイル形式の違い(.crt .cer .pem .p7b .pfx .p12)
OpenSSLコマンド集

↑ 上へ 注文 検索