Bouncy Castle Cryptography Library 1.77.0

org.bouncycastle.crypto.signers
Class ISO9796d2Signer

java.lang.Object
  |
  +--org.bouncycastle.crypto.signers.ISO9796d2Signer
All 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
          Deprecated. use ISOTrailers
static int TRAILER_RIPEMD128
          Deprecated. use ISOTrailers
static int TRAILER_RIPEMD160
          Deprecated. use ISOTrailers
static int TRAILER_SHA1
          Deprecated. use ISOTrailers
static int TRAILER_SHA256
          Deprecated. use ISOTrailers
static int TRAILER_SHA384
          Deprecated. use ISOTrailers
static int TRAILER_SHA512
          Deprecated. use ISOTrailers
static int TRAILER_WHIRLPOOL
          Deprecated. use ISOTrailers
 
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 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, 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRAILER_IMPLICIT

public static final int TRAILER_IMPLICIT
Deprecated. use ISOTrailers


TRAILER_RIPEMD160

public static final int TRAILER_RIPEMD160
Deprecated. use ISOTrailers


TRAILER_RIPEMD128

public static final int TRAILER_RIPEMD128
Deprecated. use ISOTrailers


TRAILER_SHA1

public static final int TRAILER_SHA1
Deprecated. use ISOTrailers


TRAILER_SHA256

public static final int TRAILER_SHA256
Deprecated. use ISOTrailers


TRAILER_SHA512

public static final int TRAILER_SHA512
Deprecated. use ISOTrailers


TRAILER_SHA384

public static final int TRAILER_SHA384
Deprecated. use ISOTrailers


TRAILER_WHIRLPOOL

public static final int TRAILER_WHIRLPOOL
Deprecated. use ISOTrailers

Constructor Detail

ISO9796d2Signer

public ISO9796d2Signer(AsymmetricBlockCipher cipher,
                       Digest digest,
                       boolean implicit)
Generate a signer 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.

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.
Method Detail

init

public void init(boolean forSigning,
                 CipherParameters param)
Description copied from interface: Signer
Initialise the signer for signing or verification.
Specified by:
init in interface Signer
Following copied from interface: org.bouncycastle.crypto.Signer
Parameters:
forSigning - true if for signing, false otherwise
param - necessary parameters.

updateWithRecoveredMessage

public void updateWithRecoveredMessage(byte[] signature)
                                throws InvalidCipherTextException
Description copied from interface: SignerWithRecovery
Perform an update with the recovered message before adding any other data. This must be the first update method called, and calling it will result in the signer assuming that further calls to update will include message content past what is recoverable.
Specified by:
updateWithRecoveredMessage in interface SignerWithRecovery
Following copied from interface: org.bouncycastle.crypto.SignerWithRecovery
Parameters:
signature - the signature that we are in the process of verifying.
Throws:
java.lang.IllegalStateException -  

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

reset

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

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

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

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.
See Also:
SignerWithRecovery.hasFullMessage()

getRecoveredMessage

public 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.
Specified by:
getRecoveredMessage in interface SignerWithRecovery
Returns:
the full/partial recoveredMessage message.
See Also:
SignerWithRecovery.getRecoveredMessage()

Bouncy Castle Cryptography Library 1.77.0