我正在研究一個更大的應用程序,它通過POP3,IMAP或通過從.msg導入文件(從Outlook導出或從Outlook中拖出)。Howto驗證SMIME多部分/簽名應用程序簽名/ x-pkcs7簽名郵件
最近我收到一封附帶「smime.p7m」的電子郵件。 經過進一步的檢查後證明是一個MIME消息
Content-Type:multipart/signed; protocol =「application/x-pkcs7-signature」;
除其他部件使其包含一個部分
內容類型:應用程序/ x-PKCS7簽名; name =「smime.p7s」 Content-Transfer-Encoding:base64 Content-Disposition:attachment; 文件名=「smime.p7s」
我嘗試驗證使用OpenPop
爲MIME消息解析器和SignedCms
檢查簽名此簽名。我的嘗試是這樣的:
var datapart = OpenPop.MessagePart[...];
var part3 = OpenPop.MessagePart[3]; // the signature
var ci = new ContentInfo(datapart);
var sCMS = new SignedCms(ci, detached: true);
sCMS.Decode(part3.Body);
sCMS.CheckHash();
sCMS.CheckSignature(verifySignatureOnly:true);
但無論怎樣我用datapart
我總是
System.Security.Cryptography.CryptographicException 哈希值是不正確的。
如何驗證簽名?
有沒有更好的方法?
我的回答有幫助嗎? – jstedfast
是的,非常感謝。 – DrKoch