Sha256: 0cf9183e25f5d5d2c7e2e27788fefe06a7f9505fe5fe1b3a8e8db5d64cd64666

Contents?: true

Size: 874 Bytes

Versions: 10

Compression:

Stored size: 874 Bytes

Contents

require 'openssl'
require 'uri'
require 'net/http'

uri = URI('https://self-signed.badssl.com')
downloaded_cert_path = '/tmp/downloaded_cert.pem'

puts `openssl s_client -showcerts -servername #{uri.host} -connect #{uri.host}:#{uri.port} </dev/null 2>/dev/null|openssl x509 -text`
command = "openssl s_client -showcerts -servername #{uri.host} -connect #{uri.host}:#{uri.port} </dev/null 2>/dev/null|openssl x509 -outform PEM > #{downloaded_cert_path}"
puts command
puts `#{command}`


cert_store = OpenSSL::X509::Store.new
puts "Adding certificate #{downloaded_cert_path}"
cert_store.add_file(downloaded_cert_path)

req = Net::HTTP::Get.new(uri)

options = {
  :use_ssl => uri.scheme == 'https',
  verify_mode: OpenSSL::SSL::VERIFY_PEER,
  cert_store: cert_store
}

response = Net::HTTP.start(uri.hostname, uri.port, options) do |http|
  http.request req
end

puts response

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
pact_broker-2.19.0 bethtest.rb
pact_broker-2.18.0 bethtest.rb
pact_broker-2.17.1 bethtest.rb
pact_broker-2.17.0 bethtest.rb
pact_broker-2.16.1 bethtest.rb
pact_broker-2.16.0 bethtest.rb
pact_broker-2.15.0 bethtest.rb
pact_broker-2.14.0 bethtest.rb
pact_broker-2.13.1 bethtest.rb
pact_broker-2.13.0 bethtest.rb