Google支持说:


可接受的锁类型可以由系统管理员预先确定。


我可以在其中定义什么可以接受?我可以根据需要重新生成证书。

因此我可以再次使用幻灯片锁屏。

(我正在使用CM9 RC1,Android 4.0.4)

评论

我将接受一个解决方案,该解决方案将证书直接安装到系统中,从而绕过了引脚要求。

为了保护您的凭据,要求您使用一种具有某种秘密代码(模式,PIN或密码)的锁屏类型。该行告诉您,管理员可以(通常通过Exchange ActiveSync策略)锁定您的电话,以便仅接受其中的某些类型,例如,他们可能不信任模式锁定,并且可能认为4位数PIN码组合不足。并不是说您可以关闭此安全要求。

@GAThrawn如果我仅安装一个CA通过SSL(使用自签名证书)对我的Web服务器进行身份验证,我认为这是不可接受的。如果是关于在设备上签名密钥或验证用户身份的,我会理解的,但是两者都是相反的。幸运的是,sgiebels解决方案似乎很适合我,我在此处的评论中对此进行了一些细微调整。到目前为止唯一的缺点:它需要root。

#1 楼

使用切换/配置文件禁用锁屏安全性的问题在于,锁屏窗口小部件也不会出现,因此您也无法滑动以解锁。另外,当您重新启动手机时,按钮只有在再次重新切换设置后才能起作用。

另一种方法是照常安装证书,然后使用以下命令备份/ data / misc / keychain和keystore目录将诸如根浏览器之类的ACL保留到支持ACL的位置。我建议将它们复制到/ tmp。然后从“设置”中清除凭据,然后启用“滑动解锁”。然后从/ tmp复制回文件夹。 CA将被安装。

评论


这不再起作用。一旦您尝试在某处使用证书(例如在连接到wifi网络时),操作系统就会要求您再次在屏幕上设置锁定。

– Cory Klein
2012年11月27日15:48

@CoryKlein如果单击“取消”,则会提示您输入PIN码,您可以输入设置的最后一个。需要解密数据。

–先生
2012年11月28日在1:35

@Kurian-因此,我按照上面的说明进行操作,当我尝试连接到wifi网络时,它说“您需要设置锁屏PIN码”,然后单击“取消”,没有任何反应。如果我按“确定”,然后从那里取消,它仍然不会要求输入PIN。

– Cory Klein
13年1月8日在21:35

@CoryKlein我看错了您先前的评论。我说的是VPN。连接到VPN会提示您输入最后一个锁屏PIN码以解密您的凭据。我不知道它是否适用于带有私钥的个人证书。我知道它确实可以安装受信任的CA证书。它也可能是您正在使用的特定ROM。 ICS之前的AOSP ROM不需要锁屏PIN即可保存VPN凭据。

–先生
13年1月16日在3:49



#2 楼

我已经在http://wiki.pcprobleemloos.nl/android/cacert

我还将其发布在cyanogenmod论坛上:
http://forum.cyanogenmod.com/topic/82875-installing-cacert-certificates-on-android-as-system-credentials-without-lockscreen/

基本上,命令是:

openssl x509 -inform PEM -subject_hash_old -in root.crt | head -1


要获取正确的文件名,然后转换证书:

cat root.crt > 5ed36f99.0
openssl x509 -inform PEM -text -in root.crt -out /dev/null >> 5ed36f99.0


将它们复制到/ system / etc / security / cacerts /并将新的.0文件chmod更改为“ 644”。
重新启动并验证。在您的android设备上,选择“清除证书”,然后您就可以删除该图钉(通过输入图钉并将锁屏更改为“无”或“擦除”

这里我使用了CAcert根证书,但您可能还需要class3.crt证书,或使用自己的证书。

评论


您提到“自己的证书”。我只是用我的“ CA”(使用TinyCA创建)进行了尝试,在最后一步(“通知”)中仅收到错误:140342119224992:error:0906D06C:PEM例程:PEM_read_bio:no开始行:pem_lib.c:696 :预期:受信任的证书。选中无法在openssl中加载证书,.pem文件应该匹配。但是,您的最后一条命令没有任何改变。有什么问题吗,或者对于自签名/创建的CA是预期的吗?而且,在我开始黑客攻击之前:那还是应该起作用吗?

– Izzy♦
2014年8月6日在20:02

好的,可以工作,并被我自己创建的TinyCA CA接受:openssl x509 -inform PEM -text -fingerprint -in cacert.pem> d6a2705a.0,然后使用文本编辑器将base64块移到顶部,将文件放入/ system / etc / security / cacerts /,从目录– voila中运行chown root:root d6a2705a.0和chmod 0644 d6a2705a.0,它成为受信任的系统证书。耶哈!

– Izzy♦
2014年8月6日在21:04

@sgiebels您是否也有解决方案,如何在802.1X WLAN连接中使用凭据(来自系统凭据或其他凭据)?似乎设备上的密钥库/密钥链(/ data / misc / key ...)使用密码进行加密,因此:每次需要凭据(连接到WLAN)时,都会再次请求PIN /密码(在我的系统中)锁再次打开。

–艾文
2014年9月9日在8:04

这工作得很好,除了由于dos行尾而使证书格式出现问题。 dos2unix会转换它们,然后检查您在证书行上的结尾是否正确(我的样子是这样的:----- END CERTIFICATE ----- Certificate:这也引起了解析错误。

–deed02392
17年11月13日在12:22

#3 楼

我发现了一种无需其他软件或手动文件复制即可使用的解决方案:


将锁定屏幕设置为“模式”。输入图案和解锁PIN。记住解锁PIN码。
安装用户证书。
打开和关闭屏幕。
几次输入错误的密码,直到“忘记密码”?
单击“忘记图案?”,向下滚动,输入解锁PIN并单击“确定”确认。
使用后退按钮关闭“屏幕解锁设置”窗口,而无需选择任何选项。

系统现在设置为“滑动解锁”,但用户证书仍然可用(已通过Web浏览器和使用DefaultHttpClient的自定义应用程序进行了测试)。

在Galaxy Tab 2 10.1。上的Android 4.1.2。

评论


不适用于LG G2上的wpa-enterprise / TLS,此后证书消失了

– Eugene Petrov
15年11月28日在13:32

这是一个很大的错误!谢谢! (与Galaxy S5,Android 6完美配合)

–阿迪尔
16年11月15日在9:14

#4 楼



您可以使用CyanogenMod的配置文件。
(对于其他读者:这需要自定义CyanogenMod Rom版本9+)

只需创建或修改现有的配置文件并在此处关闭“屏幕锁定”。

它是:系统设置->配置文件->默认->锁定屏幕模式->已禁用


集成证书放入标准的Android密钥库文件中

在此处查看CAcert的出色方法

但是我不确定是否可以使用自签名证书来执行此操作(您可能需要切换到一个自制的CA(可能使用tinyca作为* nix上的一个不错的GUI工具)。



评论


这是行不通的(不再)。一旦您安装了证书(例如cacert.org中的证书),配置文件中的该选项/项目就会显示为灰色。

–蓝色
13年4月4日在20:00

#5 楼

我找到了解决问题的方法,但是它需要root权限,并且可能仅适用于root,自签名或中间CA。

如果您拥有Android不信任的证书,则在添加证书时,该证书将进入个人证书存储中。在此个人证书存储中添加证书时,系统需要更高的安全级别才能解锁设备。但是,如果您设法将证书添加到系统存储中,则没有此要求。显然,需要root才能将证书添加到系统存储中,但这非常简单。

这里是方法:

1-正常添加证书。例如,我的证书称为some.crt。它将存储在您的个人商店中,Android会询问您密码/密码...。继续。

2-使用具有root功能的文件管理器,在/data/misc/keychain/cacerts-added/data/misc/keystore中浏览文件。您应该在此处看到一个名为1000_USRCERT_some的文件,它是您在第1步中添加的证书。

3-将该文件移至system/etc/security/cacerts(您需要挂载系统分区r / w)

4-重新启动手机

5-现在,您可以清除设置为解锁设备的密码/密码。

使用Android 4.4.2上的自签名证书为我工作。希望对您有所帮助!

评论


有趣的是,您没有提及原始资料,也没有适当地提及作者。遵循如何参考他人撰写的材料。

–Firelord♦
16年2月19日在6:09