org.bouncycastle.crypto

## Interface Signer

- All Known Subinterfaces:
    SignerWithRecovery
  All Known Implementing Classes:
    BIP340Signer, BLSSigner, DigestingMessageSigner, DigestingStateAwareMessageSigner, DSADigestSigner, ECCSISigner, Ed25519ctxSigner, Ed25519phSigner, Ed25519Signer, Ed448phSigner, Ed448Signer, GenericSigner, HashMLDSASigner, HashMLDSASigner, HashSLHDSASigner, HashSLHDSASigner, ISO9796d2PSSSigner, ISO9796d2Signer, MessageSignerAdapter, MLDSASigner, MLDSASigner, PSSSigner, RSADigestSigner, SM2Signer, X931Signer

      public interface Signer

  Generic signer interface for hash based and message recovery signers.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `generateSignature()` generate a signature for the message we've been loaded with 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 internal state represents the signature described in the passed in array.

- - ### Method Detail

    - #### init

          void init(boolean forSigning,
                    CipherParameters param)

      Initialise the signer for signing or verification.
      Parameters:
        `forSigning` - true if for signing, false otherwise
        `param` - necessary parameters.

    - #### update

          void update(byte b)

      update the internal digest with the byte b

    - #### update

          void update(byte[] in,
                      int off,
                      int len)

      update the internal digest with the byte array in

    - #### generateSignature

          byte[] generateSignature()
                            throws CryptoException,
                                   DataLengthException

      generate a signature for the message we've been loaded with using the key we were initialised with.
      Throws:
        `CryptoException`
        `DataLengthException`

    - #### verifySignature

          boolean verifySignature(byte[] signature)

      return true if the internal state represents the signature described in the passed in array.

    - #### reset

          void reset()

      reset the internal state