pkcs7签名消息

时间:2011-04-13 08:56:46

标签: certificate signature smime

当创建/ mime消息时,你在第二部分(第一部分是实际消息)应该提供你签署消息的证书,和签名的结果,即摘要,如何你应该连接它们吗?

我不使用像充气城堡或类似的任何图书馆。我正在手工构建消息。你是不是应该在彼此之后连接它们,或者用它们之间的新线或它是如何完成的?我确实试着看看它是如何在卑诗省完成的,还有一些谷歌搜索没有任何明确的答案。

1 个答案:

答案 0 :(得分:1)

S / MIME格式基于CMS规范(加密消息语法),该规范标准化数据结构以承载加密,经过身份验证或签名的数据。 S / MIME(和CMS)对这些数据结构使用ASN.1表示法。

在S / MIME签名邮件中,邮件数字签名和签名证书都封装在电子邮件MIME多部分的第二部分中。可以手动构建消息multipart,但S / MIME签名是二进制格式,需要计算专用库。

一些技术细节:

  • RFC 5911
  • 中描述了S / MIME ASN.1模块的最新版本
  • 邮件签名为ContentInfo,其中包含SignedData结构
  • SignedData包含SignerInfo(大部分时间只有一个,因为电子邮件是由单个发件人签名的)。 SignerInfo包含消息数字签名,签名算法和签名者证书唯一标识符(例如证书颁发者和序列号)
  • 证书可以添加到SignedData中(这是可选的,因为证书是公共对象,可以从存储库下载,或者收件人可能已经将签名证书链存储在她的邮件应用程序中)