с помощью 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"))
.setSocketOption(Options.SSL_ENABLED_CIPHER_SUITES,Sequence.of(// your cipher suites))
приведенный выше вызов отключит все версии TLS ниже 1.2 и включит только те наборы шифров, которые вам нужны, setSocketOption
работает на уровне XNIO, который является транспортным уровнем undertow, классы Options
и Sequence
также исходят из XNIO.
Обратите внимание, что я добавил TLS 1.3, который является последней версией на момент написания и поддерживается всеми вечнозелеными браузерами (но не IE). обязательно используйте провайдера, который поддерживает его, хотя, если вы используете JDK SSL-провайдера, убедитесь, что вы используете java 11+. В противном случае см. документы вашего провайдера, провайдер SSL, который поддерживает TLS1.3, найден Google Conscrypt здесь.
Следует помнить, что настройка включенных наборов шифров работает, если ваш провайдер SSL поддерживает это, в моем случае я использую Google Conscrypt, но они не поддерживают настройку включенных наборов шифров для TLS1.3, в своих документах они говорят, что игнорируют вариант, но в моем случае сервер undertow полностью перестал работать, поэтому обратитесь к документации вашего провайдера или лучше просто установите включенные протоколы, поскольку это то, что вы, вероятно, хотите.
person
niceman
schedule
24.07.2020
undertow
конфиг. - person gf_   schedule 14.07.2016