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 int
IV_MATERIAL
static int
KEY_MATERIAL
static int
MAC_MATERIAL

Fields inherited from class org.bouncycastle.crypto.PBEParametersGenerator

iterationCount, password, salt

Constructor Summary

PKCS12ParametersGenerator(Digest digest)
Construct a PKCS 12 Parameters generator.

Method Summary

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.
CipherParameters
generateDerivedParameters(int keySize)
Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.
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.

Methods inherited from class org.bouncycastle.crypto.PBEParametersGenerator

PKCS12PasswordToBytes, PKCS5PasswordToBytes, generateDerivedMacParameters, generateDerivedParameters, generateDerivedParameters, getIterationCount, getPassword, getSalt, init

Field Details

IV_MATERIAL

public static final int IV_MATERIAL

Field Value:
2


KEY_MATERIAL

public static final int KEY_MATERIAL

Field Value:
1


MAC_MATERIAL

public static final int MAC_MATERIAL

Field Value:
3

Constructor Details

PKCS12ParametersGenerator

public PKCS12ParametersGenerator(Digest digest)
Construct a PKCS 12 Parameters generator. This constructor will accept MD5, SHA1, RIPEMD160, and SHA256.

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

Method Details

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.
Overrides:
generateDerivedMacParameters in interface PBEParametersGenerator

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.
Overrides:
generateDerivedParameters in interface PBEParametersGenerator

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.
Overrides:
generateDerivedParameters in interface PBEParametersGenerator

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.