object TLSProtocol
- Alphabetic
- By Inheritance
- TLSProtocol
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class NegotiateNewSession(enabledCipherSuites: Option[Seq[String]], enabledProtocols: Option[Seq[String]], clientAuth: Option[TLSClientAuth], sslParameters: Option[SSLParameters]) extends SslTlsOutbound with Product with Serializable
Initiate a new session negotiation.
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 toSSLEngine::setEnabledCipherSuites()
-enabledProtocols
will be passed toSSLEngine::setEnabledProtocols()
-clientAuth
will be passed toSSLEngine::setWantClientAuth()
orSSLEngine.setNeedClientAuth()
, respectively -sslParameters
will be passed toSSLEngine::setSSLParameters()
Please note that passing
clientAuth = None
means that no change is done on client authentication requirements whileclientAuth = Some(ClientAuth.None)
switches off client authentication. - final case class SendBytes(bytes: ByteString) extends SslTlsOutbound with Product with Serializable
Send the given pekko.util.ByteString across the encrypted session to the peer.
- final case class SessionBytes(session: SSLSession, bytes: ByteString) extends SslTlsInbound with ScalaSessionAPI with Product with Serializable
Plaintext bytes emitted by the SSLEngine are received over one specific encryption session and this class bundles the bytes with the SSLSession object.
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.
- 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.
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.
- sealed trait SslTlsInbound extends AnyRef
This is the supertype of all messages that the SslTls operator emits on the plaintext side.
- sealed trait SslTlsOutbound extends AnyRef
This is the supertype of all messages that the SslTls operator accepts on its plaintext side.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def negotiateNewSession: NegotiateNewSession
Java API: obtain the default value of NegotiateNewSession (which will leave the SSLEngine’s settings unchanged).
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object NegotiateNewSession extends NegotiateNewSession
- case object SessionTruncated extends SessionTruncated with Product with Serializable