Nuestro equipo tiene el siguiente problema:
Estamos desarrollando una aplicación cliente para Android e iOS usando Unity + UniWebview + HTML. Esta aplicación incluye peticiones de Ajax a algunos servidores a través de jQuery. Para propósitos de prueba estamos usando un servidor de prueba en lugar del servidor activo. Este servidor de prueba utiliza un certificado SSL autofirmado. NOTA: No tenemos acceso a ese servidor, así que cambiar el certificado SSL no es una opción.
Al probar el archivo .htm localmente con el navegador de escritorio acabamos de importar ese certificado SSL a Chrome y Mozilla Firefox. Con este enfoque nuestro código HTML funcionó como se esperaba.
Ahora queríamos probarlo en nuestro entorno UniWebview en un dispositivo Android. Al principio la aplicación no funcionó. Mientras probábamos el archivo .htm en el navegador móvil chrome, las solicitudes fueron bloqueadas por el no confiable certificado SSL. Así que buscamos una solución para importar el certificado a Android.
La solución más común que encontramos, fue exportar el certificado en cromo o en firefox y copiarlo en la unidad de la tarjeta SD del dispositivo. Entonces: Configuración > Seguridad > Instalar desde el almacenamiento USB, luego seleccionar el certificado e instalarlo. Después de la instalación recibimos el mensaje de una instalación exitosa. Pero cuando lo buscamos en la lista de certificados de usuario, no aparece. Después de probar nuestro script nuevamente tampoco funciona. Probamos esta solución un par de veces experimentando con diferentes formatos y codificaciones, pero cada vez obtuvimos el mismo resultado.
El segundo intento fue usar la aplicación CAdroid para importar certificados SSL a Android. Pero allí también nos encontramos con un problema. En el paso 4 (comprobación del certificado) recibimos un mensaje erróneo de que faltaban las restricciones básicas. Por lo tanto no hay un conjunto de bandera CA, por lo tanto la bandera CA no es verdadera.
El tercer intento fue usar el emulador de Androids del Android SDK. Esta vez tuvimos el mismo problema que en el primer intento, al instalar el certificado directamente en Android.
TL;DR
Así que mi pregunta: ¿Es posible instalar este certificado autofirmado en Android sin teniendo una bandera CA establecida?
Si no es así, ¿es posible modificar ese certificado existente para que pueda ser instalado?
NOTA: Crear un nuevo certificado NO es una opción real.
NOTA: Sólo tenemos los archivos del certificado, que exportamos con cromo y Firefox
Encontré este puesto: La instalación del certificado autofirmado dice que ha sido un éxito, pero Android actúa como si el certificado no existiera. . En los comentarios se habla de modificar un certificado existente, aunque no estoy seguro de que sea una opción para nosotros.
Dispositivo de prueba: Samsung GT-N8010 (Galaxy Note 10.1) Android 4.4.2
Saludos cordiales