如何解决“没有find证书 – Chrome应用已申请证书”Android / Google Chrome问题

问题

我们的某些网站用户在使用Google Chrome的Android设备上访问我们网站的安全区域时遇到问题。

看起来像这样;

没有找到证书“的错误,在三星Galaxy S6(Android v5)

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

  • 三星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证书设置和configuration,而且遇到的问题是由devise。

build议的修复1

迄今为止发现的最有用的文章是铬问题跟踪器上的Issue 268055“No Certificates Found” 。

评论18build议更改IIS中的SSL设置;

如果您有权访问IIS,则可以解决此问题。 基本上你需要去SSL设置,并确保要求SSL没有选中,并select“忽略”客户端证书

评论28支持它;

对于非Google员工的情况,只有当您遇到请求客户端证书的站点时才会出现此错误消息。 Chrome可以在这里做任何事情 – 该网站已经申请了客户端证书,甚至要知道客户端证书是否有效,Chrome for Android必须询问操作系统。 这是您看到的提示 – 它是由Android控制的,所有应用程序(Google或其他)都需要通过该stream程。

这将发生在任何configuration为请求客户端证书的站点上, 因此要解决这个问题,要么不要求客户端证书,要么configuration你的Android设备拥有客户端证书 (例如,通过设备pipe理应用程序或通过安装PKCS#12文件) 。

kamakshi:这是所有“按devise”行为,但需要服务器操作员进行更改,所以我不知道如何处理这个错误。

正如评论43 ;

我不认为这个bug的人会知道很多关于configurationIIS。 你想和微软谈一谈。 从四处search,“忽略客户证书”似乎是你想要的选项

我们已经这样做了,但似乎没有什么区别。

IIS SSL设置

IIS SSL设置

build议的修复2

在Stack上的另一个问题(“ 证书信任的PC,但不是在Android ”)表明,中间证书可能会丢失;

您可能会丢失证书文件中的中间证书 。 如果您已经访问过具有相同证书销售商的另一个网站,则中间证书将在您的浏览器中被记住。 这可能不会 – 甚至更好 – 不是每个访客到您的网站的情况。 要解决SSL连接中缺less的中间证书,您需要将中间证书添加到您自己的证书文件中

我检查过,我们有一个域名证书(这不是一个通配符证书),一个中间证书和一个根证书,所以我不认为这是问题。 我还在Networking4all网站上运行了网站检查器testing,并在Qualys SSL网站上进行了SSLtesting ,并且都没有错误或警告。

我的问题

有没有其他人遇到过这个问题? 有其他解决scheme,我们可以尝试解决它? 在这一点上,我没有任何意见,所以任何build议将非常感激。

一些额外的细节,以防万一

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

提前致谢!

Solutions Collecting From Web of "如何解决“没有find证书 – Chrome应用已申请证书”Android / Google Chrome问题"

刚刚解决完全相同的问题,这是我发现的…

服务器规格(基本上与OP相同)

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

第一期:过时的密码政策

有几篇文章指出,服务器可能有过时的encryption策略。 一些研究显示,一切都必须使用registry设置进行configuration。 有关详细信息,请参阅MS支持文章如何限制在Schannel.dll中使用某些encryptionalgorithm和协议 。

不知道你的服务器是否是最新的? SSL实验室的服务器testing是validation您的网站的encryption策略的一个很好的工具。

手动编辑registry?

MS支持文章详细信息编辑registry项。 AACK! 多一点研究,我发现了一个名为IISencryption的Nartac软件的一个很好的工具,将单击一次更新所有的registry项。 仅供参考:重新启动也是必需的。

从Nartac软件网站:

IIS Crypto是一个免费的工具,使pipe理员能够在Windows Server 2008,2012和2016上启用或禁用协议,密码,哈希和密钥交换algorithm。它还允许您对IIS提供的SSL / TLS密码套件重新sorting,实施最佳实践只需单击一下,创build自定义模板并testing您的网站。

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

由于IIS的默认设置SSL设置为“接受”客户端证书,此问题的根源。 没有必要接受客户证书,所以只需将设置设置为“忽略”(从OP的build议修复#1图像)。

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

在IIS中忽略客户端证书

包起来

一旦服务器重新configuration了encryption策略,并且IIS SSL设置已被设置为忽略客户端证书,“ 找不到证书 ”错误将被解决。