Start a Project

Android : CertPathValidatorException

The SSL (Secure Socket Layer) is used for a encrypted communication between client and server. To use SSL, server is configured with a certificate. The certificate contains public and  private keys for encryption. Theses are necessary for SSL handshaking (creating a connection). But sometimes you can get a SSLHandshakeException or to be specific CertPathValidatorException.

There can be three reasons for the exception namely

  1. An unknown CA issued the certificate.
  2. Missing intermediate certificate.
  3. Self-signed certificate.
CertPathValidatorException

To resolve the issue I used a simple technique with my Retrofit-2 request. I saved the certificate on my end as raw resource and used it in the request to the server.

We have to create a SSLContext to pass it in our request.

Now using this SSLContext create a SSLSocketFactory object and assign it to your connection request as

And with that all your errors/ exceptions are gone and you can securely call your HTTP requests to the server.

Exit mobile version