public class OpenSSLSignature extends Signature
Modifier and Type | Class and Description |
---|---|
static class |
OpenSSLSignature.MD5RSA |
static class |
OpenSSLSignature.SHA1DSA |
static class |
OpenSSLSignature.SHA1RSA |
static class |
OpenSSLSignature.SHA256RSA |
static class |
OpenSSLSignature.SHA384RSA |
static class |
OpenSSLSignature.SHA512RSA |
SIGN, state, UNINITIALIZED, VERIFY
appRandom
Modifier and Type | Method and Description |
---|---|
protected Object |
engineGetParameter(String param)
Returns the value of the parameter with the specified name.
|
protected void |
engineInitSign(PrivateKey privateKey)
Initializes this
SignatureSpi instance for signing, using the
private key of the identity whose signature is going to be generated. |
protected 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. |
protected void |
engineSetParameter(String param,
Object value)
Sets the specified parameter to the given value.
|
protected byte[] |
engineSign()
Generates and returns the signature of all updated data.
|
protected void |
engineUpdate(byte input)
Updates the data to be verified or to be signed, using the specified
byte . |
protected void |
engineUpdate(byte[] input,
int offset,
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. |
protected boolean |
engineVerify(byte[] sigBytes)
Indicates whether the given
sigBytes can be verified using the
public key or a certificate of the signer. |
protected void |
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
clone, getAlgorithm, getInstance, getInstance, getInstance, getParameter, getParameters, getProvider, initSign, initSign, initVerify, initVerify, setParameter, setParameter, sign, sign, toString, update, update, update, update, verify, verify
engineGetParameters, engineInitSign, engineSetParameter, engineSign, engineUpdate, engineVerify
protected void engineUpdate(byte input)
SignatureSpi
byte
.engineUpdate
in class SignatureSpi
input
- the byte to update with.protected void engineUpdate(byte[] input, int offset, int len)
SignatureSpi
byte[]
, starting form the specified index for the specified length.engineUpdate
in class SignatureSpi
input
- the byte array to update with.offset
- the start index in b
of the data.len
- the number of bytes to use.protected Object engineGetParameter(String param) throws InvalidParameterException
SignatureSpi
engineGetParameter
in class SignatureSpi
param
- the name of the requested parameter value.null
.InvalidParameterException
- if param
is not a valid parameter for this SignatureSpi
or an other error occurs.protected void engineInitSign(PrivateKey privateKey) throws InvalidKeyException
SignatureSpi
SignatureSpi
instance for signing, using the
private key of the identity whose signature is going to be generated.engineInitSign
in class SignatureSpi
privateKey
- the private key.InvalidKeyException
- if privateKey
is not valid.protected void engineInitVerify(PublicKey publicKey) throws InvalidKeyException
SignatureSpi
SignatureSpi
instance for signature
verification, using the public key of the identity whose signature is
going to be verified.engineInitVerify
in class SignatureSpi
publicKey
- the public key.InvalidKeyException
- if publicKey
is not valid.protected void engineSetParameter(String param, Object value) throws InvalidParameterException
SignatureSpi
engineSetParameter
in class SignatureSpi
param
- the name of the parameter.value
- the parameter value.InvalidParameterException
- if the parameter is invalid, already set or is not allowed to
be changed.protected byte[] engineSign() throws SignatureException
SignatureSpi
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.
engineSign
in class SignatureSpi
SignatureException
- if this SignatureSpi
instance is not initialized
properly.protected boolean engineVerify(byte[] sigBytes) throws SignatureException
SignatureSpi
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.
engineVerify
in class SignatureSpi
sigBytes
- the signature to verify.true
if the signature was verified, false
otherwise.SignatureException
- if this SignatureSpi
instance is not initialized
properly.protected void finalize() throws Throwable
Object
Note that objects that override finalize
are significantly more expensive than
objects that don't. Finalizers may be run a long time after the object is no longer
reachable, depending on memory pressure, so it's a bad idea to rely on them for cleanup.
Note also that finalizers are run on a single VM-wide finalizer thread,
so doing blocking work in a finalizer is a bad idea. A finalizer is usually only necessary
for a class that has a native peer and needs to call a native method to destroy that peer.
Even then, it's better to provide an explicit close
method (and implement
Closeable
), and insist that callers manually dispose of instances. This
works well for something like files, but less well for something like a BigInteger
where typical calling code would have to deal with lots of temporaries. Unfortunately,
code that creates lots of temporaries is the worst kind of code from the point of view of
the single finalizer thread.
If you must use finalizers, consider at least providing your own
ReferenceQueue
and having your own thread process that queue.
Unlike constructors, finalizers are not automatically chained. You are responsible for
calling super.finalize()
yourself.
Uncaught exceptions thrown by finalizers are ignored and do not terminate the finalizer thread. See Effective Java Item 7, "Avoid finalizers" for more.