All Packages Class Hierarchy This Package Previous Next Index
Class javax.crypto.SecretKeyFactory
java.lang.Object
|
+----javax.crypto.SecretKeyFactory
- public class SecretKeyFactory
- 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 operate only 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.
Application developers should refer to their provider's documentation to find
out which key specifications are supported by the generateSecret and
getKeySpec methods. 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.
- See Also:
- SecretKey, DESKeySpec, DESedeKeySpec, PBEKeySpec
-
SecretKeyFactory(SecretKeyFactorySpi, Provider, String)
- Creates a SecretKeyFactory object.
-
generateSecret(KeySpec)
- Generates a SecretKey object from the provided key specification
(key material).
-
getAlgorithm()
- Returns the algorithm name of this SecretKeyFactory object.
-
getInstance(String)
- Generates a SecretKeyFactory object for the specified secret key
algorithm.
-
getInstance(String, String)
- Generates a SecretKeyFactory object for the specified secret key
algorithm from the specified provider.
-
getKeySpec(SecretKey, Class)
- Returns a specification (key material) of the given key object in
the requested format.
-
getProvider()
- Returns the provider of this SecretKeyFactory object.
-
translateKey(SecretKey)
- Translates a key object, whose provider may be unknown or
potentially untrusted, into a corresponding key object of this
key factory.
SecretKeyFactory
protected SecretKeyFactory(SecretKeyFactorySpi keyFacSpi,
Provider provider,
String algorithm)
- Creates a SecretKeyFactory object.
- Parameters:
- keyFacSpi - the delegate
- provider - the provider
getInstance
public static final SecretKeyFactory getInstance(String algorithm) throws NoSuchAlgorithmException
- Generates a SecretKeyFactory object for the specified secret key
algorithm. If the default provider package contains a
SecretKeyFactory subclass for the specified algorithm, an instance
of that subclass is returned. If such a key factory is not available
in the default provider package, other provider packages are
searched.
- Parameters:
- algorithm - the standard name of the requested secret key
algorithm. See Appendix A in the Java Cryptography
Extension API Specification & Reference for information
about standard algorithm names.
- Returns:
- a SecretKeyFactory object for the specified secret key
algorithm.
- Throws: NoSuchAlgorithmException
- if the requested algorithm is
not available in the default provider package or any of
the other provider packages that were searched.
getInstance
public static final SecretKeyFactory getInstance(String algorithm,
String provider) throws NoSuchAlgorithmException, NoSuchProviderException
- Generates a SecretKeyFactory object for the specified secret key
algorithm from the specified provider.
- Parameters:
- algorithm - the standard name of the requested secret key
algorithm. See Appendix A in the Java Cryptography
Extension API Specification & Reference for information
about standard algorithm names.
- provider - the name of the provider.
- Returns:
- a SecretKeyFactory object for the specified secret key
algorithm.
- Throws: NoSuchAlgorithmException
- if the algorithm is not
available from the specified provider.
- Throws: NoSuchProviderException
- if the provider has not been
configured.
getProvider
public final Provider getProvider()
- Returns the provider of this SecretKeyFactory object.
- Returns:
- the provider of this SecretKeyFactory object
getAlgorithm
public final String getAlgorithm()
- Returns the algorithm name of this SecretKeyFactory object.
This is the same name that was specified in one of the getInstance
calls that created this SecretKeyFactory object.
- Returns:
- the algorithm name of this SecretKeyFactory object.
generateSecret
public final SecretKey generateSecret(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
getKeySpec
public final KeySpec getKeySpec(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:
- s 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 processed (e.g., the given key has an
unrecognised algorithm or format).
translateKey
public final SecretKey translateKey(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