cer,pvk和pfx文件有什么区别?

时间:2010-02-18 21:54:31

标签: security public-key

cer,pvk和pfx文件有什么区别?另外,我保留哪些文件以及我希望将哪些文件交给我的反对方?

4 个答案:

答案 0 :(得分:123)

Windows对X.509证书使用.cer扩展名。这些可以是“二进制”(ASN.1 DER),也可以用Base-64编码并应用页眉和页脚(PEM); Windows也会认出来。要验证证书的完整性,您必须使用颁发者的公钥来检查其签名...这又是另一个证书。

Windows使用.pfx作为PKCS#12文件。此文件可以包含各种加密信息,包括证书,证书链,根颁发机构证书和私钥。其内容可以加密保护(使用密码)以保持私钥的私密性并保持根证书的完整性。

Windows使用.pvk作为私钥文件。 我不确定Windows遵循哪些标准(如果有的话)。希望它们是PKCS#8编码密钥。 Emmanuel Bourg报告这些是专有格式。有些documentation可用。

您绝不应透露您的私钥。它们包含在.pfx和.pvk文件中。

通常,您只与其他方交换您的证书(.cer)和任何中间发行人的证书(即所有CA的证书,除了根CA)。

答案 1 :(得分:48)

在Windows平台中,这些文件类型用于证书信息。通常用于SSL证书和公钥基础结构(X.509)。

  • CER文件: CER文件用于存储X.509证书。通常用于SSL认证,以验证和识别Web服务器的安全性。该文件包含有关证书所有者和公钥的信息。 CER文件可以是二进制文件(ASN.1 DER)或使用包含页眉和页脚的Base-64编码(Windows),Windows将识别这些布局中的任何一种。
  • PVK文件: 代表私钥。 Windows使用PVK文件存储私钥,以便在各种Microsoft产品中进行代码签名。 PVK是专有格式。
  • PFX文件 个人交换格式,是一个PKCS12文件。它包含各种加密信息,例如证书,根证书颁发机构证书,证书链和私钥。它使用密码进行加密保护,以保护私钥的私密性并保持根证书的完整性。 PFX文件也用于各种Microsoft产品,例如IIS。

有关详细信息,请访问:Certificate Files: .Cer x .Pvk x .Pfx

答案 2 :(得分:19)

我实际上很久以前就遇到过这样的事情...... check it out over on msdn(见第一个答案)

摘要:

  

.cer - 以X.509标准格式存储的证书。此证书包含有关证书所有者的信息以及公钥和私钥。

     

.pvk - 文件用于存储用于代码签名的私钥。您还可以基于.pvk私钥文件创建证书。

     

.pfx - 代表个人交换格式。它用于在单个文件中交换公共和私有对象。可以从.cer文件创建pfx文件。也可用于创建Software Publisher Certificate

我根据评论中的建议总结了页面中的信息。

答案 3 :(得分:16)

以下是我个人的,超浓缩的笔记,就这个主题目前属于我而言,对于任何有兴趣的人:

  • PKCS12 PEM 都可以存储整个证书链:public keys, private keysroot (CA) certs
  • .pfx == .p12 ==“ PKCS12
    • 完全加密
  • .pem == .cer == .cert ==“ PEM
    • base-64(字符串)编码X509 cert(二进制),带有页眉和页脚
      • base-64基本上只是一串“A-Za-z0-9 + /”,用于表示0-63,6位二进制,依次为序列,有时为1或2“= “剩下的时候最后的字符(”=“是”填充/垃圾/忽略/扔掉“字符)
      • 页眉和页脚类似于“----- BEGIN CERTIFICATE -----”和“----- END CERTIFICATE -----”或“-----开始加密的私钥” -----“和”----- END ENCRYPTED PRIVATE KEY -----“
    • Windows将.cer和.cert识别为证书文件
  • .jks ==“ Java Key Store
    • 只是API使用的特定于Java的文件格式
      • .p12和.pfx文件也可以与JKS API一起使用
  • 信任商店”包含公共信任,root (CA) certs,而 “身份/密钥库”包含私有身份证书;文件明智的, 但是,它们是一样的。