Class BaseISO9796d2Signer

java.lang.Object
org.bouncycastle.crypto.internal.signers.BaseISO9796d2Signer
All Implemented Interfaces:
Signer, SignerWithRecovery

public class BaseISO9796d2Signer extends Object implements SignerWithRecovery
ISO9796-2 - mechanism using a hash function with recovery (scheme 1)
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    BaseISO9796d2Signer(AsymmetricBlockCipher cipher, Digest digest, boolean implicit)
    Generate a signer with either implicit or explicit trailers for ISO9796-2.
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    generate a signature for the loaded message using the key we were initialised with.
    byte[]
    Return a reference to the recoveredMessage message, either as it was added to a just generated signature, or extracted from a verified one.
    boolean
    Return true if the full message was recoveredMessage.
    void
    init(boolean forSigning, CipherParameters param)
    Initialise the signer for signing or verification.
    void
    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 Details

  • Constructor Details

    • BaseISO9796d2Signer

      public BaseISO9796d2Signer(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.
  • Method Details

    • 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
      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
      Parameters:
      signature - the signature that we are in the process of verifying.
      Throws:
      InvalidCipherTextException
    • 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
      Throws:
      CryptoException
    • 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:
    • 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: