C# Add Timestamp to PKCS#7 CMS Digital Signature problem(C#向PKCS#7 CMS数字签名问题添加时间戳)
问题描述
这个问题是that one的续篇。我还尝试与第三方AS2服务器通信。我使用的代码与该帖子的作者相同。此代码(更正后的版本)为:
private byte[] Sign(byte[] content)
{
CmsSigner cmsSigner = new CmsSigner(_cert);
cmsSigner.SignedAttributes.Add(new Pkcs9SigningTime(DateTime.Now));
SignedCms signedCms = new SignedCms(new ContentInfo(content));
signedCms.ComputeSignature(cmsSigner, true);
return signedCms.Encode();
}
但我从服务器收到以下错误:
无法验证内容完整性:中的消息摘要不匹配 签名。
尽管signedCms.CheckSignature(false);
未引发异常。
我应该在哪里搜索此错误的原因?
推荐答案
您可以将项目类型更改为.Net 5 通过使用项目属性(右键单击项目-&>属性)-&>应用程序并将目标框架从.Net Core 3.0更改为.Net 5.0,我希望它对任何人都有帮助
这篇关于C#向PKCS#7 CMS数字签名问题添加时间戳的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!