Skip to content
Advertisement

java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. Android 2.3

In my server (production server), I have a goDaddy ssl certificate. I have both iOS and Android apps connecting with the server, iOS connecting with no problems, android with versions 4.* everything is good, but with devices with 2.3.* I always get a SSLHandshakeException.

I did exactly like on Android Developers page (https://developer.android.com/training/articles/security-ssl.html).

I already saw similar threads here in Stack Overflow (here) but none is helping.

Then I saw this thread talking about Extended Key Usage, but when debugging I get the following information:

JavaScript

So I guess the certificate is not “forcing” Extended Key Usage.

Also on this thread there are some other possible causes such as date/time being completely wrong, which are all not existent.

Taking that into consideration, I now don’t know where the problem might be.

Any suggestions?

EDIT: StackTrace below:

JavaScript

Advertisement

Answer

It looks like the issuer of your certificate is not in the trust store of the 2.3 devices.

Take a look at the root and intermediate ca’s of your GoDaddy certificate and check whether the certificates are present on your 2.3 device.

See http://www.andreabaccega.com/blog/2010/09/23/android-root-certification-authorities-list/ for obtaining a list of 2.3 certificates.

When only the root CA is available make sure that your webserver also serves the intermediate certificates upon request.

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement