2

我已经在 Apache Tomcat 9.xx 中部署了我的 Web 应用程序,我有两个 Java 选项

  • OpenJDK 版本 1.8.x
  • 甲骨文Java 1.8.x

我只需要允许 TLS 1.2。

请帮助指导我实现这一目标。

我尝试关注以下链接(不确定它们是否已过时)。

但是https://www.ssllabs.com/ssltest/analyze.html?d= << my public IP >> 说:TLS 1.1 & TLS 1.0 仍然启用。

如何在 Apache tomcat 8 中启用 TLS v1.2,我使用的是 Java 8

如何在 tomcat 中禁用 SSLv3?

Tomcat 是否支持 TLS v1.2?oraclesoon提到的两个步骤似乎不起作用)

如何在 Apache Tomcat 中禁用 SSLv3 支持?

另外如何 - 在 Tomcat 7 和 8 中禁用弱密码sslProtocol不再在 java 8 中使用

4

3 回答 3

2

我使用 tomcat 9.0.14 和 JSSE。它工作正常。(使用 TLSV1.1 和 TLSV1.2)

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true">
    <SSLHostConfig protocols="TLSv1.1,TLSv1.2">     
    <Certificate certificateKeystoreFile="conf/keystore.jks" 
                     type="RSA" />
    </SSLHostConfig>
</Connector>

请参阅:https ://tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support

于 2019-01-03T02:52:07.603 回答
1

您必须在 $CATALINA_BASE/conf/server.xml 文件中配置连接器。APR 配置的一个示例是:

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
           protocol="org.apache.coyote.http11.Http11AprProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="/usr/local/ssl/server.crt"
           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
           SSLVerifyClient="optional" SSLProtocol="TLSv1.2"/>

请参考此配置指南并尝试一下。

于 2018-10-17T15:08:45.183 回答
0

如果您需要逐个请求检查以确保有人没有错误配置您的服务器,您可以添加一个ContainerRequestFilter,然后在filter(RequestContext requestContext)方法中插入一个检查以验证 TLS 连接是否符合您的要求.

if("TLSv1.2".equals(requestContext.getProperty("org.apache.tomcat.util.net.secure_protocol_version"))
{
   throw new IllegalStateException("Invalid TLS version");
}

此示例来自 Tomcat 8,但我怀疑其他容器可能有一个选项。

于 2019-04-18T21:20:34.053 回答