5 votos

El certificado CA no es tomado por los navegadores en Android

Esta es una pregunta de seguimiento relacionada con esta respuesta .

En resumen: estoy importando el certificado de CA root autofirmado en el sistema Android a través de

Settings -> Security -> Trusted Credentials -> install from SD

La ruta difiere ligeramente en las diferentes versiones de Android.

Luego apuntar cualquier navegador (probado con Firefox, chrome y opera) al recurso seguro (basado en java script) y recibo un error de socket. El recurso es un index.html con lógica de web-socket js para conectarse de forma segura a un broker mosquitto.

Si, por el contrario, dirijo el navegador a "https://myserver:<mysecure port>" Recibo una advertencia de privacidad, puedo continuar inseguro y esto de alguna manera establece una cookie u otra cosa de almacenamiento por lo que soy capaz de hacer futuras solicitudes sobre el recurso seguro basado en js.

Da la sensación de que los navegadores en Android no hacen uso de los certificados CA importados por el usuario del sistema, aunque aparezcan en el grifo de certificados de confianza "usuario" y en el área de credenciales de confianza.

Probado con Android 7.1.2 y 10. Todos los navegadores de escritorio funcionan bien, probado en ubuntu / menta y raspi.

¿Cómo realizar solicitudes TLS basadas en el navegador en Android sin aceptar riesgos de privacidad inseguros?

Prueba adicional:

He probado lo mismo en un IPhone 7 con ios 13.3, importando el certificado CA, poniendo el recurso seguro en un espacio web adecuado ya que el acceso a archivos locales no es posible en ios. Funcionó a la primera.

Así que parece ser un verdadero problema de Android. Podría tener sentido plantear esta cuestión a un espacio Android. ¿Podría alguien hacer una sugerencia por favor?

Más investigación:

Aquí es una explicación detallada sobre cómo introducir un certificado personalizado en la sección de certificados del sistema. Pero para ser sinceros, no es una forma habitual de hacerlo. El acceso root no es para el común de los mortales, además de que podría no funcionar en las versiones más recientes de Android.

Los certificados de usuario son para las aplicaciones Android escritas por ti mismo. Usted puede tener una vista líneas de configuración de la propiedad en app.config para trabajar con sus certificados de usuario autofirmado.

El navegador Chrome y otros, por otro lado, son una especie de aplicaciones del sistema o aplicaciones de los proveedores que no están hechas para conocer los certificados específicos de los usuarios. Y esa es la única razón válida por la que no conoce los certificados de la sección de usuario. Sólo conoce los certificados del sistema.

Así que la única manera que queda, parece ser hacer su propia aplicación o de alguna manera recompilar una aplicación completa del navegador configurándola para buscar los certificados de los usuarios.

Esto es bastante engorroso e insatisfactorio, ya que la web te daría todo lo que necesitas en cualquier dispositivo, excepto Android, por supuesto, que obliga a dar un rodeo.

0voto

pr0nin Puntos 353

Firefox en Android

No tienes que añadir tu certificado de CA root personalizado a Android para que Firefox confíe en él. Al igual que las versiones de Firefox de escritorio, Firefox mantiene un almacén de certificados de CA root propio al que puedes añadir certificados.

La única diferencia con la versión de escritorio es que no hay una interfaz de gestión para añadir certificados.

En su lugar, simplemente tienes que descargar un certificado de CA root (formato DER, no formato PEM) usando Firefox Mobile, entonces aparece un diálogo donde puedes marcar el certificado como de confianza para identificar sitios web y/o marcar el certificado como de confianza para identificar usuarios de correo electrónico (bastante inútil en Firefox en Android, pero se puede seleccionar).

enter image description here

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X