javax.crypto
Class SecretKeyFactorySpi
- java.lang.Object
javax.crypto.SecretKeyFactorySpi
- public abstract class SecretKeyFactorySpi
- extends java.lang.Object
SecretKeyFactory
class.
All the abstract methods in this class must be implemented by each
cryptographic service provider who wishes to supply the implementation
of a secret-key factory for a particular algorithm.
A provider should document all the key specifications supported by its
secret key factory.
For example, the DES secret-key factory supplied by the "SunJCE" provider
supports DESKeySpec
as a transparent representation of DES
keys, and that provider's secret-key factory for Triple DES keys supports
DESedeKeySpec
as a transparent representation of Triple DES
keys.
Since:
1.4
Version:
1.9, 01/06/04
Author:
Jan Luehe
See Also:
Constructor Summary
Constructor and Description |
---|
SecretKeyFactorySpi()
|
Method Summary
Modifier and Type | Method and Description |
---|---|
|
engineGenerateSecret(java.security.spec.KeySpec keySpec)
Generates a
SecretKey object from the
provided key specification (key material).
|
|
engineGetKeySpec(SecretKey key,java.lang.Class keySpec)
Returns a specification (key material) of the given key
object in the requested format.
|
|
engineTranslateKey(SecretKey key)
Translates a key object, whose provider may be unknown or
potentially untrusted, into a corresponding key object of this
secret-key factory.
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail
SecretKeyFactorySpi
- public SecretKeyFactorySpi()
Method Detail
engineGenerateSecret
- protected abstract SecretKey engineGenerateSecret( java.security.spec.KeySpec keySpec)
- throws java.security.spec.InvalidKeySpecException
Parameters:
keySpec
- the specification (key material) of the secret key Returns:
the secret key
Throws:
java.security.spec.InvalidKeySpecException
- if the given key specification
is inappropriate for this secret-key factory to produce a secret key. engineGetKeySpec
- protected abstract java.security.spec.KeySpec engineGetKeySpec( SecretKey key,
- java.lang.Class keySpec)
- throws java.security.spec.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:
java.security.spec.InvalidKeySpecException
- if the requested key specification is
inappropriate for the given key (e.g., the algorithms associated with
key
and keySpec
do not match, or
key
references a key on a cryptographic hardware device
whereas keySpec
is the specification of a software-based
key), or the given key cannot be dealt with
(e.g., the given key has an algorithm or format not supported by this
secret-key factory). engineTranslateKey
- protected abstract SecretKey engineTranslateKey( SecretKey key)
- throws java.security.InvalidKeyException
Translates a key object, whose provider may be unknown or
potentially untrusted, into a corresponding key object of this
secret-key factory.
Parameters:
key
- the key whose provider is unknown or untrusted Returns:
the translated key
Throws:
java.security.InvalidKeyException
- if the given key cannot be processed
by this secret-key factory.
SecretKey
object from the provided key specification (key material).