PFX / PKCS #12 インスペクター
.pfx / .p12 ファイルを選択またはドロップし、パスワードを入力してください。ファイルはこのページ内で復号され、完全性チェック、すべてのバッグ、証明書、鍵と、それぞれの暗号化方式が表示されます。証明書は PEM としてエクスポートでき、明示的に指定した場合は鍵もエクスポートできます。
ブラウザー内で開かれます。ファイル、パスワード、鍵がこのページの外に送信されることはなく、PFX ファイルが共有リンクに含まれることもありません。
PFX ファイルには通常、秘密鍵が含まれています。ファイルはブラウザー内でのみ開かれ、このページではこのファイルの共有リンクを作成できません。
ここにファイルをドロップ、または
ファイルはブラウザー内で読み込まれ、サーバーに送信されることはありません。
What a .pfx or .p12 file is
PKCS #12, published as RFC 7292, is the container format behind .pfx and .p12 files: a certificate together with its private key and, usually, the chain of CA certificates above it, protected by a password. Windows, macOS keychains, Java keystores, IIS, Azure and most mail clients import and export it, which is why it is the format you receive when a certificate is bought for a Windows server or a code-signing token is backed up.
Inside, the file is a set of nested envelopes. The outer structure holds an "authenticated safe" — a sequence of containers, each either plain or encrypted with a password-based scheme. Containers hold "safe bags": a certificate bag, a private key bag (encrypted again on its own, as a PKCS #8 EncryptedPrivateKeyInfo, or rarely in the clear), CRL and secret bags, or further nested bags. Bags carry attributes such as a friendly name and a local key ID that pairs a key with its certificate. Over all of it sits an integrity check: a password-based MAC, or in rare files a signature.
What the inspector checks
Drop the file or choose it, type the password and open it. The inspector then:
- checks the integrity MAC. It is computed with the PKCS #12 key derivation of RFC 7292 Appendix B, or with PBMAC1 from RFC 9579 in newer files. A matching MAC proves both the password and that the file is unchanged. Writers disagree about the empty password — some encode it as a two-byte terminator, some as nothing at all — so both forms are tried. When the contents decrypt but the MAC does not match, the file was modified or written with a different MAC password.
- decrypts every container and key. Modern files use PBES2 with PBKDF2 and AES-256 (RFC 8018), decrypted with your browser's WebCrypto. Older files — OpenSSL 1.x defaults,
openssl pkcs12 -legacy, many Windows exports — use the PKCS #12 schemes with 3DES or 40-bit RC2; those are decrypted with a small cipher module that loads only when such content is present. Each container and bag shows its scheme, cipher, key-derivation hash and iteration count, rated modern, legacy or broken: 40-bit RC2 can be brute-forced in minutes, so whatever it protects is effectively unprotected. - pairs keys with certificates. Each private key's public half is derived and compared with the public key of every certificate, so you see which certificate the key belongs to — or that a key has no certificate, which is the usual cause of "key values mismatch" when the file is imported. Mismatched local key IDs, expired certificates, low iteration counts and SHA-1 MACs are reported too.
Exporting PEM
Every certificate can be copied or downloaded as PEM, one by one or as a single bundle in file order — the equivalent of openssl pkcs12 -nokeys. The private key is not displayed by default; if you need it as an unencrypted PKCS #8 PEM file for a server that cannot read PKCS #12, reveal it explicitly. It is created from the decrypted bytes in this page and stays in this page.
What runs where
The file, the password and the decrypted keys exist only in your browser tab. The page makes no request with any of them, and it offers no share link: a PKCS #12 file is too large for a URL and almost always contains a private key. If you have pasted a key or a password into another website before, treat them as compromised and reissue the certificate. To split a PEM bundle you exported, use the PEM bundle splitter; to inspect one of the certificates in depth, the certificate decoder.