TlsKeyExchange (Bouncy Castle Library 1.54 API Specification)
Date: 2015-12-29

org.bouncycastle.crypto.tls

## Interface TlsKeyExchange

- All Known Implementing Classes:
    AbstractTlsKeyExchange, TlsDHEKeyExchange, TlsDHKeyExchange, TlsECDHEKeyExchange, TlsECDHKeyExchange, TlsPSKKeyExchange, TlsRSAKeyExchange, TlsSRPKeyExchange

      public interface TlsKeyExchange

  A generic interface for key exchange implementations in (D)TLS.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `generateClientKeyExchange(java.io.OutputStream output)`
    `byte[]` | `generatePremasterSecret()`
    `byte[]` | `generateServerKeyExchange()`
    `void` | `init(TlsContext context)`
    `void` | `processClientCertificate(Certificate clientCertificate)`
    `void` | `processClientCredentials(TlsCredentials clientCredentials)`
    `void` | `processClientKeyExchange(java.io.InputStream input)`
    `void` | `processServerCertificate(Certificate serverCertificate)`
    `void` | `processServerCredentials(TlsCredentials serverCredentials)`
    `void` | `processServerKeyExchange(java.io.InputStream input)`
    `boolean` | `requiresServerKeyExchange()`
    `void` | `skipClientCredentials()`
    `void` | `skipServerCredentials()`
    `void` | `skipServerKeyExchange()`
    `void` | `validateCertificateRequest(CertificateRequest certificateRequest)`

- - ### Method Detail

    - #### init

          void init(TlsContext context)

    - #### skipServerCredentials

          void skipServerCredentials()
                                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### processServerCredentials

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

      Throws:
        `java.io.IOException`

    - #### processServerCertificate

          void processServerCertificate(Certificate serverCertificate)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### requiresServerKeyExchange

          boolean requiresServerKeyExchange()

    - #### generateServerKeyExchange

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

      Throws:
        `java.io.IOException`

    - #### skipServerKeyExchange

          void skipServerKeyExchange()
                                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### processServerKeyExchange

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

      Throws:
        `java.io.IOException`

    - #### validateCertificateRequest

          void validateCertificateRequest(CertificateRequest certificateRequest)
                                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### skipClientCredentials

          void skipClientCredentials()
                                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### processClientCredentials

          void processClientCredentials(TlsCredentials clientCredentials)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### processClientCertificate

          void processClientCertificate(Certificate clientCertificate)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### generateClientKeyExchange

          void generateClientKeyExchange(java.io.OutputStream output)
                                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### processClientKeyExchange

          void processClientKeyExchange(java.io.InputStream input)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### generatePremasterSecret

          byte[] generatePremasterSecret()
                                         throws java.io.IOException

      Throws:
        `java.io.IOException`