Class PSSParameterSpec
- java.lang.Object
-
- java.security.spec.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) }
whereHashAlgorithm ::= 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 Summary
Fields Modifier and Type Field and Description static PSSParameterSpec
DEFAULT
The PSS parameter set with all default valuesstatic int
TRAILER_FIELD_BC
TheTrailerFieldBC
constant as defined in PKCS#1
-
Constructor Summary
Constructors Constructor and Description PSSParameterSpec(int saltLen)
Creates a newPSSParameterSpec
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 newPSSParameterSpec
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.
-
Method Summary
All Methods Instance Methods Concrete 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.
-
-
-
Field Detail
TRAILER_FIELD_BC
public static final int TRAILER_FIELD_BC
TheTrailerFieldBC
constant as defined in PKCS#1- API Note:
- This field is defined in Java SE 8 Maintenance Release 3.
- Since:
- 8
- 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 newPSSParameterSpec
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
- ifmdName
, ormgfName
is null -
IllegalArgumentException
- ifsaltLen
ortrailerField
is less than 0 - Since:
- 1.5
PSSParameterSpec
public PSSParameterSpec(int saltLen)
Creates a newPSSParameterSpec
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
- ifsaltLen
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
toString
public String toString()
Description copied from class:Object
Returns a string representation of the object. In general, thetoString
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 classObject
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())
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.