如何加密(使用SSL)Akka远程消息?

如何加密(使用SSL)Akka远程消息?,ssl,akka,akka-remote-actor,Ssl,Akka,Akka Remote Actor,我完成了这个简单的服务器客户端akka项目: 这是一种类似IRC的聊天,我正在尝试对消息进行编码 在我的主分支中,如果我启动服务器(sbt运行,然后选择选项2),然后启动客户机(sbt运行,然后选择选项1), 如果我在客户机中写入了一些内容,消息将正确地发送到服务器 如果我启动wireshark并收听符合以下条件的消息: tcp.port==1099,tcp.len>200 我可以用纯文本阅读这些信息 如何使用SSL对它们进行编码? 通过修改develope分支中的src/main/resour

我完成了这个简单的服务器客户端akka项目: 这是一种类似IRC的聊天,我正在尝试对消息进行编码

在我的主分支中,如果我启动服务器(sbt运行,然后选择选项2),然后启动客户机(sbt运行,然后选择选项1), 如果我在客户机中写入了一些内容,消息将正确地发送到服务器

如果我启动wireshark并收听符合以下条件的消息: tcp.port==1099,tcp.len>200

我可以用纯文本阅读这些信息

如何使用SSL对它们进行编码? 通过修改develope分支中的src/main/resources/application.conf文件,您可以看到我正在尝试做什么 我需要修改什么? 我的src/main/resources/application.conf文件应该是什么样子


谢谢

您应该在自定义
.conf
文件中启用SSL,并使用:

akka {
  actor {
    provider = "akka.remote.RemoteActorRefProvider"
  }
  remote {
    enabled-transports = ["akka.remote.netty.ssl"]
    netty.ssl{
      enable-ssl = true
      security {
        key-store = "path-to-your-keystore"
        key-store-password = "your-keystore's-password"
        key-password = "your-key's-password"
        trust-store = "path-to-your-truststore"
        trust-store-password = "your-trust-store's-password"
        protocol = "TLSv1"
        random-number-generator = "AES128CounterSecureRNG"
        enabled-algorithms = ["TLS_RSA_WITH_AES_128_CBC_SHA"]
      }
    }
  }
}
不要忘记将参与者路径的前缀更改为:

akka.ssl.tcp://YourActorSystemName@ip:port:/...

除了J.Santos所说的之外,我还忘了创建以下两个文件:

trust-store = "path-to-your-truststore"
trust-store-password = "your-trust-store's-password"
我改变的是:

key-store = "src/main/resources/keystore"
trust-store = "src/main/resources/truststore"
在my
/src/main/resources/common.conf中

正如J.桑托斯在看过我的项目后提醒我的那样


非常感谢

谢谢,这正是我想要看的,看看这些变化:(这四个文件是我们需要改变的一切)