Ruby 中的 HTTPS URL 服务器证书

发布于 2024-08-15 19:32:50 字数 59 浏览 7 评论 0原文

如何使用 Net::HTTP 或 HTTPClient Ruby lib 获取 https 服务器证书?

How to get https server certificate using Net::HTTP or HTTPClient Ruby lib?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转身以后 2024-08-22 19:32:50

我找到了使用 HTTPClient lib 的解决方案

require 'rubygems'
require 'httpclient'

client = HTTPClient.new
response = client.get("https://gmail.google.com")
cert = response.peer_cert

确保您安装了 httpclient gem

sudo gem install httpclient

I found a solution using HTTPClient lib

require 'rubygems'
require 'httpclient'

client = HTTPClient.new
response = client.get("https://gmail.google.com")
cert = response.peer_cert

Make sure you have httpclient gem installed

sudo gem install httpclient
汐鸠 2024-08-22 19:32:50

我认为您无法使用这些库中的任何一个来做到这一点,甚至使用更高级的 libcurl 及其包装器也无法做到这一点。但作为替代方案 - 如果您有可用的 openssl 命令行工具,您可以调用它并解析输出,您需要的命令如下:

openssl s_client -connect my.server.name :443

它将为您提供证书的完整转储以及一些解析的信息 - 主题、颁发者等。

I don't think that you can do it with either of these libraries, or even with much more advanced libcurl and it's wrappers. But as an alternative - if you have openssl command line tool available, you can invoke it and parse the output, the command you need is as follows:

openssl s_client -connect my.server.name:443

It will give you a full dump of the certificate as well as some parsed information - subject, issuer, etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文