org.spongycastle.tls.crypto.TlsSRP6Client Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bctls-jdk15on Show documentation
Show all versions of bctls-jdk15on Show documentation
Spongy Castle is a package-rename (org.bouncycastle.* to org.spongycastle.*) of Bouncy Castle
intended for the Android platform. Android unfortunately ships with a stripped-down version of
Bouncy Castle, which prevents easy upgrades - Spongy Castle overcomes this and provides a full,
up-to-date version of the Bouncy Castle cryptographic libs.
package org.spongycastle.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);
}