Class X931Signer

  • All Implemented Interfaces:
    Signer

    public class X931Signer
    extends java.lang.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.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] generateSignature()
      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()
      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 Detail

      • TRAILER_IMPLICIT

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

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

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

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

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

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

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

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

        public static final int TRAILER_SHA224
        Deprecated.
        use ISOTrailers
        See Also:
        Constant Field Values
    • Constructor Detail

      • 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 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
        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
      • 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