SignatureMethod (Java SE 11 & JDK 11 )
Keywords: javax.xml.crypto.dsig.SignatureMethod interface

Module java.xml.crypto
Package javax.xml.crypto.dsig

## Interface SignatureMethod

- All Superinterfaces:
    `AlgorithmMethod`, `XMLStructure`

      public interface SignatureMethod
      extends XMLStructure, AlgorithmMethod

  A representation of the XML `SignatureMethod` element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. The XML Schema Definition is defined as:

         <element name="SignatureMethod" type="ds:SignatureMethodType"/>
           <complexType name="SignatureMethodType" mixed="true">
             <sequence>
               <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
               <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
                 <!-- (0,unbounded) elements from (1,1) namespace -->
             </sequence>
             <attribute name="Algorithm" type="anyURI" use="required"/>
           </complexType>

  A `SignatureMethod` instance may be created by invoking the `newSignatureMethod` method of the `XMLSignatureFactory` class.

  The signature method algorithm URIs defined in this class are specified in the W3C Recommendation for XML-Signature Syntax and Processing and RFC 9231: Additional XML Security Uniform Resource Identifiers (URIs)

  Since:
    1.6
  See Also:
    `XMLSignatureFactory.newSignatureMethod(String, SignatureMethodParameterSpec)`

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `DSA_SHA1` | The DSA-SHA1 (DSS) signature method algorithm URI.
    `static String` | `DSA_SHA256` | The DSA-SHA256 (DSS) signature method algorithm URI.
    `static String` | `ECDSA_SHA1` | The ECDSA-SHA1 (FIPS 180-4) signature method algorithm URI.
    `static String` | `ECDSA_SHA224` | The ECDSA-SHA224 (FIPS 180-4) signature method algorithm URI.
    `static String` | `ECDSA_SHA256` | The ECDSA-SHA256 (FIPS 180-4) signature method algorithm URI.
    `static String` | `ECDSA_SHA384` | The ECDSA-SHA384 (FIPS 180-4) signature method algorithm URI.
    `static String` | `ECDSA_SHA512` | The ECDSA-SHA512 (FIPS 180-4) signature method algorithm URI.
    `static String` | `HMAC_SHA1` | The HMAC-SHA1 MAC signature method algorithm URI
    `static String` | `HMAC_SHA224` | The HMAC-SHA224 MAC signature method algorithm URI.
    `static String` | `HMAC_SHA256` | The HMAC-SHA256 MAC signature method algorithm URI.
    `static String` | `HMAC_SHA384` | The HMAC-SHA384 MAC signature method algorithm URI.
    `static String` | `HMAC_SHA512` | The HMAC-SHA512 MAC signature method algorithm URI.
    `static String` | `RSA_SHA1` | The RSA-SHA1 (PKCS #1) signature method algorithm URI.
    `static String` | `RSA_SHA224` | The RSA-SHA224 (PKCS #1) signature method algorithm URI.
    `static String` | `RSA_SHA256` | The RSA-SHA256 (PKCS #1) signature method algorithm URI.
    `static String` | `RSA_SHA384` | The RSA-SHA384 (PKCS #1) signature method algorithm URI.
    `static String` | `RSA_SHA512` | The RSA-SHA512 (PKCS #1) signature method algorithm URI.
    `static String` | `SHA1_RSA_MGF1` | The SHA1-RSA-MGF1 (PKCS #1) signature method algorithm URI.
    `static String` | `SHA224_RSA_MGF1` | The SHA224-RSA-MGF1 (PKCS #1) signature method algorithm URI.
    `static String` | `SHA256_RSA_MGF1` | The SHA256-RSA-MGF1 (PKCS #1) signature method algorithm URI.
    `static String` | `SHA384_RSA_MGF1` | The SHA384-RSA-MGF1 (PKCS #1) signature method algorithm URI.
    `static String` | `SHA512_RSA_MGF1` | The SHA512-RSA-MGF1 (PKCS #1) signature method algorithm URI.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AlgorithmParameterSpec` | `getParameterSpec()` | Returns the algorithm-specific input parameters of this `SignatureMethod`.

    - ### Methods declared in interface javax.xml.crypto.AlgorithmMethod

      `getAlgorithm`

    - ### Methods declared in interface javax.xml.crypto.XMLStructure

      `isFeatureSupported`

- - ### Field Detail

    - #### DSA_SHA1

          static final String DSA_SHA1

      The DSA-SHA1 (DSS) signature method algorithm URI.
      See Also:
        Constant Field Values

    - #### DSA_SHA256

          static final String DSA_SHA256

      The DSA-SHA256 (DSS) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### RSA_SHA1

          static final String RSA_SHA1

      The RSA-SHA1 (PKCS #1) signature method algorithm URI.
      See Also:
        Constant Field Values

    - #### RSA_SHA224

          static final String RSA_SHA224

      The RSA-SHA224 (PKCS #1) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### RSA_SHA256

          static final String RSA_SHA256

      The RSA-SHA256 (PKCS #1) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### RSA_SHA384

          static final String RSA_SHA384

      The RSA-SHA384 (PKCS #1) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### RSA_SHA512

          static final String RSA_SHA512

      The RSA-SHA512 (PKCS #1) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### SHA1_RSA_MGF1

          static final String SHA1_RSA_MGF1

      The SHA1-RSA-MGF1 (PKCS #1) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### SHA224_RSA_MGF1

          static final String SHA224_RSA_MGF1

      The SHA224-RSA-MGF1 (PKCS #1) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### SHA256_RSA_MGF1

          static final String SHA256_RSA_MGF1

      The SHA256-RSA-MGF1 (PKCS #1) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### SHA384_RSA_MGF1

          static final String SHA384_RSA_MGF1

      The SHA384-RSA-MGF1 (PKCS #1) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### SHA512_RSA_MGF1

          static final String SHA512_RSA_MGF1

      The SHA512-RSA-MGF1 (PKCS #1) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### ECDSA_SHA1

          static final String ECDSA_SHA1

      The ECDSA-SHA1 (FIPS 180-4) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### ECDSA_SHA224

          static final String ECDSA_SHA224

      The ECDSA-SHA224 (FIPS 180-4) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### ECDSA_SHA256

          static final String ECDSA_SHA256

      The ECDSA-SHA256 (FIPS 180-4) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### ECDSA_SHA384

          static final String ECDSA_SHA384

      The ECDSA-SHA384 (FIPS 180-4) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### ECDSA_SHA512

          static final String ECDSA_SHA512

      The ECDSA-SHA512 (FIPS 180-4) signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### HMAC_SHA1

          static final String HMAC_SHA1

      The HMAC-SHA1 MAC signature method algorithm URI
      See Also:
        Constant Field Values

    - #### HMAC_SHA224

          static final String HMAC_SHA224

      The HMAC-SHA224 MAC signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### HMAC_SHA256

          static final String HMAC_SHA256

      The HMAC-SHA256 MAC signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### HMAC_SHA384

          static final String HMAC_SHA384

      The HMAC-SHA384 MAC signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

    - #### HMAC_SHA512

          static final String HMAC_SHA512

      The HMAC-SHA512 MAC signature method algorithm URI.
      Since:
        11
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getParameterSpec

          AlgorithmParameterSpec getParameterSpec()

      Returns the algorithm-specific input parameters of this `SignatureMethod`.

      The returned parameters can be typecast to a `SignatureMethodParameterSpec` object.

      Specified by:
        `getParameterSpec` in interface `AlgorithmMethod`
      Returns:
        the algorithm-specific input parameters of this `SignatureMethod` (may be `null` if not specified)