PKCS #12 憑證套件 (.p12)

IETF 標準

PKCS #12(P12/PFX)是一種容器格式,可儲存私密金鑰、憑證及相關資料。檔案是否有密碼保護或未加密,取決於其建立方式。

將 P12 轉換為 PEM

免費的瀏覽器端 P12 轉 PEM 轉換器。在您的裝置上即時轉換檔案。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 P12 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 P12 檔案:

十六進位簽章(偏移量 0):

30

ASCII 表示法: 0

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

技術規格

容器架構經密碼加密的 ASN.1 PFX 結構,封裝了包含私密金鑰、憑證和 CRL 的 SafeBags
壓縮未壓縮的密碼學資料
位元組序大端序(Big-Endian)ASN.1 DER
色彩空間不適用(加密金鑰儲存庫)
色版與結構私密金鑰、公開憑證、中繼 CA 憑證鏈以及根 CA 憑證
最大尺寸通常為 5 KB 到 25 KB
透明度加密容器(受密碼保護)
串流與漸進式具備不可分割性的加密壓縮檔解壓縮

技術比較矩陣:P12 對比競爭格式

技術屬性P12 (目前)PEMCRTDER
捆綁功能私密金鑰 + 憑證鏈多合一可在文字中合併未加密的金鑰僅限憑證單一二進位金鑰或憑證
加密受密碼加密(AES-256)私密金鑰上的選用密碼短語未加密的公開憑證未加密的二進位檔案
Apple iOS 與 macOS原生身分識別匯出標準透過命令列使用匯入為憑證匯入為原始金鑰
可互換格式.pfx(完全相同的格式).crt, .key.cer.asn1

常見損壞模式與十六進位修復指南

解壓縮錯誤:儘管輸入正確密碼,仍出現「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 鑰匙圈和 Microsoft Windows 將 PKCS #12 標準化,用於使用者數位身分識別傳輸。
1999RSA Laboratories 發布 PKCS #12 v1.0,取代了微軟早期的 PFX 格式。

主要優勢與優點

  • 多合一封裝:將私密金鑰、公開憑證和完整的中繼 CA 憑證鏈捆綁在單一安全檔案中。
  • 受密碼保護的加密:私密金鑰使用 AES-256 或 3DES 加密,確保傳輸安全。
  • 用於網頁瀏覽器驗證和 Apple iOS 開發者程式碼簽署設定檔的標準用戶端憑證格式。

技術限制與缺點

  • 需要密碼才能解壓縮:如果忘記密碼,將導致私密金鑰永久無法復原。
  • 舊版 P12 檔案使用了強度較弱的 3DES 或 RC2 加密演算法,會在現代 OpenSSL 3.0 中觸發警告。
  • 如果沒有密碼學解壓縮工具,將無法以視覺方式檢查二進位格式。

有趣的技術冷知識

  • .p12 和 .pfx 副檔名常用於 PKCS #12 檔案,儘管軟體慣例各有不同;請檢查接收應用程式的要求。
  • Apple iOS 開發者憑證和布建設定檔會以 .p12 檔案形式發布,用於簽署 iPhone App。
  • OpenSSL 3.0 已棄用舊版 PKCS#12 演算法(RC2-40-CBC),需要加上 '-legacy' 旗標才能開啟早期 P12 檔案。

常見技術問題

.p12 與 .pfx 有什麼不同?

沒有不同。.pfx 是微軟的前身格式,後來被 RSA Laboratories 標準化為 PKCS #12(.p12)。如今,這兩個副檔名指的是完全相同的格式。

如何從 .p12 檔案中提取私密金鑰?

您可以在網頁瀏覽器中直接使用 File2File.app,在幾秒鐘內將私密金鑰和公開憑證提取到乾淨的 .pem 檔案中。

為什麼我的 P12 檔案需要密碼?

由於 P12 檔案包含您的機密私密金鑰,因此會使用密碼進行加密,以防止未授權的人員竊取您的數位身分。