Sólo quería añadir una respuesta que es una variante de la de guttermonk para un caso de uso particular: instalar un certificado en una instancia de Bluestacks. En el momento de escribir este artículo, la aplicación de configuración de Bluestacks se ha modificado de modo que es imposible establecer un PIN o una contraseña, por lo que también es imposible añadir un certificado de usuario. Pero podemos conseguir un certificado root en el sistema con el enfoque de guttermonk más algunos otros pasos. Pude instalar un certificado sin pin ni contraseña y sin instalarlo nunca en el almacén de certificados del usuario.
Requisitos previos:
- Privilegios de root en la instancia Bluestacks
- openssl (en el host, por ejemplo, como se proporciona con Git Bash)
- Una aplicación de terminal en Bluestacks (por ejemplo, Termux)
En mi caso, había descargado el archivo cert dentro de Bluestacks y no tenía openssl disponible allí. Podemos copiar el archivo a la directorio compartido con Windows :
cp /sdcard/Download/mycert.cer /sdcard/windows/BstSharedFolder
En Windows podemos usar el openssl para obtener el hash del certificado (supongo que es eso).
cd C:\ProgramData\BlueStacks\Engine\UserData\SharedFolder # in CMD
cd /c/ProgramData/BlueStacks/Engine/UserData/SharedFolder # in Bash
openssl x509 -inform PEM -subject_hash_old -in mycert.cer | head -1
# e.g. abcd1234
De vuelta en Android, podemos hacer que el partición del sistema escribible Copie el certificado en el directorio de certificados del sistema y corrija sus permisos y propiedad. Monte la partición del sistema de sólo lectura después, por seguridad.
mount -o rw,remount /system
cd /system/etc/security/cacerts/
cp /sdcard/Download/mycert.cer ./abcd1234.0
chmod 644 abcd1234.0
chown system:system abcd1234.0
mount -o ro,remount /system
1 votos
Aceptaré una solución que instale el certificado en el sistema directamente, evitando así el requisito del pin.
1 votos
Para asegurar tus credenciales es un requisito que utilices uno de los tipos de pantalla de bloqueo que tiene algún tipo de código secreto (patrón, PIN o contraseña). Lo que esa línea te está diciendo es que tu administrador puede (normalmente a través de una política de Exchange ActiveSync) bloquear tu teléfono para que sólo algunos tipos de esos sean aceptados, por ejemplo, puede que no confíen en los bloqueos por patrón, y pueden pensar que los PINs de 4 dígitos no tienen suficientes combinaciones. No dice que puedas desactivar este requisito de seguridad.
2 votos
@GAThrawn Me parece inaceptable si sólo instalo una CA para autenticar mis servidores web mediante SSL (usando certificados autofirmados). Lo entendería si se tratara de firmar claves en el dispositivo, o autenticar al usuario, pero ambas cosas son al revés. Menos mal, solución sgiebels parece funcionar para mí, con algunos ajustes menores que he descrito en los comentarios allí. El único inconveniente hasta ahora: requiere Root.