cer、pvk 和 pfx 文件有什么区别?另外,我应该保留哪些文件,应该将哪些文件提供给我的交易对手?
4 回答
Windows 对 X.509 证书使用 .cer 扩展名。这些可以是“二进制”(ASN.1 DER),也可以使用 Base-64 编码并应用页眉和页脚(PEM);Windows 也可以识别。要验证证书的完整性,您必须使用颁发者的公钥检查其签名……这反过来又是另一个证书。
Windows 将 .pfx 用于 PKCS #12 文件。该文件可以包含各种加密信息,包括证书、证书链、根授权证书和私钥。它的内容可以被加密保护(使用密码),以保持私钥的私密性并保持根证书的完整性。
Windows 使用 .pvk 作为私钥文件。我不确定 Windows 遵循什么标准(如果有的话)。希望它们是 PKCS #8 编码的密钥。 Emmanuel Bourg报告说这些是专有格式。一些文档是可用的。
你永远不应该泄露你的私钥。这些包含在 .pfx 和 .pvk 文件中。
通常,您只与其他方交换您的证书 (.cer) 和任何中间颁发者的证书(即您的所有 CA 的证书,根 CA 除外)。
在 Windows 平台中,这些文件类型用于证书信息。通常用于 SSL 证书和公钥基础结构 (X.509)。
- CER 文件: CER 文件用于存储 X.509 证书。通常用于 SSL 认证,以验证和识别 Web 服务器的安全性。该文件包含有关证书所有者和公钥的信息。CER 文件可以是二进制 (ASN.1 DER) 或使用 Base-64 编码并包含页眉和页脚 (PEM),Windows 将识别其中任何一种布局。
- PVK 文件: 代表私钥。Windows 使用 PVK 文件存储用于在各种 Microsoft 产品中进行代码签名的私钥。PVK 是专有格式。
- PFX 文件 个人交换格式,是一个PKCS12 文件。这包含各种加密信息,例如证书、根授权证书、证书链和私钥。它使用密码进行加密保护,以保持私钥私有并保持根证书的完整性。PFX 文件还用于各种 Microsoft 产品,例如 IIS。
有关更多信息,请访问:证书文件:.Cer x .Pvk x .Pfx
以下是我个人的,超级浓缩的笔记,就目前与我相关的这个主题而言,对于任何感兴趣的人:
- PKCS12和PEM都可以存储整个证书链:公钥、私钥和根 (CA) 证书。
- .pfx == .p12 == " PKCS12 "
- 完全加密
- .pem == .cer == .cert == " PEM " (或者可能不是……可能是二进制的……见评论……)
- base-64(字符串)编码的X509 证书(二进制),带有页眉和页脚
- base-64基本上只是一个字符串“A-Za-z0-9+/”,用于表示 0-63,一次 6 位二进制,按顺序排列,有时后面有 1 或 2 个“=”字符当有剩菜时结束(“=”是“填充/垃圾/忽略/扔掉”字符)
- 页眉和页脚类似于“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”或“-----BEGIN ENCRYPTED PRIVATE KEY--- --" 和 "-----END ENCRYPTED PRIVATE KEY-----"
- Windows 将 .cer 和 .cert 识别为证书文件
- base-64(字符串)编码的X509 证书(二进制),带有页眉和页脚
- .jks == " Java 密钥库"
- 只是 API 使用的一种特定于 Java 的文件格式
- .p12 和 .pfx 文件也可以与 JKS API 一起使用
- 只是 API 使用的一种特定于 Java 的文件格式
- “信任存储”包含公共的、受信任的根 (CA) 证书,而“身份/密钥存储”包含私有的身份证书;但是,在文件方面,它们是相同的。
实际上我不久前遇到过这样的事情......在msdn上检查一下 (见第一个答案)
总之:
.cer - 以 X.509 标准格式存储的证书。该证书包含有关证书所有者的信息......以及公钥和私钥。
.pvk - 文件用于存储用于代码签名的私钥。您还可以基于 .pvk 私钥文件创建证书。
.pfx - 代表个人交换格式。它用于在单个文件中交换公共和私有对象。可以从 .cer 文件创建 pfx 文件。也可用于创建软件发布者证书。
我根据评论中的建议总结了页面上的信息。