【问题标题】:How to disable TLS1.1 on Undertow (JDK8)如何在 Undertow (JDK8) 上禁用 TLS1.1
【发布时间】:2019-09-20 07:49:45
【问题描述】:

在我的 Java 8 项目中,我使用的是 Undertow webserver (v2.0.25)。这是一个独立的设置,不涉及 WildFly。

我想禁用所有低于 TLSv1.2 的 TLS 协议以提高安全性。但我能找到的所有文档都是针对 WildFly 的,我再一次没有使用它。

在 Spring Boot 中,我可以设置 server.ssl.enabled-protocols 系统属性。

在 WildFly 中,我可以设置

<https-listener name="https" socket-binding="https" security-realm="sslRealm" enabled-protocols="TLSv1.2"/>

Undertow 文档令人失望地缺乏。

如何设置/限制启用的协议?

【问题讨论】:

    标签: undertow


    【解决方案1】:

    通过使用Undertow.builder() 你想要的是setSocketOption 这样的方法:

    Undertow.builder()//add your build code like https listener, server options, etc
            .setSocketOption(Options.SSL_ENABLED_PROTOCOLS, Sequence.of("TLSv1.2","TLSv1.3"))
    

    上述调用将禁用所有低于 1.2 的 TLS 版本,setSocketOption 工作在 XNIO 级别,这是 undertow 的传输层,OptionsSequence 类也来自 XNIO。

    请注意,我添加了 TLS 1.3,它是撰写本文时的最新版本,并且所有常青浏览器都支持(但不支持 IE)。请务必使用支持它的提供程序,如果您使用的是 JDK SSL 提供程序,请确保您使用的是 java 11+。,否则请参阅您的提供程序的文档,支持 TLS1.3 的 SSL 提供程序是 google Conscrypt 找到的@ 987654321@

    【讨论】:

      猜你喜欢
      • 2019-11-03
      • 2019-05-18
      • 2018-07-17
      • 2020-07-02
      • 2014-05-01
      • 2015-06-05
      • 2021-05-15
      • 1970-01-01
      • 2018-01-02
      相关资源
      最近更新 更多