PKIX path building failed Java Origin: Application & API Last updated 15 Oct 2026

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).

Exact message you may see PKIX path building failedunable to find valid certification path to requested target
Seen on: Java

Meaning

The JVM uses its own truststore (cacerts), not the OS one. Corporate SSL inspection and internal CAs must be imported into the JDK’s truststore.

Common causes

  • Self-signed/internal CA certificate
  • Corporate proxy re-signing HTTPS
  • Server missing intermediate certificates
  • Old JDK without newer root CAs

⚡ Quick fix

  1. Import the CA into the JDK truststore with keytool
  2. Fix the server chain
  3. Update the JDK

Detailed fix by platform

Java

  1. keytool -importcert -alias corp-root -file corp-root.pem -keystore "$JAVA_HOME/lib/security/cacerts" -storepass changeit

How to diagnose

  1. Chain — openssl s_client output
  2. Truststore — Which JDK/cacerts is used?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Application & API. Errors that are often confused with or caused by this one (click to open):

1013 — Cloudflare Error 1013: HTTP hostname and TLS SNI hostname mismatch (Cloudflare)1013421 — HTTP 421 Misdirected Request (HTTP)421CERTIFICATE_VERIFY_FAILED — SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate (API)CERTIFICATE_VERIFY_FA…Cloudflare Origin CA not trusted — NET::ERR_CERT_AUTHORITY_INVALID with a Cloudflare Origin Certificate (record not proxied) (Cloudflare)Cloudflare Origin CA …cURL error 35 — cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to host:443 (PHP)cURL error 35ERR_CERT_AUTHORITY_INVALID — NET::ERR_CERT_AUTHORITY_INVALID (Your connection is not private) (JavaScript)ERR_CERT_AUTHORITY_IN…ERR_CERT_DATE_INVALID — NET::ERR_CERT_DATE_INVALID (certificate expired) (JavaScript)ERR_CERT_DATE_INVALIDERR_SSL_PROTOCOL_ERROR — ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection) (JavaScript)ERR_SSL_PROTOCOL_ERRORPKIX path…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.