C# 使用 X509Chain 签署 XML 文档

C# Signing XML document with X509Chain

我有一个关于使用 certificates.My 链签名 XmlDocument 的问题,目前的尝试是分别加载根证书、中间证书和签名证书,并将它们添加到 KeyInfoX509Data KeyInfo class.

var keyInfo = new KeyInfo();
var keyInfoData = new KeyInfoX509Data(_certificateManager.Certificate);
keyInfoData.AddCertificate(_certificateManager.Intermediate);
keyInfoData.AddCertificate(_certificateManager.Root);
keyInfo.AddClause(keyInfoData);

像这样。 然后我将 SignedXml KeyInfo 属性 分配给 keyInfo 变量。然后我调用 .ComputeSignature() 方法。 我的问题是 - 这是签署 xml 消息的正确方式吗,或者最近我发现了 class X509Chain,我必须以某种方式使用 in,因为我想用整个链签署xml。

提前致谢,

朱利安

Here 对我有帮助!

signedXml.KeyInfo.AddClause(
new KeyInfoX509Data(certificate, X509IncludeOption.WholeChain));

希望对遇到同样问题的其他人有所帮助!