Class TLSProtocol.NegotiateNewSession

java.lang.Object
org.apache.pekko.stream.TLSProtocol.NegotiateNewSession
All Implemented Interfaces:
Serializable, TLSProtocol.SslTlsOutbound, scala.Equals, scala.Product
Direct Known Subclasses:
TLSProtocol.NegotiateNewSession$
Enclosing class:
TLSProtocol

public static class TLSProtocol.NegotiateNewSession extends Object implements TLSProtocol.SslTlsOutbound, scala.Product, Serializable
Initiate a new session negotiation. Any TLSProtocol.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.

See Also:
  • Constructor Details

    • NegotiateNewSession

      public NegotiateNewSession(scala.Option<scala.collection.immutable.Seq<String>> enabledCipherSuites, scala.Option<scala.collection.immutable.Seq<String>> enabledProtocols, scala.Option<TLSClientAuth> clientAuth, scala.Option<SSLParameters> sslParameters)
  • Method Details

    • withCipherSuites

      public TLSProtocol.NegotiateNewSession withCipherSuites(String... s)
      Java API: Make a copy of this message with the given enabledCipherSuites.
    • withProtocols

      public TLSProtocol.NegotiateNewSession withProtocols(String... p)
      Java API: Make a copy of this message with the given enabledProtocols.
    • enabledCipherSuites

      public scala.Option<scala.collection.immutable.Seq<String>> enabledCipherSuites()
    • enabledProtocols

      public scala.Option<scala.collection.immutable.Seq<String>> enabledProtocols()
    • clientAuth

      public scala.Option<TLSClientAuth> clientAuth()
    • sslParameters

      public scala.Option<SSLParameters> sslParameters()
    • withCipherSuites

      public TLSProtocol.NegotiateNewSession withCipherSuites(scala.collection.immutable.Seq<String> s)
      Java API: Make a copy of this message with the given enabledCipherSuites.
    • withProtocols

      public TLSProtocol.NegotiateNewSession withProtocols(scala.collection.immutable.Seq<String> p)
      Java API: Make a copy of this message with the given enabledProtocols.
    • withClientAuth

      public TLSProtocol.NegotiateNewSession withClientAuth(TLSClientAuth ca)
      Java API: Make a copy of this message with the given TLSClientAuth setting.
    • withParameters

      Java API: Make a copy of this message with the given SSLParameters.
    • copy

      public TLSProtocol.NegotiateNewSession copy(scala.Option<scala.collection.immutable.Seq<String>> enabledCipherSuites, scala.Option<scala.collection.immutable.Seq<String>> enabledProtocols, scala.Option<TLSClientAuth> clientAuth, scala.Option<SSLParameters> sslParameters)
    • copy$default$1

      public scala.Option<scala.collection.immutable.Seq<String>> copy$default$1()
    • copy$default$2

      public scala.Option<scala.collection.immutable.Seq<String>> copy$default$2()
    • copy$default$3

      public scala.Option<TLSClientAuth> copy$default$3()
    • copy$default$4

      public scala.Option<SSLParameters> copy$default$4()
    • productPrefix

      public String productPrefix()
      Specified by:
      productPrefix in interface scala.Product
    • productArity

      public int productArity()
      Specified by:
      productArity in interface scala.Product
    • productElement

      public Object productElement(int x$1)
      Specified by:
      productElement in interface scala.Product
    • productIterator

      public scala.collection.Iterator<Object> productIterator()
      Specified by:
      productIterator in interface scala.Product
    • canEqual

      public boolean canEqual(Object x$1)
      Specified by:
      canEqual in interface scala.Equals
    • productElementName

      public String productElementName(int x$1)
      Specified by:
      productElementName in interface scala.Product
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object x$1)
      Specified by:
      equals in interface scala.Equals
      Overrides:
      equals in class Object