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

org.bouncycastle.crypto.tls

## Interface TlsContext

- All Known Subinterfaces:
    TlsClientContext, TlsServerContext

      public interface TlsContext

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `exportKeyingMaterial(java.lang.String asciiLabel, byte[] context_value, int length)` Export keying material according to RFC 5705: "Keying Material Exporters for TLS".
    `ProtocolVersion` | `getClientVersion()`
    `RandomGenerator` | `getNonceRandomGenerator()`
    `TlsSession` | `getResumableSession()` Used to get the resumable session, if any, used by this connection.
    `java.security.SecureRandom` | `getSecureRandom()`
    `SecurityParameters` | `getSecurityParameters()`
    `ProtocolVersion` | `getServerVersion()`
    `java.lang.Object` | `getUserObject()`
    `boolean` | `isServer()`
    `void` | `setUserObject(java.lang.Object userObject)`

- - ### Method Detail

    - #### getNonceRandomGenerator

          RandomGenerator getNonceRandomGenerator()

    - #### getSecureRandom

          java.security.SecureRandom getSecureRandom()

    - #### getSecurityParameters

          SecurityParameters getSecurityParameters()

    - #### isServer

          boolean isServer()

    - #### getClientVersion

          ProtocolVersion getClientVersion()

    - #### getServerVersion

          ProtocolVersion getServerVersion()

    - #### getResumableSession

          TlsSession getResumableSession()

      Used to get the resumable session, if any, used by this connection. Only available after the handshake has successfully completed.
      Returns:
        A `TlsSession` representing the resumable session used by this connection, or null if no resumable session available.
      See Also:
        `TlsPeer.notifyHandshakeComplete()`

    - #### getUserObject

          java.lang.Object getUserObject()

    - #### setUserObject

          void setUserObject(java.lang.Object userObject)

    - #### exportKeyingMaterial

          byte[] exportKeyingMaterial(java.lang.String asciiLabel,
                                    byte[] context_value,
                                    int length)

      Export keying material according to RFC 5705: "Keying Material Exporters for TLS".
      Parameters:
        `asciiLabel` - indicates which application will use the exported keys.
        `context_value` - allows the application using the exporter to mix its own data with the TLS PRF for the exporter output.
        `length` - the number of bytes to generate
      Returns:
        a pseudorandom bit string of 'length' bytes generated from the master_secret.