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

时间:2018-11-08 20:05:28

标签: 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中?

1 个答案:

答案 0 :(得分:1)

没有内置方法可以使HTTP :: Daemon :: SSL自动获取丢失的证书。同样,您发现使用Apache或Python完成此操作是错误的。通常,需要正确配置服务器以发送必要的证书。

某些浏览器可以在配置错误的服务器上工作,有时这些变通方法仅在特定情况下有效。例如,Firefox将缓存已看到的中间证书,并在以后使用这些证书在其他连接中填写缺失的链证书。但是,如果Firefox以前没有看到中间证书,则可以使用新创建的配置文件轻松尝试该证书,这将失败。您在Apache和Python上看到的可能是已经缓存的证书的使用。
某些浏览器还可以使用证书的“机构信息访问”扩展名中的“ CA颁发者”属性来下载丢失的证书。我认为Chrome可以做到这一点。但这当然会影响页面的加载时间,因为缺少的证书需要首先从其他服务器上检索。