org.mozilla.jss.pkcs11
Class PK11KeyGenerator

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

public final class PK11KeyGenerator
extends java.lang.Object


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 setCharToByteConverter(KeyGenerator.CharToByteConverter charToByte)
          Sets the character to byte converter for passwords.
 
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.


initialize

public void initialize(int strength)
                throws java.security.InvalidAlgorithmParameterException
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
Throws:
java.security.InvalidAlgorithmParameterException

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.

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.

Returns:
The initialization vector derived from the password and salt using the PBE algorithm.
Throws:
TokenException
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.

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