Mi objetivo: Crear una configuración de WiFi EAP, incluido el certificado de CA, en Android programmetcally.¿Cómo instalar mediante programación un certificado de CA (para la configuración de EAP WiFi) en Android?
Problema: ¿Cómo se instala un certificado de CA mediante programación (y después hacer referencia a ese certificado en la configuración EAP-Fi)?
He encontrado un enlace muy útil ya que me permite crear y guardar configuraciones WiFi EAP aquí: How to programmatically create and read WEP/EAP WiFi configurations in Android?
Sin embargo, esto supone que ya ha instalado el certificado CA en el dispositivo. Me gustaría instalar el certificado en mi aplicación, ya sea desde los recursos de la aplicación o desde un servidor.
¿Esto es posible? (El enraizamiento no es una opción en este caso). Si es así, ¿cómo?
Otros detalles ...
También encontré una manera de agregar un certificado a un almacén de claves: https://stackoverflow.com/a/4490543/1172101
Sin embargo, esto se utiliza específicamente para crear una conexión segura y la conexión a través de HTTPS. Quiero usar el certificado para WiFi.
Desafortunadamente, todavía tengo que encontrar la forma de instalar un certificado de CA de forma programática, desde dentro de la aplicación.
Sin embargo, es posible instalar un certificado a través del navegador web en Android. Por lo tanto, la solución (por ahora) es: Iniciar un intento para abrir una URL en el navegador web que va directamente al certificado de CA.
esto funciona, pero hay algunos desafíos:
- El usuario debe nombrar el certificado. Esto es un desafío porque estamos agregando la configuración de WiFi de forma programática. Por lo tanto, debemos pedirle al usuario que otorgue el certificado con el mismo nombre.
- El usuario debe ingresar una contraseña. Si no tienen una contraseña configurada, el usuario creará una y la ingresará dos veces. Si han establecido una contraseña de seguridad, el usuario tendrá que recordar esa misma contraseña e ingresarla.
- Suponiendo que el usuario completa con éxito estos pasos, se queda colgando en el navegador.
Esto conduce a una serie de preguntas:
- Desde mi aplicación, ¿hay una manera de forzar un nombre para el certificado que el usuario instala a través del navegador?
- Desde mi aplicación, ¿hay alguna manera de saber cuándo se completó la instalación del certificado y luego volver a enfocar mi aplicación?
Solo hágamelo saber si necesita alguna aclaración.
Hola, Nikolay, leí tu publicación en el Keystore aquí: - http://nelenkov.blogspot.in/2012/05/storing-application-secrets-in-androids.html ¿Puedo usar esto para pasar programáticamente el cert de Ca desde mi aplicación a la clase WifiConfiguration. La clase WifiConfiguration se referirá a mi almacén de claves de la aplicación en lugar del almacén de claves del sistema –