Class X931Signer

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

public class X931Signer 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.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor for a signer with an explicit digest trailer.
    X931Signer(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
  • Constructor Details

    • X931Signer

      public X931Signer(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.
    • X931Signer

      public X931Signer(AsymmetricBlockCipher cipher, Digest digest)
      Constructor for a signer with an explicit digest trailer.
      Parameters:
      cipher - cipher to use.
      digest - digest to sign with.
  • 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