Skip to content

Instantly share code, notes, and snippets.

@danajp
Last active May 6, 2019 01:36
Show Gist options
  • Save danajp/89617eebb4a51da6abd6846874b339f7 to your computer and use it in GitHub Desktop.
Save danajp/89617eebb4a51da6abd6846874b339f7 to your computer and use it in GitHub Desktop.
[net http blog] irb patched net http
irb(main):090:0> cert_data = <<EOF
irb(main):091:0" -----BEGIN CERTIFICATE-----
irb(main):092:0" MHIwWjAgZXZlbiBtb3JlIGZha2UgY2VydGlmaWNhdGUgZGF0YSB0aGF0J3MgYmFz
irb(main):093:0" ...
irb(main):094:0" ZTY0IGVuY29kZWQK
irb(main):095:0" -----END CERTIFICATE-----
irb(main):096:0" EOF
=> "-----BEGIN CERTIFICATE-----\nMHIwWjAgZXZlbiBtb3JlIGZha2UgY2VydGlmaWNhdGUgZGF0YSB0aGF0J3MgYmFz\n...\nZTY0IGVuY29kZWQK\n-----END CERTIFICATE-----\n"
irb(main):097:0> intermediate_cert_data = <<EOF
irb(main):098:0" -----BEGIN CERTIFICATE-----
irb(main):099:0" MHIwWjAgcmVhbGx5IHRoaXMgaXMgYSBmYWtlIGNlcnRpZmljYXRlLCBhbmQgZXZl
irb(main):100:0" ...
irb(main):101:0" biBtb3JlIGRhdGEgb3Igc29tZXRoaW5nCg==
irb(main):102:0" -----END CERTIFICATE-----
irb(main):103:0" EOF
=> "-----BEGIN CERTIFICATE-----\nMHIwWjAgcmVhbGx5IHRoaXMgaXMgYSBmYWtlIGNlcnRpZmljYXRlLCBhbmQgZXZl\n...\nbiBtb3JlIGRhdGEgb3Igc29tZXRoaW5nCg==\n-----END CERTIFICATE-----\n"
irb(main):080:0> Net::HTTP.start(
irb(main):081:1* "k8s.dev.use1.int.greenhouse.io",
irb(main):082:1* 443,
irb(main):083:1* :use_ssl => true,
irb(main):084:1* :cert => OpenSSL::X509::Certificate.new(cert_data),
irb(main):085:1* :extra_chain_cert => [OpenSSL::X509::Certificate.new(intermediate_cert_data)],
irb(main):086:1* :key => OpenSSL::PKey.read(File.read("/home/dana/.kube/k8s-admin-key.pem")),
irb(main):087:1* ) do |http|
irb(main):088:1* http.request(Net::HTTP::Get.new("/version"))
irb(main):089:1> end
=> #<Net::HTTPOK 200 OK readbody=true>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment