Skip to content

Instantly share code, notes, and snippets.

@kbarber
Created July 26, 2012 00:51
Show Gist options
  • Select an option

  • Save kbarber/3179634 to your computer and use it in GitHub Desktop.

Select an option

Save kbarber/3179634 to your computer and use it in GitHub Desktop.
ssl errors
#!/usr/bin/env ruby
require 'net/https'
request_path = '/'
user_agent = 'KB'
@uri = URI.parse('https://localhost:8140')
http_proxy_host = nil
http_proxy_port = nil
request = Net::HTTP::Get.new(request_path, { "User-Agent" => user_agent })
proxy_class = Net::HTTP::Proxy(http_proxy_host, http_proxy_port)
proxy = proxy_class.new(@uri.host, @uri.port)
if @uri.scheme == 'https'
cert_store = OpenSSL::X509::Store.new
cert_store.set_default_paths
proxy.use_ssl = true
proxy.verify_mode = OpenSSL::SSL::VERIFY_PEER
proxy.cert_store = cert_store
end
proxy.verify_callback = proc do |preverify_ok, ssl_context|
if ssl_context.error_string and not preverify_ok
puts "#{ssl_context.error_string} for #{ssl_context.current_cert.subject}"
end
end
begin
request = proxy.start do |http|
http.request(request)
end
rescue => e
raise e
end
puts request.body
@kbarber

kbarber commented Jul 26, 2012

Copy link
Copy Markdown
Author
# ./ssltest.rb  
self signed certificate in certificate chain for /CN=Puppet CA: kb.local
/Users/ken/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/net/http.rb:586:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
    from /Users/ken/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/net/http.rb:586:in `connect'
    from /Users/ken/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/net/http.rb:553:in `do_start'
    from /Users/ken/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/net/http.rb:542:in `start'
    from ./ssltest.rb:32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment