public class ISO9796d2Signer extends java.lang.Object implements SignerWithRecovery
Constructor and Description |
---|
ISO9796d2Signer(AsymmetricBlockCipher cipher,
Digest digest)
Constructor for a signer with an explicit digest trailer.
|
ISO9796d2Signer(AsymmetricBlockCipher cipher,
Digest digest,
boolean implicit)
Generate a signer with either implicit or explicit trailers for ISO9796-2.
|
Modifier and Type | Method and Description |
---|---|
byte[] |
generateSignature()
generate a signature for the loaded message using the key we were
initialised with.
|
byte[] |
getRecoveredMessage()
Return a reference to the recoveredMessage message, either as it was added
to a just generated signature, or extracted from a verified one.
|
boolean |
hasFullMessage()
Return true if the full message was recoveredMessage.
|
void |
init(boolean forSigning,
CipherParameters param)
Initialise the signer for signing or verification.
|
void |
reset()
reset the internal state
|
void |
update(byte b)
update the internal digest with the byte b
|
void |
update(byte[] in,
int off,
int len)
update the internal digest with the byte array in
|
void |
updateWithRecoveredMessage(byte[] signature)
Perform an update with the recovered message before adding any other data.
|
boolean |
verifySignature(byte[] signature)
return true if the signature represents a ISO9796-2 signature
for the passed in message.
|
public ISO9796d2Signer(AsymmetricBlockCipher cipher, Digest digest, boolean implicit)
cipher
- base cipher to use for signature creation/verificationdigest
- digest to use.implicit
- whether or not the trailer is implicit or gives the hash.public ISO9796d2Signer(AsymmetricBlockCipher cipher, Digest digest)
cipher
- cipher to use.digest
- digest to sign with.public void init(boolean forSigning, CipherParameters param)
Signer
public void updateWithRecoveredMessage(byte[] signature) throws InvalidCipherTextException
SignerWithRecovery
updateWithRecoveredMessage
in interface SignerWithRecovery
signature
- the signature that we are in the process of verifying.InvalidCipherTextException
public void update(byte b)
public void update(byte[] in, int off, int len)
public byte[] generateSignature() throws CryptoException
generateSignature
in interface Signer
CryptoException
public boolean verifySignature(byte[] signature)
verifySignature
in interface Signer
public boolean hasFullMessage()
hasFullMessage
in interface SignerWithRecovery
SignerWithRecovery.hasFullMessage()
public byte[] getRecoveredMessage()
getRecoveredMessage
in interface SignerWithRecovery
SignerWithRecovery.getRecoveredMessage()