class TlsECDHKeyExchange extends java.lang.Object implements TlsKeyExchange
Modifier and Type | Field and Description |
---|---|
protected TlsAgreementCredentials |
agreementCredentials |
protected TlsClientContext |
context |
protected ECPrivateKeyParameters |
ecAgreeClientPrivateKey |
protected ECPublicKeyParameters |
ecAgreeServerPublicKey |
protected int |
keyExchange |
protected AsymmetricKeyParameter |
serverPublicKey |
protected TlsSigner |
tlsSigner |
Constructor and Description |
---|
TlsECDHKeyExchange(TlsClientContext context,
int keyExchange) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
areOnSameCurve(ECDomainParameters a,
ECDomainParameters b) |
protected byte[] |
calculateECDHBasicAgreement(ECPublicKeyParameters publicKey,
ECPrivateKeyParameters privateKey) |
protected byte[] |
externalizeKey(ECPublicKeyParameters keyParameters) |
void |
generateClientKeyExchange(java.io.OutputStream os) |
protected AsymmetricCipherKeyPair |
generateECKeyPair(ECDomainParameters ecParams) |
protected void |
generateEphemeralClientKeyExchange(ECDomainParameters ecParams,
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 ECPublicKeyParameters |
validateECPublicKey(ECPublicKeyParameters key) |
protected TlsClientContext context
protected int keyExchange
protected TlsSigner tlsSigner
protected AsymmetricKeyParameter serverPublicKey
protected ECPublicKeyParameters ecAgreeServerPublicKey
protected TlsAgreementCredentials agreementCredentials
protected ECPrivateKeyParameters ecAgreeClientPrivateKey
TlsECDHKeyExchange(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 areOnSameCurve(ECDomainParameters a, ECDomainParameters b)
protected byte[] externalizeKey(ECPublicKeyParameters keyParameters) throws java.io.IOException
java.io.IOException
protected AsymmetricCipherKeyPair generateECKeyPair(ECDomainParameters ecParams)
protected void generateEphemeralClientKeyExchange(ECDomainParameters ecParams, java.io.OutputStream os) throws java.io.IOException
java.io.IOException
protected byte[] calculateECDHBasicAgreement(ECPublicKeyParameters publicKey, ECPrivateKeyParameters privateKey)
protected ECPublicKeyParameters validateECPublicKey(ECPublicKeyParameters key) throws java.io.IOException
java.io.IOException