Table of Contents

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

loggerFactory ILoggerFactory

The logger factory.

Methods

AddSignatureAlgorithmSupport(string)

Adds support for any additional signature algorithms.

protected virtual void AddSignatureAlgorithmSupport(string signatureAlgorithm)

Parameters

signatureAlgorithm string

The 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

unsignedElement XmlElement

The XML to sign.

signingKey AsymmetricAlgorithm

The signing key.

digestAlgorithm string

The digest algorithm.

signatureAlgorithm string

The signature algorithm.

inclusiveNamespacesPrefixList string

The inclusive namespace prefix list or null if none.

x509Certificate X509Certificate2

The X.509 certificate to include in the signature or null if 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

signedElement XmlElement

The signed XML.

verifyingKey AsymmetricAlgorithm

The verifying key.

Returns

bool

true if the signature verifies; otherwise false.

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.