【问题标题】:Using SSL connection with Akka - Can't get configuration to work将 SSL 连接与 Akka 一起使用 - 无法使配置正常工作
【发布时间】:2013-08-20 07:14:39
【问题描述】:

我目前正在研究使用 Akka 远程参与者进行通信的客户端/服务器应用程序的设置。作为该设置的一部分,我想启用通过 netty 支持的内置 ssl 模式。

但我并不完全确定如何准确设置参数,尽管我尝试了许多不同的组合。

我使用http://doc.akka.io/docs/akka/2.2.0/java/remoting.html 来参考不同的参数。

关于创建密钥库和信任库,我使用了此链接中的指南: http://www.ibm.com/developerworks/library/j-customssl/sidebar.html

我的配置的相关部分在客户端上如下所示:

remote {
enabled-transports = ["akka.remote.netty.ssl"]
netty.ssl {
  host = "" 
  port = 0
  enable-ssl = true
}
netty.ssl.security {
  key-store = "ServiceTesterClientKeys"
  trust-store = "clientTrust"
  key-store-password = "XX"
  key-password = "XX"
  trust-store-password = "YY"
  protocol = "TLSv1"
  random-number-generator = "AES128CounterSecureRNG"
  enabled-algorithms = [TLS_RSA_WITH_AES_128_CBC_SHA]
}
}

并在服务器上这样:

remote {

enabled-transports = ["akka.remote.netty.ssl"]
netty.ssl {
  hostname = ""
  port = 2562
  enable-ssl = true
}
netty.ssl.security {
  key-store = "serverKeys"
  trust-store = "serverTrust"
  key-store-password = "YY"
  key-password = "YY"
  trust-store-password = "XX"
  protocol = "TLSv1"
  random-number-generator = "AES128CounterSecureRNG"
  enabled-algorithms = [TLS_RSA_WITH_AES_128_CBC_SHA]
 }
 }

我是否需要添加属性,或者只要它在类路径中,Akka 就可以找到它?

-Djavax.net.ssl.keyStore=A
-Djavax.net.ssl.trustStore=B

在运行时我得到一个很长的堆栈,但一开始它说:

[MySystem-akka.actor.default-dispatcher-11] 错误 akka.remote.EndpointWriter - AssociationError [akka.ssl.tcp://MySystem@10.195.20.11:10693] -> [akka.ssl.tcp: //MyServerSystem@localhost:2562]: 错误 [Association failed with [akka.ssl.tcp://MyServerSystem@localhost:2562]] [ akka.remote.EndpointAssociationException:与 [akka.ssl.tcp://MyServerSystem@localhost:2562] 的关联失败

原因:akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2:初始化管道失败。

原因:akka.remote.RemoteTransportException:无法建立客户端 SSL 连接,因为无法构造 SSL 上下文。

非常感谢您的帮助。 问候斯特凡

【问题讨论】:

    标签: java ssl akka keystore


    【解决方案1】:

    好的,我已经进一步调查了这个问题。

    问题与 random-number-generator = "AES128CounterSecureRNG" 属性有关。 相反,我选择使用默认实现。

    如果我想使用这个实现,我想我需要添加提供者。

    感谢您的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-09
      • 2012-05-11
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多