PKCS #12バンドル (.p12)

IETF 標準

PKCS #12(P12/PFX)は、秘密鍵、証明書、関連データを格納できるコンテナ形式です。ファイルは作成方法に応じて、パスワードで保護される場合も、暗号化されない場合もあります。

P12 を PEM に変換

無料のブラウザ内 P12 から PEM へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してP12ファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してP12ファイルを識別します:

16進数シグネチャ(オフセット0):

30

ASCII表現: 0

標準化: IETF RFC 7292 / PKCS #12 v1.1

技術仕様

コンテナアーキテクチャ秘密鍵、証明書、CRLを格納するSafeBagを包む、パスワード暗号化されたASN.1 PFX構造
圧縮非圧縮の暗号データ
バイトエンディアンビッグエンディアンのASN.1 DER
色空間該当なし(暗号化キー保管庫)
チャンネルと構造秘密鍵、公開証明書、中間CAチェーン、ルートCA証明書
最大寸法通常5 KB~25 KB
透過性暗号化コンテナ(パスワード保護)
ストリーミングとプログレッシブ暗号化アーカイブを原子的に抽出

技術比較表:P12と競合製品

技術属性P12 (現在)PEMCRTDER
バンドル機能秘密鍵 + 証明書チェーンをすべて一括テキスト内で結合可能、暗号化されていない鍵証明書のみ単一のバイナリ鍵または証明書
暗号化パスワード暗号化 (AES-256)秘密鍵に対するオプションのパスフレーズ暗号化されていない公開証明書暗号化されていないバイナリ
Apple iOS & macOSOS標準の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暗号化を常に適用します。

歴史的背景とマイルストーン

2014IETFがRFC 7292を発行し、AES暗号化を備えた最新のPKCS #12 v1.1を標準化。
2000Apple macOS KeychainおよびMicrosoft Windowsが、ユーザーのデジタルID転送用としてPKCS #12を標準採用。
1999RSA LaboratoriesがPKCS #12 v1.0をリリースし、マイクロソフトの旧PFX形式を置き換え。

主なメリット

  • オールインワンパッケージ:秘密鍵、公開証明書、完全な中間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 ファイルには機密性の高い秘密鍵が含まれているため、不正な第三者がデジタル身分証明書を盗むのを防ぐためにパスワードで暗号化されています。