1

SO やブログ記事の周りで私が見たものの多くは、

  1. デフォルトでは、Net::HTTP はピア SSL 証明書を検証しません。
  2. Net::HTTP にピアを検証させるには、それも行う必要があり、信頼できる機関を含む CA 証明書ファイルを提供する必要があります。

ただし、これが完全に必要なわけではないことがわかりました。私のMacには、次のコードがあります

http = Net::HTTP.new('www.google.com', 443)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
http.start do
  http.request_get('/') do |response|
    puts response.body
  end
end

これは機能します。しかし、Ruby はピアを検証するために何を使用しているのでしょうか? の出力を見ると、http.ca_path両方http.ca_fileとも空白です。

このコードは Ruby 1.9.3p374 で実行しています。おそらく、Ruby が私の Mac でコンパイルされたときに、openssl などから CA 証明書チェーンのデフォルトの場所を取得したのでしょうか?

4

1 に答える 1