class TlsDHKeyExchange extends java.lang.Object implements TlsKeyExchange
Modifier and Type | Field and Description |
---|---|
protected TlsAgreementCredentials |
agreementCredentials |
protected TlsClientContext |
context |
protected DHPrivateKeyParameters |
dhAgreeClientPrivateKey |
protected DHPublicKeyParameters |
dhAgreeServerPublicKey |
protected int |
keyExchange |
protected static java.math.BigInteger |
ONE |
protected AsymmetricKeyParameter |
serverPublicKey |
protected TlsSigner |
tlsSigner |
protected static java.math.BigInteger |
TWO |
Constructor and Description |
---|
TlsDHKeyExchange(TlsClientContext context,
int keyExchange) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
areCompatibleParameters(DHParameters a,
DHParameters b) |
protected byte[] |
calculateDHBasicAgreement(DHPublicKeyParameters publicKey,
DHPrivateKeyParameters privateKey) |
void |
generateClientKeyExchange(java.io.OutputStream os) |
protected AsymmetricCipherKeyPair |
generateDHKeyPair(DHParameters dhParams) |
protected void |
generateEphemeralClientKeyExchange(DHParameters dhParams,
java.io.OutputStream os) |
byte[] |
generatePremasterSecret() |
void |
processClientCredentials(TlsCredentials clientCredentials) |
void |
processServerCertificate(Certificate serverCertificate) |
void |
processServerKeyExchange(java.io.InputStream is) |
void |
skipClientCredentials() |
void |
skipServerCertificate() |
void |
skipServerKeyExchange() |
void |
validateCertificateRequest(CertificateRequest certificateRequest) |
protected DHPublicKeyParameters |
validateDHPublicKey(DHPublicKeyParameters key) |
protected static final java.math.BigInteger ONE
protected static final java.math.BigInteger TWO
protected TlsClientContext context
protected int keyExchange
protected TlsSigner tlsSigner
protected AsymmetricKeyParameter serverPublicKey
protected DHPublicKeyParameters dhAgreeServerPublicKey
protected TlsAgreementCredentials agreementCredentials
protected DHPrivateKeyParameters dhAgreeClientPrivateKey
TlsDHKeyExchange(TlsClientContext context, int keyExchange)
public void skipServerCertificate() throws java.io.IOException
skipServerCertificate
in interface TlsKeyExchange
java.io.IOException
public void processServerCertificate(Certificate serverCertificate) throws java.io.IOException
processServerCertificate
in interface TlsKeyExchange
java.io.IOException
public void skipServerKeyExchange() throws java.io.IOException
skipServerKeyExchange
in interface TlsKeyExchange
java.io.IOException
public void processServerKeyExchange(java.io.InputStream is) throws java.io.IOException
processServerKeyExchange
in interface TlsKeyExchange
java.io.IOException
public void validateCertificateRequest(CertificateRequest certificateRequest) throws java.io.IOException
validateCertificateRequest
in interface TlsKeyExchange
java.io.IOException
public void skipClientCredentials() throws java.io.IOException
skipClientCredentials
in interface TlsKeyExchange
java.io.IOException
public void processClientCredentials(TlsCredentials clientCredentials) throws java.io.IOException
processClientCredentials
in interface TlsKeyExchange
java.io.IOException
public void generateClientKeyExchange(java.io.OutputStream os) throws java.io.IOException
generateClientKeyExchange
in interface TlsKeyExchange
java.io.IOException
public byte[] generatePremasterSecret() throws java.io.IOException
generatePremasterSecret
in interface TlsKeyExchange
java.io.IOException
protected boolean areCompatibleParameters(DHParameters a, DHParameters b)
protected byte[] calculateDHBasicAgreement(DHPublicKeyParameters publicKey, DHPrivateKeyParameters privateKey)
protected AsymmetricCipherKeyPair generateDHKeyPair(DHParameters dhParams)
protected void generateEphemeralClientKeyExchange(DHParameters dhParams, java.io.OutputStream os) throws java.io.IOException
java.io.IOException
protected DHPublicKeyParameters validateDHPublicKey(DHPublicKeyParameters key) throws java.io.IOException
java.io.IOException