PSSParameterSpec

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

Field Summary

public static final PSSParameterSpec DEFAULT The PSS parameter set with all default values.

Public Constructor Summary

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.
PSSParameterSpec(int saltLen)
Creates a new PSSParameterSpec using the specified salt length and other default values as defined in PKCS#1.

Public Method Summary

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 bits.
int
getTrailerField()
Returns the value for the trailer field, i.e.

Inherited Method Summary

Fields

public static final PSSParameterSpec DEFAULT

The PSS parameter set with all default values.

Public Constructors

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.

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.

Public Methods

public String getDigestAlgorithm ()

Returns the message digest algorithm name.

Returns
  • the message digest algorithm name.

public String getMGFAlgorithm ()

Returns the mask generation function algorithm name.

Returns
  • the mask generation function algorithm name.

public AlgorithmParameterSpec getMGFParameters ()

Returns the parameters for the mask generation function.

Returns
  • the parameters for the mask generation function.

public int getSaltLength ()

Returns the salt length in bits.

Returns
  • the salt length.

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.