我的用户的 SSL 证书是否被拦截了?

我的用户的 SSL 证书是否被拦截了?

我有一个用户在 Chrome 中收到警告:

浏览器照片显示不安全连接:NET::ERR_CERT_AUTHORITY_INVALID

查看安全选项卡时,用户的详细信息如下所示:

客户端 Chrome 中的“安全”选项卡的屏幕截图,其中显示错误,提示证书颁发机构无效

但在我们所有的机器上,它看起来都是这样的:

Chrome 中的“安全”选项卡的屏幕截图,无错误

现在,我意识到这可能只是因为用户的机器不信任 GoDaddy CA,但是当我要求用户从我们的网站向我发送证书并使用 OpenSSL 比较模量时,我只收到了客户端证书的不同结果。

控制台窗口显示两个证书的 md5 不匹配

这是否意味着我的用户与我们的联系被拦截了,或者配置过程中可能存在一些不同之处?或者用户根本不信任我的证书颁发机构,因此整个证书在某种程度上有所不同?

答案1

这个问题并不完全正确。并不是说 SSL 证书可以被拦截。网站的 SSL 证书是公开可用的实体。

SSL联系可能会被拦截,尤其是当您的客户端证书与您自己的证书具有不同的哈希值时,正如您在案例中所确认的那样。

这种拦截在大型企业 IT 环境中很常见。一种特殊的硬件会拦截并代理所有 SSL 连接尝试。在这种情况下,客户端的浏览器将获得在该硬件上生成的 SSL 证书。但我不认为这种情况在那里,因为浏览器会安装企业 CA 根证书,并且不会将网站证书标记为无效。

第一张截图提到了无效的证书颁发机构。因此,您应该分析客户端的证书,以确定它是由哪个 CA 颁发的。

为此,请运行以下命令:

openssl x509 -in cert-user.cer -text -noout

分析这些字段:

  • 发行人
  • X509v3 扩展 -> 授权信息访问

相关内容