PKCS #12バンドル (.p12)
IETF 標準PKCS #12(P12/PFX)は、秘密鍵、証明書、関連データを格納できるコンテナ形式です。ファイルは作成方法に応じて、パスワードで保護される場合も、暗号化されない場合もあります。
P12 を PEM に変換
無料のブラウザ内 P12 から PEM へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してP12ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してP12ファイルを識別します:
16進数シグネチャ(オフセット0):
30ASCII表現: 0
標準化: IETF RFC 7292 / PKCS #12 v1.1
技術仕様
| コンテナアーキテクチャ | 秘密鍵、証明書、CRLを格納するSafeBagを包む、パスワード暗号化されたASN.1 PFX構造 |
| 圧縮 | 非圧縮の暗号データ |
| バイトエンディアン | ビッグエンディアンのASN.1 DER |
| 色空間 | 該当なし(暗号化キー保管庫) |
| チャンネルと構造 | 秘密鍵、公開証明書、中間CAチェーン、ルートCA証明書 |
| 最大寸法 | 通常5 KB~25 KB |
| 透過性 | 暗号化コンテナ(パスワード保護) |
| ストリーミングとプログレッシブ | 暗号化アーカイブを原子的に抽出 |
技術比較表:P12と競合製品
| 技術属性 | P12 (現在) | PEM | CRT | DER |
|---|---|---|---|---|
| バンドル機能 | 秘密鍵 + 証明書チェーンをすべて一括 | テキスト内で結合可能、暗号化されていない鍵 | 証明書のみ | 単一のバイナリ鍵または証明書 |
| 暗号化 | パスワード暗号化 (AES-256) | 秘密鍵に対するオプションのパスフレーズ | 暗号化されていない公開証明書 | 暗号化されていないバイナリ |
| Apple iOS & macOS | OS標準のIDエクスポート形式 | コマンドライン経由で使用 | 証明書としてインポート | 未加工の鍵として読み込み |
| 互換性のある形式 | .pfx (同一フォーマット) | .crt, .key | .cer | .asn1 |
一般的な破損モードと16進数リカバリガイド
抽出エラー: 正しいパスワードを入力しているにもかかわらず 'Mac verify error: invalid password'。
根本原因: OpenSSL 3.0のデフォルト設定により、古いP12ファイル内の従来の3DES/RC2暗号化アルゴリズムが拒否されている。
復旧: File2File.app証明書ツールを使用して、最新のAES-256で再暗号化します。
セキュリティ分析とパーサー攻撃ベクトル
P12コンテナには重要な秘密鍵が格納されるため、レガシーな暗号方式は最新のAES標準に更新する必要があります。
既知の攻撃ベクター
- 反復回数が少ない、弱く暗号化されたP12アーカイブに対する総当たりパスワード攻撃。
- 古いP12ファイルにおけるレガシーなRC2-40-CBC脆弱暗号の悪用。
- 保護されていないメモリバッファ内での、復号された秘密鍵のメモリリーク。
防御的ベストプラクティス: P12ファイルには、強力なパスワードを使用し、PBKDF2/SHA-256を用いた最新のAES-256暗号化を常に適用します。
歴史的背景とマイルストーン
主なメリット
- オールインワンパッケージ:秘密鍵、公開証明書、完全な中間CAチェーンを単一の安全なファイルにバンドルします。
- パスワード保護された暗号化:秘密鍵はAES-256または3DESで暗号化され、安全な転送が可能です。
- Webブラウザ認証やApple iOS開発者コード署名プロファイルの標準クライアント証明書フォーマット。
技術的な制限とデメリット
- 抽出にパスワードが必要:パスワードを忘れると、秘密鍵が永久に復元できなくなります。
- 従来のP12ファイルは、最新のOpenSSL 3.0で警告を引き起こす脆弱な3DESまたはRC2暗号化アルゴリズムを使用していました。
- バイナリフォーマットのため、暗号学的抽出ツールなしでは視覚的な検査ができません。
興味深い技術トリビア
- ファイル拡張子「.p12」と「.pfx」は100%互換性があり、まったく同じ形式を指します。
- Apple iOSの開発者証明書およびプロビジョニングプロファイルは、iPhoneアプリに署名するための .p12 ファイルとして配布されます。
- OpenSSL 3.0は従来のPKCS#12アルゴリズム(RC2-40-CBC)を非推奨としたため、古いP12ファイルを開くには「-legacy」フラグが必要です。
よくある技術的な質問
.p12 と .pfx の違いは何ですか?
違いはありません。.pfx は Microsoft の旧フォーマットであり、RSA Laboratories によって PKCS #12(.p12)として標準化されました。現在、どちらの拡張子もまったく同じフォーマットを指します。
.p12 ファイルから秘密鍵を抽出するにはどうすればよいですか?
Webブラウザ上でFile2File.appを直接使用すれば、数秒で秘密鍵と公開証明書を形式の整った.pemファイルに抽出できます。
P12 ファイルにパスワードが必要なのはなぜですか?
P12 ファイルには機密性の高い秘密鍵が含まれているため、不正な第三者がデジタル身分証明書を盗むのを防ぐためにパスワードで暗号化されています。