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.
  • Field Details

    • TRAILER_IMPLICIT

      public static final int TRAILER_IMPLICIT
      Deprecated.
      use ISOTrailers
      See Also:
    • TRAILER_RIPEMD160

      public static final int TRAILER_RIPEMD160
      Deprecated.
      use ISOTrailers
      See Also:
    • TRAILER_RIPEMD128

      public static final int TRAILER_RIPEMD128
      Deprecated.
      use ISOTrailers
      See Also:
    • TRAILER_SHA1

      public static final int TRAILER_SHA1
      Deprecated.
      use ISOTrailers
      See Also:
    • TRAILER_SHA256

      public static final int TRAILER_SHA256
      Deprecated.
      use ISOTrailers
      See Also:
    • TRAILER_SHA512

      public static final int TRAILER_SHA512
      Deprecated.
      use ISOTrailers
      See Also:
    • TRAILER_SHA384

      public static final int TRAILER_SHA384
      Deprecated.
      use ISOTrailers
      See Also:
    • TRAILER_WHIRLPOOL

      public static final int TRAILER_WHIRLPOOL
      Deprecated.
      use ISOTrailers
      See Also:
    • TRAILER_SHA224

      public static final int TRAILER_SHA224
      Deprecated.
      use ISOTrailers
      See Also:
  • 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