我们其中一个网站的 SSL 证书已过期,尽管我不是任何类型的服务器管理员,但我还是被赋予了续订该证书的任务。我已完成证书请求并将其添加到服务器证书中。然后,我将这个新证书分配给了相关网站的 https 绑定。
当我查看证书时,它显示 Entrust 提供商的证书有效期为 2020 年,具有 sha256 哈希值和 sha1 指纹。
如果我在我们公司的网络上访问该网站,我可以看到新证书被正确提供。但是,任何位于此网络之外的用户(包括我断开连接时)都会收到“证书不受信任”错误。检查现在提供的证书后,它显示旧的 SHA1 哈希过期证书。
我使用 DigiCertUtil 检查了 certlog,并确认没有与现有有效证书相对应的 SSL 哈希值。此外,此站点也没有其他 HTTPS 绑定。我在这里遗漏了什么?
答案1
如果我在我们公司的网络上访问该网站,我可以看到新证书被正确提供。但是,任何位于此网络之外的用户,
如果您在直接连接时看到有效证书,但在外部连接时看不到,这可能意味着您和服务器之间存在某种代理。可能是负载平衡器或某种安全设备。当您从外部连接时,请仔细查看您的站点名称解析到的目标地址。找到具有该地址的系统并修复它。或者找到负责该系统的人员。
答案2
基本上,您不应该再启用旧的 sha1 指纹。现代浏览器不再使用该加密方法,因为它不安全。您应该在公司的不同浏览器和系统上对其进行测试。
其次,一些 CA 提供商可能会因为涉嫌 MITM(中间人攻击)而被禁止。据我所知,StartSSL.com 已被 Mozilla 基金会禁止,所有最新的 Mozilla Firefox 浏览器都不再信任其 CA,但 StartSSL 仍在提供 CA。
第三,检查您的 CA 链。CA 链通常有 3 层或多或少。如果其中一个链不是来自受信任的提供商,则客户端不会信任该 CA。