无需强制PIN锁屏即可安装证书


23

Google支持说

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

在哪里可以定义可接受的内容?如果需要,我可以重新生成证书。

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

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


1
我将接受将证书直接安装到系统的解决方案,从而绕过了引脚要求。
rdlu 2012年

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

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

Answers:


2

使用切换/配置文件禁用锁屏安全性的问题在于,锁屏窗口小部件也不显示,因此您无法滑动以解锁。另外,当您重新启动手机时,这些按钮在重新重新设置之前不起作用。

另一种方法是照常安装证书,然后使用保留ACL的东西(例如Root Explorer)将/ data / misc / keychain和keystore目录备份到支持ACL的位置。我建议将它们复制到/ tmp。然后从“设置”中清除凭据,然后启用“滑动解锁”。然后从/ tmp复制回文件夹。将安装CA。


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

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

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

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

7

我已经在http://wiki.pcprobleemloos.nl/android/cacert的页面“没有锁定屏幕的情况下在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创建)进行了尝试,而在最后一步(“ inform”)中仅出现错误:140342119224992:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE。选中“ 无法在openssl中加载证书”,该.pem文件应该匹配。但是,您的最后一条命令没有任何改变。有什么问题吗,或者自签名/创建的CA是否应该有此问题?而且,在我开始黑客攻击之前:那还是应该起作用吗?
伊齐

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

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

这工作得很好,除了由于dos行尾而使证书格式出现问题。DOS2UNIX的将它们转换,然后检查你有证行正确的结局(我是这样的:-----END CERTIFICATE-----Certificate:。这引起了解析错误太多
deed02392

4

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

  1. 将锁定屏幕设置为“模式”。输入图案和解锁PIN。记住解锁PIN。
  2. 安装您的用户证书。
  3. 关闭然后再打开屏幕。
  4. 几次错误输入模式,直到“忘记模式?” 选项出现。
  5. 单击“忘记图案?”,向下滚动,输入解锁PIN,然后单击“确定”进行确认。
  6. 使用后退按钮关闭“屏幕解锁设置”窗口,而不选择选项

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

在Galaxy Tab 2 10.1。的Android 4.1.2上进行了测试。


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

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

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

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

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

  • 将您的证书集成到标准的Android密钥库文件中

    在这里查看CAcert的优秀方法

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


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

-1

我找到了一种解决问题的方法,但是它需要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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.