【发布时间】:2016-03-11 16:48:43
【问题描述】:
我有一个用 X509Certificate2 证书签署 XML 文件的函数。我的问题是签名被插入为 SHA-1 和 SHA-256。我的代码做错了什么?
CmsSigner cms = new CmsSigner(oCert);
//if apply this row receive unknow error!
//cms.DigestAlgorithm = new Oid("2.16.840.1.101.3.4.2.1");
ContentInfo ci = new ContentInfo(File.ReadAllBytes(cFileXml));
SignedCms cmssigned = new SignedCms(ci);
cmssigned.ComputeSignature(cms);
byte[] encodedmessage = cmssigned.Encode();
File.WriteAllBytes(cFile + ".p7m", encodedmessage);
【问题讨论】:
-
this 有帮助吗?
-
所以我必须用充气城堡来做这个?谢谢
-
什么是“充气城堡”,这与您的问题有什么关系?
-
把你建议的帖子读到最后,你会发现:错误是一样的。微软在 SHA256 的库和操作系统上搞砸了。我用 Bouncy castle 解决了所有问题。谢谢。