我有自己的用于签署用户证书的根证书。
我有一个网站,仅允许您使用由根ca签名的用户证书。
我已经设法使该站点在Ios和Windows上运行,但是无法在Android(4.2.2)上运行。
我尝试了多种不同的导入证书的方法,包括在格式之间进行转换-可以识别并“安装”它,但它似乎从未真正安装或可见(在受信任的凭据>用户下检查)。
我已经在这里阅读过,唯一的解决方案似乎涉及下载/修改文件,然后重新上传然后重新启动-或修改了固件/类似文件...。因为我需要一个可扩展的解决方案。
我有自己的用于签署用户证书的根证书。
我有一个网站,仅允许您使用由根ca签名的用户证书。
我已经设法使该站点在Ios和Windows上运行,但是无法在Android(4.2.2)上运行。
我尝试了多种不同的导入证书的方法,包括在格式之间进行转换-可以识别并“安装”它,但它似乎从未真正安装或可见(在受信任的凭据>用户下检查)。
我已经在这里阅读过,唯一的解决方案似乎涉及下载/修改文件,然后重新上传然后重新启动-或修改了固件/类似文件...。因为我需要一个可扩展的解决方案。
Answers:
从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的Released。
以下是与已发布状态关联的注释:
ICS会尝试本期中的大部分(如果不是全部)项目。如果我错过了任何事情,我将打开更具体的问题来解决这些空白。
在下面的一些详细信息中,我计划稍后再发表更正式的博客文章。如果您想尝试以下操作并提供反馈,则以下所有内容在Android 4.0 SDK中均应可见。
设置更改:
- 系统证书颁发机构(CA)现在在“设置”>“安全性”>“可信证书”中可见。
- 现在可以禁用并重新启用系统CA
- 用户可以从“设置”>“安全性”(以及其他机制,例如通过浏览器或通过电子邮件附件打开)安装自己的CA。
- 可以在“设置”>“安全性”>“可信证书”中查看和删除用户CA
- 现在可以通过锁定屏幕控制访问权限,而不必使用单独的8字符PIN码来存储凭据
- KeyChain.createInstallIntent允许应用程序请求证书安装,基本上是公开设置所使用的接口请求安装。用户需要像以前一样确认安装请求。
- KeyChain.choosePrivateKeyAlias / getPrivateKey / getCertificateChain允许应用程序请求私钥及其关联的证书以供应用程序使用。一个常见的用例是使用https进行客户端证书身份验证。
电子邮件
- 电子邮件现在使用KeyChain API允许Exchange帐户的客户端证书身份验证
浏览器
- 当服务器请求进行身份验证时,浏览器现在将使用KeyChain来提示输入客户端证书。
2014年3月,创建了一个增强请求,允许用户安装自己的CA证书。
许多用户(包括公司)将自签名证书用于SSL / TLS,要么是因为他们不想为此付费,要么是因为他们只是不信任其他公司而想自己做(实际上,没有理由在不需要匿名Internet用户信任您的服务器时购买证书)。
目前,可以在Android中安装自定义CA证书,但是它被检测为“用户证书”,似乎是针对客户端证书的。结果,这些证书在GUI中显示为“用户证书”,并且自Android 4.4起,已经实现了可怕的“网络可能受到监视”。