Show / Hide Table of Contents

Class XmlSignature

Supports XML signatures.

Inheritance
System.Object
XmlSignature
Implements
IXmlSignature
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: ComponentSpace.Saml2.XmlSecurity.Signature
Assembly: ComponentSpace.Saml2.dll
Syntax
public class XmlSignature : IXmlSignature

Constructors

XmlSignature(ILoggerFactory)

Initializes a new instance of the XmlSignature class.

Declaration
public XmlSignature(ILoggerFactory loggerFactory)
Parameters
Type Name Description
Microsoft.Extensions.Logging.ILoggerFactory loggerFactory

The logger factory.

Methods

AddSignatureAlgorithmSupport(String)

Adds support for any additional signature algorithms.

Declaration
protected virtual void AddSignatureAlgorithmSupport(string signatureAlgorithm)
Parameters
Type Name Description
System.String signatureAlgorithm

The signature algorithm.

Generate(XmlElement, AsymmetricAlgorithm, String, String, String, X509Certificate2)

Generates an XML signature.

Declaration
public virtual XmlElement Generate(XmlElement unsignedElement, AsymmetricAlgorithm signingKey, string digestAlgorithm, string signatureAlgorithm, string inclusiveNamespacesPrefixList = null, X509Certificate2 x509Certificate = null)
Parameters
Type Name Description
System.Xml.XmlElement unsignedElement

The XML to sign.

System.Security.Cryptography.AsymmetricAlgorithm signingKey

The signing key.

System.String digestAlgorithm

The digest algorithm.

System.String signatureAlgorithm

The signature algorithm.

System.String inclusiveNamespacesPrefixList

The inclusive namespace prefix list or null if none.

System.Security.Cryptography.X509Certificates.X509Certificate2 x509Certificate

The X.509 certificate to include in the signature or null if none.

Returns
Type Description
System.Xml.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
Type Condition
SamlSignatureException

Thrown if an error occurs during signature generation.

Verify(XmlElement, AsymmetricAlgorithm)

Verifies an XML signature.

Declaration
public virtual bool Verify(XmlElement signedElement, AsymmetricAlgorithm verifyingKey)
Parameters
Type Name Description
System.Xml.XmlElement signedElement

The signed XML.

System.Security.Cryptography.AsymmetricAlgorithm verifyingKey

The verifying key.

Returns
Type Description
System.Boolean

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
Type Condition
SamlSignatureException

Thrown if an error occurs during signature verification.

Implements

IXmlSignature
In This Article
Back to top Copyright © ComponentSpace Pty Ltd 2017-2022. All rights reserved.