com.ibm.crypto.provider
Class PKCS5DerivedKeyFactory

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

public final class PKCS5DerivedKeyFactory
extends SecretKeyFactorySpi

This class implements a key factory for PKCS #5 derived keys.


Constructor Summary
PKCS5DerivedKeyFactory()
           
 
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

PKCS5DerivedKeyFactory

public PKCS5DerivedKeyFactory()
Method Detail

engineGenerateSecret

protected SecretKey engineGenerateSecret(KeySpec keySpec)
                                  throws InvalidKeySpecException
Generates a SecretKey object from the provided key specification (key material).

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 PKCS #5 derived 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. If the key cannot be decoded into its specification, null is returned.
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.