在我的Java代码中,我正在使用命令创建一个SSL上下文实例
SSLContext ctx = SSLContext.getInstance("TLS");
但是,在我的Tomcat服务器中,我设置了TLSv1.2,但是遇到了握手错误。
我们如何使用此方法支持所有TLS协议,就像在cpp中我们有SSLV23客户端方法可以支持所有协议一样。
在我的Java代码中,我正在使用命令创建一个SSL上下文实例
SSLContext ctx = SSLContext.getInstance("TLS");
但是,在我的Tomcat服务器中,我设置了TLSv1.2,但是遇到了握手错误。
我们如何使用此方法支持所有TLS协议,就像在cpp中我们有SSLV23客户端方法可以支持所有协议一样。
要使用TLSv1.2,请尝试使用以下代码:
SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
sslContext.init(null, null, null);
sslContext
应用到我的 RestTemplate
中呢?我正在使用 Spring 3.0.x 版本,一直尝试但是无法实现。 - Panadol Chong
SSLContext ctx = SSLContext.getInstance("TLS");
- 在Java 8及以下版本中,它还包含SSLv3。已向Oracle提交了错误报告,但被关闭且标记为“不予修复”,因为这是其设计缺陷。另请参阅Which Cipher Suites to enable for SSL Socket? - jwwSSLContext.getInstance("TLSv1.2")
并不一定支持所有协议 - 这取决于 JVM。在我的情况下,使用这种配置的类无法连接到运行在 IBM JVM 1.7.0 上的使用 TLSv1 的 Apache 服务器,但是可以连接到运行在 Oracle JVM 1.7.0 上的同样服务器。 - polarfish