Module java.base

Class PSSParameterSpec

  • All Implemented Interfaces:
    AlgorithmParameterSpec

    public class PSSParameterSpec
    extends Object
    implements AlgorithmParameterSpec
    This class specifies a parameter spec for RSA-PSS signature scheme, as defined in the PKCS#1 v2.1 standard.

    Its ASN.1 definition in PKCS#1 standard is described below:

     RSASSA-PSS-params ::= SEQUENCE {
       hashAlgorithm      [0] OAEP-PSSDigestAlgorithms  DEFAULT sha1,
       maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
       saltLength         [2] INTEGER  DEFAULT 20,
       trailerField       [3] INTEGER  DEFAULT 1
     }
     
    where
     OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
       { OID id-sha1 PARAMETERS NULL   }|
       { OID id-sha224 PARAMETERS NULL   }|
       { OID id-sha256 PARAMETERS NULL }|
       { OID id-sha384 PARAMETERS NULL }|
       { OID id-sha512 PARAMETERS NULL },
       ...  -- Allows for future expansion --
     }
    
     PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
       { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
       ...  -- Allows for future expansion --
     }
     

    Note: the PSSParameterSpec.DEFAULT uses the following: message digest -- "SHA-1" mask generation function (mgf) -- "MGF1" parameters for mgf -- MGF1ParameterSpec.SHA1 SaltLength -- 20 TrailerField -- 1

    Since:
    1.4
    See Also:
    MGF1ParameterSpec, AlgorithmParameterSpec, Signature
    • Field Detail

      • DEFAULT

        public static final PSSParameterSpec DEFAULT
        The PSS parameter set with all default values.
        Since:
        1.5
    • Constructor Detail

      • PSSParameterSpec

        public PSSParameterSpec​(String mdName,
                                String mgfName,
                                AlgorithmParameterSpec mgfSpec,
                                int saltLen,
                                int trailerField)
        Creates a new PSSParameterSpec as defined in the PKCS #1 standard using the specified message digest, mask generation function, parameters for mask generation function, salt length, and trailer field values.
        Parameters:
        mdName - the algorithm name of the hash function.
        mgfName - the algorithm name of the mask generation function.
        mgfSpec - the parameters for the mask generation function. If null is specified, null will be returned by getMGFParameters().
        saltLen - the length of salt.
        trailerField - the value of the trailer field.
        Throws:
        NullPointerException - if mdName, or mgfName is null.
        IllegalArgumentException - if saltLen or trailerField is less than 0.
        Since:
        1.5
      • PSSParameterSpec

        public PSSParameterSpec​(int saltLen)
        Creates a new PSSParameterSpec using the specified salt length and other default values as defined in PKCS#1.
        Parameters:
        saltLen - the length of salt in bits to be used in PKCS#1 PSS encoding.
        Throws:
        IllegalArgumentException - if saltLen is less than 0.
    • Method Detail

      • getDigestAlgorithm

        public String getDigestAlgorithm()
        Returns the message digest algorithm name.
        Returns:
        the message digest algorithm name.
        Since:
        1.5
      • getMGFAlgorithm

        public String getMGFAlgorithm()
        Returns the mask generation function algorithm name.
        Returns:
        the mask generation function algorithm name.
        Since:
        1.5
      • getMGFParameters

        public AlgorithmParameterSpec getMGFParameters()
        Returns the parameters for the mask generation function.
        Returns:
        the parameters for the mask generation function.
        Since:
        1.5
      • getSaltLength

        public int getSaltLength()
        Returns the salt length in bits.
        Returns:
        the salt length.
      • getTrailerField

        public int getTrailerField()
        Returns the value for the trailer field, i.e. bc in PKCS#1 v2.1.
        Returns:
        the value for the trailer field, i.e. bc in PKCS#1 v2.1.
        Since:
        1.5