Package org.bouncycastle.tls
Class TlsSRPKeyExchange
- java.lang.Object
-
- org.bouncycastle.tls.AbstractTlsKeyExchange
-
- org.bouncycastle.tls.TlsSRPKeyExchange
-
- All Implemented Interfaces:
TlsKeyExchange
public class TlsSRPKeyExchange extends AbstractTlsKeyExchange
(D)TLS SRP key exchange (RFC 5054).
-
-
Field Summary
Fields Modifier and Type Field Description protected TlsCertificate
serverCertificate
protected TlsCredentialedSigner
serverCredentials
protected TlsSRP6Client
srpClient
protected TlsSRPConfigVerifier
srpConfigVerifier
protected TlsSRPIdentity
srpIdentity
protected TlsSRPLoginParameters
srpLoginParameters
protected java.math.BigInteger
srpPeerCredentials
protected byte[]
srpSalt
protected TlsSRP6Server
srpServer
-
Fields inherited from class org.bouncycastle.tls.AbstractTlsKeyExchange
context, keyExchange
-
-
Constructor Summary
Constructors Constructor Description TlsSRPKeyExchange(int keyExchange, TlsSRPIdentity srpIdentity, TlsSRPConfigVerifier srpConfigVerifier)
TlsSRPKeyExchange(int keyExchange, TlsSRPLoginParameters srpLoginParameters)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
generateClientKeyExchange(java.io.OutputStream output)
TlsSecret
generatePreMasterSecret()
byte[]
generateServerKeyExchange()
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()
protected static java.math.BigInteger
validatePublicValue(java.math.BigInteger N, java.math.BigInteger val)
-
Methods inherited from class org.bouncycastle.tls.AbstractTlsKeyExchange
getClientCertificateTypes, init, processClientCertificate, requiresCertificateVerify, skipClientCredentials, skipServerKeyExchange
-
-
-
-
Field Detail
-
srpIdentity
protected TlsSRPIdentity srpIdentity
-
srpConfigVerifier
protected TlsSRPConfigVerifier srpConfigVerifier
-
serverCertificate
protected TlsCertificate serverCertificate
-
srpSalt
protected byte[] srpSalt
-
srpClient
protected TlsSRP6Client srpClient
-
srpLoginParameters
protected TlsSRPLoginParameters srpLoginParameters
-
serverCredentials
protected TlsCredentialedSigner serverCredentials
-
srpServer
protected TlsSRP6Server srpServer
-
srpPeerCredentials
protected java.math.BigInteger srpPeerCredentials
-
-
Constructor Detail
-
TlsSRPKeyExchange
public TlsSRPKeyExchange(int keyExchange, TlsSRPIdentity srpIdentity, TlsSRPConfigVerifier srpConfigVerifier)
-
TlsSRPKeyExchange
public TlsSRPKeyExchange(int keyExchange, TlsSRPLoginParameters srpLoginParameters)
-
-
Method Detail
-
skipServerCredentials
public void skipServerCredentials() throws java.io.IOException
- Throws:
java.io.IOException
-
processServerCredentials
public void processServerCredentials(TlsCredentials serverCredentials) throws java.io.IOException
- Throws:
java.io.IOException
-
processServerCertificate
public void processServerCertificate(Certificate serverCertificate) throws java.io.IOException
- Specified by:
processServerCertificate
in interfaceTlsKeyExchange
- Overrides:
processServerCertificate
in classAbstractTlsKeyExchange
- Throws:
java.io.IOException
-
requiresServerKeyExchange
public boolean requiresServerKeyExchange()
- Specified by:
requiresServerKeyExchange
in interfaceTlsKeyExchange
- Overrides:
requiresServerKeyExchange
in classAbstractTlsKeyExchange
-
generateServerKeyExchange
public byte[] generateServerKeyExchange() throws java.io.IOException
- Specified by:
generateServerKeyExchange
in interfaceTlsKeyExchange
- Overrides:
generateServerKeyExchange
in classAbstractTlsKeyExchange
- Throws:
java.io.IOException
-
processServerKeyExchange
public void processServerKeyExchange(java.io.InputStream input) throws java.io.IOException
- Specified by:
processServerKeyExchange
in interfaceTlsKeyExchange
- Overrides:
processServerKeyExchange
in classAbstractTlsKeyExchange
- Throws:
java.io.IOException
-
processClientCredentials
public void processClientCredentials(TlsCredentials clientCredentials) throws java.io.IOException
- Throws:
java.io.IOException
-
generateClientKeyExchange
public void generateClientKeyExchange(java.io.OutputStream output) throws java.io.IOException
- Throws:
java.io.IOException
-
processClientKeyExchange
public void processClientKeyExchange(java.io.InputStream input) throws java.io.IOException
- Specified by:
processClientKeyExchange
in interfaceTlsKeyExchange
- Overrides:
processClientKeyExchange
in classAbstractTlsKeyExchange
- Throws:
java.io.IOException
-
generatePreMasterSecret
public TlsSecret generatePreMasterSecret() throws java.io.IOException
- Throws:
java.io.IOException
-
validatePublicValue
protected static java.math.BigInteger validatePublicValue(java.math.BigInteger N, java.math.BigInteger val) throws java.io.IOException
- Throws:
java.io.IOException
-
-