Module java.base

Class PSSParameterSpec

  • All Implemented Interfaces:
    AlgorithmParameterSpec

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

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

     RSASSA-PSS-params ::= SEQUENCE {
       hashAlgorithm      [0] HashAlgorithm      DEFAULT sha1,
       maskGenAlgorithm   [1] MaskGenAlgorithm   DEFAULT mgf1SHA1,
       saltLength         [2] INTEGER            DEFAULT 20,
       trailerField       [3] TrailerField       DEFAULT trailerFieldBC(1)
     }
     
    where
     HashAlgorithm ::= AlgorithmIdentifier {
       {OAEP-PSSDigestAlgorithms}
     }
     MaskGenAlgorithm ::= AlgorithmIdentifier { {PKCS1MGFAlgorithms} }
     TrailerField ::= INTEGER { trailerFieldBC(1) }
    
     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 }|
       { OID id-sha512-224 PARAMETERS NULL }|
       { OID id-sha512-256 PARAMETERS NULL },
       ...  -- Allows for future expansion --
     }
     PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
       { OID id-mgf1 PARAMETERS HashAlgorithm },
       ...  -- 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

      • TRAILER_FIELD_BC

        public static final int TRAILER_FIELD_BC
        The TrailerFieldBC constant as defined in PKCS#1
        Since:
        11
        See Also:
        Constant Field Values
      • 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 bytes 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 bytes.
        Returns:
        the salt length
      • getTrailerField

        public int getTrailerField()
        Returns the value for the trailer field.
        Returns:
        the value for the trailer field
        Since:
        1.5