【问题标题】:Is it true that support for TLS 1.0 and 1.1 has been completely removed in later Jetty versions that support TLS 1.3?对 TLS 1.0 和 1.1 的支持是否已在支持 TLS 1.3 的更高版本的 Jetty 中完全删除?
【发布时间】:2020-10-01 11:34:39
【问题描述】:

引用此文档,https://www.eclipse.org/jetty/documentation/current/configuring-ssl.html#configuring-sslcontextfactory-cipherSuites 顶部有一条注释:

一旦 TLS v1.3 发布,将没有可用于 TLS v1.0 或 v1.1 的解决方法。 TLS v1.3 的计划包括禁止具有已知漏洞的密码出现在任何级别。建议尽快升级任何使用这些密码的客户端,否则将面临被锁定在过时版本的 Jetty、Java 甚至操作系统中。

Jetty 9.4.12 的 change log 包括以下内容:

2711 TLS 1.3 合规性

是否确认从 Jetty 9.4.12 及更高版本开始,不再可能覆盖默认密码并重新启用对 TLS 1.0 和 1.1 的支持?

【问题讨论】:

  • 至少在github.com/eclipse/jetty.project/blob/jetty-9.4.29.v20200521/…你只有:private static final String[] DEFAULT_EXCLUDED_PROTOCOLS = {"SSL", "SSLv2", "SSLv2Hello", "SSLv3"};
  • 嗨,@PatrickMevzek。谢谢你。我看到这些默认情况下被排除在外,但这是否真的意味着通过 ${jetty.base}/etc/tweak-ssl.xml 重新启用 TLS 1.0 和 TLS 1.2 的尝试在 9.4.29 中将不再有效?跨度>
  • 老实说,我不知道,只是给出了我找到的链接,以防它帮助某人更深入地挖掘。如果只有我发现的内容,则不应禁用任何 TLS 版本,但也许有其他配置会影响某些事情,并且您的 Java 版本也可能会发挥作用。因此,也许最简单的方法就是尝试?至少按照您引用的文档中的链接会导致 github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-util/… 并且它使用 DEFAULT_EXCLUDED_PROTOCOLS...
  • (粗略地看一下——我对 Java 领域几乎一无所知——在我看来,文档和代码不一致,这就是为什么测试可能是更安全的路径......) ,这也可能提供信息:github.com/eclipse/jetty.project/issues/2807
  • @PatrickMevzek 非常感谢! =D 我试图省去一些麻烦,但实际上我会尝试重现更大的用例,看看我能找到什么。再次感谢!

标签: ssl tls1.0 tls1.3 tls1.1


【解决方案1】:

存在默认密码问题排除所有关于 TLS1.0 的错误 :https://github.com/eclipse/jetty.project/issues/3773

private SslContextFactory(boolean trustAll, String keyStorePath)
{
setTrustAll(trustAll);
addExcludeProtocols("SSL", "SSLv2", "SSLv2Hello", "SSLv3");
setExcludeCipherSuites("^.*_(MD5|SHA|SHA1)$");
if (keyStorePath != null)
    setKeyStorePath(keyStorePath);
}

TLS v1.0 密码套件的名称与上面的“^.*_(MD5|SHA|SHA1)$”匹配,来自https://www.openssl.org/docs/man1.1.0/man1/ciphers.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多