Class PKCS12ParametersGenerator
java.lang.Object
org.gudy.bouncycastle.crypto.PBEParametersGenerator
org.gudy.bouncycastle.crypto.generators.PKCS12ParametersGenerator
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
FieldsModifier and TypeFieldDescriptionprivate Digeststatic final intstatic final intstatic final intprivate intprivate intFields inherited from class PBEParametersGenerator
iterationCount, password, salt -
Constructor Summary
ConstructorsConstructorDescriptionPKCS12ParametersGenerator(Digest digest) Construct a PKCS 12 Parameters generator. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidadjust(byte[] a, int aOff, byte[] b) add a + b + 1, returning the result in a.private byte[]generateDerivedKey(int idByte, int n) generation of a derived key ala PKCS12 V1.0.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.generateDerivedParameters(int keySize) Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.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 PBEParametersGenerator
getIterationCount, getPassword, getSalt, init, PKCS12PasswordToBytes, PKCS5PasswordToBytes
-
Field Details
-
KEY_MATERIAL
public static final int KEY_MATERIAL- See Also:
-
IV_MATERIAL
public static final int IV_MATERIAL- See Also:
-
MAC_MATERIAL
public static final int MAC_MATERIAL- See Also:
-
digest
-
u
private int u -
v
private int v
-
-
Constructor Details
-
PKCS12ParametersGenerator
Construct a PKCS 12 Parameters generator. This constructor will accept MD5, SHA1, and RIPEMD160.- Parameters:
digest- the digest to be used as the source of derived keys.- Throws:
IllegalArgumentException- if an unknown digest is passed in.
-
-
Method Details
-
adjust
private void adjust(byte[] a, int aOff, byte[] b) add a + b + 1, returning the result in a. The a value is treated as a BigInteger of length (b.length * 8) bits. The result is modulo 2^b.length in case of overflow. -
generateDerivedKey
private byte[] generateDerivedKey(int idByte, int n) generation of a derived key ala PKCS12 V1.0. -
generateDerivedParameters
Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.- Specified by:
generateDerivedParametersin classPBEParametersGenerator- Parameters:
keySize- the size of the key we want (in bits)- Returns:
- a KeyParameter object.
-
generateDerivedParameters
Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.- Specified by:
generateDerivedParametersin classPBEParametersGenerator- 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.
-
generateDerivedMacParameters
Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.- Specified by:
generateDerivedMacParametersin classPBEParametersGenerator- Parameters:
keySize- the size of the key we want (in bits)- Returns:
- a KeyParameter object.
-