PKCS #12バンドル (.p12)

IETF 標準

PKCS #12 (P12、PFXとも呼ばれます) は、秘密鍵を対応するX.509公開証明書やCAチェーンとともに安全に保管および転送するために設計された、暗号化されパスワードで保護されたアーカイブ形式です。

P12 を PEM に変換

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

調査とメタデータ

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

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

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

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

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

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

30 82

ASCII表現: 0\x82

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

技術仕様

コンテナアーキテクチャPassword-encrypted ASN.1 PFX structure encapsulating SafeBags holding private keys, certificates, and CRLs
圧縮Uncompressed cryptographic data
バイトエンディアンBig-Endian ASN.1 DER
色空間N/A (Encrypted Key Store)
チャンネルと構造Private keys, Public certificates, Intermediate CA chains, and Root CA certificates
最大寸法Typically 5 KB to 25 KB
透過性Encrypted container (password-protected)
ストリーミングとプログレッシブAtomic encrypted archive extraction

技術比較マトリックス: P12 対 競合製品

技術属性P12 (現在)PEMCRTDER
バンドル機能秘密鍵 + 証明書チェーンをすべて一括テキスト内で結合可能、暗号化されていない鍵証明書のみ単一のバイナリ鍵または証明書
暗号化パスワード暗号化 (AES-256)秘密鍵に対するオプションのパスフレーズ暗号化されていない公開証明書暗号化されていないバイナリ
Apple iOS & macOSネイティブIDエクスポート標準コマンドライン経由で使用証明書としてインポート生鍵としてインポート
互換性のある形式.pfx (同一フォーマット).crt, .key.cer.asn1

一般的な破損モードと16進数リカバリガイド

抽出エラー: 正しいパスワードを入力しているにもかかわらず 'Mac verify error: invalid password'。

根本原因: OpenSSL 3.0のデフォルト設定により、古いP12ファイル内の従来の3DES/RC2暗号化アルゴリズムが拒否されている。

復旧: File2File証明書ツールを使用して、最新のAES-256で再暗号化します。

セキュリティ分析とパーサー攻撃ベクトル

P12コンテナには重要な秘密鍵が格納されるため、レガシーな暗号暗号は最新のAES標準に更新する必要があります。

既知の攻撃ベクター

  • 反復回数が少ない、弱く暗号化されたP12アーカイブに対する総当たりパスワード攻撃。
  • 古いP12ファイルにおけるレガシーなRC2-40-CBC脆弱暗号の悪用。
  • 保護されていないメモリバッファ内での、復号された秘密鍵のメモリリーク。

防御的ベストプラクティス:

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

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」は完全に互換性があり、まったく同じ形式を指します。
  • 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 ファイルには機密性の高い秘密鍵が含まれているため、不正な第三者がデジタル身分証明書を盗むのを防ぐためにパスワードで暗号化されています。