我有一个网站的中级证书已过期。我的 IT 人员说他已经续订了中级证书,但现在该网站无法访问,并出现 404 错误页面。
为了解决问题(因为他离开了一周...),我使用以下链接检查了 SSL 证书的状态:https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&actp=CROSSLINK&id=AR1130
我收到的错误如下:
错误:证书安装检查器已连接到 Web 服务器,但无法读取 Web 服务器的证书。请确保您的浏览器可以与 Web 服务器建立 SSL 连接。
该证书来自 Verisign,为“SSL Pro”。为了了解问题的背景,我们必须参考以下链接:https://knowledge.verisign.co.uk/support/ssl-certificates-support/index?page=content&id=SO18873&actp=search&viewlocale=en_US&searchid=1326832230564
以下是一段代码:
原因
Secure Site Pro/Managed PKI for SSL Premium SSL 中级 CA 证书已于 2011 年 10 月 24 日到期
解决
如果您拥有 2010 年 10 月 10 日之前颁发的 Secure Site Pro 或 Premium SSL 证书,则该证书可能链接到 2011 年 10 月 24 日到期的以下中级 CA:
知道这里可能出了什么问题吗?
答案1
您无需续订中间(链式)证书,Verisign 会处理这些证书,因为它们属于他们。这听起来很像您获得了一个新证书,该证书由与之前的证书不同的中间证书签名。您的服务器需要此中间证书来向客户端显示完整的链。
更多细节:客户端有一个他们已经信任的证书列表,即根 CA。Verisign 可能已经在该列表中。出于各种原因,Verisign 不使用其根 CA 证书直接签署您的服务器证书。它使用中间证书。客户端不知道这个中间证书。当客户端连接到您的服务器时,您的服务器将提供其服务器证书和中间证书。客户端查看后发现它信任 Verisign,而 Verisign 信任中间证书,中间证书信任您的服务器证书;所以一切都很好。
除非您的服务器缺少新的中间证书。因此客户端联系您的服务器,并且只看到服务器证书。由于客户端找不到从 Verisign 根证书到服务器证书的信任链,因此连接失败。要解决此问题,您需要在服务器上安装中间证书。对于主要的服务器,此过程有所不同:
对于 Apache 1.x:您需要编辑 httpd.conf。找到指令SSLCertificateChainFile
并将其指向 Verisign 提供的中级证书。CA 通常会提供“证书包”、“链包”、“链证书”或“中级证书”(对于您的目的而言,它们都是同一件事)。
附注:Apache 1.x 确实是古老的软件,应该弃用......Apache 2.x 可用。