blob: 452b367f1cd60ff823d096224051a2763909d7b6 [file] [log] [blame]
package org.bouncycastle.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;
}