public class TlsDHKeyExchange extends AbstractTlsKeyExchange
Modifier and Type | Field and Description |
---|---|
protected TlsAgreementCredentials |
agreementCredentials |
protected DHPrivateKeyParameters |
dhAgreePrivateKey |
protected DHPublicKeyParameters |
dhAgreePublicKey |
protected DHParameters |
dhParameters |
protected AsymmetricKeyParameter |
serverPublicKey |
protected TlsSigner |
tlsSigner |
context, keyExchange, supportedSignatureAlgorithms
Constructor and Description |
---|
TlsDHKeyExchange(int keyExchange,
java.util.Vector supportedSignatureAlgorithms,
DHParameters dhParameters) |
Modifier and Type | Method and 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) |
parseSignature, processServerCredentials, skipClientCredentials, skipServerKeyExchange
protected TlsSigner tlsSigner
protected DHParameters dhParameters
protected AsymmetricKeyParameter serverPublicKey
protected TlsAgreementCredentials agreementCredentials
protected DHPrivateKeyParameters dhAgreePrivateKey
protected DHPublicKeyParameters dhAgreePublicKey
public TlsDHKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, DHParameters dhParameters)
public void init(TlsContext context)
init
in interface TlsKeyExchange
init
in class AbstractTlsKeyExchange
public void skipServerCredentials() 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 void validateCertificateRequest(CertificateRequest certificateRequest) throws java.io.IOException
java.io.IOException
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 processClientCertificate(Certificate clientCertificate) throws java.io.IOException
processClientCertificate
in interface TlsKeyExchange
processClientCertificate
in class AbstractTlsKeyExchange
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 byte[] generatePremasterSecret() throws java.io.IOException
java.io.IOException
protected int getMinimumPrimeBits()
protected DHParameters validateDHParameters(DHParameters params) throws java.io.IOException
java.io.IOException