java.security.cert.CertPathValidatorException: ancla de confianza para la ruta de certificación no encontrada. Android 2.3
En mi servidor (servidor de producción), tengo un certificado goDaddy ssl. Tengo aplicaciones de iOS y Android conectadas con el servidor, iOS conectando sin problemas, Android con versiones 4. * todo está bien, pero con dispositivos con 2.3. * Siempre obtengo una SSLHandshakeException.
Me gustó exactamente en la página de desarrolladores de Android (https://developer.android.com/training/articles/security-ssl.html)
Ya vi hilos similares aquí en stackoverflow (aquí) pero ninguno está ayudando.
Y luego viesta hilo hablando sobre el uso extendido de claves, pero al depurar obtengo la siguiente información:
[2]: OID: 2.5.29.37, Critical: false
Extended Key Usage: [ "1.3.6.1.5.5.7.3.1", "1.3.6.1.5.5.7.3.2" ]
Así que supongo que el certificado no está "forzando" el uso extendido de claves.
También enesta Sin embargo, existen otras causas posibles, como que la fecha / hora es completamente incorrecta, que no existen.
Teniendo eso en cuenta, ahora no sé dónde podría estar el problema.
¿Alguna sugerencia?
EDITAR: StackTrace a continuación:
08-04 16:54:30.139: W/System.err(4832): Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
08-04 16:54:30.149: W/System.err(4832): at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:161)
08-04 16:54:30.149: W/System.err(4832): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:664)
08-04 16:54:30.149: W/System.err(4832): at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(Native Method)
08-04 16:54:30.159: W/System.err(4832): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:474)