gpt4 book ai didi

java - 如何使用 JSSE 实现在 tomcat 8.5.5 中启用 TLSv1.3

转载 作者:行者123 更新时间:2023-12-04 22:37:56 25 4
gpt4 key购买 nike

我们正在 Tomcat 服务器 8.5.5 上运行一个 Spring Boot 应用程序。我们为其配置了安全证书和 SSL 以支持 https。目前使用的是 TLSv1.2。我们的支付网关提供商计划停止对 TLSv1.2 的支持,并继续仅支持 TLSv1.3。
因此,我们想为我们的应用服务器添加 TLSv1.3 支持。下面是带有 TLSv1.3 所需密码的连接器 block 。

<Connector port="443" maxThreads="150" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/home/ubuntu/ourkey.p9" 
keystorePass="ourpass" clientAuth="false" keystoreType="keystore"
sslProtocol="TLSv1.2" sslEnabledProtocols="TLSv1.2+TLSv1.3" protocol="org.apache.coyote.http11.Http11NioProtocol" server="Web"
useServerCipherSuitesOrder="true"
ciphers="TLS_AES_256_GCM_SHA384,
TLS_CHACHA20_POLY1305_SHA256,
TLS_AES_128_GCM_SHA256,
TLS_AES_128_CCM_8_SHA256,
TLS_AES_128_CCM_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,... other ciphers/>

我们正在使用 JSSE 实现,到目前为止还没有找到适用于 tomcat 的具体文档。官方文档的连接器 block 如下:
<!-- Define an SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${user.home}/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"/>

这里是 ssl协议(protocol)属性有 TLS 默认为 TLS 1.2 版。我们尝试将其更改为 TLSv1.3,但没有成功。另外,如前所述 here尝试添加 sslEnabled 协议(protocol) 属性。那也没有用。我们添加了 TLSv1.3 握手成功所需的必要密码。

我们如何配置 server.xml 连接器 block 以支持 TLSv1.3 是我们想要弄清楚的。任何输入,提示都会有所帮助。

最佳答案

使用两个 sslProtocol="TLS"sslEnabledProtocols="TLSv1.2+TLSv1.3" .
这对我有用(在带有 java 13.0.1 的 tomcat 9 上)

关于java - 如何使用 JSSE 实现在 tomcat 8.5.5 中启用 TLSv1.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60634858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com