如何配置akka生产者来协商TLS v1.2



我的Java应用程序在OpenJDK 7上使用akka 2.3.12。我如何配置我的UntypedProducerActor使用TLS v1.2连接到外部HTTPS URI时?

我尝试设置- https.protocols=TLSv。1在Java命令行中,但它似乎没有任何效果。ClientHello仍然使用TLSv1.

代码很简单:

public class ProvisioningResponseWriter extends UntypedProducerActor {
    private final String uri;
    public ProvisioningResponseWriter(String uri) {
        this.uri = uri
    }
    @Override
    public String getEndpointUri() {
        return this.uri;
    }
}
例如,如果uri是https://our_customer.com,则此参与者将尝试使用TLSv1.0建立到服务器的安全连接。但是我们的客户要求我们使用TLSv1.2。

我了解到Java 7将默认使用TLSv1.0,并尝试使用-Dhttps.protocols=TLSv1.2,但这不起作用。

您可能应该寻找通过-Djdk.tls.client.protocols=TLSv1.2控制底层平台TLS实现的配置。

Afaik -Dhttps.protocols=TLSv1.2控制Java客户端使用的协议,通过使用HttpsURLConnection类或通过URL.openStream()操作获得https连接,所以也许这不是任何http客户端实现akka 2.3.12的情况?

最新更新