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

## javax.crypto
Class KeyGeneratorSpi

    java.lang.Object
      |
      +--javax.crypto.KeyGeneratorSpi

Direct Known Subclasses:
  JCEKeyGenerator

public abstract class KeyGeneratorSpi
extends java.lang.Object

This class defines the Service Provider Interface (SPI) for the `KeyGenerator` class. All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply the implementation of a key generator for a particular algorithm.

See Also:
  `SecretKey`

Constructor Summary
`KeyGeneratorSpi()`

Method Summary
`protected abstract SecretKey` | `engineGenerateKey()` Generates a secret key.
`protected abstract void` | `engineInit(java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)` Initializes the key generator with the specified parameter set and a user-provided source of randomness.
`protected abstract void` | `engineInit(int keysize, java.security.SecureRandom random)` Initializes this key generator for a certain keysize, using the given source of randomness.
`protected abstract void` | `engineInit(java.security.SecureRandom random)` Initializes the key generator.

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

Constructor Detail

### KeyGeneratorSpi

    public KeyGeneratorSpi()

Method Detail

### engineInit

    protected abstract void engineInit(java.security.SecureRandom random)

  Initializes the key generator.

  Parameters:
    `random` - the source of randomness for this generator

### engineInit

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

  Initializes the key generator with the specified parameter set and a user-provided source of randomness.

  Parameters:
    `params` - the key generation parameters
    `random` - the source of randomness for this key generator
  Throws:
    `java.security.InvalidAlgorithmParameterException` - if `params` is inappropriate for this key generator

### engineInit

    protected abstract void engineInit(int keysize,
                                       java.security.SecureRandom random)
                                throws java.security.InvalidParameterException

  Initializes this key generator for a certain keysize, using the given source of randomness.

  Parameters:
    `keysize` - the keysize. This is an algorithm-specific metric, specified in number of bits.
    `random` - the source of randomness for this key generator.
  Throws:
    `java.security.InvalidParameterException` - if keysize is wrong or not supported.

### engineGenerateKey

    protected abstract SecretKey engineGenerateKey()

  Generates a secret key.

  Returns:
    the new key.

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