AuthBridge.Protocols.Saml.SamlHandler.VerifySignatures C# (CSharp) Method

VerifySignatures() private method

private VerifySignatures ( XmlDocument xmlDoc ) : bool
xmlDoc System.Xml.XmlDocument
return bool
        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;
        }