我正在使用一些需要通过 HTTP 发布请求发布经过数字签名的 XML 的网络服务。
他们只给了我一个文件 (key.dat),我应该将其应用于我的 XML。
我该怎么做?
最佳答案
可以看一下here :
private static XmlElement GetXmlDigitalSignature(XmlDocument x, AsymmetricAlgorithm key)
{
var signedXml = new SignedXml(x) { SigningKey = key };
var reference = new Reference { Uri = "", TransformChain = new TransformChain(), };
reference.AddTransform(new XmlDsigEnvelopedSignatureTransform());
signedXml.AddReference(reference);
signedXml.ComputeSignature();
return signedXml.GetXml();
}
var signature = GetXmlDigitalSignature(xmlDocument, algorithm);
xmlDocument.FirstChild.AppendChild(xmlDocument.ImportNode(signature, true));
关于c# - 使用数字签名签署 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38830105/