SignatureMethod (Java SE 17 & JDK 17)
Description: declaration: module: java.xml.crypto, package: javax.xml.crypto.dsig, interface: SignatureMethod
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.

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

- ## Field Summary

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

- ## Method Summary

  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 Details

  - ### 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

  - ### RSA_PSS

    static final String RSA_PSS
    The RSASSA-PSS signature method algorithm URI.

    Calling `XMLSignatureFactory.newSignatureMethod(RSA_PSS, null)` returns a `SignatureMethod` object that uses the default parameter as defined in RFC 6931 Section 2.3.9, which uses SHA-256 as the `DigestMethod`, MGF1 with SHA-256 as the `MaskGenerationFunction`, 32 as `SaltLength`, and 1 as `TrailerField`. This default parameter is represented as an `RSAPSSParameterSpec` type and returned by the `getParameterSpec()` method of the `SignatureMethod` object.

    Since:
      17
    See Also:
      - Constant Field Values

- ## Method Details

  - ### 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)