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 TlsCertificateserverCertificateprotected TlsCredentialedSignerserverCredentialsprotected TlsSRP6ClientsrpClientprotected TlsSRPConfigVerifiersrpConfigVerifierprotected TlsSRPIdentitysrpIdentityprotected TlsSRPLoginParameterssrpLoginParametersprotected java.math.BigIntegersrpPeerCredentialsprotected byte[]srpSaltprotected TlsSRP6ServersrpServer-
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 voidgenerateClientKeyExchange(java.io.OutputStream output)TlsSecretgeneratePreMasterSecret()byte[]generateServerKeyExchange()voidprocessClientCredentials(TlsCredentials clientCredentials)voidprocessClientKeyExchange(java.io.InputStream input)voidprocessServerCertificate(Certificate serverCertificate)voidprocessServerCredentials(TlsCredentials serverCredentials)voidprocessServerKeyExchange(java.io.InputStream input)booleanrequiresServerKeyExchange()voidskipServerCredentials()protected static java.math.BigIntegervalidatePublicValue(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:
processServerCertificatein interfaceTlsKeyExchange- Overrides:
processServerCertificatein classAbstractTlsKeyExchange- Throws:
java.io.IOException
-
requiresServerKeyExchange
public boolean requiresServerKeyExchange()
- Specified by:
requiresServerKeyExchangein interfaceTlsKeyExchange- Overrides:
requiresServerKeyExchangein classAbstractTlsKeyExchange
-
generateServerKeyExchange
public byte[] generateServerKeyExchange() throws java.io.IOException- Specified by:
generateServerKeyExchangein interfaceTlsKeyExchange- Overrides:
generateServerKeyExchangein classAbstractTlsKeyExchange- Throws:
java.io.IOException
-
processServerKeyExchange
public void processServerKeyExchange(java.io.InputStream input) throws java.io.IOException- Specified by:
processServerKeyExchangein interfaceTlsKeyExchange- Overrides:
processServerKeyExchangein 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:
processClientKeyExchangein interfaceTlsKeyExchange- Overrides:
processClientKeyExchangein 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
-
-