浏览器和 openSSL 返回不同的证书

浏览器和 openSSL 返回不同的证书

我正在尝试在我正在开发的应用程序中调试首次使用 SSL Pinning 的尝试。

我使用共享托管服务,其中有几个活跃的域。其中一个域将充当 API 端点。我想利用 SSL Pinning 来提高安全性。

我要求托管服务提供商安装证书、密钥和 CA 包。一切似乎顺利,因为当我使用任何 Web 浏览器浏览网站时,证书详细信息与我期望看到的一致。

但是当我尝试使用我的应用程序连接时,由于证书不匹配而失败。我仍在想办法更好地调试这部分,看看应用程序匹配的是什么……但那是另一个话题了

作为故障排除的一部分,我运行了

openssl s_client -connect example.com:443 -showcerts

它返回与服务提供商绑定的通配符证书 - 我希望看到我在浏览器中看到的证书

我的问题是:

  • 我的期望是否正确,即浏览器中显示的证书应该与 openssl 返回的证书相匹配?
  • 如果不是,有人可以向我解释一下为什么会有这种差异吗?

我的开发环境是 MAC OS/X,安装的 openssl 版本是 OpenSSL 0.9.8zf 2015 年 3 月 19 日。托管服务提供商使用 light speed(不确定他们的操作系统)。我使用标准的 apache/PHP 设置进行本地开发

相关内容