本文介绍了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数字签名问题添加时间戳的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!