我有一个站点,该站点仅允许您使用由根ca签名的用户证书。
我已设法使该站点在Ios和Windows上运行,但是无法在Android(4.2.2)上运行。
我尝试了许多不同的导入证书的方法,包括在格式之间进行转换-我知道它已被识别并“安装”,但实际上似乎从未安装或可见(在受信任的凭据下检查>用户)。
我在这里读过,并且是唯一的解决方案似乎涉及下载/修改文件,然后重新上传然后重新启动-或修改了固件/类似文件...。我真的想要一种受支持的方式来执行此操作,并且因为我需要一种可扩展的解决方案,所以我并不想考虑使用hack。
#1 楼
来自StackOverflow:如何在Android设备上安装受信任的CA证书?我花了很多时间试图找到答案(我需要Android才能看到StartSSL证书)。结论:Android 2.1和2.2允许您导入证书,但仅可用于WiFi和VPN。没有用于更新受信任的根证书列表的用户界面,但是有关于添加该功能的讨论。目前尚不清楚是否有可靠的解决方法来手动更新和替换cacerts.bks文件。
详细信息和链接:http://www.mcbsys.com/techblog/2010/12/android-certificates/。在该帖子中,请参阅指向Android错误11231的链接-您可能想要对该错误进行表决并进行查询。
11231在2011年11月关闭,其状态为Android 4.0 ICS已发布。
以下是与已发布状态关联的注释:
ICS会尝试发行本期中大部分(如果不是全部)的项目。如果我什么都错过了,我将打开更具体的问题来解决这些差距。
下面的一些详细信息,我计划稍后再发表一个更正式的博客文章。如果您想尝试以下操作并提供反馈,则以下所有内容在Android 4.0 SDK中均应可见。
设置中的更改:
系统证书颁发机构(CA)现在可以在“设置”>“安全>受信任的凭据。
现在可以禁用并重新启用系统CA
,用户可以从“设置”>“安全”(以及其他机制,例如通过浏览器或通过电子邮件附件打开)安装自己的CA。
可以在“设置”>“安全性”>“受信任的凭据”中查看和删除用户CA,而不是使用单独的8个字符的PIN进行凭据存储,现在可以通过锁屏控制访问权限
新的KeyChain API
KeyChain.createInstallIntent允许应用程序请求证书安装,基本上是将设置所使用的接口公开,以请求安装。用户需要像以前一样确认安装请求。
KeyChain.choosePrivateKeyAlias / getPrivateKey / getCertificateChain允许应用程序请求私钥及其关联的证书以供应用程序使用。一个常见的用例是使用https进行客户端证书身份验证。
电子邮件
电子邮件现在使用KeyChain API允许Exchange帐户的客户端证书身份验证
浏览器
当服务器请求进行身份验证时,浏览器现在将使用密钥链提示客户端证书。
2014年3月,增强功能请求已创建,允许用户安装自己的CA证书。
许多用户(包括公司)将自签名证书用于SSL / TLS,或者是因为他们不想为此付费,或者是因为他们自己不愿意为之付费“不信任其他公司并想自己做(实际上,当不需要匿名Internet用户信任您的服务器时,没有理由购买证书)。
目前,可以在其中安装自定义CA证书Android,但被检测为“用户证书”,似乎是针对客户端证书的。结果,这些证书在GUI中显示为“用户证书”,并且自Android 4.4起,已经实施了可怕的“网络可能受到监视”。
评论
这是一个很好的答案,但有一个错误的问题。该问题询问如何安装用于客户端证书身份验证的客户端证书(网站罕见)。此答案说明了如何安装新的根CA,这是不同的。
– jtolds
2015年10月15日14:46
#2 楼
转到设置>安全性>凭据存储>从SD卡安装。如果不存在,则可能需要更新的Android版本或我不知道的解决方法。#3 楼
您可以在Android上安装网站提供的根证书。转到Android手机中的“设置”,点击SD卡中的安装凭据。确保将证书下载到SD卡中。
评论
我们正在寻找可以完全解释问题的答案。您能否扩大答案范围?
–丹·赫尔姆
16年5月8日在21:45
评论
欢迎使用Android爱好者!您是否有机会看到如何在Android设备上安装网络证书?虽然问题很老,但最重要的答案仍然适用于Android 4.4。嗨,是的,我做过……在HTC设备上,它询问我是否要将其用作“ VPN或(不记得)证书”或“无线证书”,然后说它已安装但什么也不做。 ..在三星手机上,安装/说安装完毕后没有任何选择,然后再无反应。
@dotVezz这个问题是关于安装Web服务器的证书的。 Hilsum先生正在询问有关使用客户端证书对服务器进行身份验证的信息。
当您尝试访问该网站时会发生什么?在Chrome> = 27.0.1453.49中,当Web服务器要求该身份验证方法时,它会提示您选择证书。 Firefox不支持此功能。
@Dave您需要提出一个新问题,以了解是否有人知道。在评论中添加问题意味着大多数可以回答的人不会看到它。