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

## org.mozilla.jss.pkcs11
Class PK11KeyGenerator

    java.lang.Object
      org.mozilla.jss.pkcs11.PK11KeyGenerator

All Implemented Interfaces:
  KeyGenerator

    public final class PK11KeyGenerator

extends java.lang.Object
implements KeyGenerator

Nested Class Summary

Nested classes/interfaces inherited from interface org.mozilla.jss.crypto.KeyGenerator
`KeyGenerator.CharToByteConverter`

Method Summary
`SymmetricKey` | `clone(SymmetricKey key)` Allows a SymmetricKey to be cloned on a different token.
`static SymmetricKey` | `clone(SymmetricKey key, PK11Token token)` Allows a SymmetricKey to be cloned on a different token.
`SymmetricKey` | `generate()` Generates the key.
`byte[]` | `generatePBE_IV()` Generates an Initialization Vector using a PBE algorithm.
`void` | `initialize(java.security.spec.AlgorithmParameterSpec parameters)`
`void` | `initialize(int strength)`
`void` | `sensitiveKeys(boolean sensitive)` Tells the generator to generate sensitive or insensitive keys.
`void` | `setCharToByteConverter(KeyGenerator.CharToByteConverter charToByte)` Sets the character to byte converter for passwords.
`void` | `setKeyUsages(SymmetricKey.Usage[] usages)`
`void` | `temporaryKeys(boolean temp)` Tells the generator to generate temporary or permanent keys.

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

Method Detail

### setCharToByteConverter

    public void setCharToByteConverter(KeyGenerator.CharToByteConverter charToByte)

  Sets the character to byte converter for passwords. The default conversion is UTF8 with no null termination.

  Specified by:
    `setCharToByteConverter` in interface `KeyGenerator`

### initialize

    public void initialize(int strength)
                    throws java.security.InvalidAlgorithmParameterException

  Specified by:
    `initialize` in interface `KeyGenerator`
  Parameters:
    `strength` - Key size in bits. Must be evenly divisible by 8.
  Throws:
    `java.security.InvalidAlgorithmParameterException`

### initialize

    public void initialize(java.security.spec.AlgorithmParameterSpec parameters)
                    throws java.security.InvalidAlgorithmParameterException

  Specified by:
    `initialize` in interface `KeyGenerator`
  Throws:
    `java.security.InvalidAlgorithmParameterException`

### setKeyUsages

    public void setKeyUsages(SymmetricKey.Usage[] usages)

  Specified by:
    `setKeyUsages` in interface `KeyGenerator`
  Parameters:
    `usages` - The operations the key will be used for after it is generated. You have to specify these so that the key can be properly marked with the operations it supports. Some PKCS #11 tokens require that a key be marked for an operation before it can perform that operation. The default is SymmetricKey.Usage.SIGN and SymmetricKey.Usage.ENCRYPT.

### temporaryKeys

    public void temporaryKeys(boolean temp)

  Description copied from interface: `KeyGenerator`
  Tells the generator to generate temporary or permanent keys. Temporary keys are not written permanently to the token. They are destroyed by the garbage collector. If this method is not called, the default is temporary keys.

  Specified by:
    `temporaryKeys` in interface `KeyGenerator`

### sensitiveKeys

    public void sensitiveKeys(boolean sensitive)

  Description copied from interface: `KeyGenerator`
  Tells the generator to generate sensitive or insensitive keys. Certain attributes of a sensitive key cannot be revealed in plaintext outside the token. If this method is not called, the default is token dependent.

  Specified by:
    `sensitiveKeys` in interface `KeyGenerator`

### generate

    public SymmetricKey generate()
                          throws java.lang.IllegalStateException,
                                 TokenException,
                                 java.io.CharConversionException

  Generates the key. This is the public interface, the actual work is done by native methods.

  Specified by:
    `generate` in interface `KeyGenerator`
  Throws:
    `java.lang.IllegalStateException`
    `TokenException`
    `java.io.CharConversionException`

### generatePBE_IV

    public byte[] generatePBE_IV()
                          throws TokenException,
                                 java.io.CharConversionException

  Generates an Initialization Vector using a PBE algorithm. In order to call this method, the algorithm must be a PBE algorithm, and the KeyGenerator must have been initialized with an instance of `PBEKeyGenParams`.

  Specified by:
    `generatePBE_IV` in interface `KeyGenerator`
  Returns:
    The initialization vector derived from the password and salt using the PBE algorithm.
  Throws:
    `TokenException` - If an error occurs on the CryptoToken while generating the IV.
    `java.io.CharConversionException`

### clone

    public SymmetricKey clone(SymmetricKey key)
                       throws SymmetricKey.NotExtractableException,
                              java.security.InvalidKeyException,
                              TokenException

  Allows a SymmetricKey to be cloned on a different token.

  Specified by:
    `clone` in interface `KeyGenerator`
  Throws:
    `SymmetricKey.NotExtractableException` - If the key material cannot be extracted from the current token.
    `java.security.InvalidKeyException` - If the owning token cannot process the key to be cloned.
    `TokenException`

### clone

    public static SymmetricKey clone(SymmetricKey key,
                                     PK11Token token)
                              throws SymmetricKey.NotExtractableException,
                                     java.security.InvalidKeyException,
                                     TokenException

  Allows a SymmetricKey to be cloned on a different token.

  Parameters:
    `key` - The key to clone.
    `token` - The token on which to clone the key.
  Throws:
    `SymmetricKey.NotExtractableException` - If the key material cannot be extracted from the current token.
    `java.security.InvalidKeyException` - If the owning token cannot process the key to be cloned.
    `TokenException`

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