我目前正在使用Akka遠程參與者進行客戶端/服務器應用程序的設置調查以進行通信。作爲該設置的一部分,我想啓用內置SSL模式,該模式通過netty支持。與Akka使用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]
}
}
我是否需要添加的屬性或者只要它是在classpath中阿卡找到它呢?
-Djavax.net.ssl.keyStore=A
-Djavax.net.ssl.trustStore=B
在運行時,我得到很長的堆棧,但在開始的時候說:
[MySystem-akka.actor.default-調度-11] ERROR akka.remote.EndpointWriter - AssociationError [阿卡。 ssl.tcp://[email protected]:10693] - > [akka.ssl.tcp:// MyServerSystem @ localhost:2562]:錯誤[[akka.ssl.tcp:// MyServerSystem @ localhost: 2562] [ akka.remote.EndpointAssociationException:協會失敗[akka.ssl.tcp:// MyServerSystem @本地:2562]
產生的原因:akka.remote.transport.netty.NettyTransport $$ anonfun $一個ssociate $ 1 $$ anon $ 2:無法初始化管道。
引起:akka.remote.RemoteTransportException:無法建立客戶端SSL連接,因爲無法構建SSL上下文。
幫助將非常感激。 尊敬Stefan