Encontré una forma de resolver el problema, pero requiere root y solo puede funcionar con CA raíz, autofirmadas o intermedias.
Si tiene un certificado en el que Android no confía, cuando lo agrega, se encuentra en la tienda de certificados personales. Cuando agrega un certificado en esta tienda personal de certificados, el sistema requiere un nivel de seguridad más alto para desbloquear el dispositivo. Pero si logra agregar su certificado a la tienda del sistema, entonces no tiene este requisito. Obviamente, se requiere root para agregar un certificado a la tienda del sistema, pero es bastante fácil.
Aquí está cómo hacerlo:
1 - Agregue su certificado normalmente. Por ejemplo, mi certificado fue llamado some.crt
. Se almacenará en su tienda personal y Android le pedirá un PIN / contraseña ... Continúe.
2 - Con un administrador de archivos con capacidades de root, busque archivos en /data/misc/keychain/cacerts-added
o /data/misc/keystore
. Debería ver un archivo aquí llamado 1000_USRCERT_some
el certificado que ha agregado en el paso 1.
3 - Mueva este archivo a system/etc/security/cacerts
(necesitará montar la partición del sistema r / w)
4 - Reinicia el teléfono
5 - Ahora puede borrar el pin / contraseña que configuró para desbloquear el dispositivo.
Me funcionó con un certificado autofirmado en Android 4.4.2. ¡Espero eso ayude!