org.bouncycastle.tls.crypto.TlsSRP6Client 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.crypto;
import java.io.IOException;
import java.math.BigInteger;
/**
* Basic interface for an SRP-6 client implementation.
*/
public interface TlsSRP6Client
{
/**
* Generates the secret S given the server's credentials
* @param serverB The server's credentials
* @return Client's verification message for the server
* @throws IOException If server's credentials are invalid
*/
BigInteger calculateSecret(BigInteger serverB)
throws IOException;
/**
* Generates client's credentials given the client's salt, identity and password
* @param salt The salt used in the client's verifier.
* @param identity The user's identity (eg. username)
* @param password The user's password
* @return Client's public value to send to server
*/
BigInteger generateClientCredentials(byte[] salt, byte[] identity, byte[] password);
}