仅在apache-tomcat-9和Java 8中启用TLS 1.2

问题描述 投票:0回答:3

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

  • Openjdk版本1.8.x
  • Oracle Java 1.8.x

我只需要允许TLS 1.2。

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

我试图按照以下链接(不确定它们是否已过时)。

https://www.ssllabs.com/ssltest/analyze.html?d=“我的公共IP”说:TLS 1.1和TLS 1.0仍然启用。

how to enable TLS v1.2 in Apache tomcat 8 , I am using Java 8

How do I disable SSLv3 in tomcat?

Does Tomcat support TLS v1.2?(oraclesoon提到的两个步骤似乎不起作用)

How do I disable SSLv3 support in Apache Tomcat?

此外,HOW TO -- Disable weak ciphers in Tomcat 7 & 8表示sslProtocol在java 8中不再使用

java tomcat ssl java-8 tomcat9
3个回答
0
投票

您必须在$ 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"/>

请参考这个configuration guide并尝试一下。


0
投票

我使用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


0
投票

如果您需要按请求检查请求以确保某人没有错误配置您的服务器,您可以添加ContainerRequestFilter然后在过滤器内(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,但我怀疑其他容器可能有一个选项。

© www.soinside.com 2019 - 2024. All rights reserved.