Class BaseX931Signer

java.lang.Object
org.bouncycastle.crypto.internal.signers.BaseX931Signer
All Implemented Interfaces:
Signer

public class BaseX931Signer extends Object implements Signer
X9.31-1998 - signing using a hash.

The message digest hash, H, is encapsulated to form a byte string as follows

 EB = 06 || PS || 0xBA || H || TRAILER
 
where PS is a string of bytes all of value 0xBB of length such that |EB|=|n|, and TRAILER is the ISO/IEC 10118 part number? for the digest. The byte string, EB, is converted to an integer value, the message representative, f.
  • Field Summary

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

    Constructors
    Constructor
    Description
    BaseX931Signer(AsymmetricBlockCipher cipher, Digest digest, boolean implicit)
    Generate a signer with either implicit or explicit trailers for X9.31
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    generate a signature for the loaded message using the key we were initialised with.
    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
    boolean
    verifySignature(byte[] signature)
    return true if the signature represents a X9.31 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

    • BaseX931Signer

      public BaseX931Signer(AsymmetricBlockCipher cipher, Digest digest, boolean implicit)
      Generate a signer with either implicit or explicit trailers for X9.31
      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.
    • 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 X9.31 signature for the passed in message.
      Specified by:
      verifySignature in interface Signer