org.bouncycastle.crypto.tls
Class TlsDHKeyExchange
java.lang.Object
org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
org.bouncycastle.crypto.tls.TlsDHKeyExchange
- All Implemented Interfaces:
- TlsKeyExchange
- Direct Known Subclasses:
- TlsDHEKeyExchange
public class TlsDHKeyExchange
- extends AbstractTlsKeyExchange
TLS 1.0/1.1 DH key exchange.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ONE
protected static final java.math.BigInteger ONE
TWO
protected static final java.math.BigInteger TWO
tlsSigner
protected TlsSigner tlsSigner
dhParameters
protected DHParameters dhParameters
serverPublicKey
protected AsymmetricKeyParameter serverPublicKey
dhAgreeServerPublicKey
protected DHPublicKeyParameters dhAgreeServerPublicKey
agreementCredentials
protected TlsAgreementCredentials agreementCredentials
dhAgreeClientPrivateKey
protected DHPrivateKeyParameters dhAgreeClientPrivateKey
dhAgreeClientPublicKey
protected DHPublicKeyParameters dhAgreeClientPublicKey
TlsDHKeyExchange
public TlsDHKeyExchange(int keyExchange,
java.util.Vector supportedSignatureAlgorithms,
DHParameters dhParameters)
init
public void init(TlsContext context)
- Specified by:
init
in interface TlsKeyExchange
- Overrides:
init
in class AbstractTlsKeyExchange
skipServerCredentials
public void skipServerCredentials()
throws java.io.IOException
- Throws:
java.io.IOException
processServerCertificate
public void processServerCertificate(Certificate serverCertificate)
throws java.io.IOException
- Specified by:
processServerCertificate
in interface TlsKeyExchange
- Overrides:
processServerCertificate
in class AbstractTlsKeyExchange
- Throws:
java.io.IOException
requiresServerKeyExchange
public boolean requiresServerKeyExchange()
- Specified by:
requiresServerKeyExchange
in interface TlsKeyExchange
- Overrides:
requiresServerKeyExchange
in class AbstractTlsKeyExchange
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
generatePremasterSecret
public byte[] generatePremasterSecret()
throws java.io.IOException
- Throws:
java.io.IOException
areCompatibleParameters
protected boolean areCompatibleParameters(DHParameters a,
DHParameters b)
calculateDHBasicAgreement
protected byte[] calculateDHBasicAgreement(DHPublicKeyParameters publicKey,
DHPrivateKeyParameters privateKey)
generateDHKeyPair
protected AsymmetricCipherKeyPair generateDHKeyPair(DHParameters dhParams)
validateDHPublicKey
protected DHPublicKeyParameters validateDHPublicKey(DHPublicKeyParameters key)
throws java.io.IOException
- Throws:
java.io.IOException