org.bouncycastle.crypto.generators
Class OpenSSLPBEParametersGenerator
java.lang.Object
|
+--org.bouncycastle.crypto.PBEParametersGenerator
|
+--org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator
- public class OpenSSLPBEParametersGenerator
- extends PBEParametersGenerator
Generator for PBE derived keys and ivs as usd by OpenSSL.
Originally this scheme was a simple extension of PKCS 5 V2.0 Scheme 1 using MD5 with an
iteration count of 1. The default digest was changed to SHA-256 with OpenSSL 1.1.0. This
implementation still defaults to MD5, but the digest can now be set.
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. |
void |
init(byte[] password,
byte[] salt)
Initialise - note the iteration count for this algorithm is fixed at 1. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OpenSSLPBEParametersGenerator
public OpenSSLPBEParametersGenerator()
- Construct a OpenSSL Parameters generator - digest the original MD5.
OpenSSLPBEParametersGenerator
public OpenSSLPBEParametersGenerator(Digest digest)
- Construct a OpenSSL Parameters generator - digest as specified.
- Parameters:
digest
- the digest to use as the PRF.
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.
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 class PBEParametersGenerator
- Parameters:
keySize
- the size of the key we want (in bits)- Returns:
- a KeyParameter object.
- Throws:
java.lang.IllegalArgumentException
- if the key length larger than the base hash size.
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 class 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.
- Throws:
java.lang.IllegalArgumentException
- if keySize + ivSize is larger than the base hash size.
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 class PBEParametersGenerator
- Parameters:
keySize
- the size of the key we want (in bits)- Returns:
- a KeyParameter object.
- Throws:
java.lang.IllegalArgumentException
- if the key length larger than the base hash size.