Package org.bouncycastle.crypto.tls
Class TlsECDHKeyExchange
- java.lang.Object
-
- org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
-
- org.bouncycastle.crypto.tls.TlsECDHKeyExchange
-
- All Implemented Interfaces:
TlsKeyExchange
- Direct Known Subclasses:
TlsECDHEKeyExchange
public class TlsECDHKeyExchange extends AbstractTlsKeyExchange
(D)TLS ECDH key exchange (see RFC 4492).
-
-
Field Summary
Fields Modifier and Type Field Description protected TlsAgreementCredentialsagreementCredentialsprotected short[]clientECPointFormatsprotected ECPrivateKeyParametersecAgreePrivateKeyprotected ECPublicKeyParametersecAgreePublicKeyprotected int[]namedCurvesprotected short[]serverECPointFormatsprotected AsymmetricKeyParameterserverPublicKeyprotected TlsSignertlsSigner-
Fields inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
context, keyExchange, supportedSignatureAlgorithms
-
-
Constructor Summary
Constructors Constructor Description TlsECDHKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, int[] namedCurves, short[] clientECPointFormats, short[] serverECPointFormats)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidgenerateClientKeyExchange(java.io.OutputStream output)byte[]generatePremasterSecret()byte[]generateServerKeyExchange()voidinit(TlsContext context)voidprocessClientCertificate(Certificate clientCertificate)voidprocessClientCredentials(TlsCredentials clientCredentials)voidprocessClientKeyExchange(java.io.InputStream input)voidprocessServerCertificate(Certificate serverCertificate)voidprocessServerKeyExchange(java.io.InputStream input)booleanrequiresServerKeyExchange()voidskipServerCredentials()voidvalidateCertificateRequest(CertificateRequest certificateRequest)-
Methods inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
parseSignature, processServerCredentials, skipClientCredentials, skipServerKeyExchange
-
-
-
-
Field Detail
-
tlsSigner
protected TlsSigner tlsSigner
-
namedCurves
protected int[] namedCurves
-
clientECPointFormats
protected short[] clientECPointFormats
-
serverECPointFormats
protected short[] serverECPointFormats
-
serverPublicKey
protected AsymmetricKeyParameter serverPublicKey
-
agreementCredentials
protected TlsAgreementCredentials agreementCredentials
-
ecAgreePrivateKey
protected ECPrivateKeyParameters ecAgreePrivateKey
-
ecAgreePublicKey
protected ECPublicKeyParameters ecAgreePublicKey
-
-
Method Detail
-
init
public void init(TlsContext context)
- Specified by:
initin interfaceTlsKeyExchange- Overrides:
initin 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:
processServerCertificatein interfaceTlsKeyExchange- Overrides:
processServerCertificatein classAbstractTlsKeyExchange- Throws:
java.io.IOException
-
requiresServerKeyExchange
public boolean requiresServerKeyExchange()
- Specified by:
requiresServerKeyExchangein interfaceTlsKeyExchange- Overrides:
requiresServerKeyExchangein classAbstractTlsKeyExchange
-
generateServerKeyExchange
public byte[] generateServerKeyExchange() throws java.io.IOException- Specified by:
generateServerKeyExchangein interfaceTlsKeyExchange- Overrides:
generateServerKeyExchangein classAbstractTlsKeyExchange- Throws:
java.io.IOException
-
processServerKeyExchange
public void processServerKeyExchange(java.io.InputStream input) throws java.io.IOException- Specified by:
processServerKeyExchangein interfaceTlsKeyExchange- Overrides:
processServerKeyExchangein 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:
processClientCertificatein interfaceTlsKeyExchange- Overrides:
processClientCertificatein classAbstractTlsKeyExchange- Throws:
java.io.IOException
-
processClientKeyExchange
public void processClientKeyExchange(java.io.InputStream input) throws java.io.IOException- Specified by:
processClientKeyExchangein interfaceTlsKeyExchange- Overrides:
processClientKeyExchangein classAbstractTlsKeyExchange- Throws:
java.io.IOException
-
generatePremasterSecret
public byte[] generatePremasterSecret() throws java.io.IOException- Throws:
java.io.IOException
-
-