Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.jce.provider
Class JCEKeyGenerator

    java.lang.Object
      javax.crypto.KeyGeneratorSpi
          org.bouncycastle.jce.provider.JCEKeyGenerator

Direct Known Subclasses:
  AES.KeyGen, Camellia.KeyGen, CAST5.KeyGen, Grain128.KeyGen, Grainv1.KeyGen, IDEA.KeyGen, JCEKeyGenerator.Blowfish, JCEKeyGenerator.CAST6, JCEKeyGenerator.DES, JCEKeyGenerator.DESede, JCEKeyGenerator.DESede3, JCEKeyGenerator.GOST28147, JCEKeyGenerator.HC128, JCEKeyGenerator.HC256, JCEKeyGenerator.HMACSHA1, JCEKeyGenerator.HMACSHA224, JCEKeyGenerator.HMACSHA256, JCEKeyGenerator.HMACSHA384, JCEKeyGenerator.HMACSHA512, JCEKeyGenerator.HMACTIGER, JCEKeyGenerator.MD2HMAC, JCEKeyGenerator.MD4HMAC, JCEKeyGenerator.MD5HMAC, JCEKeyGenerator.RC2, JCEKeyGenerator.RC4, JCEKeyGenerator.RC5, JCEKeyGenerator.RC564, JCEKeyGenerator.RC6, JCEKeyGenerator.Rijndael, JCEKeyGenerator.RIPEMD128HMAC, JCEKeyGenerator.RIPEMD160HMAC, JCEKeyGenerator.Salsa20, JCEKeyGenerator.Serpent, JCEKeyGenerator.Skipjack, JCEKeyGenerator.TEA, JCEKeyGenerator.Twofish, JCEKeyGenerator.VMPC, JCEKeyGenerator.VMPCKSA3, JCEKeyGenerator.XTEA, Noekeon.KeyGen, SEED.KeyGen

    public class JCEKeyGenerator

extends javax.crypto.KeyGeneratorSpi

Nested Class Summary
`static class` `JCEKeyGenerator.Blowfish` Blowfish
`static class` `JCEKeyGenerator.CAST6` CAST6
`static class` `JCEKeyGenerator.DES` DES
`static class` `JCEKeyGenerator.DESede` DESede - the default for this is to generate a key in a-b-a format that's 24 bytes long but has 16 bytes of key material (the first 8 bytes is repeated as the last 8 bytes).
`static class` `JCEKeyGenerator.DESede3` generate a desEDE key in the a-b-c format.
`static class` `JCEKeyGenerator.GOST28147` GOST28147
`static class` `JCEKeyGenerator.HC128` HC128
`static class` `JCEKeyGenerator.HC256` HC256
`static class` `JCEKeyGenerator.HMACSHA1` HMACSHA1
`static class` `JCEKeyGenerator.HMACSHA224` HMACSHA224
`static class` `JCEKeyGenerator.HMACSHA256` HMACSHA256
`static class` `JCEKeyGenerator.HMACSHA384` HMACSHA384
`static class` `JCEKeyGenerator.HMACSHA512` HMACSHA512
`static class` `JCEKeyGenerator.HMACTIGER` HMACTIGER
`static class` `JCEKeyGenerator.MD2HMAC` MD2HMAC
`static class` `JCEKeyGenerator.MD4HMAC` MD4HMAC
`static class` `JCEKeyGenerator.MD5HMAC` MD5HMAC
`static class` `JCEKeyGenerator.RC2` RC2
`static class` `JCEKeyGenerator.RC4` RC4
`static class` `JCEKeyGenerator.RC5` RC5
`static class` `JCEKeyGenerator.RC564` RC5
`static class` `JCEKeyGenerator.RC6` RC6
`static class` `JCEKeyGenerator.Rijndael` Rijndael
`static class` `JCEKeyGenerator.RIPEMD128HMAC` RIPE128HMAC
`static class` `JCEKeyGenerator.RIPEMD160HMAC` RIPE160HMAC
`static class` `JCEKeyGenerator.Salsa20` Salsa20
`static class` `JCEKeyGenerator.Serpent` Serpent
`static class` `JCEKeyGenerator.Skipjack` SKIPJACK
`static class` `JCEKeyGenerator.TEA` TEA
`static class` `JCEKeyGenerator.Twofish` Twofish
`static class` `JCEKeyGenerator.VMPC` VMPC
`static class` `JCEKeyGenerator.VMPCKSA3` VMPC-KSA3
`static class` `JCEKeyGenerator.XTEA` XTEA

Field Summary
`protected java.lang.String` `algName`
`protected int` `defaultKeySize`
`protected CipherKeyGenerator` `engine`
`protected int` `keySize`
`protected boolean` `uninitialised`

Constructor Summary
`protected` `JCEKeyGenerator(java.lang.String algName, int defaultKeySize, CipherKeyGenerator engine)`

Method Summary
`protected javax.crypto.SecretKey` `engineGenerateKey()`
`protected void` `engineInit(java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)`
`protected void` `engineInit(int keySize, java.security.SecureRandom random)`
`protected void` `engineInit(java.security.SecureRandom random)`

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

Field Detail

### algName

    protected java.lang.String algName

### keySize

    protected int keySize

### defaultKeySize

    protected int defaultKeySize

### engine

    protected CipherKeyGenerator engine

### uninitialised

    protected boolean uninitialised

Constructor Detail

### JCEKeyGenerator

    protected JCEKeyGenerator(java.lang.String algName,
                              int defaultKeySize,
                              CipherKeyGenerator engine)

Method Detail

### engineInit

    protected void engineInit(java.security.spec.AlgorithmParameterSpec params,
                              java.security.SecureRandom random)
                       throws java.security.InvalidAlgorithmParameterException

  Specified by:
    `engineInit` in class `javax.crypto.KeyGeneratorSpi`
  Throws:
    `java.security.InvalidAlgorithmParameterException`

### engineInit

    protected void engineInit(java.security.SecureRandom random)

  Specified by:
    `engineInit` in class `javax.crypto.KeyGeneratorSpi`

### engineInit

    protected void engineInit(int keySize,
                              java.security.SecureRandom random)

  Specified by:
    `engineInit` in class `javax.crypto.KeyGeneratorSpi`

### engineGenerateKey

    protected javax.crypto.SecretKey engineGenerateKey()

  Specified by:
    `engineGenerateKey` in class `javax.crypto.KeyGeneratorSpi`

Bouncy Castle Cryptography Library 1.45