如何修复"未找到证书 - Chrome应用已请求证书" Android / Google Chrome问题

时间:2016-05-03 13:35:57

标签: android google-chrome ssl iis https

问题

我们的部分网站用户在访问我们网站的安全区域,Android设备和Google Chrome浏览器时遇到问题。

看起来像这样;

No certificates found' error, as seen in Chrome on Samsung Galaxy S6 (Android v5)

我已经能够使用Browserstack的物理设备测试在以下设备上复制该问题;

  • 三星Galaxy S6,三星Galaxy S5,三星Galaxy S4(Android v5和v4.4)
  • Nexus 6(Android v6,v5和v4.4)
  • Moto X 2nd Gen(Android v6和v5)

我的研究

我在线阅读的所有文章,论坛和问题(除非我正在搜索错误的内容,否则没有多少内容)指向服务器和/或SSL证书设置和配置,并且正在经历的问题是设计。

建议修复1

到目前为止,我发现的最有用的文章是Issue 268055 "No Certificates Found"关于铬问题跟踪器。

Comment 18建议更改IIS中的SSL设置;

  

如果您有权访问IIS,我可以解决此问题。 基本上,您需要转到SSL设置,并确保取消选中要求的SSL,并且"忽略"已选择客户端证书

Comment 28支持它;

  

对于非Google员工,只有在遇到请求客户端证书的站点时才会出现此错误消息。 Chrome无法在此处执行任何操作 - 该网站已请求客户端证书,甚至知道客户端证书是否有效,Chrome for Android必须询问操作系统。这是您所看到的提示 - 它由Android控制,所有应用(Google或其他应用)都需要经过该流程。

     

任何配置为请求客户端证书的站点都会出现这种情况,因此要解决此问题,要么不要求客户端证书,要么将Android设备配置为具有客户端证书(例如,通过设备管理应用程序或通过安装PKCS#12文件。)

     

kamakshi:这就是全部" By Design"行为,但需要服务器操作员进行更改,因此我不确定如何处理此错误。

comment 43;

  

我不认为有关此错误的人会对配置IIS有太多了解。您想与Microsoft就此进行讨论。 从四处搜索,"忽略客户证书"似乎是你想要的选择

我们已经做到了,但似乎并没有起到作用。

IIS SSL settings

IIS SSL settings

建议修复2

Stack上的另一个问题(" certificate trusted on pc but not in android")表明可能缺少中间证书;

  

您可能缺少证书文件中的中间证书。如果您已访问过具有相同证书销售商的其他网站,则会在您的浏览器中记住中间证书。对于您网站的每位访问者来说,这可能不会 - 甚至更好 - 不会出现这种情况。 要解决SSL连接中缺少的中间证书,您需要将中间证书添加到您自己的证书文件

我已经检查过,我们有域名证书(不是一个通配符证书),中间证书和根证书,所以我不认为这也是问题所在。我还在Networking4all网站上进行了site checker测试,在Qualys SSL网站上进行了SSL test测试,他们都没有错误或警告。

我的问题

还有其他人遇到过这个问题吗?我们可以尝试修复其他任何解决方案吗?我现在没有想法,所以任何建议都会受到高度赞赏。

一些额外的细节以防万一

网站所在的服务器运行的是Windows Server 2008 R2和IIS 7.5,我们的SSL证书提供商是Thawte。

提前致谢!

1 个答案:

答案 0 :(得分:9)

刚刚解决了这个完全相同的问题,这就是我发现的......

服务器规格(与O.P基本相同)

  • Windows Server 2008 r2
  • IIS 7.5
  • SSL提供商:GeoTrust RapidSSL

第一期:过期加密政策

有几篇文章指出服务器可能有过时的加密策略。一些研究表明,必须使用注册表设置配置所有内容。有关详细信息,请参阅MS支持文章How to restrict the use of certain cryptographic algorithms and protocols in Schannel.dll

不确定您的服务器是否是最新的? SSL Labs' Server Test是验证网站加密政策的绝佳工具。

手动编辑注册表?

MS Support文章详细介绍了如何编辑注册表项。 AACK!更多的研究,我发现了一个名为IIS Crypto by Nartac Software的实用工具,只需单击即可更新所有注册表项。仅供参考:还需要重新启动。

来自Nartac Software网站:

  

IIS Crypto是一款免费工具,可让管理员使用   启用或禁用协议,密码,哈希和密钥交换   Windows Server 2008,2012和2016上的算法。它也可以让你   重新排序IIS提供的SSL / TLS密码套件,实施最佳实践   只需单击一下,即可创建自定义模板并测试您的网站。

第二个问题:IIS SSL站点设置不正确

由于IIS的默认设置将SSL设置设置为“接受”客户端证书,因此问题的根源。无需接受客户端证书,因此只需将设置设置为“忽略”(来自O.P.建议的修复#1图像)。

注意:图片显示“要求SSL”未选中;对于这个讨论,是否检查是不相关的。重要的是网站可以使用https进行连接。

Ignore Client certificates in IIS

总结

一旦服务器重新配置了加密策略并且IIS SSL设置已设置为忽略客户端证书,将解析“ No certificates found ”错误。