TlsDHEKeyExchange (Bouncy Castle Library 1.52 API Specification)
Date: 2015-03-01

org.bouncycastle.crypto.tls

## Class TlsDHEKeyExchange

- java.lang.Object
- - org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
  - - org.bouncycastle.crypto.tls.TlsDHKeyExchange
    - - org.bouncycastle.crypto.tls.TlsDHEKeyExchange

- All Implemented Interfaces:
    TlsKeyExchange

      public class TlsDHEKeyExchange
      extends TlsDHKeyExchange

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected TlsSignerCredentials` | `serverCredentials`

    - ### Fields inherited from class org.bouncycastle.crypto.tls.TlsDHKeyExchange

      `agreementCredentials, dhAgreePrivateKey, dhAgreePublicKey, dhParameters, serverPublicKey, tlsSigner`

    - ### Fields inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange

      `context, keyExchange, supportedSignatureAlgorithms`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TlsDHEKeyExchange(int keyExchange, java.util.Vector supportedSignatureAlgorithms, DHParameters dhParameters)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `generateServerKeyExchange()`
    `protected Signer` | `initVerifyer(TlsSigner tlsSigner, SignatureAndHashAlgorithm algorithm, SecurityParameters securityParameters)`
    `void` | `processServerCredentials(TlsCredentials serverCredentials)`
    `void` | `processServerKeyExchange(java.io.InputStream input)`

    - ### Methods inherited from class org.bouncycastle.crypto.tls.TlsDHKeyExchange

      `generateClientKeyExchange, generatePremasterSecret, init, processClientCertificate, processClientCredentials, processClientKeyExchange, processServerCertificate, requiresServerKeyExchange, skipServerCredentials, validateCertificateRequest`

    - ### Methods inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange

      `skipClientCredentials, skipServerKeyExchange`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### serverCredentials

          protected TlsSignerCredentials serverCredentials

  - ### Constructor Detail

    - #### TlsDHEKeyExchange

          public TlsDHEKeyExchange(int keyExchange,
                           java.util.Vector supportedSignatureAlgorithms,
                           DHParameters dhParameters)

  - ### Method Detail

    - #### processServerCredentials

          public void processServerCredentials(TlsCredentials serverCredentials)
                                        throws java.io.IOException

      Specified by:
        `processServerCredentials` in interface `TlsKeyExchange`
      Overrides:
        `processServerCredentials` in class `AbstractTlsKeyExchange`
      Throws:
        `java.io.IOException`

    - #### generateServerKeyExchange

          public byte[] generateServerKeyExchange()
                                           throws java.io.IOException

      Specified by:
        `generateServerKeyExchange` in interface `TlsKeyExchange`
      Overrides:
        `generateServerKeyExchange` in class `AbstractTlsKeyExchange`
      Throws:
        `java.io.IOException`

    - #### processServerKeyExchange

          public void processServerKeyExchange(java.io.InputStream input)
                                        throws java.io.IOException

      Specified by:
        `processServerKeyExchange` in interface `TlsKeyExchange`
      Overrides:
        `processServerKeyExchange` in class `AbstractTlsKeyExchange`
      Throws:
        `java.io.IOException`

    - #### initVerifyer

          protected Signer initVerifyer(TlsSigner tlsSigner,
                            SignatureAndHashAlgorithm algorithm,
                            SecurityParameters securityParameters)