KeyFactory


KeyFactory java.security

Java 1.2

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  (String  algorithm  )          throws NoSuchAlgorithmException;        public static KeyFactory  getInstance  (String  algorithm  , String  provider  )          throws NoSuchAlgorithmException, NoSuchProviderException;  1.4  public static KeyFactory  getInstance  (String  algorithm  , Provider  provider  )          throws NoSuchAlgorithmException;  // Public Instance Methods  public final PrivateKey  generatePrivate  (java.security.spec.KeySpec  keySpec  )          throws java.security.spec.InvalidKeySpecException;        public final PublicKey  generatePublic  (java.security.spec.KeySpec  keySpec  )          throws java.security.spec.InvalidKeySpecException;        public final String  getAlgorithm  ( );        public final <T extends java.security.spec.KeySpec> T  getKeySpec  (Key  key  ,          Class<T>  keySpec  )          throws java.security.spec.InvalidKeySpecException;        public final Provider  getProvider  ( );        public final Key  translateKey  (Key  key  ) throws InvalidKeyException;   } 



Java In A Nutshell
Java In A Nutshell, 5th Edition
ISBN: 0596007736
EAN: 2147483647
Year: 2004
Pages: 1220

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net