KeyFactory
class.
All the abstract methods in this class must be implemented by each
cryptographic service provider who wishes to supply the implementation
of a key factory for a particular algorithm.
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.
Key factories are bidirectional. That is, they allow you 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.
Multiple compatible key specifications may exist for the same key.
For example, a DSA public key may be specified using
DSAPublicKeySpec
or
X509EncodedKeySpec
. A key factory can be used to translate
between compatible key specifications.
A provider should document all the key specifications supported by its key factory.
KeyFactory
, Key
, PublicKey
, PrivateKey
, java.security.spec.KeySpec
, java.security.spec.DSAPublicKeySpec
, java.security.spec.X509EncodedKeySpec
Access | Constructor and Description |
---|---|
public |
Modifier and Type | Method and Description |
---|---|
protected abstract PrivateKey | Returns: the private key.the specification (key material) of the private key. keySpec)Generates a private key object from the provided key specification (key material). |
protected abstract PublicKey | Returns: the public key.the specification (key material) of the public key. keySpec)Generates a public key object from the provided key specification (key material). |
protected abstract < the type of the key specification to be returned T extends KeySpec> T | Returns: the underlying key specification (key material) in an instance of the requested specification class.the key. key, Class<T> the specification class in which
the key material should be returned. keySpec)Returns a specification (key material) of the given key object. |
protected abstract Key | Returns: the translated key.the key whose provider is unknown or untrusted. key)Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory. |
KeyFactorySpi | back to summary |
---|---|
public KeyFactorySpi() Constructor for subclasses to call. |
engineGeneratePrivate | back to summary |
---|---|
protected abstract PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException Generates a private key object from the provided key specification (key material).
|
engineGeneratePublic | back to summary |
---|---|
protected abstract PublicKey engineGeneratePublic(KeySpec keySpec) throws InvalidKeySpecException Generates a public key object from the provided key specification (key material).
|
engineGetKeySpec | back to summary |
---|---|
protected abstract <T extends KeySpec> T engineGetKeySpec(Key key, Class<T> keySpec) throws InvalidKeySpecException Returns a specification (key material) of the given key
object.
|
engineTranslateKey | back to summary |
---|---|
protected abstract Key engineTranslateKey(Key key) throws InvalidKeyException Translates a key object, whose provider may be unknown or potentially untrusted, into a corresponding key object of this key factory.
|