private bool VerifySignatures(XmlDocument xmlDoc)
{
foreach (XmlElement node in xmlDoc.SelectNodes("//*[local-name()='Signature']"))
{
var doc = new XmlDocument();
doc.LoadXml(node.ParentNode.OuterXml);
var signedXml = new SignedXml(node.ParentNode as XmlElement);
signedXml.LoadXml(node);
var x509Data = signedXml.Signature.KeyInfo.OfType<KeyInfoX509Data>().First();
var cert = x509Data.Certificates.OfType<X509Certificate2>().First();
if (cert.Thumbprint != null && cert.Thumbprint.Equals(_signingKeyThumbprint, StringComparison.InvariantCultureIgnoreCase))
return true;
}
return false;
}