c# - 使用数字签名签署 XML

标签 c# xml digital-signature signing

我正在使用一些需要通过 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/

相关文章:

c# - 如果 List<T> 的大小已知,是否值得初始化它的集合大小?

c# - Asp.net mvc 应用程序中 Layout 和局部 View 的比较

c# - 如何在链接按钮控件中将参数传递给 Eval()?

Android布局问题,角落里有图片的文字

xml - XML 中的严格和过渡模式定义 (XSD) 之间有什么区别

c# - 数字签名(PKCS#7 - 延迟签名)/自应用签名后文档已被更改或损坏

c# - 如何以编程方式移动表单?

php - 获取 xml 文件以查找和替换文本。 PHP

java - 如何使用java在数字签名的pdf中添加空白页?

c# - 在 C# 中创建的数字签名在 C++ 中不验证