首页 > 解决方案 > 如何签署带有证书的xml文档以及需要什么类型的解决方案?

问题描述

我们开发了一个生成 xml 文件的 Web 应用程序。为了将应用程序部署到生产环境,我们通过 DigiCert 购买了 SSL 证书,以便它在 HTTPS 协议下运行,但是,其中一个要求是发送带有签名的 xml 文件以由接收方(客户端)验证,即它实际上是从我们的服务发送的真正的 xml 文档。

我们是否也需要获得一个文档/代码签名证书来实现这一点,或者我们购买的 SSL 证书是否足够并且只需遵循这个 Microsoft 教程:

https://docs.microsoft.com/en-us/dotnet/standard/security/how-to-encrypt-xml-elements-with-x-509-certificates

标签: c#xmlx509certificatex509xml-signature

解决方案


X509 XML 签名代码可以与任何 X509 证书一起使用。从编码的角度来看,您可以使用已有的证书,除非您的客户要求您使用从特定 CA 生成的证书。

您链接的代码确实加密了 XML,但您声明确实需要对其进行签名。它们是不同的东西。

加密确实使没有私钥的任何人都无法读取它。

签名对内容进行签名并将其添加到它的末尾,因此任何人都可以检查内容没有被更改。


推荐阅读