Class XmlSignature
- Namespace
- ComponentSpace.Saml2.XmlSecurity.Signature
- Assembly
- ComponentSpace.Saml2.dll
Supports XML signatures.
public class XmlSignature : IXmlSignature
- Inheritance
-
XmlSignature
- Implements
- Inherited Members
Constructors
XmlSignature(ILoggerFactory)
Initializes a new instance of the XmlSignature class.
public XmlSignature(ILoggerFactory loggerFactory)
Parameters
loggerFactoryILoggerFactoryThe logger factory.
Methods
AddSignatureAlgorithmSupport(string)
Adds support for any additional signature algorithms.
protected virtual void AddSignatureAlgorithmSupport(string signatureAlgorithm)
Parameters
signatureAlgorithmstringThe signature algorithm.
Generate(XmlElement, AsymmetricAlgorithm, string, string, string, X509Certificate2)
Generates an XML signature.
public virtual XmlElement Generate(XmlElement unsignedElement, AsymmetricAlgorithm signingKey, string digestAlgorithm, string signatureAlgorithm, string inclusiveNamespacesPrefixList = null, X509Certificate2 x509Certificate = null)
Parameters
unsignedElementXmlElementThe XML to sign.
signingKeyAsymmetricAlgorithmThe signing key.
digestAlgorithmstringThe digest algorithm.
signatureAlgorithmstringThe signature algorithm.
inclusiveNamespacesPrefixListstringThe inclusive namespace prefix list or
nullif none.x509CertificateX509Certificate2The X.509 certificate to include in the signature or
nullif none.
Returns
- XmlElement
The XML signature.
Remarks
The supported digest algorithms are:
- http://www.w3.org/2000/09/xmldsig#sha1
- http://www.w3.org/2001/04/xmlenc#sha256
- http://www.w3.org/2001/04/xmldsig-more#sha384
- http://www.w3.org/2001/04/xmlenc#sha512
The supported signature algorithms are:
- http://www.w3.org/2000/09/xmldsig#rsa-sha1
- http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
- http://www.w3.org/2001/04/xmldsig-more#rsa-sha384
- http://www.w3.org/2001/04/xmldsig-more#rsa-sha512
Exceptions
- SamlSignatureException
Thrown if an error occurs during signature generation.
Verify(XmlElement, AsymmetricAlgorithm)
Verifies an XML signature.
public virtual bool Verify(XmlElement signedElement, AsymmetricAlgorithm verifyingKey)
Parameters
signedElementXmlElementThe signed XML.
verifyingKeyAsymmetricAlgorithmThe verifying key.
Returns
- bool
trueif the signature verifies; otherwisefalse.
Remarks
The supported digest algorithms are:
- http://www.w3.org/2000/09/xmldsig#sha1
- http://www.w3.org/2001/04/xmlenc#sha256
- http://www.w3.org/2001/04/xmldsig-more#sha384
- http://www.w3.org/2001/04/xmlenc#sha512
The supported signature algorithms are:
- http://www.w3.org/2000/09/xmldsig#rsa-sha1
- http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
- http://www.w3.org/2001/04/xmldsig-more#rsa-sha384
- http://www.w3.org/2001/04/xmldsig-more#rsa-sha512
Exceptions
- SamlSignatureException
Thrown if an error occurs during signature verification.