当创建/ mime消息时,你在第二部分(第一部分是实际消息)应该提供你签署消息的证书,和签名的结果,即摘要,如何你应该连接它们吗?
我不使用像充气城堡或类似的任何图书馆。我正在手工构建消息。你是不是应该在彼此之后连接它们,或者用它们之间的新线或它是如何完成的?我确实试着看看它是如何在卑诗省完成的,还有一些谷歌搜索没有任何明确的答案。
答案 0 :(得分:1)
S / MIME格式基于CMS规范(加密消息语法),该规范标准化数据结构以承载加密,经过身份验证或签名的数据。 S / MIME(和CMS)对这些数据结构使用ASN.1表示法。
在S / MIME签名邮件中,邮件数字签名和签名证书都封装在电子邮件MIME多部分的第二部分中。可以手动构建消息multipart,但S / MIME签名是二进制格式,需要计算专用库。
一些技术细节:
ContentInfo
,其中包含SignedData
结构SignedData
包含SignerInfo
(大部分时间只有一个,因为电子邮件是由单个发件人签名的)。 SignerInfo
包含消息数字签名,签名算法和签名者证书唯一标识符(例如证书颁发者和序列号)SignedData
中(这是可选的,因为证书是公共对象,可以从存储库下载,或者收件人可能已经将签名证书链存储在她的邮件应用程序中)