我已经创建了自己的CA证书,现在我想在我的Android Froyo设备(HTC Desire Z)上安装它,以便设备信任我的证书.
Android将CA证书存储在其Java密钥库中/system/etc/security/cacerts.bks.我将文件复制到我的计算机,使用portecle 1.5添加了我的证书并将其推回到设备.
现在,Android似乎没有自动重新加载文件.我在几篇博客文章中看到我需要重启设备.这样做会导致文件再次被原始文件覆盖.
我的下一个尝试是通过复制它并使用设置菜单中的相应选项从SD卡安装证书.设备告诉我证书已经安装,但显然它不信任证书.此外,当我尝试将密钥库复制到我的计算机时,我仍然可以找到原始库存cacerts.bks.
那么,在Android 2.2设备上安装我自己的根CA证书作为可信证书的正确方法是什么?有没有办法以编程方式进行?
我们的部分网站用户在访问我们网站的安全区域,Android设备和Google Chrome浏览器时遇到问题.
看起来像这样;
我已经能够使用Browserstack的物理设备测试在以下设备上复制该问题;
我在网上阅读的所有文章,论坛和问题(除非我正在寻找错误的东西,并没有很多)指向服务器和/或SSL证书设置和配置,并且遇到的问题是按设计.
到目前为止,我发现的最有用的文章是问题268055"找不到证书"铬问题跟踪器.
评论18建议更改IIS中的SSL设置;
如果您有权访问IIS,我可以解决此问题.基本上,您需要转到SSL设置并确保取消选中"要求SSL",并为客户端证书选择"忽略".
评论28支持它;
对于非Google员工,只有在遇到请求客户端证书的站点时才会出现此错误消息.没有什么是浏览器可以在这里做 - 网站已请求客户端证书,并知道如果客户端证书有效,Android版Chrome浏览有权要求OS.这是你看到的提示 - 它由Android控制,所有应用程序(谷歌或其他)都需要通过该流程.
任何配置为请求客户端证书的站点都会发生这种情况,因此要解决此问题,请不要请求客户端证书,或者将Android设备配置为具有客户端证书(例如,通过设备管理应用程序或通过安装PKCS#12文件) .
kamakshi:这是所有"通过设计"的行为,但需要服务器操作员改变,所以我不知道如何处理这个bug.
由于做评论43 ;
我不认为这个bug的人会对配置IIS了解多少.你想和微软谈谈这件事.从搜索周围,"忽略客户端证书"似乎是你想要的选项.
我们已经做到了,但它似乎并没有产生任何影响.
Stack上的另一个问题(" 在PC上信任的证书但不在android中 ")表明可能缺少中间证书;
您可能缺少证书文件中的中间证书.如果您已访问过具有相同证书销售商的其他网站,则会在您的浏览器中记住中间证书.对于您网站的每位访问者来说,这可能不会 - 甚至更好 - 不会出现这种情况.要解决SSL连接中缺少的中间证书,您需要将中间证书添加到您自己的证书文件中.
我已经检查过,我们有域证书(不是通配符证书),中间证书和根证书,所以我认为这也不是问题.我也跑现场检查的Networking4all网站上测试和SSL测试的Qualys公司SSL网站上,并没有他们的错误或警告两者的路径.
还有其他人遇到过这个问题吗?我们可以尝试修复其他任何解决方案吗?我现在没有想法,所以任何建议都会非常感激.
该网站所在的服务器运行的是Windows Server 2008 R2和IIS 7.5,我们的SSL证书提供商是Thawte.
提前致谢!
我正在为 Android 上的 https 请求苦苦挣扎。
我们有一个由 CA 签署的有效 SSL 证书,这是众所周知的,https 请求不起作用,它们返回一个错误。以前我使用 Phonegap build 构建应用程序并且没有问题,现在我需要包含一个通知插件(用于工具栏通知),因此该应用程序需要通过 Eclipse 构建。相同的 url 对 http 工作正常,但一旦使用 https,所有请求都会失败。
同样,当我第一次在手机上的浏览器中尝试链接时,它弹出了一个关于证书无效的警告,但我 100% 确定证书有效并且签名正确。
有没有一种简单的方法可以在不影响安全性的情况下使这些 https 请求正常工作?
有谁知道 phonegap build 与 Eclipse 有什么不同?
我做了一些更多的研究,似乎没有安装中间证书可能有问题。我仍在尝试找出我们是否确实安装了它。我想我会提供更新以防万一有人遇到同样的问题。