.p7b 和 .spc 数字证书文件之间的关系

Fre*_*ick 3 certificate digital-signature

我的公司刚刚从 Thawte 更新了他们的数字证书。我以前使用的证书有一个“spc”扩展名。我收到的新证书以“p7b”结尾。

虽然我可以直接使用这个 p7b 文件进行签名,但我只是想知道是否有某种方法可以将其转换为一个 spc 文件,然后我可以像以前一样使用该文件进行签名。

是否建议直接使用 p7b 进行签名?其次,这两种类型的文件之间究竟是什么关系(如果有的话)?

Spi*_*iff 5

这些只是PKCS #7文件的两个不同的文件扩展名。您可以简单地将其从 .p7b 重命名为 .spc。

不幸的是,我不相信 PKCS 规范曾经指定文件扩展名、MIME 类型或它们文件类型的“幻数”(前 4 个字节)(公平地说,它们的文件类型主要是基于文本的,所以幻数并不真正适用),因此不同的实现者对相同的 PKCS 相关文件类型使用了不同的文件扩展名。

[编辑:我以前在这里写了一份备忘单,但后来我意识到我犯了一个错误。这是维基百科上 X.509 文章中更好的备忘单:]


http://en.wikipedia.org/wiki/X.509#Certificate_filename_extensions

证书文件扩展名

X.509 证书的常见文件扩展名是:

  • .pem -(隐私增强邮件)Base64 编码的 DER 证书,包含在“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”之间
  • .cer、.crt、.der - 通常采用二进制 DER 形式,但 Base64 编码的证书也很常见(请参阅上面的 .pem)
  • .p7b, .p7c - PKCS#7 SignedData 结构,没有数据,只有证书或 CRL
  • .p12 - PKCS#12,可能包含证书(公共)和私钥(受密码保护)
  • .pfx - PFX,PKCS#12 的前身(通常包含 PKCS#12 格式的数据,例如,在 IIS 中生成 PFX 文件)

PKCS#7 是用于对数据进行签名或加密(正式称为“封装”)的标准。由于需要证书来验证签名数据,因此可以将它们包含在 SignedData 结构中。.P7C 文件是退化的 SignedData 结构,没有任何要签名的数据。

PKCS#12 从 PFX(个人信息交换)标准演变而来,用于在单个文件中交换公共和私有对象。


我还看到了从相关服务器故障文章有用的 Microsoft 支持知识库文章的链接,该文章确认您可以将 .p7b 重命名为 .spc。