blob: 357b0da43db54ffbd784284020528bbbf3a3b08d [file] [log] [blame]
package org.bouncycastle.crypto;
/**
* Generic signer interface for hash based and message recovery signers.
*/
public interface Signer
{
/**
* Initialise the signer for signing or verification.
*
* @param forSigning true if for signing, false otherwise
* @param param necessary parameters.
*/
public void init(boolean forSigning, CipherParameters param);
/**
* update the internal digest with the byte b
*/
public void update(byte b);
/**
* update the internal digest with the byte array in
*/
public void update(byte[] in, int off, int len);
/**
* generate a signature for the message we've been loaded with using
* the key we were initialised with.
*/
public byte[] generateSignature()
throws CryptoException, DataLengthException;
/**
* return true if the internal state represents the signature described
* in the passed in array.
*/
public boolean verifySignature(byte[] signature);
/**
* reset the internal state
*/
public void reset();
}