All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class javax.crypto.SecretKeyFactorySpi

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

public abstract class SecretKeyFactorySpi
extends Object
This class represents a factory for secret keys.

Key factories are used to convert keys (opaque cryptographic keys of type Key) into key specifications (transparent representations of the underlying key material), and vice versa. Secret key factories only operate on secret (symmetric) keys.

Key factories are bi-directional, i.e., they allow to build an opaque key object from a given key specification (key material), or to retrieve the underlying key material of a key object in a suitable format.

A provider should document the key specifications supported by its secret key factory. For example, the Sun provider SecretKeyFactory for DES keys supports DESKeySpec as a transparent representation of DES keys, and the SecretKeyFactory for DES-EDE keys supports DESedeKeySpec as a transparent representation of DES-EDE keys.

See Also:
SecretKey, Key, KeyFactory, KeySpec, DESKeySpec, DESedeKeySpec

Constructor Index

 o SecretKeyFactorySpi()

Method Index

 o engineGenerateSecret(KeySpec)
Generates a SecretKey object from the provided key specification (key material).
 o engineGetKeySpec(SecretKey, Class)
Returns a specification (key material) of the given key object in the requested format.
 o engineTranslateKey(SecretKey)
Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.

Constructors

 o SecretKeyFactorySpi
 public SecretKeyFactorySpi()

Methods

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

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 secret key.
 o engineGetKeySpec
 protected abstract KeySpec engineGetKeySpec(SecretKey key,
                                             Class keySpec) throws InvalidKeySpecException
Returns a specification (key material) of the given key object in the requested format.

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 dealt with (e.g., the given key has an unrecognized format).
 o engineTranslateKey
 protected abstract SecretKey engineTranslateKey(SecretKey key) throws InvalidKeyException
Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.

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.

All Packages  Class Hierarchy  This Package  Previous  Next  Index