【问题标题】:HTTPS URL server certificate in RubyRuby 中的 HTTPS URL 服务器证书
【发布时间】:2024-01-22 04:51:01
【问题描述】:

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

【问题讨论】:

    标签: ruby ssl https ssl-certificate


    【解决方案1】:

    我找到了一个使用 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。
    【解决方案2】:

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

    openssl s_client -connect my.server.name:443

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

    【讨论】:

      最近更新 更多