Как настроить набор SSL / шифров Undertow?

Когда я пытаюсь просмотреть свою веб-страницу http2 в Chrome или Firefox, в настоящее время я получаю страницу с сообщением об ошибке: «ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY».

Очевидно, это означает, что набор шифров, который использует мой веб-сервер Undertow, не принимается браузером из-за того, что он слишком небезопасен.

Как установить уровень TLS для Undertow и выбрать, какой шифр он должен использовать? Если я правильно понял из поиска в Google, это практически не имеет ничего общего с тем, как я создал свой сертификат, и за пределами HTTP2 соединение ssl работает нормально.


person Blub    schedule 14.07.2016    source источник
comment
Пожалуйста, покажите ваш undertow конфиг.   -  person gf_    schedule 14.07.2016
comment
gf_, у меня нет конфига отвода, потому что я использую его вне jboss   -  person Blub    schedule 15.07.2016


Ответы (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"))
    .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