某些客户端有 SSL 证书,但其他客户端没有

某些客户端有 SSL 证书,但其他客户端没有

我刚刚更改了 AppEngine 上某个特定域的 SSL 证书。虽然我预计在新的证书 (CRT、IA) 生效之前 Google 系统可能会出现传播延迟,但我在通过多台机器上的多个浏览器使用 SSL 访问网站时没有遇到问题,但我一直在 Python 客户端上收到验证错误。我还在找到的每个在线 SSL 检查器网站上不断收到“未找到 SSL 证书”的提示。

有谁能解释为什么会发生这种情况吗?

答案1

这可能表明 AppEngine 没有发送中级证书。您可以使用 openssl 进行验证:

openssl s_client -showcerts -connect yourapp.com:443

输出将显示 Web 服务器发送的证书链中的所有证书。如果仅显示 1 个,则需要重新上传证书。

连接中间证书非常简单,只需使用您最喜欢的文本编辑器,在顶部输入证书,在下一行输入中间证书,您将得到一个如下所示的文件:

-----BEGIN CERTIFICATE----- 
(Your SSL certificate: BASE64 encoded stuff) 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
(Your Intermediate certificate: more BASE64 encoded stuff) 
-----END CERTIFICATE----- 

答案2

事实证明,AppEngine 最多可能会有一个小时左右的延迟。此外,“openssl s_client”可以检查主机名,但请确保提供“-servername”参数。

相关内容