com.motorola.iden.security
Class SignatureSpi

java.lang.Object
  |
  +--com.motorola.iden.security.SignatureSpi
Direct Known Subclasses:
ECDSA, MD5withRSA, SHA1withRSA

public abstract class SignatureSpi
extends java.lang.Object

This class defines the Service Provider Interface (SPI) for the Signature class, which is used to provide the functionality of a digital signature algorithm. Digital signatures are used for authentication and integrity assurance of digital data. .

All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply the implementation of a particular signature algorithm.


MOTOROLA and the Stylized M Logo are registered trademarks of Motorola, Inc. Reg. U.S. Pat. & Tm. Off.
© Copyright 2002 Motorola, Inc. All Rights Reserved.


Constructor Summary
SignatureSpi()
           
 
Method Summary
protected  AlgorithmParameterSpec engineGetParameter()
          This method is overridden by providers to return the parameters used with this signature engine, or null if this signature engine does not use any parameters.
protected abstract  void engineInitSign(PrivateKey privateKey)
          Initializes this signature object with the specified private key for signing operations.
protected abstract  void engineInitVerify(PublicKey publicKey)
          Initializes this signature object with the specified public key for verification operations.
protected  void engineSetParameter(AlgorithmParameterSpec params)
          This method is overridden by providers to initialize this signature engine with the specified parameter set.
protected abstract  byte[] engineSign()
          Returns the signature bytes of the input data The format of the signature depends on the underlying signature scheme.
protected abstract  void engineUpdate(byte[] b, int off, int len)
          Updates the data to be signed or verified, using the specified array of bytes, starting at the specified offset.
protected abstract  boolean engineVerify(byte[] sigBytes)
          Verifies the passed-in signature.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SignatureSpi

public SignatureSpi()
Method Detail

engineInitSign

protected abstract void engineInitSign(PrivateKey privateKey)
                                throws InvalidKeyException
Initializes this signature object with the specified private key for signing operations.

Parameters:
privateKey - the private key of the identity whose signature will be generated.

Throws:
InvalidKeyException - if the key is improperly encoded, parameters are missing, and so on.

engineInitVerify

protected abstract void engineInitVerify(PublicKey publicKey)
                                  throws InvalidKeyException
Initializes this signature object with the specified public key for verification operations.

Parameters:
publicKey - the public key of the identity whose signature is going to be verified.

Throws:
InvalidKeyException - if the key is improperly encoded, parameters are missing, and so on.

engineUpdate

protected abstract void engineUpdate(byte[] b,
                                     int off,
                                     int len)
                              throws SignatureException
Updates the data to be signed or verified, using the specified array of bytes, starting at the specified offset.

Parameters:
b - the array of bytes
off - the offset to start from in the array of bytes
len - the number of bytes to use, starting at offset

Throws:
SignatureException - if the engine is not initialized properly

engineSign

protected abstract byte[] engineSign()
                              throws SignatureException
Returns the signature bytes of the input data The format of the signature depends on the underlying signature scheme.

Returns:
the signature bytes of the signing operation's result.

Throws:
SignatureException - if the engine is not initialized properly.

engineVerify

protected abstract boolean engineVerify(byte[] sigBytes)
                                 throws SignatureException
Verifies the passed-in signature.

Parameters:
sigBytes - the signature bytes to be verified.
input - message to be verified.

Returns:
true if the signature was verified, false if not.

Throws:
SignatureException - if the engine is not initialized properly, or the passed-in signature is improperly encoded or of the wrong type, etc.

engineSetParameter

protected void engineSetParameter(AlgorithmParameterSpec params)
                           throws InvalidAlgorithmParameterException

This method is overridden by providers to initialize this signature engine with the specified parameter set.

Parameters:
params - the parameters
Throws:
java.lang.SecurityException - if this method is not overridden by a provider
InvalidAlgorithmParameterException - if this method is overridden by a provider and the the given parameters are inappropriate for this signature engine

engineGetParameter

protected AlgorithmParameterSpec engineGetParameter()

This method is overridden by providers to return the parameters used with this signature engine, or null if this signature engine does not use any parameters.

The returned parameters may be the same that were used to initialize this signature engine, or may contain a combination of default and randomly generated parameter values used by the underlying signature implementation if this signature engine requires algorithm parameters but was not initialized with any.

Returns:
the parameters used with this signature engine, or null if this signature engine does not use any parameters
Throws:
java.lang.SecurityException - if this method is not overridden by a provider