Skip to content

Instantly share code, notes, and snippets.

@mechamogera
Created December 18, 2012 06:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mechamogera/4325529 to your computer and use it in GitHub Desktop.
Save mechamogera/4325529 to your computer and use it in GitHub Desktop.
SSLの証明書チェック用のRubyスクリプト
require 'net/http'
require 'uri'
require 'optparse'
server = nil
port = 443
ca_file = nil
opt = OptionParser.new
opt.on('-s', '--server=VAL') { |v| server = v }
opt.on('-c', '--ca-file=VAL') { |v| ca_file = v }
opt.on('-p', '--port=VAL', 'default:#{port}') { |v| port = v.to_i }
opt.parse!(ARGV)
if server.nil? || ca_file.nil?
raise "option is necessary, use --help or -h option"
end
proxy = URI.parse(ENV['HTTPS_PROXY'] || ENV['https_proxy']) rescue nil
proxy_host = proxy.host rescue nil
proxy_port = proxy.port rescue nil
proxy_user = proxy.user rescue nil
proxy_pass = proxy.password rescue nil
https = Net::HTTP::Proxy(proxy_host, proxy_port, proxy_user, proxy_pass).new(server, port)
https.use_ssl = true
https.ca_file = ca_file
https.verify_mode = OpenSSL::SSL::VERIFY_PEER
https.verify_depth = 5
https.start do |h|
response = h.get("/")
puts response.body
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment