public class SignedXml { // Public Constructors public SignedXml( ); public SignedXml(System.Xml.XmlDocument document); public SignedXml(System.Xml.XmlElement elem); // Public Static Fields public const string XmlDsigCanonicalizationUrl; // =http://www.w3.org/TR/2001/REC-xml-c14n-20010315 public const string XmlDsigCanonicalizationWithCommentsUrl; // =http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments public const string XmlDsigDSAUrl; // =http://www.w3.org/2000/09/xmldsig#dsa-sha1 public const string XmlDsigHMACSHA1Url; // =http://www.w3.org/2000/09/xmldsig#hmac-sha1 public const string XmlDsigMinimalCanonicalizationUrl; // =http://www.w3.org/2000/09/xmldsig#minimal public const string XmlDsigNamespaceUrl; // =http://www.w3.org/2000/09/xmldsig# public const string XmlDsigRSASHA1Url; // =http://www.w3.org/2000/09/xmldsig#rsa-sha1 public const string XmlDsigSHA1Url; // =http://www.w3.org/2000/09/xmldsig#sha1// Protected Instance Fields protected Signature m_signature; protected string m_strSigningKeyName; // Public Instance Properties public KeyInfo KeyInfo{set; get; } public XmlResolver Resolver{set; } public Signature Signature{get; } public string SignatureLength{get; } public string SignatureMethod{get; } public byte[ ] SignatureValue{get; } public SignedInfo SignedInfo{get; } public AsymmetricAlgorithm SigningKey{set; get; } public string SigningKeyName{set; get; } // Public Instance Methods public void AddObject(DataObject dataObject); public void AddReference(Reference reference); public bool CheckSignature( ); public bool CheckSignature(System.Security.Cryptography.AsymmetricAlgorithm key); public bool CheckSignature(System.Security.Cryptography.KeyedHashAlgorithm macAlg); public bool CheckSignatureReturningKey(out System.Security.Cryptography.AsymmetricAlgorithm signingKey); public void ComputeSignature( ); public void ComputeSignature(System.Security.Cryptography.KeyedHashAlgorithm macAlg); public virtual XmlElement GetIdElement(System.Xml.XmlDocument document, string idValue); public XmlElement GetXml( ); public void LoadXml(System.Xml.XmlElement value); // Protected Instance Methods protected virtual AsymmetricAlgorithm GetPublicKey( ); }
The SignedXml class is the principle class used to create and verify XML signatures. References to data are associated with a signature document through the AddReference( ) method, while data objects are associated through the AddObject( ) method. The ComputeSignature( ) method performs a signature operation, while the CheckSignature( ) method verifies an existing XML Signature.