Para mi propia configuración utilizo una CA personal: "Gert van Dijk CA". Estoy utilizando esto para HTTPS y VPN con éxito mediante la importación del certificado de CA en el almacén de claves de Android. Tengo problemas para que la aplicación de correo electrónico lo reconozca. Aquí hay algunas notas sobre la configuración actual:
- La CA personalizada aparece perfectamente en Ajustes -> Seguridad -> Credenciales de confianza -> Usuario .
- Chrome y "OpenVPN para Android" funcionan con esta CA personalizada. Puedo ver una barra de ubicación verde cuando se conecta a
https://mail.mydomain.tld
.
Todo esto parece bien, hasta que llego a la configuración de mi correo Exchange. Simplemente no se conecta a mail.mydomain.tld
con el error "No se ha podido abrir la conexión con el servidor". Sin embargo, cuando cambio "Security Type: SSL/TLS" a "SSL/TLS (Aceptar todos los certificados)", mi correo se sincroniza perfectamente. Esto me hace pensar que la aplicación de correo electrónico no tiene en cuenta las credenciales del usuario en el almacén de claves. ¿Por qué?
Logcat me muestra esta línea al recibir el error de conexión:
I/Exchange(10278): IOException while sending request: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
Para verificar que he configurado mi servidor Exchange correctamente, he navegado hasta https://mail.mydomain.tld/Microsoft-Server-ActiveSync
¡y la barra de localización es perfectamente verde!
¿Cómo puedo hacer que la aplicación de correo electrónico tenga en cuenta las credenciales de confianza del usuario? No quiero confiar en todos los certificados posibles por razones de seguridad.
Versiones de Android: 4.4 (Nexus 5), 4.3 (Nexus 7 2013).