【发布时间】:2024-01-22 04:51:01
【问题描述】:
如何使用 Net::HTTP 或 HTTPClient Ruby lib 获取 https 服务器证书?
【问题讨论】:
标签: ruby ssl https ssl-certificate
如何使用 Net::HTTP 或 HTTPClient Ruby lib 获取 https 服务器证书?
【问题讨论】:
标签: ruby ssl https ssl-certificate
我找到了一个使用 HTTPClient 库的解决方案
require 'rubygems'
require 'httpclient'
client = HTTPClient.new
response = client.get("https://gmail.google.com")
cert = response.peer_cert
确保您已安装 httpclient gem
sudo gem install httpclient
【讨论】:
sudo。始终在本地安装 gem,而不是使用 sudo。
我不认为你可以使用这些库中的任何一个,甚至使用更高级的 libcurl 和它的包装器来做到这一点。但作为替代方案 - 如果您有可用的openssl 命令行工具,您可以调用它并解析输出,您需要的命令如下:
openssl s_client -connect my.server.name:443
它将为您提供证书的完整转储以及一些已解析的信息 - 主题、颁发者等。
【讨论】: