Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 830

PKCS#12

PKCS#12 是什么?

PKCS#12由 RFC 7292 标准化的口令保护文件格式(.pfx / .p12),将私钥与其证书链打包在一起。


PKCS#12 最初由 RSA Laboratories 发布,IETF 在 RFC 7292 中进行了修订,定义了一种 ASN.1/DER 容器,用于存储和传输私钥及其 X.509 证书链。该容器通常以 .pfx 或 .p12 出现,包含一个或多个 SafeBag(密钥袋、证书袋、CRL 袋),并用从口令派生出的密钥加密。历史上 PKCS#12 使用较弱的 PKCS#5 v1 PBE 算法;按照 NIST 和 OpenSSL 3 的建议,现代实现应当使用 PBES2 搭配 AES-CBCAES-GCM,并配合 HMAC-SHA-256 等 PRF。在将服务器证书、S/MIME 凭据和 TLS 客户端证书导入 Windows、macOS、Java 密钥库以及 HSM 配置工具时,PKCS#12 是通用方案。

示例

  1. 01

    从 Keychain Access 中将 Apple Developer ID 证书及其私钥导出为 .p12 文件。

  2. 02

    在 Windows IIS 中双击 .pfx 文件以导入 TLS 服务器证书。

常见问题

PKCS#12 是什么?

由 RFC 7292 标准化的口令保护文件格式(.pfx / .p12),将私钥与其证书链打包在一起。 它属于网络安全的 密码学 分类。

PKCS#12 是什么意思?

由 RFC 7292 标准化的口令保护文件格式(.pfx / .p12),将私钥与其证书链打包在一起。

PKCS#12 是如何工作的?

PKCS#12 最初由 RSA Laboratories 发布,IETF 在 RFC 7292 中进行了修订,定义了一种 ASN.1/DER 容器,用于存储和传输私钥及其 X.509 证书链。该容器通常以 .pfx 或 .p12 出现,包含一个或多个 SafeBag(密钥袋、证书袋、CRL 袋),并用从口令派生出的密钥加密。历史上 PKCS#12 使用较弱的 PKCS#5 v1 PBE 算法;按照 NIST 和 OpenSSL 3 的建议,现代实现应当使用 PBES2 搭配 AES-CBC 或 AES-GCM,并配合 HMAC-SHA-256 等 PRF。在将服务器证书、S/MIME 凭据和 TLS 客户端证书导入 Windows、macOS、Java 密钥库以及 HSM 配置工具时,PKCS#12 是通用方案。

如何防御 PKCS#12?

针对 PKCS#12 的防御通常结合技术控制与运营实践,详见上方完整定义。

PKCS#12 还有哪些其他名称?

常见的别称包括: PFX, .p12, .pfx。

相关术语