public class TlsSRPKeyExchange extends AbstractTlsKeyExchange
Modifier and Type | Field and Description |
---|---|
protected TlsSRPGroupVerifier |
groupVerifier |
protected byte[] |
identity |
protected byte[] |
password |
protected TlsSignerCredentials |
serverCredentials |
protected AsymmetricKeyParameter |
serverPublicKey |
protected SRP6Client |
srpClient |
protected SRP6GroupParameters |
srpGroup |
protected java.math.BigInteger |
srpPeerCredentials |
protected byte[] |
srpSalt |
protected SRP6Server |
srpServer |
protected java.math.BigInteger |
srpVerifier |
protected TlsSigner |
tlsSigner |
context, keyExchange, supportedSignatureAlgorithms
Constructor and Description |
---|
TlsSRPKeyExchange(int keyExchange,
java.util.Vector supportedSignatureAlgorithms,
byte[] identity,
byte[] password)
Deprecated.
Use constructor taking an explicit 'groupVerifier' argument
|
TlsSRPKeyExchange(int keyExchange,
java.util.Vector supportedSignatureAlgorithms,
byte[] identity,
TlsSRPLoginParameters loginParameters) |
TlsSRPKeyExchange(int keyExchange,
java.util.Vector supportedSignatureAlgorithms,
TlsSRPGroupVerifier groupVerifier,
byte[] identity,
byte[] password) |
Modifier and Type | Method and Description |
---|---|
protected static TlsSigner |
createSigner(int keyExchange) |
void |
generateClientKeyExchange(java.io.OutputStream output) |
byte[] |
generatePremasterSecret() |
byte[] |
generateServerKeyExchange() |
void |
init(TlsContext context) |
protected Signer |
initVerifyer(TlsSigner tlsSigner,
SignatureAndHashAlgorithm algorithm,
SecurityParameters securityParameters) |
void |
processClientCredentials(TlsCredentials clientCredentials) |
void |
processClientKeyExchange(java.io.InputStream input) |
void |
processServerCertificate(Certificate serverCertificate) |
void |
processServerCredentials(TlsCredentials serverCredentials) |
void |
processServerKeyExchange(java.io.InputStream input) |
boolean |
requiresServerKeyExchange() |
void |
skipServerCredentials() |
void |
validateCertificateRequest(CertificateRequest certificateRequest) |
parseSignature, processClientCertificate, skipClientCredentials, skipServerKeyExchange
protected TlsSigner tlsSigner
protected TlsSRPGroupVerifier groupVerifier
protected byte[] identity
protected byte[] password
protected AsymmetricKeyParameter serverPublicKey
protected SRP6GroupParameters srpGroup
protected SRP6Client srpClient
protected SRP6Server srpServer
protected java.math.BigInteger srpPeerCredentials
protected java.math.BigInteger srpVerifier
protected byte[] srpSalt
protected TlsSignerCredentials serverCredentials
public TlsSRPKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, byte[] identity, byte[] password)
public TlsSRPKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, TlsSRPGroupVerifier groupVerifier, byte[] identity, byte[] password)
public TlsSRPKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, byte[] identity, TlsSRPLoginParameters loginParameters)
protected static TlsSigner createSigner(int keyExchange)
public void init(TlsContext context)
init
in interface TlsKeyExchange
init
in class AbstractTlsKeyExchange
public void skipServerCredentials() throws java.io.IOException
java.io.IOException
public void processServerCertificate(Certificate serverCertificate) throws java.io.IOException
processServerCertificate
in interface TlsKeyExchange
processServerCertificate
in class AbstractTlsKeyExchange
java.io.IOException
public void processServerCredentials(TlsCredentials serverCredentials) throws java.io.IOException
processServerCredentials
in interface TlsKeyExchange
processServerCredentials
in class AbstractTlsKeyExchange
java.io.IOException
public boolean requiresServerKeyExchange()
requiresServerKeyExchange
in interface TlsKeyExchange
requiresServerKeyExchange
in class AbstractTlsKeyExchange
public byte[] generateServerKeyExchange() throws java.io.IOException
generateServerKeyExchange
in interface TlsKeyExchange
generateServerKeyExchange
in class AbstractTlsKeyExchange
java.io.IOException
public void processServerKeyExchange(java.io.InputStream input) throws java.io.IOException
processServerKeyExchange
in interface TlsKeyExchange
processServerKeyExchange
in class AbstractTlsKeyExchange
java.io.IOException
public void validateCertificateRequest(CertificateRequest certificateRequest) throws java.io.IOException
java.io.IOException
public void processClientCredentials(TlsCredentials clientCredentials) throws java.io.IOException
java.io.IOException
public void generateClientKeyExchange(java.io.OutputStream output) throws java.io.IOException
java.io.IOException
public void processClientKeyExchange(java.io.InputStream input) throws java.io.IOException
processClientKeyExchange
in interface TlsKeyExchange
processClientKeyExchange
in class AbstractTlsKeyExchange
java.io.IOException
public byte[] generatePremasterSecret() throws java.io.IOException
java.io.IOException
protected Signer initVerifyer(TlsSigner tlsSigner, SignatureAndHashAlgorithm algorithm, SecurityParameters securityParameters)