org.bouncycastle.tls.crypto.TlsSigner Maven / Gradle / Ivy
The newest version!
package org.bouncycastle.tls.crypto;
import java.io.IOException;
import org.bouncycastle.tls.SignatureAndHashAlgorithm;
/**
* Base interface for a TLS signer that works on raw message digests.
*/
public interface TlsSigner
{
/**
* Generate an encoded signature based on the passed in hash.
*
* @param algorithm the signature algorithm to use.
* @param hash the hash calculated for the signature.
* @return an encoded signature.
* @throws IOException in case of an exception processing the hash.
*/
byte[] generateRawSignature(SignatureAndHashAlgorithm algorithm, byte[] hash)
throws IOException;
TlsStreamSigner getStreamSigner(SignatureAndHashAlgorithm algorithm) throws IOException;
}