javax.crypto

Class SecretKeyFactorySpi

public abstract class SecretKeyFactorySpi extends Object

The Service Provider Interface (SPI) for the {@link SecretKeyFactory} class.

Providers wishing to implement a secret key factory must subclass this and provide an appropriate implementation for all the abstract methods below, and provide an appropriate entry in the master {@link java.security.Provider} class (the service name for secret key factories is "SecretKeyFactory").

Since: 1.4

See Also: SecretKeyFactory

Constructor Summary
SecretKeyFactorySpi()
Create a new secret key factory SPI.
Method Summary
protected abstract SecretKeyengineGenerateSecret(KeySpec keySpec)
Translate a {@link java.security.KeySpec} into a {@link SecretKey}.
protected abstract KeySpecengineGetKeySpec(SecretKey key, Class keySpec)
Translate a {@link SecretKey} into a {@link java.security.KeySpec}.
protected abstract SecretKeyengineTranslateKey(SecretKey key)
Translate a secret key into a different representation.

Constructor Detail

SecretKeyFactorySpi

public SecretKeyFactorySpi()
Create a new secret key factory SPI.

Method Detail

engineGenerateSecret

protected abstract SecretKey engineGenerateSecret(KeySpec keySpec)
Translate a {@link java.security.KeySpec} into a {@link SecretKey}.

Parameters: keySpec The key specification.

Returns: The secret key.

Throws: java.security.spec.InvalidKeySpecException If the key specification cannot be translated into a secret key.

engineGetKeySpec

protected abstract KeySpec engineGetKeySpec(SecretKey key, Class keySpec)
Translate a {@link SecretKey} into a {@link java.security.KeySpec}.

Parameters: key The secret key. keySpec The desired key specification class.

Returns: The key specification.

Throws: java.security.spec.InvalidKeySpecException If the secret key cannot be translated into the desired key specification.

engineTranslateKey

protected abstract SecretKey engineTranslateKey(SecretKey key)
Translate a secret key into a different representation.

Parameters: key The secret key to translate.

Returns: The translated key.

Throws: java.security.InvalidKeyException If the specified secret key cannot be translated.