Class java.security.SignatureSpi
java.lang.Object
|
+----java.security.SignatureSpi
- Subclasses:
- Signature
- 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 each
cryptographic service provider who wishes to supply the implementation
of a particular signature algorithm.
- See Also:
- Signature
Method Summary
|
Object
|
clone()
Returns a clone if the implementation is cloneable.
|
Object
|
engineGetParameter(String param)
Gets the value of the specified algorithm parameter.
Deprecated |
void
|
engineInitSign(PrivateKey privateKey)
Initializes this signature object with the specified
private key for signing operations.
|
void
|
engineInitSign(PrivateKey privateKey,
SecureRandom random)
Initializes this signature object with the specified
private key and source of randomness for signing operations.
|
void
|
engineInitVerify(PublicKey publicKey)
Initializes this signature object with the specified
public key for verification operations.
|
void
|
engineSetParameter(String param,
Object value)
Sets the specified algorithm parameter to the specified
value.
Deprecated |
void
|
engineSetParameter(AlgorithmParameterSpec params)
Initializes this signature engine with the specified parameter set.
|
byte[]
|
engineSign()
Returns the signature bytes of all the data
updated so far.
|
void
|
engineUpdate(byte b)
Updates the data to be signed or verified
using the specified byte.
|
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.
|
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 |
appRandom
protected SecureRandom appRandom
- Application-specified source of randomness.
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
Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.