我想驗證SignedXml
中針對機器商店中證書的簽名。此代碼是用來驗證簽名:如何驗證SignedXml中針對機器商店的證書
internal bool VerifySignature(XmlDocument xml)
{
var signedXml = new SignedXml(xml);
var nsMgr = new XmlNamespaceManager(xml.NameTable);
nsMgr.AddNamespace("ds", "http://www.w3.org/2000/09/xmldsig#");
signedXml.LoadXml((XmlElement)xml.SelectSingleNode("//ds:Signature", nsMgr));
return signedXml.CheckSignature();
}
簽名驗證很好,但只針對本身,而不是對機器上安裝的證書。有沒有辦法根據本地證書存儲中的根證書檢查它?
這或許可以工作了,但我不事先知道要使用的證書,我將不得不從'SignedXml'得到它無論如何,使用'CheckSignature(X509Certificate2,Boolean)',而不需要搞亂商店。不過謝謝。 – Tetaxa