Package org.bouncycastle.crypto.tls
Class TlsSRPKeyExchange
- java.lang.Object
-
- org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
-
- org.bouncycastle.crypto.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 TlsSRPGroupVerifiergroupVerifierprotected byte[]identityprotected byte[]passwordprotected TlsSignerCredentialsserverCredentialsprotected AsymmetricKeyParameterserverPublicKeyprotected SRP6ClientsrpClientprotected SRP6GroupParameterssrpGroupprotected java.math.BigIntegersrpPeerCredentialsprotected byte[]srpSaltprotected SRP6ServersrpServerprotected java.math.BigIntegersrpVerifierprotected TlsSignertlsSigner-
Fields inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
context, keyExchange, supportedSignatureAlgorithms
-
-
Constructor Summary
Constructors Constructor Description TlsSRPKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, byte[] identity, byte[] password)Deprecated.Use constructor taking an explicit 'groupVerifier' argumentTlsSRPKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, byte[] identity, TlsSRPLoginParameters loginParameters)TlsSRPKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, TlsSRPGroupVerifier groupVerifier, byte[] identity, byte[] password)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static TlsSignercreateSigner(int keyExchange)voidgenerateClientKeyExchange(java.io.OutputStream output)byte[]generatePremasterSecret()byte[]generateServerKeyExchange()voidinit(TlsContext context)protected SignerinitVerifyer(TlsSigner tlsSigner, SignatureAndHashAlgorithm algorithm, SecurityParameters securityParameters)voidprocessClientCredentials(TlsCredentials clientCredentials)voidprocessClientKeyExchange(java.io.InputStream input)voidprocessServerCertificate(Certificate serverCertificate)voidprocessServerCredentials(TlsCredentials serverCredentials)voidprocessServerKeyExchange(java.io.InputStream input)booleanrequiresServerKeyExchange()voidskipServerCredentials()voidvalidateCertificateRequest(CertificateRequest certificateRequest)-
Methods inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
parseSignature, processClientCertificate, skipClientCredentials, skipServerKeyExchange
-
-
-
-
Field Detail
-
tlsSigner
protected TlsSigner tlsSigner
-
groupVerifier
protected TlsSRPGroupVerifier groupVerifier
-
identity
protected byte[] identity
-
password
protected byte[] password
-
serverPublicKey
protected AsymmetricKeyParameter serverPublicKey
-
srpGroup
protected SRP6GroupParameters srpGroup
-
srpClient
protected SRP6Client srpClient
-
srpServer
protected SRP6Server srpServer
-
srpPeerCredentials
protected java.math.BigInteger srpPeerCredentials
-
srpVerifier
protected java.math.BigInteger srpVerifier
-
srpSalt
protected byte[] srpSalt
-
serverCredentials
protected TlsSignerCredentials serverCredentials
-
-
Constructor Detail
-
TlsSRPKeyExchange
public TlsSRPKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, byte[] identity, byte[] password)Deprecated.Use constructor taking an explicit 'groupVerifier' argument
-
TlsSRPKeyExchange
public TlsSRPKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, TlsSRPGroupVerifier groupVerifier, byte[] identity, byte[] password)
-
TlsSRPKeyExchange
public TlsSRPKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, byte[] identity, TlsSRPLoginParameters loginParameters)
-
-
Method Detail
-
createSigner
protected static TlsSigner createSigner(int keyExchange)
-
init
public void init(TlsContext context)
- Specified by:
initin interfaceTlsKeyExchange- Overrides:
initin classAbstractTlsKeyExchange
-
skipServerCredentials
public void skipServerCredentials() 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
-
processServerCredentials
public void processServerCredentials(TlsCredentials serverCredentials) throws java.io.IOException
- Specified by:
processServerCredentialsin interfaceTlsKeyExchange- Overrides:
processServerCredentialsin 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
-
validateCertificateRequest
public void validateCertificateRequest(CertificateRequest certificateRequest) throws java.io.IOException
- 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 byte[] generatePremasterSecret() throws java.io.IOException- Throws:
java.io.IOException
-
initVerifyer
protected Signer initVerifyer(TlsSigner tlsSigner, SignatureAndHashAlgorithm algorithm, SecurityParameters securityParameters)
-
-