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

. . .

Comment

Add Your Comment

Be the first to comment.

css.php
Hire Us!
Brief us about your requirements and we'll get back to you.
Woo! Hooy!
We have just recieved your project brief and our expert will contact you shortly.
Send Again
Close