一个好的SSL证书可能在客户端的计算机上失败吗?

我有一个运行在SSL后面的服务器( https://es.content-index.oustatic.com:8443 )。 我们从某人那里得到一个certificateSSL证书不好的报告:

客户端屏幕截图

但是,我们的目标看起来不错。 我把它插入到一个SSL检查器( https://www.sslshopper.com/ssl-checker.html#hostname=es.content-index.oustatic.com:8443 ),它显示证书是好的。

客户端机器上是否有一些configuration错误? 为什么他的机器会抱怨证书?

客户可能会发现证书不合适的原因很多。 客户端很可能不会将证书视为链接到信任锚。 我通过Qualys SSLLabs (这是IMO迄今为止最全面和最丰富的SSLtesting工具)运行该站点,但该站点仅支持端口443上的服务,所以我们在这里缺less一些有用的诊断信息。

在这一点上,我想说是时候向客户询问他们究竟发生了什么,所以你可以用类似的configuration来重现问题。

由于它看起来像客户端是一个正常的Web浏览器,我会build议这个问题是没有浏览器本身,但有一些SSL拦截正在进行。 对于当前的客户端病毒扫描程序(通常将必要的代理CA放入系统CA存储)或一些中间件(如公司环境中的防火墙),这是非常典型的。 通常在这种情况下,其他SSL站点也会失败,但也可能是由于非标准端口而导致的特殊处理。

查看交付给客户端浏览器的证书和链可能有助于debugging问题。

当然是! 有很多的可能性,为什么客户端可能不会接受有效的证书。 这只是一些常见的:

  • 客户端时间无效。 这是最常见的原因(即当BIOS电池没电时),尽pipe这可能不是什么困扰你。
  • 错误的域名。 这通常是由未包含在证书中的子域引起的。 如果您的浏览器不支持SNI ,这是一个可能的客户端错误,请点击这里 。 大多数现代浏览器都支持这一点,除了你肯定知道的大型软件公司的浏览器外;)
  • 不安全的encryption。 我不知道其他浏览器,但Chrome最近开始显示使用https的连接,但使用他们认为不安全的密码(RC4,SHA1) 为不安全的 。 你的客户正在使用铬,所以这是一个选项。 对我来说,它显示的连接是安全的,但这可能是过时的。

由于弱密码造成的错误。图片由SO用户Knelis。

  • 中间人攻击(Man-in-the-Middle) 浏览器总是显示警告,但是无论如何也没有人烦恼。 这可能是一个真正的攻击者试图嗅探数据或公司代理试图窥探异国情调的港口正在发生的事情。 此外,一些AV和Ad软件与您的https证书存储区混淆。

  • 无效的CA. 这是不常见的,但是当你有它的原因很难追查。 这开始于一些浏览器不接受特定的CA(即CACert在Firefox中被阻止)。 一些浏览器确实有自己的证书存储(Firefox再次),而另一些则依赖于系统证书存储,这更糟糕。 为什么? 因为除了所有Windows版本的AV,Ad和NSA软件都与您的证书存储区相混淆,您还可能遇到特定于分发版的接受方式和公司策略自行安装的问题。 如果一个公司有一个AV代理,你将需要去其证书存储。 这可能是代理软件特定的。 如果这是你的问题,祝你好运。

很难确切地告诉你客户的问题是什么,如此less的信息,但客户的问题是最明确的。

您的页面中有一个iframe具有无效的或不存在的ssl证书。