HTTPS GET (SSL) con Android y certificado de servidor autofirmado
He buscado en varias publicaciones sobre cómo recuperar algo a través deHTTPS
en Android, desde un servidor que utiliza un certificado autofirmado. Sin embargo, ninguno de ellos parece funcionar; todos no logran eliminar el
javax.net.ssl.SSLException: mensaje de certificado de servidor no confiable.
No es una opción modificar el servidor para tener un certificado de confianza, y tampoco es una opción hacer que el certificado del servidor coincida con la dirección IP del servidor.
Tenga en cuenta que el servidor no tendrá un nombre DNS, solo tendrá una dirección IP. La solicitud GET se parece a esto:
https://username:password@anyIPAddress/blabla/index.php?param=1¶m2=3
Soy plenamente consciente de que esta solución es propensa a los ataques de intermediarios, etc.
Por lo tanto, la solución debe ignorar la falta de confianza en el certificado e ignorar la falta de coincidencia del nombre de host.
¿Alguien sabe el código, que hace esto, utilizando Java para Android?
Hay muchos intentos de explicar esto enstackoverflow.com, y muchos fragmentos de código, pero parece que no funcionan, y nadie ha proporcionado un bloque de código que resuelva esto, por lo que puedo ver. Sería interesante saber si alguien realmente resolvió esto, o si Android simplemente bloquea los certificados en los que no se confía.