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).keySpec - the specification (key material) of the secret keyInvalidKeySpecException - if the given key specification
is inappropriate for this secret-key factory to produce a secret key.protected abstract KeySpec engineGetKeySpec(SecretKey key, Class<?> keySpec) throws InvalidKeySpecException
key - the keykeySpec - the requested format in which the key material shall be
returnedInvalidKeySpecException - 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).protected abstract SecretKey engineTranslateKey(SecretKey key) throws InvalidKeyException
key - the key whose provider is unknown or untrustedInvalidKeyException - if the given key cannot be processed
by this secret-key factory. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.