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 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)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
generateClientKeyExchange(java.io.OutputStream output)
byte[]
generatePremasterSecret()
byte[]
generateServerKeyExchange()
protected int
getMinimumPrimeBits()
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)
protected DHParameters
validateDHParameters(DHParameters params)
-
Methods inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
parseSignature, processServerCredentials, skipClientCredentials, skipServerKeyExchange
-
-
-
-
Field Detail
-
tlsSigner
protected TlsSigner tlsSigner
-
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)
-
-
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
-
getMinimumPrimeBits
protected int getMinimumPrimeBits()
-
validateDHParameters
protected DHParameters validateDHParameters(DHParameters params) throws java.io.IOException
- Throws:
java.io.IOException
-
-