Apache CXF是否支持TLS 1.2?

3
我想知道Apache CXF 3.1.6是否支持TLS1.2。
我查看了Apache的文档,未找到与TLS1.2相关的信息。链接为http://cxf.apache.org/docs/tls-configuration.html
我还尝试将“secureSocketProtocol”设置为“TLSv2”,但在日志中出现了“TLSv2 SSLContext not available”。
如有任何帮助,将不胜感激。

为什么不呢?这取决于JVM(Java 6及以下版本)。无论如何,“TLSv2”都不存在作为TLS协议。 - vzamanillo
1个回答

2

我已经在Apache httpClient中使用了自定义的ssl上下文来启用Java 7中的TLSv1.2(默认情况下未启用),因此您应该能够在CXF中启用它。在Java 8中,默认情况下应该使用它。如果您正在使用配置,则应尝试使用

TLSv1.2

作为参数。

如果那不起作用,您可以尝试使用自定义SSL工厂。

// enable tls v1.1 and v1.2 on JRE 7

String jreVersion = System.getProperty("java.version");

if (jreVersion.startsWith("1.7")){

    try {
        SSLContext sslcontext = SSLContexts.custom().build();
        // Allow TLSv1.1 and 1.2 protocol only
        SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext,
                new String[] { "TLSv1.1", "TLSv1.2" }, null,
                SSLConnectionSocketFactory.getDefaultHostnameVerifier());

        customClient.setSSLSocketFactory(sslsf); // set the httpClient custom factory
    } catch (KeyManagementException | NoSuchAlgorithmException e) {
        e.printStackTrace();
        throw e;
    }
}

如何让CXF使用自定义的套接字工厂已经在这个SO问题上得到了解答。


这里还有一个 Jira,展示了如何实现。http://mail-archives.apache.org/mod_mbox/cxf-issues/201503.mbox/%3CJIRA.12781561.1426180735000.131463.1426687958971@Atlassian.JIRA%3E - Mike
作为后续步骤,请查看“conduit”配置——它的文档不是很完善,但我相信它涵盖了您想要的有关连接细节方面的内容。 - Dave G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接