如何在java spring应用中配置TLSv1.3?Jdk8支持TLS 1.3版本并且具有向后兼容性。有人能帮忙吗?
1cosmwyk1#
根据JDK 8u261的发行说明,Java 8现在具有向后兼容性以支持TLS 1.3。默认SSLContext以及服务器上的TLS 1.3已禁用。要在服务器上启用TLS 1.3协议,请使用jdk.tls.server.protocols系统属性。要在客户端端点启用TLS 1.3协议,请执行以下步骤:--〉使用以下方法SSLSocket.setEnabledProtocols指定现有连接支持的协议sslSocket.setEnabledProtocols(new String[] { "TLSv1.3", "TLSv1.2"});--〉现在创建基于TLS 1.3的SSL上下文:SSLContext ctx = SSLContext.getInstance("TLSv1.3");--〉指定支持的协议,方法如下:SSLParameters.setProtocols(Object param);sslParameters.setProtocols(new String[] {"TLSv1.3", "TLSv1.2"});--〉使用jdk.tls.client.protocols系统属性指定客户端SSLSockets支持的协议:java -Djdk.tls.client.protocols="TLSv1.3,TLSv1.2" MyApplication--〉为通过HttpsURLConnection或方法URL.openStream获得的连接指定支持的协议,该方法带有https.protocols系统属性:java -Dhttps.protocols="TLSv1.3,TLSv1.2" MyApplication让我知道如果它不工作!
SSLSocket.setEnabledProtocols
sslSocket.setEnabledProtocols(new String[] { "TLSv1.3", "TLSv1.2"});
SSLContext ctx = SSLContext.getInstance("TLSv1.3");
SSLParameters.setProtocols(Object param);
sslParameters.setProtocols(new String[] {"TLSv1.3", "TLSv1.2"});
java -Djdk.tls.client.protocols="TLSv1.3,TLSv1.2" MyApplication
java -Dhttps.protocols="TLSv1.3,TLSv1.2" MyApplication
1条答案
按热度按时间1cosmwyk1#
根据JDK 8u261的发行说明,Java 8现在具有向后兼容性以支持TLS 1.3。
默认SSLContext以及服务器上的TLS 1.3已禁用。要在服务器上启用TLS 1.3协议,请使用jdk.tls.server.protocols系统属性。
要在客户端端点启用TLS 1.3协议,请执行以下步骤:
--〉使用以下方法
SSLSocket.setEnabledProtocols
指定现有连接支持的协议sslSocket.setEnabledProtocols(new String[] { "TLSv1.3", "TLSv1.2"});
--〉现在创建基于TLS 1.3的SSL上下文:
SSLContext ctx = SSLContext.getInstance("TLSv1.3");
--〉指定支持的协议,方法如下:
SSLParameters.setProtocols(Object param);
sslParameters.setProtocols(new String[] {"TLSv1.3", "TLSv1.2"});
--〉使用jdk.tls.client.protocols系统属性指定客户端SSLSockets支持的协议:
java -Djdk.tls.client.protocols="TLSv1.3,TLSv1.2" MyApplication
--〉为通过HttpsURLConnection或方法URL.openStream获得的连接指定支持的协议,该方法带有https.protocols系统属性:
java -Dhttps.protocols="TLSv1.3,TLSv1.2" MyApplication
让我知道如果它不工作!