Class OpenSSLPBEParametersGenerator
java.lang.Object
org.gudy.bouncycastle.crypto.PBEParametersGenerator
org.gudy.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator
Generator for PBE derived keys and ivs as usd by OpenSSL.
The scheme is a simple extension of PKCS 5 V2.0 Scheme 1 using MD5 with an iteration count of 1.
-
Field Summary
FieldsFields inherited from class org.gudy.bouncycastle.crypto.PBEParametersGenerator
iterationCount, password, salt
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate byte[]
generateDerivedKey
(int bytesNeeded) the derived key function, the ith hash of the password and the salt.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.void
init
(byte[] password, byte[] salt) Initialise - note the iteration count for this algorithm is fixed at 1.Methods inherited from class org.gudy.bouncycastle.crypto.PBEParametersGenerator
getIterationCount, getPassword, getSalt, init, PKCS12PasswordToBytes, PKCS5PasswordToBytes
-
Field Details
-
digest
-
-
Constructor Details
-
OpenSSLPBEParametersGenerator
public OpenSSLPBEParametersGenerator()Construct a OpenSSL Parameters generator.
-
-
Method Details
-
init
public void init(byte[] password, byte[] salt) Initialise - note the iteration count for this algorithm is fixed at 1.- Parameters:
password
- password to use.salt
- salt to use.
-
generateDerivedKey
private byte[] generateDerivedKey(int bytesNeeded) the derived key function, the ith hash of the password and the salt. -
generateDerivedParameters
Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.- Specified by:
generateDerivedParameters
in classPBEParametersGenerator
- Parameters:
keySize
- the size of the key we want (in bits)- Returns:
- a KeyParameter object.
- Throws:
IllegalArgumentException
- if the key length larger than the base hash size.
-
generateDerivedParameters
Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.- Specified by:
generateDerivedParameters
in 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.
- Throws:
IllegalArgumentException
- if keySize + ivSize is larger than the base hash size.
-
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:
generateDerivedMacParameters
in classPBEParametersGenerator
- Parameters:
keySize
- the size of the key we want (in bits)- Returns:
- a KeyParameter object.
- Throws:
IllegalArgumentException
- if the key length larger than the base hash size.
-