Как мне использовать TLS на Akka 2.6.3 Scala? - PullRequest
0 голосов
/ 16 февраля 2020

Я использовал следующий класс TLS для Akka 2.5.0, но AkkaSSLConfig устарел для Akk 2.6.0 и выше.

case class TlsContext(
                       sslContext: SSLContext,
                       sslConfig: Option[AkkaSSLConfig] = None,
                       enabledCipherSuites: Option[immutable.Seq[String]] = None,
                       enabledProtocols: Option[immutable.Seq[String]] = None,
                       clientAuth: Option[TLSClientAuth] = None,
                       sslParameters: Option[SSLParameters] = None) {

  def firstSession =
    NegotiateNewSession(
      enabledCipherSuites, enabledProtocols, clientAuth, sslParameters)
}

Как мне изменить вышеуказанный код, чтобы использовать его для обновленной Akka версия

1 Ответ

0 голосов
/ 19 февраля 2020

Устаревший AkkaSSLConfig должен быть заменен созданием javax.net.ssl.SSLEngine в вашем собственном коде.

Указанные c параметры из NegotiateNewSession применяются с использованием следующих методов для SSLEngine

SSLEngine#setEnabledCipherSuites
SSLEngine#setEnabledProtocols
SSLEngine#setNeedClientAuth
SSLEngine#setSSLParameters

В документах Akka есть пример для потоков TLS, показывающий, как выполнить сначала построить SSLContext и затем SSLEngine из этого здесь: https://doc.akka.io/docs/akka/current/stream/stream-io.html#tls

...