Android : CertPathValidatorException

Updated 9 October 2017


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.

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.

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*

Be the first to comment.

Start a Project

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home