ページ更新日:2026/05/07
SSL証明書を取得すると、拡張子が異なる複数のファイルを受け取ることがあります。
.crt・.cer・.pem・.p7b・.pfx・.p12 など、見た目は違っても中身が同じ場合も多く、混乱しやすいポイントです。
このページでは各形式の違いと、どの場面で何を使うべきかを解説します。
| 拡張子 | エンコード | 内容 | 主な用途 |
.pem |
Base64(テキスト) | 証明書・秘密鍵・中間CA証明書のいずれか、または複数 | Apache・Nginx・OpenSSL全般 |
.crt |
Base64またはDER | 証明書(通常は1枚) | Apache・Nginx・Linux全般 |
.cer |
Base64またはDER | 証明書(.crtと実質同じ) | Windows・IIS |
.der |
DER(バイナリ) | 証明書(バイナリ形式) | Java・Tomcat・Androidアプリ |
.p7b / .p7c |
Base64(PKCS#7) | 証明書チェーン(証明書+中間CA証明書)。秘密鍵は含まない | IIS・Windows Server・Javaの一部 |
.pfx / .p12 |
バイナリ(PKCS#12) | 証明書+中間CA証明書+秘密鍵をまとめてパスワード保護 | IIS・Windows環境・Tomcat・クラウドインポート |
.key |
通常Base64 | 秘密鍵のみ | Apache・Nginx・OpenSSL |
最も広く使われる形式です。テキストエディタで開くと -----BEGIN CERTIFICATE----- のような行から始まります。
Apache・Nginxなどのサーバーではこの形式を使います。
-----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldTANBgkqh... (省略) -----END CERTIFICATE-----
※ .pem・.crt・.cer は同じBase64エンコード形式であることが多く、拡張子を変えるだけで使える場合がほとんどです。
※ .cer はDER(バイナリ)形式のこともあります。テキストエディタで文字化けする場合はDERです。
PEMをバイナリ化した形式です。内容は同じですが、テキストエディタでは読めません。
Javaやモバイルアプリ(Android)でよく使われます。OpenSSLで相互変換できます。
# PEM → DER openssl x509 -in server.crt -outform DER -out server.der # DER → PEM openssl x509 -in server.der -inform DER -out server.crt
証明書と中間CA証明書をまとめた形式です。秘密鍵は含まれません。
IIS(Windows Server)でよく使われます。PEM形式に変換することも可能です。
# P7B → PEM(証明書チェーンとして展開) openssl pkcs7 -in certificate.p7b -print_certs -out certificate.crt
証明書・中間CA証明書・秘密鍵を1つのファイルにまとめ、パスワードで保護した形式です。
IISへのインストールや、クラウドサービス(AWS ACMなど)へのインポート時によく使います。
.pfx と .p12 は同じ形式で、Windowsでは .pfx・LinuxやMacでは .p12 と呼ばれることが多いです。
📌 PFXファイルの作成方法:opensslでpfxファイル作成
📌 PFXファイルからの抽出方法:PFX/P12から証明書・秘密鍵を取り出す方法
| サーバー/環境 | 使用するファイル形式 |
| Apache | 証明書(.crt / .pem)・中間CA証明書(.crt / .pem)・秘密鍵(.key) |
| Nginx | 証明書+中間CA証明書を結合した .pem・秘密鍵(.key) |
| IIS(Windows Server) | PFX(.pfx)をインポート、またはP7B+秘密鍵 |
| Java / Tomcat | Keystore(.jks / .p12)を作成して使用 |
| AWS ACM(ALB / CloudFrontへインポート) | 証明書(PEM)・秘密鍵(PEM)・中間CA証明書(PEM)を別々に貼り付け |
📌 関連ページ:
opensslでpfxファイル作成
PFX/P12から証明書・秘密鍵を取り出す方法
OpenSSLコマンド集
中間証明書とは?インストールが必要な理由