【发布时间】:2015-06-03 20:30:46
【问题描述】:
我现在整整一个星期都在努力解决这个问题,希望有人可以帮助我。
我需要使用 SHA256 和 xmldsig 对 xml 进行签名。 为此,我使用 SignedXML 类。在查看此类时,我发现它使用加载键的 SignatureAlgorithm 值来确定要使用的哈希类型。
无论我如何加载密钥(通过证书存储或通过加载证书文件),它都会将 SHA1 显示为 SignatureAlgorithm。 当我在 MMC 证书存储中查找我的证书的详细信息时,它显示 SHA256 作为 SignatureAlgorithm。
我尝试使用 openssl 和 makecert 来生成 SHA256 证书密钥,但两者都将在 .Net 中加载为 SHA1 所以signedXml.ComputeSignature();将使用 SHA1 作为 SignatureMethod
.Net 4.0 应该支持 SHA256 吧?
【问题讨论】:
-
看看这里:msdn.microsoft.com/en-us/library/…,它可能只能处理 SignedXML 中的 SHA-1。
标签: c# .net sha256 signedxml xml-dsig