public class PBEParameters
extends java.security.AlgorithmParametersSpi
RSA-PKCS#5 describes a method for encrypting messages (octet strings) with secret keys derived from a password. For generating the key from the password, parameters (salt a random octet string and iteration count an integer) are required.
PBEParameters can be generated provider independently by calling one of the
AlgorithmParameters.getInstance
methods. Subsequently
the new AlgorithmParameters object must be initialized with a proper PBE parameter specification or
a DER encoded byte array. If the first way is chosen, the parameter values
(salt and iteration count) for initializing the new AlgorithmParameters object
are immediately taken from the given PBE parameter specification; if the
parameters are given as DER encoded byte array, an ASN.1 object is created
from this byte array for subsequently parsing it to get salt and iteration count.
Alternatively PBEparameters may be created by using a proper AlgorithmParamterGenerator. The PBEParameterGenerator itself calls
for actually generating PBEParameters in opaque representation.AlgorithmParameters.getInstance("PBE", "IAIK")
For obtaining PBE parameters in transparent representation from an opaque
PBEParameters object, the getParameterSpec
method can be used;
for obtaining the parameters as DER encoded ASN.1 object, use
getEncoded
.
PBEParameterGenerator
,
PBEGenParameterSpec
,
AlgorithmParameters
Constructor and Description |
---|
PBEParameters()
The default constructor.
|
Modifier and Type | Method and Description |
---|---|
protected byte[] |
engineGetEncoded()
Returns the parameters as DER byte array.
|
protected byte[] |
engineGetEncoded(java.lang.String format)
Returns the parameters as a DER byte array.
|
protected java.security.spec.AlgorithmParameterSpec |
engineGetParameterSpec(java.lang.Class paramSpec)
Returns the PBE parameters as transparent PBE parameter specification of the
given class type.
|
protected void |
engineInit(java.security.spec.AlgorithmParameterSpec paramSpec)
Initializes this PBEParameters with salt and iteration count from a
given PBEParameterSpec or PBEKeyAndParameterSpec.
|
protected void |
engineInit(byte[] params)
Initializes this PBEParameters object from the given DER encoded byte array.
|
protected void |
engineInit(byte[] params,
java.lang.String format)
Inits the parameters from an DER encoded byte array.
|
protected java.lang.String |
engineToString()
Returns a String representation of the parameters.
|
public PBEParameters()
PBEParameters
object.
Applications shall use one of the AlgorithmParameters.getInstance
factory methods for obtaining PBEParameters.protected byte[] engineGetEncoded() throws java.io.IOException
A SEQUENCE
ASN.1 object is created for holding salt and
iteration count; subsequently this SEQUENCE object is DER-encoded to
get the required byte array.
engineGetEncoded
in class java.security.AlgorithmParametersSpi
java.io.IOException
- if an encoding error occursprotected byte[] engineGetEncoded(java.lang.String format) throws java.io.IOException
Format is ignored. Only DER encoding is supported at this time. This method
only calls engineGetEncoded()
for returning the PBE parameters as DER encoded byte array, regardless of what
is specified in the format
string.
engineGetEncoded
in class java.security.AlgorithmParametersSpi
format
- the encoding format; ignoredjava.io.IOException
- if an encoding error occursprotected java.security.spec.AlgorithmParameterSpec engineGetParameterSpec(java.lang.Class paramSpec) throws java.security.spec.InvalidParameterSpecException
engineGetParameterSpec
in class java.security.AlgorithmParametersSpi
paramSpec
- the desired parameter specification classjava.security.spec.InvalidParameterSpecException
- if the parameters cannot be converted to
the desired parameter specificationprotected void engineInit(java.security.spec.AlgorithmParameterSpec paramSpec) throws java.security.spec.InvalidParameterSpecException
engineInit
in class java.security.AlgorithmParametersSpi
paramSpec
- the parameter specification, which has to be a PBEParameterSpecjava.security.spec.InvalidParameterSpecException
- if the given parameter specification
is not a PBEParameterSpecprotected void engineInit(byte[] params) throws java.io.IOException
From the given byte array a ASN.1 object is created to be parsed for the required salt and iteration count.
engineInit
in class java.security.AlgorithmParametersSpi
params
- the DER encoded byte arrayjava.io.IOException
- if an error occurs when decoding the given byte arrayprotected void engineInit(byte[] params, java.lang.String format) throws java.io.IOException
engineInit(params)
for initializing this PBEParameters object from
the given DER encoded byte array, regardless of what is specified in the format
string.engineInit
in class java.security.AlgorithmParametersSpi
params
- the DER encoded byte arrayformat
- the encoding format; ignoredjava.io.IOException
- if an error occurs when decoding the given byte arrayprotected java.lang.String engineToString()
engineToString
in class java.security.AlgorithmParametersSpi