com.ibm.crypto.provider
Class PBEKeyFactory

java.lang.Object
  extended by javax.crypto.SecretKeyFactorySpi
      extended by com.ibm.crypto.provider.PBEKeyFactory

public final class PBEKeyFactory
extends SecretKeyFactorySpi

This class implements a key factory for PBE keys according to PKCS#5, meaning that the password must consist of printable ASCII characters (values 32 to 126 decimal inclusive) and only the low order 8 bits of each password character are used.


Constructor Summary
PBEKeyFactory()
          Verify the JCE framework in the constructor.
 
Method Summary
protected  SecretKey engineGenerateSecret(KeySpec keySpec)
          Generates a SecretKey object from the provided key specification (key material).
protected  KeySpec engineGetKeySpec(SecretKey key, Class keySpecCl)
          Returns a specification (key material) of the given key in the requested format.
protected  SecretKey engineTranslateKey(SecretKey key)
          Translates a SecretKey object, whose provider may be unknown or potentially untrusted, into a corresponding SecretKey object of this key factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PBEKeyFactory

public PBEKeyFactory()
Verify the JCE framework in the constructor.

Throws:
SecurityException - if fails to verify the JCE framework.
Method Detail

engineGenerateSecret

protected SecretKey engineGenerateSecret(KeySpec keySpec)
                                  throws InvalidKeySpecException
Generates a SecretKey object from the provided key specification (key material). The keySpec may be of type PBEKeySpec or PKCS5KeySpec.

Specified by:
engineGenerateSecret in class SecretKeyFactorySpi
Parameters:
keySpec - the specification (key material) of the secret key
Returns:
the secret key
Throws:
InvalidKeySpecException - if the given key specification is inappropriate for this key factory to produce a PBE key.

engineGetKeySpec

protected KeySpec engineGetKeySpec(SecretKey key,
                                   Class keySpecCl)
                            throws InvalidKeySpecException
Returns a specification (key material) of the given key in the requested format.

Specified by:
engineGetKeySpec in class SecretKeyFactorySpi
Parameters:
key - the key
keySpec - the requested format in which the key material shall be returned
Returns:
the underlying key specification (key material) in the requested format
Throws:
InvalidKeySpecException - if the requested key specification is inappropriate for the given key, or the given key cannot be processed (e.g., the given key has an unrecognized algorithm or format).

engineTranslateKey

protected SecretKey engineTranslateKey(SecretKey key)
                                throws InvalidKeyException
Translates a SecretKey object, whose provider may be unknown or potentially untrusted, into a corresponding SecretKey object of this key factory.

Specified by:
engineTranslateKey in class SecretKeyFactorySpi
Parameters:
key - the key whose provider is unknown or untrusted
Returns:
the translated key
Throws:
InvalidKeyException - if the given key cannot be processed by this key factory.