HTTP::Daemon::SSL 自动获取并提供中间证书

HTTP::Daemon::SSL auto-fetch and serve intermediate certs

我在 Windows 8.1 上使用 HTTP::Daemon::SSL 在 Perl 中创建了一个安全服务器 它适用于 Chrome 和 IE。它在 Firefox 下失败——ISSUER UNKNOWN。 我可以将颁发者的链证书附加到 SSL_cert_file,然后 Firefox 就可以连接了。 我注意到 Firefox 在 Windows 或 Python 上用作安全服务器 Apache 时没有附加到 SSL_cert_file 的发行者链证书没有问题。 有什么方法可以告诉 Perl 的 HTTP::Daemon::SSL 获取并提供所需的链证书,而无需手动将它们添加到 SSL_cert_file?

没有内置方法可以让 HTTP::Daemon::SSL 自动获取丢失的证书。此外,您认为这种事情是用 Apache 或 Python 完成的观察是错误的。通常需要正确配置服务器以发送必要的证书。

一些浏览器可以解决配置错误的服务器,有时这些解决方法只在特定情况下有效。例如,Firefox 将缓存它看到的中间证书,并在以后使用这些证书来填充其他连接中丢失的链证书。但是,如果 Firefox 之前没有看到中间证书,这将失败,这可以很容易地使用新创建的配置文件进行尝试。您在 Apache 和 Python 中看到的情况很可能是使用已缓存的证书。
某些浏览器还可以使用证书的授权信息访问扩展中的 CA Issuers 属性来下载丢失的证书。我认为 Chrome 可以做到这一点。但这当然会影响页面的加载时间,因为需要先从其他服务器检索丢失的证书。