From caf68fe2a38974e8ed110c3db85831145703182b Mon Sep 17 00:00:00 2001 From: Bryce Kwan Date: Thu, 28 Apr 2016 18:28:34 -0400 Subject: [PATCH] adds missing support for cert password --- lib/httpi/adapter/curb.rb | 1 + spec/httpi/adapter/curb_spec.rb | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/httpi/adapter/curb.rb b/lib/httpi/adapter/curb.rb index a6d9a04..f6afb41 100644 --- a/lib/httpi/adapter/curb.rb +++ b/lib/httpi/adapter/curb.rb @@ -114,6 +114,7 @@ def setup_ssl_auth # Send client-side certificate regardless of state of SSL verify mode @client.cert_key = ssl.cert_key_file @client.cert = ssl.cert_file + @client.certpassword = ssl.cert_key_password @client.ssl_verify_peer = ssl.verify_mode == :peer end diff --git a/spec/httpi/adapter/curb_spec.rb b/spec/httpi/adapter/curb_spec.rb index 63d5b97..6edc0bd 100644 --- a/spec/httpi/adapter/curb_spec.rb +++ b/spec/httpi/adapter/curb_spec.rb @@ -20,7 +20,7 @@ it "supports ntlm authentication" do request = HTTPI::Request.new(@server.url + "ntlm-auth") adapter = HTTPI::Adapter::Curb.new(request) - + request.auth.ntlm("tester", "vReqSoafRe5O") expect(adapter.request(:get).body).to eq("ntlm-auth") end @@ -279,6 +279,7 @@ request = HTTPI::Request.new("http://example.com") request.auth.ssl.cert_key_file = "spec/fixtures/client_key.pem" request.auth.ssl.cert_file = "spec/fixtures/client_cert.pem" + request.auth.ssl.cert_key_password = 'example' request end @@ -287,6 +288,7 @@ curb.expects(:ssl_verify_host=).with(0) # avoid "SSL peer certificate" error curb.expects(:cert_key=).with(request.auth.ssl.cert_key_file) curb.expects(:cert=).with(request.auth.ssl.cert_file) + curb.expects(:certpassword=).with(request.auth.ssl.cert_key_password) adapter.request(:get) end @@ -294,6 +296,7 @@ it "cert_key, cert and ssl_verify_peer should be set" do curb.expects(:cert_key=).with(request.auth.ssl.cert_key_file) curb.expects(:cert=).with(request.auth.ssl.cert_file) + curb.expects(:certpassword=).with(request.auth.ssl.cert_key_password) curb.expects(:ssl_verify_peer=).with(true) curb.expects(:certtype=).with(request.auth.ssl.cert_type.to_s.upcase)