TopBlend:
Here is the
first difference.
There are 18 differences.
is old.
is new.
javax.crypto
Class 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.
-
Since:
-
1.4
-
See Also:
-
SecretKey
,
DESKeySpec
,
DESedeKeySpec
,
PBEKeySpec
Constructor Summary
|
protected |
SecretKeyFactory
(
SecretKeyFactorySpi
keyFacSpi,
Provider
provider,
String
algorithm)
Creates a SecretKeyFactory object. |
Method Summary
|
SecretKey
|
generateSecret
(
KeySpec
keySpec)
Generates a SecretKey object from the provided key specification (key material). |
String
|
getAlgorithm
()
Returns the algorithm name of this SecretKeyFactory object. |
static
SecretKeyFactory
|
getInstance
(
String
Returns
Generates
a SecretKeyFactory object
that converts secret keys of
for
the specified
secret-key
algorithm. |
static
SecretKeyFactory
|
getInstance
(
String
algorithm,
Provider
Returns
Generates
a SecretKeyFactory object
that converts secret keys of
for
the specified
algorithm.
secret-key algorithm from the specified provider.
|
static
SecretKeyFactory
|
getInstance
(
String
algorithm,
String
Returns
Generates
a SecretKeyFactory object
that converts secret keys of
for
the specified
algorithm.
secret-key algorithm from the specified provider.
|
KeySpec
|
getKeySpec
(
SecretKey
key,
Class
keySpec)
Returns a specification (key material) of the given key object in the requested format. |
Provider
|
getProvider
()
Returns the provider of this SecretKeyFactory object. |
SecretKey
|
translateKey
(
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
|
SecretKeyFactory
protected SecretKeyFactory(SecretKeyFactorySpi keyFacSpi,
Provider provider,
String algorithm)
-
Creates a SecretKeyFactory object.
-
Parameters:
-
keyFacSpi - the delegate
-
provider - the provider
-
algorithm - the secret-key algorithm
getInstance
public static final SecretKeyFactory getInstance(String algorithm)
throws NoSuchAlgorithmException
-
Returns a SecretKeyFactory object that converts secret keys of the specified algorithm.
Generates a SecretKeyFactory object for the specified secret-key algorithm. If the default provider package provides an implementation of the requested factory, an instance of SecretKeyFactory containing that implementation is returned. If the requested factory is not available in the default provider package, other provider packages are searched.
This method traverses the list of registered security Providers, starting with the most preferred Provider. A new SecretKeyFactory object encapsulating the SecretKeyFactorySpi implementation from the first Provider that supports the specified algorithm is returned.
Note that the list of registered providers may be retrieved via the
Security.getProviders()
method.
-
-
Parameters:
-
algorithm - the standard name of the requested secret-key algorithm. See Appendix A in the
Java Cryptography Extension Reference Guide
for information about standard algorithm names.
-
Returns:
-
the new SecretKeyFactory object.
a SecretKeyFactory object for the specified secret-key algorithm.
-
Throws:
-
NullPointerException
- if the specified algorithm is null.
-
NoSuchAlgorithmException
- if no Provider supports a SecretKeyFactorySpi implementation for the specified algorithm.
-
See Also:
-
Provider
- if a secret-key factory for the specified 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
-
Returns a SecretKeyFactory object that converts secret keys of the specified algorithm.
Generates a SecretKeyFactory object for the specified secret-key algorithm from the specified provider.
A new SecretKeyFactory object encapsulating the SecretKeyFactorySpi implementation from the specified provider is returned. The specified provider must be registered in the security provider list.
Note that the list of registered providers may be retrieved via the
Security.getProviders()
method.
-
-
Parameters:
-
algorithm - the standard name of the requested secret-key algorithm. See Appendix A in the
Java Cryptography Extension Reference Guide
for information about standard algorithm names.
-
provider - the name of the provider.
-
Returns:
-
the new SecretKeyFactory object.
a SecretKeyFactory object for the specified secret-key algorithm.
-
Throws:
-
NoSuchAlgorithmException
- if a
SecretKeyFactorySpi implementation
secret-key factory
for the specified algorithm is not available from the specified provider. -
NullPointerException
- if the specified algorithm is null.
-
NoSuchProviderException
- if the specified provider
is
has
not
registered in the security provider list.
been configured.
-
IllegalArgumentException
- if the provider is null or empty.
-
See Also:
-
Provider
- if the provider is null.
getInstance
public static final SecretKeyFactory getInstance(String algorithm,
Provider provider)
throws NoSuchAlgorithmException
-
Returns a SecretKeyFactory object that converts secret keys of the specified algorithm.
Generates a SecretKeyFactory object for the specified secret-key algorithm from the specified provider. Note: the provider doesn't have to be registered.
A new SecretKeyFactory object encapsulating the SecretKeyFactorySpi implementation from the specified Provider object is returned. Note that the specified Provider object does not have to be registered in the provider list.
-
-
Parameters:
-
algorithm - the standard name of the requested secret-key algorithm. See Appendix A in the
Java Cryptography Extension Reference Guide
for information about standard algorithm names.
-
provider - the provider.
-
Returns:
-
the new SecretKeyFactory object.
a SecretKeyFactory object for the specified secret-key algorithm.
-
Throws:
-
NullPointerException
- if the specified algorithm is null.
-
NoSuchAlgorithmException
- if a
SecretKeyFactorySpi implementation
secret-key factory
for the specified algorithm is not available from the specified
Provider object.
provider.
-
IllegalArgumentException
- if the provider is null.
-
See Also:
-
Provider
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 secret-key factory to produce a secret key.
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:
-
the underlying key specification (key material) in the requested format
-
Throws:
-
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).
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 secret-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 secret-key factory.