Unable to establish SSL connection.
wget could not complete the TLS handshake
Seen in wget
wget connected to the server but the TLS handshake failed; the OpenSSL or GnuTLS line just above gives the reason.
Common causes
- An old wget or TLS library without TLS 1.2 or 1.3, or without SNI support.
- The server only accepts TLS versions or ciphers the client does not offer.
- The port does not speak TLS, or a proxy or firewall reset the connection.
How to fix it
- Read the line printed before this one (for example "OpenSSL: error:... alert handshake failure").
- Update wget and OpenSSL or GnuTLS, or use curl for comparison.
- Check the URL uses https:// only on a TLS port, and check https_proxy.
Got a different message? Paste it into the error explainer.
Related errors
- unable to get local issuer certificate · The client can't find the certificate's issuer
- unable to verify the first certificate · The intermediate certificate is missing
- certificate has expired · The server certificate has expired
- self signed certificate in certificate chain · The chain ends in an untrusted root
- curl: (51) SSL: no alternative certificate subject name matches target host name · The certificate doesn't match the hostname
- curl: (35) SSL connect error · The TLS handshake failed
- sslv3 alert handshake failure · The server rejected the TLS handshake
- tlsv1 alert protocol version · The peer does not accept this TLS version
- tlsv1 alert unknown ca · The peer doesn't trust the certificate's CA
- no peer certificate available · The handshake failed before a certificate arrived
- ERROR: cannot verify example.com's certificate · wget doesn't trust the server's certificate
- Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames · The certificate doesn't cover this hostname