Package org.bouncycastle.crypto

## Interface SignerWithRecovery

- All Superinterfaces:
    `Signer`
  All Known Implementing Classes:
    `ISO9796d2PSSSigner`, `ISO9796d2Signer`

      public interface SignerWithRecovery
      extends Signer

  Signer with message recovery.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `byte[]` | `getRecoveredMessage()` | Returns a reference to what message was recovered (if any).
    `boolean` | `hasFullMessage()` | Returns true if the signer has recovered the full message as part of signature verification.
    `void` | `updateWithRecoveredMessage​(byte[] signature)` | Perform an update with the recovered message before adding any other data.

    - ### Methods inherited from interface org.bouncycastle.crypto.Signer

      `generateSignature, init, reset, update, update, verifySignature`

- - ### Method Detail

    - #### hasFullMessage

          boolean hasFullMessage()

      Returns true if the signer has recovered the full message as part of signature verification.
      Returns:
        true if full message recovered.

    - #### getRecoveredMessage

          byte[] getRecoveredMessage()

      Returns a reference to what message was recovered (if any).
      Returns:
        full/partial message, null if nothing.

    - #### updateWithRecoveredMessage

          void updateWithRecoveredMessage​(byte[] signature)
                                   throws InvalidCipherTextException

      Perform an update with the recovered message before adding any other data. This must be the first update method called, and calling it will result in the signer assuming that further calls to update will include message content past what is recoverable.
      Parameters:
        `signature` - the signature that we are in the process of verifying.
      Throws:
        `java.lang.IllegalStateException`
        `InvalidCipherTextException`