Signature


Signature java.security

Java 1.1

This class computes or verifies a digital signature. Obtain a Signature object by calling one of the static getInstance( ) factory methods and specifying the desired digital signature algorithm and, optionally , the desired provider of that algorithm. A digital signature is essentially a message digest encrypted by a public-key encryption algorithm. Thus, to specify a digital signature algorithm, you must specify both the digest algorithm and the encryption algorithm. The only algorithm supported by the default "SUN" provider is "SHA1withDSA".

Once you have obtained a Signature object, you must initialize it before you can create or verify a digital signature. To initialize a digital signature for creation, call initSign( ) and specify the private key to be used to create the signature. To initialize a signature for verification, call initVerify( ) and specify the public key of the signer. Once the Signature object has been initialized , call update( ) one or more times to specify the data to be signed or verified . Prior to Java 5.0, the data must be specified as an array of bytes. In Java 5.0 and later, you can also pass a ByteBuffer to update( ) , and this facilitates the use of the Signature class with the java.nio package.

Finally, to create a digital signature, call sign( ) , passing a byte array into which the signature is stored. Or, pass the bytes of the digital signature to verify( ) , which returns true if the signature is valid or false otherwise . After calling either sign( ) or verify( ) , the Signature object is reset internally and can be used to create or verify another signature.

Figure 14-39. java.security.Signature

 public abstract class  Signature  extends SignatureSpi {  // Protected Constructors  protected  Signature  (String  algorithm  );  // Protected Constants  protected static final int  SIGN  ;  =2  protected static final int  UNINITIALIZED  ;  =0  protected static final int  VERIFY  ;  =3   // Public Class Methods  public static Signature  getInstance  (String  algorithm  )          throws NoSuchAlgorithmException;  1.4  public static Signature  getInstance  (String  algorithm  , Provider  provider  )          throws NoSuchAlgorithmException;        public static Signature  getInstance  (String  algorithm  , String  provider  )  throws NoSuchAlgorithmException, NoSuchProviderException;  // Public Instance Methods  public final String  getAlgorithm  ( );  1.4  public final AlgorithmParameters  getParameters  ( );  1.2  public final Provider  getProvider  ( );        public final void  initSign  (PrivateKey  privateKey  )          throws InvalidKeyException;  1.2  public final void  initSign  (PrivateKey  privateKey  , SecureRandom  random  )          throws InvalidKeyException;  1.3  public final void  initVerify  (java.security.cert.Certificate  certificate  )          throws InvalidKeyException;        public final void  initVerify  (PublicKey  publicKey  )          throws InvalidKeyException;  1.2  public final void  setParameter  (java.security.spec.         AlgorithmParameterSpec  params  )          throws InvalidAlgorithmParameterException;        public final byte[ ]  sign  ( ) throws SignatureException;  1.2  public final int  sign  (byte[ ]  outbuf  , int  offset  , int  len  ) throws SignatureException;  5.0  public final void  update  (java.nio.ByteBuffer  data  ) throws SignatureException;        public final void  update  (byte  b  ) throws SignatureException;        public final void  update  (byte[ ]  data  ) throws SignatureException;        public final void  update  (byte[ ]  data  , int  off  , int  len  )          throws SignatureException;        public final boolean  verify  (byte[ ]  signature  ) throws SignatureException;  1.4  public final boolean  verify  (byte[ ]  signature  , int  offset  , int  length  )          throws SignatureException;  // Public Methods Overriding SignatureSpi  public Object  clone  ( ) throws CloneNotSupportedException;  // Public Methods Overriding Object  public String  toString  ( );  // Protected Instance Fields  protected int  state  ;  // Deprecated Public Methods   #  public final Object  getParameter  (String  param  )          throws InvalidParameterException;  #  public final void  setParameter  (String  param  , Object  value  )          throws InvalidParameterException;   } 

Passed To

SignedObject.{SignedObject( ) , verify( )}



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