// Token: 0x06000B63 RID: 2915 RVA: 0x0002E5D4 File Offset: 0x0002C7D4 public static void RemoveSignature(XmlDocument xmlDoc) { XmlElement signatureElement; if (SignedXMLVerifier.TryGetSignatureNode(xmlDoc, out signatureElement)) { SignedXMLVerifier.TryRunAction <ArgumentException>(delegate() { signatureElement.ParentNode.RemoveChild(signatureElement); }); } }
// Token: 0x06000B62 RID: 2914 RVA: 0x0002E410 File Offset: 0x0002C610 public static bool VerifySignedXml(XmlDocument xmlDoc) { XmlElement value; if (SignedXMLVerifier.TryGetSignatureNode(xmlDoc, out value)) { SignedXml signedXml = new SignedXml(xmlDoc); signedXml.LoadXml(value); using (XmlNodeList elementsByTagName = signedXml.KeyInfo.GetXml().GetElementsByTagName("X509Certificate")) { SignedXMLVerifier.< > c__DisplayClass2 CS$ < > 8__locals1 = new SignedXMLVerifier.< > c__DisplayClass2(); int num = 0; X509Certificate2 x509Certificate = null; CS$ < > 8__locals1.certificate = null; using (IEnumerator enumerator = elementsByTagName.GetEnumerator()) { while (enumerator.MoveNext()) { SignedXMLVerifier.< > c__DisplayClass5 CS$ < > 8__locals2 = new SignedXMLVerifier.< > c__DisplayClass5(); CS$ < > 8__locals2.CS$ < > 8__locals3 = CS$ < > 8__locals1; CS$ < > 8__locals2.node = (XmlNode)enumerator.Current; if (!SignedXMLVerifier.TryRunAction <CryptographicException>(delegate() { CS$ < > 8__locals2.CS$ < > 8__locals3.certificate = new X509Certificate2(Encoding.ASCII.GetBytes(CS$ < > 8__locals2.node.InnerText)); })) { return(false); } X509Chain chain = new X509Chain(); if (!SignedXMLVerifier.TryRunAction <ArgumentException, CryptographicException>(delegate() { chain.Build(CS$ < > 8__locals1.certificate); })) { return(false); } if (chain.ChainElements.Count > num) { x509Certificate = CS$ < > 8__locals1.certificate; num = chain.ChainElements.Count; } } } if (x509Certificate != null && !SignedXMLVerifier.ValidateCertificateChain(x509Certificate, SignedXMLVerifier.GetSigningTime(xmlDoc))) { return(false); } return(signedXml.CheckSignature()); } return(false); } return(false); }