C#向PKCS#7 CMS数字签名问题添加时间戳 [英] C# Add Timestamp to PKCS#7 CMS Digital Signature problem

查看:89
本文介绍了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数字签名问题添加时间戳的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆