Name
KeyFactory
Synopsis
This class
translates asymmetric cryptographic keys between the two
representations used by the Java Security API.
java.security.Key
is the opaque,
algorithm-independent representation of a key used by most of the
Security API. java.security.spec.KeySpec
is a
marker interface implemented by transparent, algorithm-specific
representations of keys. KeyFactory
is used with
public and private keys; see
javax.crypto.SecretKeyFactory
if you are working
with symmetric or secret keys.
To
convert a Key
to a KeySpec
or
vice versa, create a KeyFactory
by calling one of
the static getInstance( )
factory methods
specifying the name of the key algorithm (e.g., DSA or RSA) and
optionally specifying the name or Provider
object
for the desired provider. Then, use generatePublic(
)
or generatePrivate( )
to create a
PublicKey
or PrivateKey
object
from a corresponding KeySpec
. Or use
getKeySpec( )
to obtain a
KeySpec
for a given Key
.
Because there can be more than one KeySpec
implementation used by a particular cryptographic algorithm, you must
also specify the Class
of the
KeySpec
you desire.
If you do not need to transport keys portably between applications
and/or systems, you can use a KeyStore
to store
and retrieve keys and certificates, avoiding
KeySpec
and KeyFactory
altogether.
public class KeyFactory { // Protected Constructors protected KeyFactory(KeyFactorySpi keyFacSpi, Provider provider, String algorithm); // Public Class Methods public static KeyFactory getInstance ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.