SignedXml计算签名与SHA256我正在尝试使用SHA256对XML文档进行数字签名。我正在尝试使用Security.Cryptography.dll。这是我的代码–CryptoConfig.AddAlgorithm(typeof(RSAPKCS1SHA256SignatureDescription),"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");X509Certificate2cert=newX509Certificate2(@"pks文件位置","密码");XmlDocumentdoc=newXmlDocument();doc.PreserveWhitespace=true;doc.Load(@"input.xml");SignedXmlsignedXml=newSignedXml(doc);signedXml.SigningKey=cert.PrivateKey;signedXml.SignedInfo.SignatureMethod="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";////添加签名引用,uri为空,因此整个文档//都已签名。引用reference=newReference();reference.AddTransform(newXmlDsigEnvelopedSignatureTransform());reference.AddTransform(newXmlDsigExcC14NTransform());参考.Uri="";signedXml.AddReference(参考);////添加证书作为密钥信息,因此带有公钥的证书将被添加到签名部分。KeyInfokeyInfo=newKeyInfo();钥匙Info.AddClause(新的KeyInfoX509Data(证书));signedXml.KeyInfo=keyInfo;//生成签名.signedXml.ComputeSignature();但我得到“指定的算法无效”signedXml.ComputeSignature();谁能告诉我我做错了什么?以上就是C#学习教程:SignedXml计算签名与SHA256的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
