我不太瞭解如何使用PKCS#7消息。如何檢查SignedCms信封的簽名?
我用一個X509Certificate2標記了一些字節數組,並且還得到了一個字節數組。
byte[] data = new byte[5] { 110, 111, 112, 113, 114 }, signedData;
X509Certificate2 cert = new X509Certificate2(certPath, password);
ContentInfo content = new ContentInfo(data);
SignedCms envelope = new SignedCms(content);
CmsSigner cmsSigner = new CmsSigner(cert);
envelope.ComputeSignature(cmsSigner);
signedData = envelope.Encode();
signedData被髮送到某個遠程收件人,他得到SignedCms信封。
SignedCms envelope = new SignedCms();
envelope.Decode(signedData);
他如何解碼信封?他不會將我的公鑰作爲參數。我的公鑰在SignerInfo屬性的信封中,但是有什麼理由讓任何人都可以用整個簽名來替換它?
收件人可以用我的公鑰確認信封的實際發件人是我嗎?
有方法envelope.CheckSignature(new X509Certificate2Collection(certificate), true);
但我試圖使用錯誤的證書,並沒有拋出異常。