将509个证书信息嵌入到xml文件中

时间:2011-10-28 22:03:10

标签: c#

我有c#代码来签署一个与这篇文章非常相似的xml: Java equivalent of C# XML signing method

具体来说,我对此部分感兴趣:

// embed public key information for signature validation purposes
KeyInfo keyInfo = new KeyInfo();
KeyInfoX509Data keyInfoX509Data = new KeyInfoX509Data(certificate, X509IncludeOption.ExcludeRoot);
keyInfo.AddClause(keyInfoX509Data);
signedXml.KeyInfo = keyInfo;

我的问题是,此代码是否在xml文件中嵌入了任何私钥信息?代码的注释意味着它没有,这是好的。我不想在我的xml文件中嵌入私钥数据。但我对签名很新,如果我确实包含私钥数据会非常糟糕,所以我想我会问这里。我首先尝试在KeyInfoX509Data上查看microsoft doc:http://msdn.microsoft.com/en-us/library/t95xse03.aspx,但这没有回答我的问题。

1 个答案:

答案 0 :(得分:0)

证书通常只保存公钥,但如果证书以PKCS#12格式启动,则私钥可能存在。如果'certificate'是X509Certificate2对象,您可以随时查找属性HasPrivateKey以确定该证书中是否有任何私钥信息。

相关问题