package org.spongycastle.crypto; /** * Signer with message recovery. */ public interface SignerWithRecovery extends Signer { /** * Returns true if the signer has recovered the full message as * part of signature verification. * * @return true if full message recovered. */ public boolean hasFullMessage(); /** * Returns a reference to what message was recovered (if any). * * @return full/partial message, null if nothing. */ public byte[] getRecoveredMessage(); /** * 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. * * @param signature the signature that we are in the process of verifying. * @throws IllegalStateException */ public void updateWithRecoveredMessage(byte[] signature) throws InvalidCipherTextException; }