| 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