Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

Field Summary

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

Constructor Summary
`OpenSSLPBEParametersGenerator()` Construct a OpenSSL Parameters generator - digest the original MD5.
`OpenSSLPBEParametersGenerator(Digest digest)` Construct a OpenSSL Parameters generator - digest as specified.

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

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.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD