Package org.bouncycastle.crypto.tls
Class TlsDHKeyExchange
- java.lang.Object
-
- org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
-
- org.bouncycastle.crypto.tls.TlsDHKeyExchange
-
- All Implemented Interfaces:
TlsKeyExchange
- Direct Known Subclasses:
TlsDHEKeyExchange
public class TlsDHKeyExchange extends AbstractTlsKeyExchange
(D)TLS DH key exchange.
-
-
Field Summary
Fields Modifier and Type Field Description protected TlsAgreementCredentials
agreementCredentials
protected DHPrivateKeyParameters
dhAgreePrivateKey
protected DHPublicKeyParameters
dhAgreePublicKey
protected DHParameters
dhParameters
protected TlsDHVerifier
dhVerifier
protected AsymmetricKeyParameter
serverPublicKey
protected TlsSigner
tlsSigner
-
Fields inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
context, keyExchange, supportedSignatureAlgorithms
-
-
Constructor Summary
Constructors Constructor Description TlsDHKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, DHParameters dhParameters)
Deprecated.Use constructor that takes a TlsDHVerifierTlsDHKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, TlsDHVerifier dhVerifier, DHParameters dhParameters)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
generateClientKeyExchange(java.io.OutputStream output)
byte[]
generatePremasterSecret()
byte[]
generateServerKeyExchange()
void
init(TlsContext context)
void
processClientCertificate(Certificate clientCertificate)
void
processClientCredentials(TlsCredentials clientCredentials)
void
processClientKeyExchange(java.io.InputStream input)
void
processServerCertificate(Certificate serverCertificate)
void
processServerKeyExchange(java.io.InputStream input)
boolean
requiresServerKeyExchange()
void
skipServerCredentials()
void
validateCertificateRequest(CertificateRequest certificateRequest)
-
Methods inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
parseSignature, processServerCredentials, skipClientCredentials, skipServerKeyExchange
-
-
-
-
Field Detail
-
tlsSigner
protected TlsSigner tlsSigner
-
dhVerifier
protected TlsDHVerifier dhVerifier
-
dhParameters
protected DHParameters dhParameters
-
serverPublicKey
protected AsymmetricKeyParameter serverPublicKey
-
agreementCredentials
protected TlsAgreementCredentials agreementCredentials
-
dhAgreePrivateKey
protected DHPrivateKeyParameters dhAgreePrivateKey
-
dhAgreePublicKey
protected DHPublicKeyParameters dhAgreePublicKey
-
-
Constructor Detail
-
TlsDHKeyExchange
public TlsDHKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, DHParameters dhParameters)
Deprecated.Use constructor that takes a TlsDHVerifier
-
TlsDHKeyExchange
public TlsDHKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, TlsDHVerifier dhVerifier, DHParameters dhParameters)
-
-
Method Detail
-
init
public void init(TlsContext context)
- Specified by:
init
in interfaceTlsKeyExchange
- Overrides:
init
in 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:
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
-
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
-
processClientCertificate
public void processClientCertificate(Certificate clientCertificate) throws java.io.IOException
- Specified by:
processClientCertificate
in interfaceTlsKeyExchange
- Overrides:
processClientCertificate
in classAbstractTlsKeyExchange
- 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 byte[] generatePremasterSecret() throws java.io.IOException
- Throws:
java.io.IOException
-
-