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

标签 perl ssl https daemon chain

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

最佳答案

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

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

关于perl - HTTP::Daemon::SSL 自动获取并提供中间证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53215350/

相关文章:

excel - 使用 perl 编辑 Excel 数据透视表

perl - Inline::java STUDY 配置

perl - 我应该如何使用 Catalyst 在 Perl 中进行 RPC?

Laravel Request::secure() 函数返回 false

java - 从 Java 连接到 HTTPS 服务器并忽略安全证书的有效性

ssl - 访问 XamarinForms 中的自签名 X509 证书,用于与 Mosquitto 代理的 mqtt TLS 连接

http - Firefox将安全Cookie发送到本地主机

reactjs - 从 http 源获取数据到 https 源

perl - 使用 bash shell 自动中断由关键字分隔的千兆字节行的最快方法是什么?

用于发出 HTTPS 请求的 C++ 高级网络库