Bouncy Castle Cryptography Library 1.45

## 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.

The scheme is a simple extension of PKCS 5 V2.0 Scheme 1 using MD5 with an iteration count of 1.

Field Summary

Fields inherited from class org.bouncycastle.crypto.PBEParametersGenerator
`iterationCount, password, salt`

Constructor Summary
`OpenSSLPBEParametersGenerator()` Construct a OpenSSL 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.
`void` `init(byte[] password, byte[] salt)` Initialise - note the iteration count for this algorithm is fixed at 1.

Methods inherited from class org.bouncycastle.crypto.PBEParametersGenerator
`getIterationCount, getPassword, getSalt, init, PKCS12PasswordToBytes, PKCS5PasswordToBytes, PKCS5PasswordToUTF8Bytes`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### OpenSSLPBEParametersGenerator

    public OpenSSLPBEParametersGenerator()

  Construct a OpenSSL Parameters generator.

Method Detail

### 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.

  Specified by:
    `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.

  Specified by:
    `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.

  Specified by:
    `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.

Bouncy Castle Cryptography Library 1.45