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

org.bouncycastle.crypto.tls

## Class DefaultTlsClient

- java.lang.Object
- - org.bouncycastle.crypto.tls.AbstractTlsPeer
  - - org.bouncycastle.crypto.tls.AbstractTlsClient
    - - org.bouncycastle.crypto.tls.DefaultTlsClient

- All Implemented Interfaces:
    TlsClient, TlsPeer
  Direct Known Subclasses:
    MockDTLSClient

      public abstract class DefaultTlsClient
      extends AbstractTlsClient

- - ### Field Summary

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

      `cipherFactory, clientECPointFormats, context, namedCurves, selectedCipherSuite, selectedCompressionMethod, serverECPointFormats, supportedSignatureAlgorithms`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultTlsClient()`
    `DefaultTlsClient(TlsCipherFactory cipherFactory)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected TlsKeyExchange` | `createDHEKeyExchange(int keyExchange)`
    `protected TlsKeyExchange` | `createDHKeyExchange(int keyExchange)`
    `protected TlsKeyExchange` | `createECDHEKeyExchange(int keyExchange)`
    `protected TlsKeyExchange` | `createECDHKeyExchange(int keyExchange)`
    `protected TlsKeyExchange` | `createRSAKeyExchange()`
    `TlsCipher` | `getCipher()`
    `int[]` | `getCipherSuites()`
    `TlsKeyExchange` | `getKeyExchange()`

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

      `allowUnexpectedServerExtension, checkForUnexpectedServerExtension, getClientExtensions, getClientHelloRecordLayerVersion, getClientSupplementalData, getClientVersion, getCompression, getCompressionMethods, getMinimumVersion, getSessionToResume, init, isFallback, notifyNewSessionTicket, notifySelectedCipherSuite, notifySelectedCompressionMethod, notifyServerVersion, notifySessionID, processServerExtensions, processServerSupplementalData`

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

      `notifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation, shouldUseGMTUnixTime`

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

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

    - ### Methods inherited from interface org.bouncycastle.crypto.tls.TlsClient

      `getAuthentication`

    - ### Methods inherited from interface org.bouncycastle.crypto.tls.TlsPeer

      `notifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation, shouldUseGMTUnixTime`

- - ### Constructor Detail

    - #### DefaultTlsClient

          public DefaultTlsClient()

    - #### DefaultTlsClient

          public DefaultTlsClient(TlsCipherFactory cipherFactory)

  - ### Method Detail

    - #### getCipherSuites

          public int[] getCipherSuites()

    - #### getKeyExchange

          public TlsKeyExchange getKeyExchange()
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getCipher

          public TlsCipher getCipher()
                              throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### createDHKeyExchange

          protected TlsKeyExchange createDHKeyExchange(int keyExchange)

    - #### createDHEKeyExchange

          protected TlsKeyExchange createDHEKeyExchange(int keyExchange)

    - #### createECDHKeyExchange

          protected TlsKeyExchange createECDHKeyExchange(int keyExchange)

    - #### createECDHEKeyExchange

          protected TlsKeyExchange createECDHEKeyExchange(int keyExchange)

    - #### createRSAKeyExchange

          protected TlsKeyExchange createRSAKeyExchange()