PEMをP12に変換
PEM証明書をPKCS #12バンドルに変換すると、公開証明書と秘密鍵が1つのパスワードで保護されたファイルにまとまり、WindowsサーバーやWebブラウザーに簡単にインストールできます。
フォーマットの比較と技術仕様
| 仕様 | PEM | P12 |
|---|---|---|
| MIMEタイプ | application/ | application/ |
| タイプ | Base64 ASCII証明書コンテナ | PKCS #12暗号化アーカイブ |
| 圧縮 | なし(Base64アーマー化) | パスワード暗号化 PKCS #7 セーフバッグ |
| 標準仕様 | IETF RFC 7468 | IETF RFC 7292 |
| マジックバイトヘッダー | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) | 30 82 (ASN.1 PKCS #12 PFX sequence) |
フォーマットの概要と用途
システム管理者やWeb開発者は、異なるWebサーバーやオペレーティングシステム間でセキュリティ証明書を頻繁に移行する必要があります。Linux環境やApacheサーバーでは、従来、証明書と鍵を別々のテキストファイルとして扱います。しかし、Windowsサーバー、インターネットインフォメーションサービス(IIS)、および個人証明書ストアでは、セキュリティ資産を適切に管理するために統合された形式が必要です。 Windowsマシンやクライアント認証用のモバイルデバイスにセキュリティ証明書をインポートする場合、システムは公開鍵と秘密鍵の両方を保持する単一のアーカイブファイルを要求します。標準的なテキスト証明書からPKCS #12バンドルを生成することで、この要件を満たすことができます。このプロセスにより、依存ファイルが不足することなく、オペレーティングシステムのキーチェーンに証明書を安全にインポートできるようになります。
技術仕様とコーデックの詳細
PKCS #12は、秘密鍵、証明書、その他のセーフバッグの内容を格納できるバイナリコンテナです。バンドルはパスワードで保護されていることが多いものの、暗号化やパスワードの要否はファイルの作成方法によって異なります。変換では、選択した証明書と秘密鍵をPEMテキストブロックとして、パスワード保護されたPKCS #12バンドルにまとめられます。
OSとブラウザの互換性
PEMファイルは、OpenSSL、Apache、Nginx、およびLinuxベースのランタイムでネイティブサポートされています。PKCS #12バンドルは、Microsoft Windows、IIS、macOSキーチェーンアクセス、Apple iOS、およびAndroidでのユーザーおよびサーバー証明書のインストールにおいてネイティブサポートされています。
役立つ情報
PKCS #12バンドルの作成プロセス中に指定したパスワードは必ず保管してください。このパスワードを紛失した場合、アーカイブ内の秘密鍵を復元することはできません。
よくある質問
PEM証明書からPKCS #12バンドルへ品質を落とさずに変換するにはどうすればよいですか?
証明書の変換は完全にロスレス(可逆)です。セキュリティ証明書は正確な暗号数学に依存しているため、形式の変更はコンテナ構造とエンコーディング方法を変更するだけであり、基盤となる公開鍵や秘密鍵のデータが変更されることはありません。
PEM証明書とPKCS #12バンドルの違いは何ですか?
PEM証明書は、通常単一の証明書や鍵を保持する、Base64 ASCIIでエンコードされた人間が読めるテキストファイルです。PKCS #12バンドルは、証明書、秘密鍵、およびオプションの中間証明書を1つのパスワード保護されたファイルに安全にまとめるバイナリアーカイブです。