public abstract class SecretKeyFactorySpi extends 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.
SecretKey
,
DESKeySpec
,
DESedeKeySpec
Constructor and Description |
---|
SecretKeyFactorySpi() |
Modifier and Type | Method and Description |
---|---|
protected abstract SecretKey |
engineGenerateSecret(KeySpec keySpec)
Generates a
SecretKey object from the
provided key specification (key material). |
protected abstract KeySpec |
engineGetKeySpec(SecretKey key,
Class<?> keySpec)
Returns a specification (key material) of the given key
object in the requested format.
|
protected abstract SecretKey |
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.
|
protected abstract SecretKey engineGenerateSecret(KeySpec keySpec) throws InvalidKeySpecException
SecretKey
object from the
provided key specification (key material).InvalidKeySpecException
- if the given key specification
is inappropriate for this secret-key factory to produce a secret key.keySpec
- the specification (key material) of the secret keyprotected abstract KeySpec engineGetKeySpec(SecretKey key, Class<?> keySpec) throws InvalidKeySpecException
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).key
- the keykeySpec
- the requested format in which the key material shall be
returnedprotected abstract SecretKey engineTranslateKey(SecretKey key) throws InvalidKeyException
InvalidKeyException
- if the given key cannot be processed
by this secret-key factory.key
- the key whose provider is unknown or untrustedaicas GmbH, Karlsruhe, Germany —www.aicas.com
Copyright © 2001-2019 aicas GmbH. All Rights Reserved.