org.bouncycastle.tls.TlsCredentialedSigner Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of impersonator Show documentation
Show all versions of impersonator Show documentation
Spoof TLS/JA3/JA4 and HTTP/2 fingerprints in Java
package org.bouncycastle.tls;
import java.io.IOException;
import org.bouncycastle.tls.crypto.TlsStreamSigner;
/**
* Support interface for generating a signature based on our private credentials.
*/
public interface TlsCredentialedSigner
extends TlsCredentials
{
/**
* Generate a signature against the passed in hash.
*
* @param hash a message digest calculated across the message the signature is to apply to.
* @return an encoded signature.
* @throws IOException if the hash cannot be processed, or there is an issue with the private credentials.
*/
byte[] generateRawSignature(byte[] hash)
throws IOException;
/**
* Return the algorithm IDs for the signature algorithm and the associated hash it uses.
*
* @return the full algorithm details for the signature.
*/
SignatureAndHashAlgorithm getSignatureAndHashAlgorithm();
TlsStreamSigner getStreamSigner() throws IOException;
}