问题
我们网站的一些用户在使用安卓设备的Google Chrome浏览器访问我们网站的安全区域时遇到了问题。
问题表现如下:
我已经能够在以下设备上使用Browserstack的物理设备测试复制此问题:- 三星Galaxy S6,三星Galaxy S5,三星Galaxy S4(Android v5和v4.4)
- Nexus 6(Android v6,v5和v4.4)
- Moto X第二代(Android v6和v5)
我的研究
我在线阅读了所有的文章、论坛和问题(除非我搜索错误),它们都指向服务器和/或SSL证书设置和配置,并且所遇到的问题是按设计而来。
建议修复方法1
到目前为止,我找到的最有用的文章是Issue 268055 "No Certificates Found",它在chromium问题跟踪器上。
评论18建议在IIS中更改SSL设置;
如果你有IIS访问权限,我可以解决这个问题。基本上,你需要进入SSL设置,确保未选中“要求SSL”,并选择“忽略”客户端证书。评论28支持此观点;
对于非Google用户的情况,只有在遇到请求客户端证书的站点时才会出现此错误消息。Chrome无能为力-站点已请求客户端证书,为了知道客户端证书是否有效,Chrome for Android必须询问操作系统。那是你看到的提示-它由Android控制,并且所有应用程序(Google或其他)都需要通过该流程进行。任何配置为请求客户端证书的站点都会发生这种情况,因此要解决此问题,要么不请求客户端证书,要么配置Android设备具有客户端证书(例如通过设备管理应用程序或通过安装PKCS#12文件)。
kamakshi:这是“按设计”行为,但需要服务器运营商更改,因此我不确定该怎么处理此错误。
就像评论43所说的那样;
我认为这个bug上的人们可能不太了解如何配置IIS。你需要和微软公司联系。从搜索结果看,“忽略客户端证书”似乎是你想要的选项。
我们已经这样做了,但似乎没有什么改变。
建议修复2
Stack上的另一个问题("证书在电脑上受信任,在安卓上不受信任")表明可能缺少中间证书;
您的证书文件中可能缺少中间证书。如果您已经访问过另一个具有相同证书卖家的网站,则浏览器会记住中间证书。这可能不是每个访问者都会发生的情况,甚至更好的情况是不会发生。 为了解决SSL连接中缺少中间证书的问题,您需要将中间证书添加到自己的证书文件中。
我已经检查过,我们有一个域名证书(不是通配符证书),一个中间证书和一个根证书,因此我认为这也不是问题。我还在Networking4all网站上运行了站点检查器测试,以及在Qualys SSL网站上运行了SSL测试,它们都没有错误或警告。
我的问题
有其他人遇到过这个问题吗?我们可以尝试哪些其他解决方案来修复它?我已经没有更多的想法了,所以非常感谢任何建议。
一些额外的细节
网站所在的服务器正在运行 Windows Server 2008 R2 和 IIS 7.5,并且我们的 SSL 证书提供商是 Thawte。
提前致谢!