PDA

Ver la Versión Completa : Error al conectar a servidor con Volley y Oreo


kaiser75
23/01/19, 20:18:53
Vereis, estoy mostrando unos datos e imagenes desde un servidor con Volley y RecyclerView, funciona correctamente en todas las versiones de Android menos en Oreo, me salta un error al cargar los datos "com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: Chain validation failed", la direccion url es https y no se si tendra algo que ver, a alguien le ha pasado? :pensando:

mocelet
25/01/19, 11:12:07
El error desde luego tiene relación con HTTPS, básicamente te está diciendo que no puede garantizar que el servidor sea quien dice ser y no se va a conectar.

Los servidores que aceptan conexiones seguras tienen un certificado firmado por una entidad de confianza, que a su vez está firmado por otra entidad de mayor nivel, así hasta llegar a los certificados raíz. Es lo que se llama la cadena de confianza.

Si en algún punto de esa cadena Android detecta un error la conexión no se produce por considerarla no segura. Las razones, depende, que algún certificado de la cadena haya caducado, que use mecanismos de cifrado pobres que ya no se permiten o, simplemente, que el certificado raíz no esté en su lista de certificados de confianza. También puede ser que haya un bug en Android, la versión 7.0 tenía un bug que rechazaba ciertos certificados válidos.

Imagino que la excepción te dará más datos. Prueba en emuladores con Android 8.0, 8.1 y 9.0, si te falla en todos esos y anteriores va bien yo descartaría un bug puntual y apuntaría a algún problema con la configuración de certificados del servidor o a certificados que ya no se consideren adecuados.

kaiser75
25/01/19, 17:52:51
Gracias mocelet, pero creo que encontre una solucion y ahora me funciona correctamente con todas las versiones de Android, por si a alguien le sirve AQUI (https://stackoverflow.com/questions/30925213/ssl-exception-when-using-volley/#answer-34991596) hablan de ello.

mocelet
25/01/19, 20:32:48
Pero esa "solución" es aceptar todos los certificados SSL aunque ni siquiera sean auténticos. Si no vas a intercambiar datos privados, bueno, pero si va información del usuario por ahí es un agujero de seguridad importante.

kaiser75
26/01/19, 11:30:51
Pero esa "solución" es aceptar todos los certificados SSL aunque ni siquiera sean auténticos. Si no vas a intercambiar datos privados, bueno, pero si va información del usuario por ahí es un agujero de seguridad importante.


No intercambio ni obtengo ningun dato del usuario, simplemente se muestran unas imagenes y ya esta.