在我的Java8项目中,我使用的是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文档的缺失令人失望。
如何设置/限制已启用的协议?
发布于 2020-07-25 03:02:44
通过使用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的传输层,Options和Sequence类也来自XNIO。
请注意,我已经添加了TLS 1.3,它是撰写本文时的最新版本,所有常青浏览器(但不是IE)都支持它。如果你使用的是JDK提供程序,请确保你使用的是java,否则请参阅你的提供程序的文档,支持11+1.3的here提供程序是google Conscrypt TLS1.3
https://stackoverflow.com/questions/58024071
复制相似问题