2011-04-13 95 views
1

當你在第二部分(第一部分是實際消息)中創建as/mime消息時,應該提供你簽署了該消息的證書,以及簽名的結果,即摘要,你應該如何連接它們?pkcs7-簽名消息

我不使用像充氣城堡或類似的任何圖書館。我正在手動構建消息。你是不是應該把它們連在一起,或者在它們之間有一條新的線,或者它們是如何完成的?我確實試圖看看它是如何在BC完成的,還有一些Google沒有任何明確的答案。

回答

0

S/MIME格式基於CMS規範(加密消息語法),該規範將數據結構標準化爲承載加密,認證或簽名的數據。 S/MIME(和CMS)爲這些數據結構使用ASN.1表示法。

在S/MIME簽名的消息中,消息數字簽名和簽名證書都封裝在電子郵件MIME multipart的第二部分中。可以手動構建消息多部分,但是S/MIME簽名是需要計算專用庫的二進制格式。

一些技術細節:

  • 的S/MIME ASN.1模塊的最後一個版本是在RFC 5911
  • 描述的消息簽名含有SignedData結構ContentInfo
  • SignedData含有SignerInfo(大部分時間只有一個,因爲電子郵件由一個發件人簽名)。甲SignerInfo包含消息的數字簽名,簽名算法和簽名人證書的唯一標識符(例如證書發行者&序列號)
  • 證書可以在SignedData被添加(這是optinal因爲證書是公共對象,它們可以從存儲庫下載或者收件人可能已經將簽名證書鏈存儲在她的郵件應用程序中)