|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.security.AlgorithmParametersSpi | +--iaik.pkcs.pkcs1.PKCS1AlgorithmParameters | +--iaik.pkcs.pkcs1.RSAPssParameters
Algorithm parameters for the PKCS#1 RSASSA-PSS signature scheme.
PKCS#1v2.1 defines the following parameters for the PSS signature scheme:
RSASSA-PSS-params :: = SEQUENCE { hashAlgorithm [0] HashAlgorithm DEFAULT sha1, maskGenerationAlgorithm [1] MaskGenAlgorithm DEFAULT mgf1SHA1, saltLength [2] INTEGER DEFAULT 20, trailerField [3] TrailerField DEFAULT trailerFieldBC } HashAlgorithm ::= AlgorithmIdentifer { {OAEP-PSSDigestAlgorithms} } MaskGenAlgorithm ::= AlgorithmIdentifier { {PKCS1MGFAlgorithms} } TrailerField ::= INTEGER { trailerFieldBC(1) }By default PSS uses SHA-1 as hash function, MGF1 (with SHA-1 as hash function parameter) as mask generation algorithm, 20 as salt length, and 1 as trailer field indicating a trailer value of 0xBC.
RSAPssParamters can be generated provider independently by calling one of the
AlgorithmParameters.getInstance
methods. Subsequently the new
AlgorithmParamters object must be initialized with a proper RSA-PSS parameter
specification or a DER encoded byte array, e.g.:
RSAPssParameterSpec pssParamSpec = ...; AlgorithmParameters params = AlgorithmParameters.getInstance("RSASSA-PSS", "IAIK"); params.init(pssParamSpec);repectively:
byte[] encodedPssParams = ...; AlgorithmParameters params = AlgorithmParameters.getInstance("RSASSA-PSS", "IAIK"); params.init(encodedPssParams);
For obtaining PSS parameters in transparent representation from an opaque
RSAPssParamters object, the getParameterSpec
method can be used;
for obtaining the parameters as DER encoded ASN.1 object, use
getEncoded
:
RSAPssParameterSpec pssParamSpec = (RSAPssParameterSpec)params.getParameterSpec(RSAPssParameterSpec.class);repectively
byte[] encodedPssParams = params.getEncoded();
RSAPssParameterSpec
,
AlgorithmParameters
Constructor Summary | |
RSAPssParameters()
The default constructor. |
Method Summary | |
void |
decode(ASN1Object asn1Params)
Initializes this RSAPssParameters object from the given ASN1Object. |
protected byte[] |
engineGetEncoded()
Returns the parameters as DER byte array. |
protected byte[] |
engineGetEncoded(String format)
Returns the parameters as a DER byte array. |
protected AlgorithmParameterSpec |
engineGetParameterSpec(Class paramSpec)
Returns the RSA-PSS parameters as transparent parameter specification of the given class type. |
protected void |
engineInit(AlgorithmParameterSpec paramSpec)
Initializes this RSAPssParameters from the given RSAPssParameterSpec. |
protected void |
engineInit(byte[] params)
Initializes this RSAPssParameters object from the given DER encoded byte array. |
protected void |
engineInit(byte[] params,
String format)
Inits the parameters from an DER encoded byte array. |
protected String |
engineToString()
Returns a String representation of this object. |
ASN1Object |
toASN1Object()
Gets an ASN.1 representation of this RSA PSS parameters. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RSAPssParameters()
RSAPssParameters
object.
Applications shall use one of the AlgorithmParameters.getInstance
factory methods for obtaining RSAPssParameters.Method Detail |
protected byte[] engineGetEncoded() throws IOException
engineGetEncoded
in class AlgorithmParametersSpi
IOException
- if an encoding error occursprotected byte[] engineGetEncoded(String format) throws IOException
Format is ignored. Only DER encoding is supported. This method
only calls engineGetEncoded()
, regardless of what
is specified in the format
string.
engineGetEncoded
in class AlgorithmParametersSpi
format
- the encoding format; ignoredIOException
- if an encoding error occurspublic ASN1Object toASN1Object()
protected AlgorithmParameterSpec engineGetParameterSpec(Class paramSpec) throws InvalidParameterSpecException
engineGetParameterSpec
in class AlgorithmParametersSpi
paramSpec
- the desired parameter specification class (RSAPssParameterSpec)InvalidParameterSpecException
- if the paramters cannot be converted to
the desired parameter specificationprotected void engineInit(AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException
engineInit
in class AlgorithmParametersSpi
paramSpec
- the parameter specification, which has to be a RSAPssParameterSpecInvalidParameterSpecException
- if the given parameter specification
is not a or is an invalid RSAPssParameterSpecprotected void engineInit(byte[] params) throws IOException
engineInit
in class AlgorithmParametersSpi
params
- the DER encoded byte arrayIOException
- if an error occurs when decoding the given byte arraypublic void decode(ASN1Object asn1Params) throws CodingException
params
- the PSS parameters in ASN.1 representationCodingException
- if an error occurs when parsing the parametersprotected void engineInit(byte[] params, String format) throws IOException
engineInit(params)
for initializing this RSAPssParameters
object from the given DER encoded byte array, regardless of what is specified
in the format
string.
engineInit
in class AlgorithmParametersSpi
params
- the DER encoded byte arrayformat
- the encoding format; ignoredIOException
- if an error occurs when decoding the given byte arrayprotected String engineToString()
engineToString
in class AlgorithmParametersSpi
|
This Javadoc may contain text parts from Internet Standard specifications (RFC 2459, 3280, 3039, 2560, 1521, 821, 822, 2253, 1319, 1321, ,2630, 2631, 2268, 3058, 2984, 2104, 2144, 2040, 2311, 2279, see copyright note) and RSA Data Security Public-Key Cryptography Standards (PKCS#1,3,5,7,8,9,10,12, see copyright note). | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |