![ВНИМАНИЕ: Ни один из указанных шифров не поддерживается механизмом SSL.](https://rvso.com/image/658720/%D0%92%D0%9D%D0%98%D0%9C%D0%90%D0%9D%D0%98%D0%95%3A%20%D0%9D%D0%B8%20%D0%BE%D0%B4%D0%B8%D0%BD%20%D0%B8%D0%B7%20%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%20%D0%BD%D0%B5%20%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC%D0%BE%D0%BC%20SSL..png)
У меня есть работающий веб-сервис, работающий Apache Tomcat 7
со следующим элементом-коннектором server.xml
:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="false"
keystoreFile="C:\Java\myhost.keystore"
keystorePass="importkey"
sslProtocol="TLS"
/>
Это работало нормально в течение многих лет, но теперь Logjam
возникла новая угроза безопасности, и я пытаюсь защитить свой веб-сервис, используяРуководство по развертыванию Диффи-Хеллмана для TLSинструкции.
Итак, я добавил в элемент следующую строку <connector>
:
ciphers="ECDHE-RSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256-GCM-SHA384, DHE-RSA-AES128-GCM-SHA256, DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA, ECDHE-ECDSA-AES256-SHA, DHE-RSA-AES128-SHA256, DHE-RSA-AES128-SHA, DHE-DSS-AES128-SHA256, DHE-RSA-AES256-SHA256, DHE-DSS-AES256-SHA, DHE-RSA-AES256-SHA, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, AES128-SHA, AES256-SHA, AES, КАМЕЛИЯ, DES-CBC3-SHA"
Tomcat перезапускается нормально, но я больше не могу подключиться к своему веб-сервису.
Просматривая журнал, я заметил следующую строку:
ВНИМАНИЕ: Ни один из указанных шифров не поддерживается механизмом SSL: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256-GCM-SHA384, DHE-RSA-AES128-GCM-SHA256, DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA, ECDHE-ECDSA-AES256-SHA, DHE-RSA-AES128-SHA256, DHE-RSA-AES128-SHA, DHE-DSS-AES128-SHA256, DHE-RSA-AES256-SHA256, DHE-DSS-AES256-SHA, DHE-RSA-AES256-SHA, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, AES128-SHA, AES256-SHA, AES, КАМЕЛИЯ, DES-CBC3-SHA
Что я упускаю, пытаясь заставить Tomcat использовать только эти шифры?
Как сделать так, чтобы они поддерживались движком SSL?
решение1
Как было объясненоздесьВозможно, вам придется составить ciphers
список следующим образом:
sslProtocols = "TLS"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
Первая часть, ECDHE, определяет, какой алгоритм обмена ключами следует использовать. [...]
Далее следует алгоритм аутентификации RSA. [...]
Массовый шифр AES128-GCM является основным алгоритмом шифрования и используется для шифрования всего трафика. [...]
Последняя часть, SHA256, идентифицирует используемый дайджест сообщения, который проверяет подлинность сообщений.