public abstract class

SignatureSpi

extends Object
java.lang.Object
   ↳ java.security.SignatureSpi
Known Direct Subclasses

Class Overview

SignatureSpi is the Service Provider Interface (SPI) definition for Signature.

See Also

Summary

Fields
protected SecureRandom appRandom Implementation specific source of randomness.
Public Constructors
SignatureSpi()
Public Methods
Object clone()
Creates and returns a copy of this Object.
Protected Methods
abstract Object engineGetParameter(String param)
This method is deprecated. There is no generally accepted parameter naming convention.
AlgorithmParameters engineGetParameters()
Returns the AlgorithmParameters of this SignatureSpi instance.
abstract void engineInitSign(PrivateKey privateKey)
Initializes this SignatureSpi instance for signing, using the private key of the identity whose signature is going to be generated.
void engineInitSign(PrivateKey privateKey, SecureRandom random)
Initializes this SignatureSpi instance for signing, using the private key of the identity whose signature is going to be generated and the specified source of randomness.
abstract void engineInitVerify(PublicKey publicKey)
Initializes this SignatureSpi instance for signature verification, using the public key of the identity whose signature is going to be verified.
void engineSetParameter(AlgorithmParameterSpec params)
Sets the specified AlgorithmParameterSpec.
abstract void engineSetParameter(String param, Object value)
This method is deprecated. Use engineSetParameter(AlgorithmParameterSpec)
abstract byte[] engineSign()
Generates and returns the signature of all updated data.
int engineSign(byte[] outbuf, int offset, int len)
Generates and stores the signature of all updated data in the provided byte[] at the specified position with the specified length.
abstract void engineUpdate(byte b)
Updates the data to be verified or to be signed, using the specified byte.
void engineUpdate(ByteBuffer input)
Updates the data to be verified or to be signed, using the specified ByteBuffer.
abstract void engineUpdate(byte[] b, int off, int len)
Updates the data to be verified or to be signed, using the given byte[], starting form the specified index for the specified length.
abstract boolean engineVerify(byte[] sigBytes)
Indicates whether the given sigBytes can be verified using the public key or a certificate of the signer.
boolean engineVerify(byte[] sigBytes, int offset, int length)
Indicates whether the given sigBytes starting at index offset with length bytes can be verified using the public key or a certificate of the signer.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

protected SecureRandom appRandom

Implementation specific source of randomness.

Public Constructors

public SignatureSpi ()

Public Methods

public Object clone ()

Creates and returns a copy of this Object. The default implementation returns a so-called "shallow" copy: It creates a new instance of the same class and then copies the field values (including object references) from this instance to the new instance. A "deep" copy, in contrast, would also recursively clone nested objects. A subclass that needs to implement this kind of cloning should call super.clone() to create the new instance and then create deep copies of the nested, mutable objects.

Returns
  • a copy of this object.

Protected Methods

protected abstract Object engineGetParameter (String param)

This method is deprecated.There is no generally accepted parameter naming convention.

Returns the value of the parameter with the specified name.

Parameters
param the name of the requested parameter value.
Returns
  • the value of the parameter with the specified name, maybe null.
Throws
InvalidParameterException if param is not a valid parameter for this SignatureSpi or an other error occurs.

protected AlgorithmParameters engineGetParameters ()

Returns the AlgorithmParameters of this SignatureSpi instance.

Returns
  • the AlgorithmParameters of this SignatureSpi instance, maybe null.

protected abstract void engineInitSign (PrivateKey privateKey)

Initializes this SignatureSpi instance for signing, using the private key of the identity whose signature is going to be generated.

Parameters
privateKey the private key.
Throws
InvalidKeyException if privateKey is not valid.

protected void engineInitSign (PrivateKey privateKey, SecureRandom random)

Initializes this SignatureSpi instance for signing, using the private key of the identity whose signature is going to be generated and the specified source of randomness.

Parameters
privateKey the private key.
random the SecureRandom to use.
Throws
InvalidKeyException if privateKey is not valid.

protected abstract void engineInitVerify (PublicKey publicKey)

Initializes this SignatureSpi instance for signature verification, using the public key of the identity whose signature is going to be verified.

Parameters
publicKey the public key.
Throws
InvalidKeyException if publicKey is not valid.

protected void engineSetParameter (AlgorithmParameterSpec params)

Sets the specified AlgorithmParameterSpec.

Parameters
params the parameter to set.
Throws
InvalidAlgorithmParameterException if the parameter is invalid, already set or is not allowed to be changed.

protected abstract void engineSetParameter (String param, Object value)

This method is deprecated.Use engineSetParameter(AlgorithmParameterSpec)

Sets the specified parameter to the given value.

Parameters
param the name of the parameter.
value the parameter value.
Throws
InvalidParameterException if the parameter is invalid, already set or is not allowed to be changed.

protected abstract byte[] engineSign ()

Generates and returns the signature of all updated data.

This SignatureSpi instance is reset to the state of its last initialization for signing and thus can be used for another signature from the same identity.

Returns
  • the signature of all updated data.
Throws
SignatureException if this SignatureSpi instance is not initialized properly.

protected int engineSign (byte[] outbuf, int offset, int len)

Generates and stores the signature of all updated data in the provided byte[] at the specified position with the specified length.

This SignatureSpi instance is reset to the state of its last initialization for signing and thus can be used for another signature from the same identity.

Parameters
outbuf the buffer to store the signature.
offset the index of the first byte in outbuf to store.
len the number of bytes allocated for the signature.
Returns
  • the number of bytes stored in outbuf.
Throws
SignatureException if this SignatureSpi instance is not initialized properly.
IllegalArgumentException if offset or len are not valid in respect to outbuf.

protected abstract void engineUpdate (byte b)

Updates the data to be verified or to be signed, using the specified byte.

Parameters
b the byte to update with.
Throws
SignatureException if this SignatureSpi instance is not initialized properly.

protected void engineUpdate (ByteBuffer input)

Updates the data to be verified or to be signed, using the specified ByteBuffer.

Parameters
input the ByteBuffer to update with.
Throws
RuntimeException since SignatureException is not specified for this method it throws a RuntimeException if underlying engineUpdate(byte[], int, int) throws SignatureException.

protected abstract void engineUpdate (byte[] b, int off, int len)

Updates the data to be verified or to be signed, using the given byte[], starting form the specified index for the specified length.

Parameters
b the byte array to update with.
off the start index in b of the data.
len the number of bytes to use.
Throws
SignatureException if this SignatureSpi instance is not initialized properly.

protected abstract boolean engineVerify (byte[] sigBytes)

Indicates whether the given sigBytes can be verified using the public key or a certificate of the signer.

This SignatureSpi instance is reset to the state of its last initialization for verifying and thus can be used to verify another signature of the same signer.

Parameters
sigBytes the signature to verify.
Returns
  • true if the signature was verified, false otherwise.
Throws
SignatureException if this SignatureSpi instance is not initialized properly.

protected boolean engineVerify (byte[] sigBytes, int offset, int length)

Indicates whether the given sigBytes starting at index offset with length bytes can be verified using the public key or a certificate of the signer.

This SignatureSpi instance is reset to the state of its last initialization for verifying and thus can be used to verify another signature of the same signer.

Parameters
sigBytes the byte[] containing the signature to verify.
offset the start index in sigBytes of the signature
length the number of bytes allocated for the signature.
Returns
  • true if the signature was verified, false otherwise.
Throws
SignatureException if this SignatureSpi instance is not initialized properly.
IllegalArgumentException if offset or length are not valid in respect to sigBytes.