How To Turn Off Net::HTTP w/SSL Certificate Warnings?


#1

Hi,

I’ve got a little Ruby script that needs to use SSL but doesn’t really
worry about authentication at all. Here’s the relevant code:

  https = Net::HTTP.new(URL, 443)
  https.use_ssl = true
  data = ""
  https.start{|h|
    h.get2(url) {|resp|
      data = resp.body
    }
  }

When I run this, it works great but gives me (on STDERR):
peer certificate won’t be verified in this SSL session

I don’t really care about the verification, so how should I turn this
warning off or otherwise prevent it from printing?

Thanks,
Keith


#2

“K” == Keith F. removed_email_address@domain.invalid writes:

Try

K> https = Net::HTTP.new(URL, 443)
K> https.use_ssl = true

     https.verify_mode = OpenSSL::SSL::VERIFY_NONE

K> data = “”
K> https.start{|h|
K> h.get2(url) {|resp|
K> data = resp.body
K> }
K> }

Guy Decoux


#3

On Monday 12 December 2005 11:02 am, ts wrote:

     https.verify_mode = OpenSSL::SSL::VERIFY_NONE

Works great–can’t believe that I didn’t find it myself. That said, it
does provide a useful lesson for me: http://www.ruby-doc.org/stdlib/
doesn’t mention private methods. So, for anyone in the future, look in
the private ‘connect’ method in net/http.rb in your local ruby library
for an explanation.

Thanks,
Keith


#4

“K” == Keith F. removed_email_address@domain.invalid writes:

K> Works great–can’t believe that I didn’t find it myself. That said,
it
K> does provide a useful lesson for me: http://www.ruby-doc.org/stdlib/
K> doesn’t mention private methods.

It’s just that the file https.rb is apparently not in www.ruby-doc.org

== class Net::HTTP

=== Instance Methods

[…]

: verify_mode, verify_mode=((|mode|))
Sets the flags for server the certification verification at
begining of SSL/TLS session.
OpenSSL::SSL::VERIFY_NONE or OpenSSL::SSL::VERIFY_PEER is
acceptable.

Guy Decoux