Interface TlsContext

All Known Subinterfaces:
TlsClientContext, TlsServerContext

public interface TlsContext
Base interface for a TLS context implementation.
  • Method Details

    • getCrypto

      TlsCrypto getCrypto()
    • getNonceGenerator

      TlsNonceGenerator getNonceGenerator()
    • getSecurityParameters

      SecurityParameters getSecurityParameters()
    • getSecurityParametersConnection

      SecurityParameters getSecurityParametersConnection()
    • getSecurityParametersHandshake

      SecurityParameters getSecurityParametersHandshake()
    • isServer

      boolean isServer()
      Return true if this context is for a server, false otherwise.
      Returns:
      true for a server based context, false for a client based one.
    • getClientSupportedVersions

      ProtocolVersion[] getClientSupportedVersions()
    • getClientVersion

      ProtocolVersion getClientVersion()
    • getRSAPreMasterSecretVersion

      ProtocolVersion getRSAPreMasterSecretVersion()
    • 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:
    • getSession

      TlsSession getSession()
      Used to get the session information for this connection. Only available after the handshake has successfully completed. Use TlsSession.isResumable() to find out if the session is resumable.
      Returns:
      A TlsSession representing the session used by this connection.
      See Also:
    • getUserObject

      Object getUserObject()
    • setUserObject

      void setUserObject(Object userObject)
    • exportChannelBinding

      byte[] exportChannelBinding(int channelBinding)
      Export the value of the specified channel binding. Only available after the handshake has successfully completed.
      Parameters:
      channelBinding - A ChannelBinding constant specifying the channel binding to export.
      Returns:
      A copy of the channel binding data as a
      invalid reference
      byte[]
      , or null if the binding could not be determined.
    • exportEarlyKeyingMaterial

      byte[] exportEarlyKeyingMaterial(String asciiLabel, byte[] context_value, int length)
      Export (early data) keying material according to RFC 5705: "Keying Material Exporters for TLS", as updated for TLS 1.3 (RFC 8446). NOTE: for use in settings where an exporter is needed for 0-RTT data.
      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 (exporter_)master_secret.
    • exportKeyingMaterial

      byte[] exportKeyingMaterial(String asciiLabel, byte[] context_value, int length)
      Export keying material according to RFC 5705: "Keying Material Exporters for TLS", as updated for TLS 1.3 (RFC 8446) when negotiated.
      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 (exporter_)master_secret.