public class TlsECDHEKeyExchange extends AbstractTlsKeyExchange
Modifier and Type | Field and Description |
---|---|
protected TlsAgreement |
agreement |
protected TlsECConfig |
ecConfig |
protected TlsCertificate |
serverCertificate |
protected TlsCredentialedSigner |
serverCredentials |
context, keyExchange
Constructor and Description |
---|
TlsECDHEKeyExchange(int keyExchange) |
TlsECDHEKeyExchange(int keyExchange,
TlsECConfig ecConfig) |
Modifier and Type | Method and Description |
---|---|
void |
generateClientKeyExchange(java.io.OutputStream output) |
protected void |
generateEphemeral(java.io.OutputStream output) |
TlsSecret |
generatePreMasterSecret() |
byte[] |
generateServerKeyExchange() |
short[] |
getClientCertificateTypes() |
void |
processClientCredentials(TlsCredentials clientCredentials) |
void |
processClientKeyExchange(java.io.InputStream input) |
protected void |
processEphemeral(byte[] point) |
void |
processServerCertificate(Certificate serverCertificate) |
void |
processServerCredentials(TlsCredentials serverCredentials) |
void |
processServerKeyExchange(java.io.InputStream input) |
boolean |
requiresServerKeyExchange() |
void |
skipServerCredentials() |
init, processClientCertificate, requiresCertificateVerify, skipClientCredentials, skipServerKeyExchange
protected TlsECConfig ecConfig
protected TlsCredentialedSigner serverCredentials
protected TlsCertificate serverCertificate
protected TlsAgreement agreement
public TlsECDHEKeyExchange(int keyExchange)
public TlsECDHEKeyExchange(int keyExchange, TlsECConfig ecConfig)
public void skipServerCredentials() throws java.io.IOException
java.io.IOException
public void processServerCredentials(TlsCredentials serverCredentials) throws java.io.IOException
java.io.IOException
public void processServerCertificate(Certificate serverCertificate) throws java.io.IOException
processServerCertificate
in interface TlsKeyExchange
processServerCertificate
in class AbstractTlsKeyExchange
java.io.IOException
public boolean requiresServerKeyExchange()
requiresServerKeyExchange
in interface TlsKeyExchange
requiresServerKeyExchange
in class AbstractTlsKeyExchange
public byte[] generateServerKeyExchange() throws java.io.IOException
generateServerKeyExchange
in interface TlsKeyExchange
generateServerKeyExchange
in class AbstractTlsKeyExchange
java.io.IOException
public void processServerKeyExchange(java.io.InputStream input) throws java.io.IOException
processServerKeyExchange
in interface TlsKeyExchange
processServerKeyExchange
in class AbstractTlsKeyExchange
java.io.IOException
public short[] getClientCertificateTypes()
getClientCertificateTypes
in interface TlsKeyExchange
getClientCertificateTypes
in class AbstractTlsKeyExchange
public void processClientCredentials(TlsCredentials clientCredentials) throws java.io.IOException
java.io.IOException
public void generateClientKeyExchange(java.io.OutputStream output) throws java.io.IOException
java.io.IOException
public void processClientKeyExchange(java.io.InputStream input) throws java.io.IOException
processClientKeyExchange
in interface TlsKeyExchange
processClientKeyExchange
in class AbstractTlsKeyExchange
java.io.IOException
public TlsSecret generatePreMasterSecret() throws java.io.IOException
java.io.IOException
protected void generateEphemeral(java.io.OutputStream output) throws java.io.IOException
java.io.IOException
protected void processEphemeral(byte[] point) throws java.io.IOException
java.io.IOException