Class SM2Signer

java.lang.Object
org.bouncycastle.crypto.signers.SM2Signer
All Implemented Interfaces:
Signer, ECConstants

public class SM2Signer extends Object implements Signer, ECConstants
The SM2 Digital Signature algorithm.
  • Constructor Details

    • SM2Signer

      public SM2Signer()
    • SM2Signer

      public SM2Signer(Digest digest)
    • SM2Signer

      public SM2Signer(DSAEncoding encoding)
    • SM2Signer

      public SM2Signer(DSAEncoding encoding, Digest digest)
  • 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)
      Description copied from interface: Signer
      update the internal digest with the byte b
      Specified by:
      update in interface Signer
    • update

      public void update(byte[] in, int off, int len)
      Description copied from interface: Signer
      update the internal digest with the byte array in
      Specified by:
      update in interface Signer
    • verifySignature

      public boolean verifySignature(byte[] signature)
      Description copied from interface: Signer
      return true if the internal state represents the signature described in the passed in array.
      Specified by:
      verifySignature in interface Signer
    • reset

      public void reset()
      Description copied from interface: Signer
      reset the internal state
      Specified by:
      reset in interface Signer
    • generateSignature

      public byte[] generateSignature() throws CryptoException
      Description copied from interface: Signer
      generate a signature for the message we've been loaded with using the key we were initialised with.
      Specified by:
      generateSignature in interface Signer
      Throws:
      CryptoException
    • createBasePointMultiplier

      protected ECMultiplier createBasePointMultiplier()
    • calculateE

      protected BigInteger calculateE(BigInteger n, byte[] message)