org.bouncycastle.crypto.signers

Class ISO9796d2Signer

Implemented Interfaces:
Signer, SignerWithRecovery

public class ISO9796d2Signer
extends java.lang.Object
implements SignerWithRecovery

ISO9796-2 - mechanism using a hash function with recovery (scheme 1)

Field Summary

static int
TRAILER_IMPLICIT
static int
TRAILER_RIPEMD128
static int
TRAILER_RIPEMD160
static int
TRAILER_SHA1

Constructor Summary

ISO9796d2Signer(AsymmetricBlockCipher cipher, Digest digest)
Constructor for a signer with an explicit digest trailer.
ISO9796d2Signer(AsymmetricBlockCipher cipher, Digest digest, boolean implicit)
Generate a signer for the with either implicit or explicit trailers for ISO9796-2.

Method Summary

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.
boolean
hasFullMessage()
Return true if the full message was recoveredMessage.
void
init(boolean forSigning, CipherParameters param)
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
boolean
verifySignature(byte[] signature)
return true if the signature represents a ISO9796-2 signature for the passed in message.

Field Details

TRAILER_IMPLICIT

public static final int TRAILER_IMPLICIT
Field Value:
188

TRAILER_RIPEMD128

public static final int TRAILER_RIPEMD128
Field Value:
13004

TRAILER_RIPEMD160

public static final int TRAILER_RIPEMD160
Field Value:
12748

TRAILER_SHA1

public static final int TRAILER_SHA1
Field Value:
13260

Constructor Details

ISO9796d2Signer

public ISO9796d2Signer(AsymmetricBlockCipher cipher,
                       Digest digest)
Constructor for a signer with an explicit digest trailer.
Parameters:
cipher - cipher to use.
digest - digest to sign with.

ISO9796d2Signer

public ISO9796d2Signer(AsymmetricBlockCipher cipher,
                       Digest digest,
                       boolean implicit)
Generate a signer for the with either implicit or explicit trailers for ISO9796-2.
Parameters:
cipher - base cipher to use for signature creation/verification
digest - digest to use.
implicit - whether or not the trailer is implicit or gives the hash.

Method Details

generateSignature

public byte[] generateSignature()
            throws CryptoException
generate a signature for the loaded message using the key we were initialised with.
Specified by:
generateSignature in interface Signer

getRecoveredMessage

public byte[] getRecoveredMessage()
Return a reference to the recoveredMessage message.
Specified by:
getRecoveredMessage in interface SignerWithRecovery
Returns:
the full/partial recoveredMessage message.

hasFullMessage

public boolean hasFullMessage()
Return true if the full message was recoveredMessage.
Specified by:
hasFullMessage in interface SignerWithRecovery
Returns:
true on full message recovery, false otherwise.

init

public void init(boolean forSigning,
                 CipherParameters param)
Specified by:
init in interface Signer

reset

public void reset()
reset the internal state
Specified by:
reset in interface Signer

update

public void update(byte b)
update the internal digest with the byte b
Specified by:
update in interface Signer

update

public void update(byte[] in,
                   int off,
                   int len)
update the internal digest with the byte array in
Specified by:
update in interface Signer

verifySignature

public boolean verifySignature(byte[] signature)
return true if the signature represents a ISO9796-2 signature for the passed in message.
Specified by:
verifySignature in interface Signer