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

org.bouncycastle.crypto.tls

## Interface TlsPeer

- All Known Subinterfaces:
    TlsClient, TlsServer
  All Known Implementing Classes:
    AbstractTlsClient, AbstractTlsPeer, AbstractTlsServer, DefaultTlsClient, DefaultTlsServer, MockDTLSClient, MockDTLSServer, PSKTlsClient, PSKTlsServer, SRPTlsClient, SRPTlsServer

      public interface TlsPeer

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TlsCipher` | `getCipher()`
    `TlsCompression` | `getCompression()`
    `void` | `notifyAlertRaised(short alertLevel, short alertDescription, java.lang.String message, java.lang.Throwable cause)` This method will be called when an alert is raised by the protocol.
    `void` | `notifyAlertReceived(short alertLevel, short alertDescription)` This method will be called when an alert is received from the remote peer.
    `void` | `notifyHandshakeComplete()` Notifies the peer that the handshake has been successfully completed.
    `void` | `notifySecureRenegotiation(boolean secureNegotiation)`
    `boolean` | `shouldUseGMTUnixTime()` draft-mathewson-no-gmtunixtime-00 2.

- - ### Method Detail

    - #### shouldUseGMTUnixTime

          boolean shouldUseGMTUnixTime()

      draft-mathewson-no-gmtunixtime-00 2. "If existing users of a TLS implementation may rely on gmt_unix_time containing the current time, we recommend that implementors MAY provide the ability to set gmt_unix_time as an option only, off by default."
      Returns:
        `true` if the current time should be used in the gmt_unix_time field of Random, or `false` if gmt_unix_time should contain a cryptographically random value.

    - #### notifySecureRenegotiation

          void notifySecureRenegotiation(boolean secureNegotiation)
                                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getCompression

          TlsCompression getCompression()
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getCipher

          TlsCipher getCipher()
                              throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### notifyAlertRaised

          void notifyAlertRaised(short alertLevel,
                               short alertDescription,
                               java.lang.String message,
                               java.lang.Throwable cause)

      This method will be called when an alert is raised by the protocol.
      Parameters:
        `alertLevel` - `AlertLevel`
        `alertDescription` - `AlertDescription`
        `message` - A human-readable message explaining what caused this alert. May be null.
        `cause` - The `Throwable` that caused this alert to be raised. May be null.

    - #### notifyAlertReceived

          void notifyAlertReceived(short alertLevel,
                                 short alertDescription)

      This method will be called when an alert is received from the remote peer.
      Parameters:
        `alertLevel` - `AlertLevel`
        `alertDescription` - `AlertDescription`

    - #### notifyHandshakeComplete

          void notifyHandshakeComplete()
                                       throws java.io.IOException

      Notifies the peer that the handshake has been successfully completed.
      Throws:
        `java.io.IOException`