有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何启用TLSv1。3在Tomcat8.5.5中使用JSSE实现

我们正在tomcat服务器8.5.5上运行spring引导应用程序。我们为它配置了安全证书和SSL以支持https。目前is使用TLSv1。2.我们的支付网关提供商计划停止TLSv1。2仅支持和继续支持TLSv1。3. 因此,我们希望添加TLSv1。3支持我们的应用服务器。我们的连接器块具有TLSv1所需的密码。下面是第3页

<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的具体文档。正式文件的连接器块如下所示:

<!-- 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"/>

这里的sslProtocol属性具有TLS,默认为TLS版本1.2。我们尝试将其更改为TLSv1。3但不起作用。此外,如前所述here尝试添加sslEnabledProtocol属性。这也不管用。我们添加了TLSv1所需的必要密码。3握手成功

我们如何配置服务器。用于支持TLSv1的xml连接器块。3是我们想要弄清楚的。任何输入、提示都会有帮助


共 (1) 个答案

  1. # 1 楼答案

    同时使用sslProtocol="TLS"sslEnabledProtocols="TLSv1.2+TLSv1.3"。 这对我很有用(在使用Java13.0.1的Tomcat9上)