Interface StateAwareSignature
- All Known Implementing Classes:
XMSSMTSignatureSpi, XMSSMTSignatureSpi.generic, XMSSMTSignatureSpi.withSha256, XMSSMTSignatureSpi.withSha256andPrehash, XMSSMTSignatureSpi.withSha512, XMSSMTSignatureSpi.withSha512andPrehash, XMSSMTSignatureSpi.withShake128, XMSSMTSignatureSpi.withShake128_512andPrehash, XMSSMTSignatureSpi.withShake128andPrehash, XMSSMTSignatureSpi.withShake256, XMSSMTSignatureSpi.withShake256_1024andPrehash, XMSSMTSignatureSpi.withShake256andPrehash, XMSSSignatureSpi, XMSSSignatureSpi.generic, XMSSSignatureSpi.withSha256, XMSSSignatureSpi.withSha256andPrehash, XMSSSignatureSpi.withSha512, XMSSSignatureSpi.withSha512andPrehash, XMSSSignatureSpi.withShake128, XMSSSignatureSpi.withShake128_512andPrehash, XMSSSignatureSpi.withShake128andPrehash, XMSSSignatureSpi.withShake256, XMSSSignatureSpi.withShake256_1024andPrehash, XMSSSignatureSpi.withShake256andPrehash
-
Method Summary
Modifier and TypeMethodDescriptionDeprecated.Deprecated.Return the current version of the private key with the updated state.voidinitSign(PrivateKey privateKey) Deprecated.voidinitSign(PrivateKey privateKey, SecureRandom random) Deprecated.voidinitVerify(Certificate certificate) Deprecated.voidinitVerify(PublicKey publicKey) Deprecated.booleanDeprecated.Return true if this Signature object can be used for signing.byte[]sign()Deprecated.intsign(byte[] outbuf, int offset, int len) Deprecated.voidupdate(byte b) Deprecated.voidupdate(byte[] data) Deprecated.voidupdate(byte[] data, int off, int len) Deprecated.voidupdate(ByteBuffer data) Deprecated.booleanverify(byte[] signature) Deprecated.booleanverify(byte[] signature, int offset, int length) Deprecated.
-
Method Details
-
initVerify
Deprecated.- Throws:
InvalidKeyException
-
initVerify
Deprecated.- Throws:
InvalidKeyException
-
initSign
Deprecated.- Throws:
InvalidKeyException
-
initSign
Deprecated.- Throws:
InvalidKeyException
-
sign
-
sign
Deprecated.- Throws:
SignatureException
-
verify
-
verify
Deprecated.- Throws:
SignatureException
-
update
-
update
-
update
Deprecated.- Throws:
SignatureException
-
update
-
getAlgorithm
String getAlgorithm()Deprecated. -
isSigningCapable
boolean isSigningCapable()Deprecated.Return true if this Signature object can be used for signing. False otherwise.- Returns:
- true if we are capable of making signatures.
-
getUpdatedPrivateKey
PrivateKey getUpdatedPrivateKey()Deprecated.Return the current version of the private key with the updated state.Note: what this leaves behind depends on whether a signature has been generated since initSign(). After one, the key handed back is the key that signature spent and the Signature object keeps nothing: it cannot generate another signature without a further call to initSign(), and a second call to this method throws. Before one, the object keeps a single usage to sign with and hands back the rest, so it remains capable of exactly one signature - that is the whole point of collecting first, since the state a caller is obliged to persist is then durable before the one-time key covering it is spent. A second call in that state hands back the same key again rather than a further shard.
Collecting first and then signing joins the two: the signature spends the one usage the object kept, and a collection after it throws rather than handing that spent shard over. Everything the caller has to store it was given by the first collection, and the shard adds nothing to it - so a caller that collects in a finally beside an explicit collection is refused instead of overwriting the remainder with a key reporting nothing remaining.
The key that comes back may report no usages remaining - a Signature object initialised on a spent key still has state its caller has to store - so a non-null return is not on its own a statement that anything is left to sign with.
isSigningCapable()is what answers that, and the two do differ in that case.- Returns:
- an updated private key object, which can be used for later signature generation.
-