Error map
gRPC: Ssl handshake failed / authentication handshake failed gRPC: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority"
SSL / TLS · layer 2, Network
Centre: this error. First ring: errors it is linked with (8). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (8)
Java: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
The server rejected the Java client's TLS offer — no shared protocol/cipher, SNI issue or a required client certificate.
Android/OkHttp: javax.net.ssl.SSLPeerUnverifiedException: Certificate pinning failure! Peer certificate chain: sha256/... Pinned certificates for api.example.com
The app's pinned certificate/public-key hash does not match the one the server presented, so OkHttp blocked the request.
Go: x509: certificate signed by unknown authority
The Go TLS client does not trust the CA that signed the server's certificate.
Go: x509: certificate is valid for www.example.com, not api.example.com
The server's certificate does not list the hostname you connected to (SAN mismatch), or it has expired.
OpenSSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure (SSL alert number 40)
The server aborted the handshake with alert 40 — no acceptable parameters (cipher, signature algorithm, client certificate or SNI…
OpenSSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
The peer did not answer with a TLS record — you spoke TLS to a plain HTTP/SMTP port (or the reverse), or a proxy intervened.
OpenSSL: SSL alert number 112 — tlsv1 unrecognized name
The server did not recognise the hostname sent in SNI and rejected the handshake (or an alert/warning is logged).
Python: ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2396)
The server closed the TLS connection abruptly without a proper shutdown, usually because it rejected the handshake or dropped the…
Two steps away (22)
javax.net.ssl.SSLHandshakeException: PKIX path building failed: unable to find valid certification path to requested target
Java doesn’t trust the server’s certificate chain (self-signed, corporate proxy CA, or missing intermediate).
OpenSSL: error:14094410 / SSL alert number 70 — tlsv1 alert protocol version
The server rejected the TLS version your client offered, because it requires a newer (or older) protocol.
Java: javax.net.ssl.SSLHandshakeException: No subject alternative names matching IP address 10.0.0.5 found
Java checks the hostname against the certificate's SANs and found no matching entry (for DNS names or IPs).
Dart: HandshakeException: Handshake error in client (OS Error: CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate)
The app refused the server's TLS certificate because it is self-signed, expired, missing intermediates, or the device clock/CA st…
Apache: AH02240: Server should be SSL-aware but has no certificate configured / SSLCertificateFile: file '/etc/ssl/x.crt' does not exist or is empty
Apache cannot find the certificate or key file named in its configuration, or `SSLEngine on` is set without any certificate.
Let's Encrypt: Fetching http://example.com/.well-known/acme-challenge/token: Timeout during connect (likely firewall problem)
The ACME validation server could not reach your server on port 80 within the timeout.
Go: cannot assign to struct field users["bob"].Age in map
Map values are not addressable, so you cannot modify a field of a struct stored directly in a map.
Go: assignment mismatch: 1 variable but os.Open returns 2 values
The number of variables on the left does not match the number of values the function returns.
Go: cannot find package "github.com/pkg/errors" in any of: /usr/local/go/src/github.com/pkg/errors (from $GOROOT) /go/src/github.com/pkg/errors (from $GOPATH)
Go could not locate an imported package — it is not downloaded, the module is not initialised, or GOPATH mode is in effect.
NET::ERR_CERT_COMMON_NAME_INVALID: Your connection is not private (certificate is for a different domain)
The certificate presented doesn’t include the hostname you visited — e.g. visiting www.example.com with a certificate only for ex…
Go: panic: assignment to entry in nil map
You wrote to a map that was declared but never initialised.
Go: listen tcp :8080: bind: address already in use
The port your Go server wants is already taken by another process (or a previous instance of your app).
cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to host:443
The TLS handshake failed — protocol/cipher mismatch, a proxy interfering, or the server closed the connection.
Firefox: Secure Connection Failed — SSL_ERROR_NO_CYPHER_OVERLAP (no common cipher)
Firefox and the server share no TLS cipher suite, so the secure handshake cannot even start.
OpenSSL: error:num=20:unable to get local issuer certificate / SSL: CERTIFICATE_VERIFY_FAILED
The client could not build a chain from the server's certificate to a CA it trusts — the issuer is missing locally or the server…
ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection)
The browser couldn’t negotiate TLS — the server sent an invalid response, often plain HTTP on the HTTPS port.
SMTP: [SSL: WRONG_VERSION_NUMBER] wrong version number — SMTP over SSL on a STARTTLS port
Your client tried to start TLS immediately on a port where the server speaks plain SMTP first (or the reverse), so the handshake…
OpenSSL: verify error:num=10:certificate has expired — notAfter=Jan 1 00:00:00 2025 GMT
OpenSSL's verification found a certificate in the chain whose validity period has ended.
Firefox: Websites prove their identity via certificates — the certificate is only valid for other names. Error code: SSL_ERROR_BAD_CERT_DOMAIN
The certificate does not include the hostname you typed.
Nginx: [emerg] no "ssl_certificate" is defined for the "listen ... ssl" directive in /etc/nginx/sites-enabled/default:3
A server block listens with `ssl` but has no `ssl_certificate` and `ssl_certificate_key`.
SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate
The client couldn’t verify the server’s TLS certificate chain, so it refused the HTTPS connection.
Python requests: HTTPSConnectionPool(host='api.example.com', port=443): Max retries exceeded with url: /v1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] ...')))
The `requests` call failed during the TLS step and exhausted its retries; the real reason is in the nested SSLError text.
Map another error
Popular: 500403400ORA-009331064Critical errorFileNotFoundException assemblyTypeError