【问题标题】:Inspecting SSL cert returned via LWP request检查通过 LWP 请求返回的 SSL 证书
【发布时间】:2011-03-05 14:41:15
【问题描述】:

我在 perl 中使用 LWP 请求一个网页,并且我希望能够访问 Web 服务器提供的 SSL 证书(我正在寻找证书中的到期日期等) .我想要的信息不在 Crypt::SSLeay 添加到请求的三个标头中。有没有一种我可以忽略的方法可以获取 SSL 证书的对象引用(理想情况下)?我已经扫描了一些 perl 文档和 Google,但这是漫长的一周,我可能只是没有阅读正确的内容。

如果我可以避免它,我不想通过建立单独的原始 SSL 连接来直接获取证书 - 因为有一个经过身份验证的 Web 代理,而 LWP 只是让这个问题对我来说透明地消失了。 :) 当我需要的数据已经被传输到我的机器/somewhere/...时,建立两个连接是愚蠢的。

【问题讨论】:

标签: perl ssl-certificate ssl lwp


【解决方案1】:

LWP 提供的回调都没有(有意)提供对套接字的访问权限,但似乎确实有一种潜在的解决方法——如果您向 LWP 提供 keep_aliveconn_cache 选项,则在request LWP 将在conn_cache 对象上调用->deposit,并将连接套接字作为参数。您可以编写一个虚拟的 conn-cache 对象,或者只是“创造性地”使用 LWP 提供的LWP::ConnCache

无论如何,如果您使用该反手方法来获取套接字,它将是 Net::SSL 的子类(假设您使用的是 ssleay),因此您只需调用 ->get_peer_certificate on它。

【讨论】:

  • 这介于肮脏和邪恶之间,但 /look/ 看起来会起作用。 :) 谢谢。
猜你喜欢
  • 2010-11-05
  • 1970-01-01
  • 2013-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-25
  • 1970-01-01
  • 2014-10-12
相关资源
最近更新 更多