TLSProtocol

org.apache.pekko.stream.TLSProtocol
object TLSProtocol

Attributes

Source
SslTlsOptions.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

case class NegotiateNewSession(enabledCipherSuites: Option[Seq[String]], enabledProtocols: Option[Seq[String]], clientAuth: Option[TLSClientAuth], sslParameters: Option[SSLParameters]) extends SslTlsOutbound

Initiate a new session negotiation. Any SendBytes commands following this one will be held back (i.e. back-pressured) until the new handshake is completed, meaning that the bytes following this message will be encrypted according to the requirements outlined here.

Initiate a new session negotiation. Any SendBytes commands following this one will be held back (i.e. back-pressured) until the new handshake is completed, meaning that the bytes following this message will be encrypted according to the requirements outlined here.

Each of the values in this message is optional and will have the following effect if provided:

  • enabledCipherSuites will be passed to SSLEngine::setEnabledCipherSuites()
  • enabledProtocols will be passed to SSLEngine::setEnabledProtocols()
  • clientAuth will be passed to SSLEngine::setWantClientAuth() or SSLEngine.setNeedClientAuth(), respectively
  • sslParameters will be passed to SSLEngine::setSSLParameters()

Please note that passing clientAuth = None means that no change is done on client authentication requirements while clientAuth = Some(ClientAuth.None) switches off client authentication.

Attributes

Companion
object
Source
SslTlsOptions.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
class
Source
SslTlsOptions.scala
Supertypes
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
final case class SendBytes(bytes: ByteString) extends SslTlsOutbound

Send the given pekko.util.ByteString across the encrypted session to the peer.

Send the given pekko.util.ByteString across the encrypted session to the peer.

Attributes

Source
SslTlsOptions.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class SessionBytes(session: SSLSession, bytes: ByteString) extends SslTlsInbound, ScalaSessionAPI

Plaintext bytes emitted by the SSLEngine are received over one specific encryption session and this class bundles the bytes with the SSLSession object. When the session changes due to renegotiation (which can be initiated by either party) the new session value will not compare equal to the previous one.

Plaintext bytes emitted by the SSLEngine are received over one specific encryption session and this class bundles the bytes with the SSLSession object. When the session changes due to renegotiation (which can be initiated by either party) the new session value will not compare equal to the previous one.

The Java API for getting session information is given by the SSLSession object, the Scala API adapters are offered below.

Attributes

Source
SslTlsOptions.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class SessionTruncated extends SslTlsInbound

If the underlying transport is closed before the final TLS closure command is received from the peer then the SSLEngine will throw an SSLException that warns about possible truncation attacks. This exception is caught and translated into this message when encountered. Most of the time this occurs not because of a malicious attacker but due to a connection abort or a misbehaving communication peer.

If the underlying transport is closed before the final TLS closure command is received from the peer then the SSLEngine will throw an SSLException that warns about possible truncation attacks. This exception is caught and translated into this message when encountered. Most of the time this occurs not because of a malicious attacker but due to a connection abort or a misbehaving communication peer.

Attributes

Companion
object
Source
SslTlsOptions.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
case object SessionTruncated extends SessionTruncated

Attributes

Companion
class
Source
SslTlsOptions.scala
Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
sealed trait SslTlsInbound

This is the supertype of all messages that the SslTls operator emits on the plaintext side.

This is the supertype of all messages that the SslTls operator emits on the plaintext side.

Attributes

Source
SslTlsOptions.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed trait SslTlsOutbound

This is the supertype of all messages that the SslTls operator accepts on its plaintext side.

This is the supertype of all messages that the SslTls operator accepts on its plaintext side.

Attributes

Source
SslTlsOptions.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Value members

Concrete methods

Java API: obtain the default value of NegotiateNewSession (which will leave the SSLEngine’s settings unchanged).

Java API: obtain the default value of NegotiateNewSession (which will leave the SSLEngine’s settings unchanged).

Attributes

Source
SslTlsOptions.scala