Поддержка TLSv1 во встроенном сервере Jetty - PullRequest
0 голосов
/ 29 сентября 2018

Я использую встроенный сервер Jetty с включенным протоколом https / TLS.Он отлично работает со всеми современными браузерами (TLSv1.2).
У нас есть устаревший браузер (.exe, код которого нельзя изменить / проверить), который мы пытаемся подключить к серверу Jetty по протоколу https, что не удается.
Я отладил SSL на стороне сервера и узнал, что этот браузер подключается с использованием TLSv1, поэтому я сделал следующее:

sslContextFactory.setIncludeProtocols( "TLSv1");

После этого я начал получать сообщение «нет общих шифровальных соединений» на серверебоковая сторона.Чтобы пройти это (я знаю, что это - опасный человек, но пока что), я сделал:

sslContextFactory.setExcludeCipherSuites();

После этого я не вижу никаких ошибок на стороне сервера, но все еще устаревший браузер не можетподключения.(Он может подключаться к другому сайту https, например, как Facebook, Google).
Журналы на стороне сервера после вышеуказанного изменения:

WRITE: TLSv1 Handshake, length = 48
called closeOutbound()
closeOutboundInternal()
SEND TLSv1 ALERT: 
warning,
close_notify
WRITE: TLSv1 Alert, length = 32

Есть идеи, что здесь может быть не так?Я пытался много гуглить на нем, но не могу справиться с этим.Я также попытался включить SNI на сервере, но безуспешно.
Любая помощь будет очень признательна.
Спасибо

edit1 :
Если я сравниваю протоколы Jetty SSLс рабочим запросом вижу разницу ниже.Рабочий запрос отправляет данные приложения также, как показано ниже:

WRITE: TLSv1 Application Data, length = 1285

В нерабочем запросе я вижу ниже дополнительную строку (TLS_RSA_WITH_AES_128_CBC_SHA - имя набора шифров):

Cached server session: [Session-1, TLS_RSA_WITH_AES_128_CBC_SHA]
...