org.bouncycastle.crypto.generators

Class PKCS12ParametersGenerator

public class PKCS12ParametersGenerator extends PBEParametersGenerator

Generator for PBE derived keys and ivs as defined by PKCS 12 V1.0.

The document this implementation is based on can be found at RSA's PKCS12 Page

Field Summary
static intIV_MATERIAL
static intKEY_MATERIAL
static intMAC_MATERIAL
Constructor Summary
PKCS12ParametersGenerator(Digest digest)
Construct a PKCS 12 Parameters generator.
Method Summary
CipherParametersgenerateDerivedMacParameters(int keySize)
Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.
CipherParametersgenerateDerivedParameters(int keySize)
Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.
CipherParametersgenerateDerivedParameters(int keySize, int ivSize)
Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.

Field Detail

IV_MATERIAL

public static final int IV_MATERIAL

KEY_MATERIAL

public static final int KEY_MATERIAL

MAC_MATERIAL

public static final int MAC_MATERIAL

Constructor Detail

PKCS12ParametersGenerator

public PKCS12ParametersGenerator(Digest digest)
Construct a PKCS 12 Parameters generator. This constructor will accept any digest which also implements ExtendedDigest.

Parameters: digest the digest to be used as the source of derived keys.

Throws: IllegalArgumentException if an unknown digest is passed in.

Method Detail

generateDerivedMacParameters

public CipherParameters generateDerivedMacParameters(int keySize)
Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.

Parameters: keySize the size of the key we want (in bits)

Returns: a KeyParameter object.

generateDerivedParameters

public CipherParameters generateDerivedParameters(int keySize)
Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.

Parameters: keySize the size of the key we want (in bits)

Returns: a KeyParameter object.

generateDerivedParameters

public CipherParameters generateDerivedParameters(int keySize, int ivSize)
Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.

Parameters: keySize the size of the key we want (in bits) ivSize the size of the iv we want (in bits)

Returns: a ParametersWithIV object.