All Packages Class Hierarchy This Package Previous Next Index
Class java.security.SignatureSpi
java.lang.Object
|
+----java.security.SignatureSpi
- public abstract class SignatureSpi
- extends 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 s
cryptographic service provider who wishes to supply the implementation
of a particular signature algorithm.
- See Also:
- Signature
appRandom-
SignatureSpi()
-
clone()
- Returns a clone if the implementation is cloneable.
engineGetParameter(String)
- Gets the value of the specified algorithm parameter.
Deprecated.
engineInitSign(PrivateKey)
- Initializes this signature object with the specified
private key for signing operations.
engineInitSign(PrivateKey, SecureRandom)
- Initializes this signature object with the specified
private key and source of randomness for signing operations.
engineInitVerify(PublicKey)
- Initializes this signature object with the specified
public key for verification operations.
engineSetParameter(AlgorithmParameterSpec)
- Initializes this signature engine with the specified parameter set.
engineSetParameter(String, Object)
- Sets the specified algorithm parameter to the specified
value.
Deprecated.
engineSign()
- Returns the signature bytes of all the data
updated so far.
engineUpdate(byte)
- Updates the data to be signed or verified
using the specified byte.
engineUpdate(byte[], int, int)
- Updates the data to be signed or verified, using the
specified array of bytes, starting at the specified offset.
engineVerify(byte[])
- Verifies the passed-in signature.
appRandom
protected SecureRandom appRandom
SignatureSpi
public SignatureSpi()
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.
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.
engineInitSign
protected void engineInitSign(PrivateKey privateKey,
SecureRandom random) throws InvalidKeyException
- Initializes this signature object with the specified
private key and source of randomness for signing operations.
This concrete method has been added to this previously-defined
abstract class. (For backwards compatibility, it cannot be abstract.)
- Parameters:
- privateKey - the private key of the identity whose signature
will be generated.
- random - the source of randomness
- Throws:
InvalidKeyException
- if the key is improperly
encoded, parameters are missing, and so on.
engineUpdate
protected abstract void engineUpdate(byte b) throws SignatureException
- Updates the data to be signed or verified
using the specified byte.
- Parameters:
- b - the byte to use for the update.
- Throws:
SignatureException
- if the engine is not initialized
properly.
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:
- data - 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 all the data
updated so far. The signature returned is X.509-encoded.
For more information about the X.509 encoding, see
X.509 certificates.
- 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. The signature bytes
are expected to be X.509-encoded. For more information about the
X.509 encoding, see X.509
certificates.
- Parameters:
- sigBytes - the signature bytes 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 abstract void engineSetParameter(String param,
Object value) throws InvalidParameterException
- Note: engineSetParameter() is deprecated.
Replaced by
engineSetParameter.
- Sets the specified algorithm parameter to the specified
value. This method supplies a general-purpose mechanism through
which it is possible to set the various parameters of this object.
A parameter may be any settable parameter for the algorithm, such as
a parameter size, or a source of random bits for signature generation
(if appropriate), or an indication of whether or not to perform
a specific but optional computation. A uniform algorithm-specific
naming scheme for each parameter is desirable but left unspecified
at this time.
- Parameters:
- param - the string identifier of the parameter.
- value - the parameter value.
- Throws:
InvalidParameterException
- if
param
is an
invalid parameter for this signature algorithm engine,
the parameter is already set
and cannot be set again, a security exception occurs, and so on.
engineSetParameter
protected void engineSetParameter(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
- Initializes this signature engine with the specified parameter set.
This concrete method has been added to this previously-defined
abstract class. (For backwards compatibility, it cannot be abstract.)
It may be overridden by a provider to set the algorithm parameters
using the specified
params
. Such an override
is expected to throw an InvalidAlgorithmParameterException if
a parameter is invalid.
If this method is not overridden, it always throws an
UnsupportedOperationException.
- Parameters:
- params - the parameters
- Throws:
InvalidAlgorithmParameterException
- if the given parameters
are inappropriate for this signature engine
engineGetParameter
protected abstract Object engineGetParameter(String param) throws InvalidParameterException
- Note: engineGetParameter() is deprecated.
- Gets the value of the specified algorithm parameter.
This method supplies a general-purpose mechanism through which it
is possible to get the various parameters of this object. A parameter
may be any settable parameter for the algorithm, such as a parameter
size, or a source of random bits for signature generation (if
appropriate), or an indication of whether or not to perform a
specific but optional computation. A uniform algorithm-specific
naming scheme for each parameter is desirable but left unspecified
at this time.
- Parameters:
- param - the string name of the parameter.
- Returns:
- the object that represents the parameter value, or null if
there is none.
- Throws:
InvalidParameterException
- if
param
is an
invalid parameter for this engine, or another exception occurs while
trying to get this parameter.
clone
public Object clone() throws CloneNotSupportedException
- Returns a clone if the implementation is cloneable.
- Returns:
- a clone if the implementation is cloneable.
- Throws:
CloneNotSupportedException
- if this is called
on an implementation that does not support
Cloneable
. - Overrides:
- clone in class Object
All Packages Class Hierarchy This Package Previous Next Index
Submit a bug or feature