Исключение SSLHandshakeException приводит к сбоям соединений
Симптомы:
- Исключение
SSLHandshakeExceptionприводит к сбоям соединения с узлом и указывает на проблему с конфигурацией. Ниже приведены некоторые распространённые исключения с советами по решению этих проблем.
Решение:
-
java.security.cert.CertificateException: No name matching node01.example.com found -
Указывает на то, что соединение клиента было установлено с
node01.example.com, но возвращённый сертификат не содержал имяnode01.example.com. В большинстве случаев проблему можно решить, убедившись, что имя указано при создании сертификата. Дополнительную информацию можно найти в Зашифровать межузловые коммуникации с помощью TLS. Ещё один сценарий - когда среда вообще не хочет использовать имена DNS в сертификатах. В этом случае все настройки вelasticsearch.ymlдолжны использовать только IP-адреса, включая настройкуnetwork.publish_host. -
java.security.cert.CertificateException: No subject alternative names present -
Указывает на то, что соединение клиента было установлено с IP-адресом, но возвращённый сертификат не содержал никаких записей
SubjectAlternativeName. IP-адреса используются для проверки имени хоста только в том случае, если они указаны какSubjectAlternativeNameпри создании сертификата. Если целью было использование IP-адресов для проверки имени хоста, то сертификат потребуется перегенерировать с соответствующим IP-адресом. См. Зашифровать межузловые коммуникации с помощью TLS. -
javax.net.ssl.SSLHandshakeException: null cert chainиjavax.net.ssl.SSLException: Received fatal alert: bad_certificate -
SSLHandshakeExceptionуказывает на то, что клиент вернул самозаверяющий сертификат, которому не доверяют, так как он не найден вtruststoreилиkeystore. ЭтоSSLExceptionнаблюдается со стороны клиента соединения. -
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetиjavax.net.ssl.SSLException: Received fatal alert: certificate_unknown -
Это
SunCertPathBuilderExceptionуказывает на то, что во время рукопожатия был возвращён недоверенный сертификат. Это сообщение видно со стороны клиента соединения.SSLExceptionнаблюдается со стороны сервера соединения. Сертификат CA, подписавший возвращённый сертификат, не найден вkeystoreилиtruststoreи необходимо добавить его, чтобы доверять этому сертификату. -
javax.net.ssl.SSLHandshakeException: Invalid ECDH ServerKeyExchange signature -
Invalid ECDH ServerKeyExchange signatureможет указывать на то, что ключ и соответствующий сертификат не совпадают и приводят к сбоям рукопожатия. Проверьте содержимое каждого из файлов, которые вы используете для ваших настроенных сертификатов, сертификатов и ключей. В частности, проверьте, что ключ и сертификат принадлежат одной паре ключей.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/trb-security-sslhandshake.html