这个问题是这个问题的延续。我还尝试与第三方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核心3.0更改为.net 5.0。我希望它能帮助任何