WARNING: Version 6.1 of the Elastic Stack has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
SSLHandshakeException causes connections to fail
editSSLHandshakeException causes connections to fail
editSymptoms:
-
A
SSLHandshakeExceptioncauses a connection to a node to fail and indicates that there is a configuration issue. Some of the common exceptions are shown below with tips on how to resolve these issues.
Resolution:
-
java.security.cert.CertificateException: No name matching node01.example.com found -
Indicates that a client connection was made to
node01.example.combut the certificate returned did not contain the namenode01.example.com. In most cases, the issue can be resolved by ensuring the name is specified during certificate creation. For more information, see Setting Up TLS on a Cluster. Another scenario is when the environment does not wish to use DNS names in certificates at all. In this scenario, all settings inelasticsearch.ymlshould only use IP addresses including thenetwork.publish_hostsetting. -
java.security.cert.CertificateException: No subject alternative names present -
Indicates that a client connection was made to an IP address but the returned certificate did not contain any
SubjectAlternativeNameentries. IP addresses are only used for hostname verification if they are specified as aSubjectAlternativeNameduring certificate creation. If the intent was to use IP addresses for hostname verification, then the certificate will need to be regenerated with the appropriate IP address. See Setting Up TLS on a Cluster. -
javax.net.ssl.SSLHandshakeException: null cert chainandjavax.net.ssl.SSLException: Received fatal alert: bad_certificate -
The
SSLHandshakeExceptionindicates that a self-signed certificate was returned by the client that is not trusted as it cannot be found in thetruststoreorkeystore. ThisSSLExceptionis seen on the client side of the connection. -
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetandjavax.net.ssl.SSLException: Received fatal alert: certificate_unknown -
This
SunCertPathBuilderExceptionindicates that a certificate was returned during the handshake that is not trusted. This message is seen on the client side of the connection. TheSSLExceptionis seen on the server side of the connection. The CA certificate that signed the returned certificate was not found in thekeystoreortruststoreand needs to be added to trust this certificate.