安装CA而无需激活屏幕锁定 -- lock-screens 领域 和 4.1-jelly-bean 领域 和 certificates 领域 android 相关 的问题

Install CA without having to activate screen lock


简体版||繁體版
6
vote

问题

中文

我有一个nexus 7(Android 4.1.1),我想向我的设备添加CA(证书颁发机构)以将其用于我的邮件服务器的SSL连接。 CA是自签名的。证书只包含CA的公钥(当然!)。

我也想让我的屏幕锁定禁用,因为在平板电脑上没有离开我的房子,它没有意义才能拥有屏幕锁定。

现在出现问题:每当我想要导入CA时,Android都希望我将屏幕锁更改为我想要避免的数字/密码。

可以以某种方式防止这种行为吗?在CA的公钥上没有任何安全性。

我知道当手机rooted时,可以添加一个ca,但我想避免扎根手机。

english

I have a Nexus 7 (Android 4.1.1) and I want to add a CA (Certificate Authority) to my device to use it for the ssl-connection to my mail server. The CA is self-signed. The Certificate does only contain the public key of the CA (of course!).

I also want to keep my screenlock disabled because on a tablet not leaving my house it does not make sense to have a screen lock.

Now the problem arises: Whenever I want to import the CA, Android wants me to change my screenlock to digits/password which I want to avoid.

Can this behaviour somehow be prevented? There is nothing security critical at a public key of a CA.

I know that when the phone is rooted one can add a CA, but I want to avoid rooting my phone.

        
   
   

回答列表

2
 
vote

我已经写了一篇关于创建&amp的文章;将Cacert证书安装为Android系统证书(Android> = 4.2),从而允许您在没有锁定屏幕的情况下使用您的设备:

http://wiki.pcproblemloos.nl/android/cacert

我的文章的主要部分:

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

把文件复制<代码> 5ed36f99.0 e5662767.0 到<代码> /system/etc/security/cacerts/ (和 chmod 644 它们),<代码> reboot < /代码>它应该工作。检查设置 - &gt;安全 - &gt;证书,它应该列出"CACERT Inc." 和"根ca" 。请注意,有些浏览器可能会使用自己的证书存储而不是Android One。

Android安全模型明确迫使您在安装非系统(用户)证书时具有锁定屏幕。此外没有配置选项。

您可以用删除此要求的ovest android版本(我认为任何存在,但您可以理论上创建自己)。

另一个选项是使用(临时)root访问来安装此证书,然后"无引起" 它,虽然听起来有点愚蠢。

 

I've written an article on creating & installing CAcert certificates as Android System Certificates (Android >=4.2), thus allowing you to use your device without lockscreen:

http://wiki.pcprobleemloos.nl/android/cacert

Main part of my article:

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

Copy the files 5ed36f99.0 and e5662767.0 to /system/etc/security/cacerts/ (and chmod 644 them), reboot and it should work. Check Settings -> Security -> Certificates, it should list both "CAcert Inc." and "Root CA". Note that some browsers might use their own certificate store instead of the Android one.

The Android security model explicitly forces you to have a lockscreen whenever a non-system (user) certificate is installed. There is no configuration option around this.

You can either replace your stock Android version with one which has removed this requirement (I do not think that any exist, but you could theoretically create your own).

The other option is using (temporary) root access for installing this certificate, and then 'unrooting' it, although that sounds a bit silly.

 
 
0
 
vote

我不知道这将实现这一点。我一直在寻找一种做同样的事情的方式,因为我的工作要求我使用加利福尼亚州,但在很多看后没有发现任何东西。如果你扎根于此那么它可能是可能的,但没有root,我担心你必须刚刚处理它。

抱歉!

 

There is no way I know of which will achieve this. I've been looking for a way of doing the same thing for a while now, as my work requires me to use a CA, but have found nothing after a lot of looking. If you were rooted then it might be possible, but without root I'm afraid you're going to have to just deal with it.

Sorry!

 
 
0
 
vote

如果您决定root手机(只能暂时root root安装证书,则无需保持植被),您可以将证书上载入目录并将其验证的下一次重新启动:

  adb shell mount -o remount,rw /system adb push 1dbdda5d.0 /system/etc/security/cacerts/   

其中 1dbdda5d.0 是您的信任证书。

 

In case you decide to root the phone (you can only root it temporarily to install the certificates, it doesn't need to remain rooted), you can upload the certificates into a directory and the next reboot they will be validated:

adb shell mount -o remount,rw /system adb push 1dbdda5d.0 /system/etc/security/cacerts/ 

where 1dbdda5d.0 is your certificate to be trusted.

 
 
 
 
0
 
vote
抱歉,Root Access需要AFAIK。对于拥有root Access和Android 4+的每个人,这里有一个详细说明如何将其添加到Android的系统证书文件夹:

假设您的证书文件 - 让我们调用它<代码> root.cer - 看起来像这样:

  -----BEGIN CERTIFICATE----- MIIDgzCCAmugAw[...] [...] -----END CERTIFICATE-----   

获取Android的名称(".0" ,附加)和存储在变量 5ed36f99.00

  5ed36f99.01  

示例输出: 5ed36f99.02

  5ed36f99.03  

为Android创建证书文件:

  5ed36f99.04  

将证书文件复制到SD卡:

  5ed36f99.05  

打开Android shell:

  5ed36f99.06  

成为root并将证书复制到Android的系统证书文件夹:

  5ed36f99.07  

注意:有关您需要替换证书文件名的最后一个命令!

现在重启。确保正确安装了证书: goto 5ed36f99.08 - &gt; 5ed36f99.09 - &gt; e5662767.00 。在系统列表中,您应该查找自签名证书的发行人的名称(其等于主题)。您可以使用:

  e5662767.01  

现在您可以删除所有证书(未触及系统证书)并删除锁定屏幕。

 

Sorry, root access is require AFAIK. For everybody who has root access and Android 4+, here a detailed description how to add it to Android's system certificate folder:

Assuming your certificate file - let's call it root.cer - looks like this:

-----BEGIN CERTIFICATE----- MIIDgzCCAmugAw[...] [...] -----END CERTIFICATE----- 

Obtain the name Android needs for it (".0" is appended) and store in variable $name:

name=$(openssl x509 -inform PEM -subject_hash_old -in root.cer | head -1).0 

Sample output for: echo $name

00673baa.0 

Create the certificate file for Android:

cat root.cer > $name openssl x509 -inform PEM -text -in root.cer -out /dev/null >> $name 

Copy certificate file to SD card:

adb push $name /sdcard 

Open Android shell:

adb shell 

Become root and copy certificate to Android's system certificate folder:

su mount -o remount,rw /system cp /sdcard/00673baa.0 /system/etc/security/cacerts/ 

Note: For the last command you need to replace the certificate file name!

Now reboot. Make sure that the certificate was correctly installed: Goto Settings -> Security -> Show trusted certificates. Here in the system list you should find the name of the issuer of your self-signed certificate (which is equal to the subject). You can print it using:

openssl x509 -inform PEM -issuer -in root.cer -out /dev/null 

Now you can delete all certificates (system certificates are not touched) and remove the lock screen.

 
 
-1
 
vote

我找到了解决问题的方法,但它需要root,也可能只能与root,自签名或中间CA合作。

如果您在Android中没有信任的证书,则在添加它时,它将进入个人证书商店。在此个人证书商店添加证书时,系统需要更高的安全级别来解锁设备。但是,如果您设法将CERT添加到系统存储,那么您没有此要求。显然,root需要在系统存储中添加证书,但它很容易安静。

这里是如何做的:

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

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

3 - 将此文件移动到 system/etc/security/cacerts (您需要安装 系统分区R / W)

4 - 重新启动手机

5 - 您现在能够清除您设置以解锁的密码/密码 设备。

在Android 4.2.2上用一个自签名的证书工作。希望它有所帮助!

 

I found a way to solve the problem, but it requires root and may only work with root, self-signed, or intermediate CAs.

If you have a certificate that is not trusted by Android, when you add it, it goes in the personal cert store. When you add a cert in this personal cert store, the system requires a higher security level to unlock the device. But if you manage to add your cert to the system store then you don't have this requirement. Obviously, root is required to add a certificate to the system store, but it is quiet easy.

Here is how to do it :

1 - Add your cert normally. For example, my cert was called some.crt. It will be stored in your personal store and android will ask you a pin/password... Proceed.

2 - With a file manager with root capabilities, browse files in /data/misc/keychain/cacerts-added or /data/misc/keystore. You should see a file here called 1000_USRCERT_some it's the certificate you have added in step 1.

3 - Move this file to system/etc/security/cacerts (you will need to mount the system partition r/w)

4 - Reboot the phone

5 - You are now able to clear the pin/password you have set to unlock the device.

Worked for me with a self-signed cert on Android 4.4.2. Hope it helps!

 
 
 
 
-2
 
vote

有一种方法。只需将证书安装通常的方式,并将"模式" 设置为锁屏。锁定屏幕。在模式上失败5次,然后单击右下角的"忘记模式" ,使用您的Google帐户登录并voilã...锁定屏幕重置为"无" ,并且证书仍然存在。

刚刚在Galaxy Note N7000上测试了4.1.2

 

There is a way. Just install your certificate the usual way and set "Patterns" as lock screen to do so. Lock the screen. Fail on the patterns 5 times, then click on "forgot pattern" in the lower right corner, login with your Google account and voilxc3xa0 ... the lock screen is reset to "none" and certificates are still there.

Just tested it on Galaxy Note N7000 with 4.1.2

 
 
   
   

相关问题

3  是否有可能在WPA企业网络中使用CA-Cert进行ServerAuthEntication,其中包含Android 2.2+?  ( Is it possible to use a ca cert for serverauthentification in wpa enterprise net ) 
我只是想知道是否有可能使用Android 2.2+在WPA-Enterprise Network中使用CA-Cert for Server Auth? 一个炒告诉我这是不可能的,但这意味着每个Android设备都会有一个市长安全漏洞,所以我想肯定会知道它:他们是否删除了这个重要的安全功能? 我会自己检查一下,但不幸的...

10  如何在Android设备上安装Web证书?  ( How to install a web certificate on an android device ) 
在大学访问WiFi,我必须与我的用户/通过凭据登录。 他们的网站证书(要求凭据的本地主页)未被识别为可信证书,因此我们将其单独安装在计算机上。 问题是,我不经常将笔记本电脑带到大学,所以我通常想要用我的htc魔法连接,但我没有关于如何单独安装证书在android上的线索,总是被拒绝。 这是他们网站中所述的内容 &gt...

64  您如何将CA证书导入Android手机?  ( How do you import ca certificates onto an android phone ) 
我想使用我的nexus一个连接到我大学的无线网络。当我在无线设置中转到"添加Wi-Fi网络" 时,我填写网络SSID并选择802.1x企业以进行安全性并填写一切。 问题是我们大学的无线使用Thawte Premium Server CA证书进行认证。 当我单击CA证书的下拉列表时,我在列表中没有任何内容(仅为n / ...

3  无法使用我们的Wi-Fi网络将公司的Wi-Fi证书联系起来  ( Unable to associate companys wi fi certificate with our wi fi network ) 
我有一个平板电脑运行Android 4.0.3,我正在尝试连接我公司的Wi-Fi,它使用安全证书。我已经获得了证书并在我的平板电脑上成功安装了它,但是当我转到Wi-Fi设置时连接到相位的Wi-Fi网络时,没有任何地方指定使用证书进行身份验证。这是这个版本的Android问题,我做错了什么,或者证书级别有问题。我们在i...

3  在尝试连接到WiFi时没有“使用System证书”  ( No use system certificates when trying to connect to wifi ) 
我正在与我的大学eduroam wifi有一个问题。 如果我理解正确,在 CA certificate 中我应该选择 CA certificate 如果它是 Use system certificate 并输入我的大学域。< / p> 但是,我只有: Select certificate 或 Don't valida...

25  证书安装,无需强制PIN锁屏  ( Certificate install without mandatory pin lockscreen ) 
谷歌支持说 可以通过系统预先确定可接受的锁定类型 管理员。 我可以在哪里定义可接受的内容?如果需要,我可以重新生成证书。 所以我可以再次使用幻灯片锁定屏幕。 (我正在使用cm9 rc1,android 4.0.4) ...

1  Certs如何针对默认信托商店验证?  ( How are certs validated against default trust store ) 
通过一些阅读,我对HTTPS如何与Android应用程序合作,特别是如何完成证书验证。我提到的一些资源获得这种理解是: android的验证证书 ssl在Android应用程序 验证ssl - android 根据我的理解,我粗略地说,应用程序可以验证: android提供的默认信任存储 -...

2  新手机上所有这些安全证书是什么?  ( What are all these security certificates on new phone ) 
这是一个新的T-Mobile三星Galaxy S7。 是否具有所有这些证书?许多看起来狡猾。 图像调整大小。单击以查看完整版本 ...

6  安装CA而无需激活屏幕锁定  ( Install ca without having to activate screen lock ) 
我有一个nexus 7(Android 4.1.1),我想向我的设备添加CA(证书颁发机构)以将其用于我的邮件服务器的SSL连接。 CA是自签名的。证书只包含CA的公钥(当然!)。 我也想让我的屏幕锁定禁用,因为在平板电脑上没有离开我的房子,它没有意义才能拥有屏幕锁定。 现在出现问题:每当我想要导入CA时,Andr...

2  在哪里获得openssl for Android?  ( Where to get openssl binary for android ) 
我有一个nexus 10(解锁&amp; rooted),我想在那里获得openssl二进制文件,以便验证https证书: $ openssl s_client -connect <IPADDRESS> 然而,无论我做什么我都找不到一个简单的方法来在Android上获取openssl,所以我可以运行上面的命...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有