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

Fields

Modifier and Type Field and Description
static PSSParameterSpec DEFAULT

The PSS parameter set with all default values

static int TRAILER_FIELD_BC

The TrailerFieldBC constant as defined in PKCS#1

Constructors

Constructor and Description
PSSParameterSpec(int saltLen)

Creates a new PSSParameterSpec using the specified salt length and other default values as defined in PKCS#1.

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.

Methods

Modifier and Type Method and Description
String getDigestAlgorithm()

Returns the message digest algorithm name.

String getMGFAlgorithm()

Returns the mask generation function algorithm name.

AlgorithmParameterSpec getMGFParameters()

Returns the parameters for the mask generation function.

int getSaltLength()

Returns the salt length in bytes.

int getTrailerField()

Returns the value for the trailer field.

String toString()

Returns a string representation of the object.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Fields

TRAILER_FIELD_BC

public static final int TRAILER_FIELD_BC

The TrailerFieldBC constant as defined in PKCS#1

Since:
8
See Also:
Constant Field Values

DEFAULT

public static final PSSParameterSpec DEFAULT

The PSS parameter set with all default values

Since:
1.5

Constructors

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

Methods

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

toString

public String toString()

Description copied from class: Object

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

getClass().getName() + '@' + Integer.toHexString(hashCode())
Overrides:
toString in class Object
Returns:
a string representation of the object.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/java/security/spec/PSSParameterSpec.html