Class | WWW::Mechanize::Chain::SSLResolver |
In: |
lib/www/mechanize/chain/ssl_resolver.rb
|
Parent: | Object |
# File lib/www/mechanize/chain/ssl_resolver.rb, line 7 7: def initialize(ca_file, verify_callback, cert, key, pass) 8: @ca_file = ca_file 9: @verify_callback = verify_callback 10: @cert = cert 11: @key = key 12: @pass = pass 13: end
# File lib/www/mechanize/chain/ssl_resolver.rb, line 15 15: def handle(ctx, params) 16: uri = params[:uri] 17: http_obj = params[:connection] 18: if uri.scheme == 'https' && ! http_obj.started? && ! http_obj.frozen? 19: http_obj.use_ssl = true 20: http_obj.verify_mode = OpenSSL::SSL::VERIFY_NONE 21: if @ca_file 22: http_obj.ca_file = @ca_file 23: http_obj.verify_mode = OpenSSL::SSL::VERIFY_PEER 24: http_obj.verify_callback = @verify_callback if @verify_callback 25: end 26: if @cert && @key 27: http_obj.cert = OpenSSL::X509::Certificate.new(::File.read(@cert)) 28: http_obj.key = OpenSSL::PKey::RSA.new(::File.read(@key), @pass) 29: end 30: end 31: super 32: end