He encontrado una forma de resolver el problema, pero requiere Root y puede que sólo funcione con CAs Root, autofirmadas o intermedias.
Si tienes un certificado que no es de confianza para Android, cuando lo añades, va al almacén personal de certificados. Cuando añades un certificado en este almacén personal de certificados, el sistema requiere un nivel de seguridad más alto para desbloquear el dispositivo. Pero si consigues añadir tu cert al almacén del sistema, entonces no tienes este requisito. Obviamente, se requiere Root para añadir un certificado al almacén del sistema, pero es bastante fácil.
He aquí cómo hacerlo:
1 - Añada su cert normalmente. Por ejemplo, mi cert se llamaba some.crt
. Se almacenará en tu tienda personal y Android te pedirá un pin/contraseña... Proceda.
2 - Con un gestor de archivos con capacidades Root, navegue por los archivos en /data/misc/keychain/cacerts-added
o /data/misc/keystore
. Debería ver aquí un archivo llamado 1000_USRCERT_some
es el certificado que ha añadido en el paso 1.
3 - Mueva este archivo a system/etc/security/cacerts
(tendrá que montar la partición del sistema r/w)
4 - Reiniciar el teléfono
5 - Ahora puede borrar el pin/contraseña que ha establecido para desbloquear el dispositivo.
A mí me funcionó con un certificado autofirmado en Android 4.4.2. ¡Espero que ayude!
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.