diff options
author | Tim Smith <tsmith@chef.io> | 2018-12-18 09:27:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-18 09:27:24 -0800 |
commit | c7dc87111d406cbef959391e2338b1fef63ac53b (patch) | |
tree | 943a00333adcb625fff29e166c8fb1c921a25b58 | |
parent | 437237a967b8a3cd662bd92b9b60439ca304be84 (diff) | |
parent | f273dd0734b2f87a4dcb43ab78e356f071abf142 (diff) | |
download | chef-c7dc87111d406cbef959391e2338b1fef63ac53b.tar.gz |
Merge pull request #8008 from MsysTechnologiesllc/dh/MSYS-934_pfx_password_validity
windows_certificate: Fix invalid byte sequence errors with pfx certicates
-rw-r--r-- | lib/chef/resource/windows_certificate.rb | 2 | ||||
-rw-r--r-- | spec/unit/resource/windows_certificate.rb | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/chef/resource/windows_certificate.rb b/lib/chef/resource/windows_certificate.rb index 053a67e3e0..157deeddf6 100644 --- a/lib/chef/resource/windows_certificate.rb +++ b/lib/chef/resource/windows_certificate.rb @@ -249,7 +249,7 @@ class Chef when ".cer" powershell_out("openssl x509 -text -inform DER -in #{source} -outform PEM").stdout when ".pfx" - powershell_out("openssl pkcs12 -in #{source} -nodes -passin pass:#{new_resource.pfx_password}").stdout + powershell_out("openssl pkcs12 -in #{source} -nodes -passin pass:'#{new_resource.pfx_password}'").stdout when ".p7b" powershell_out("openssl pkcs7 -print_certs -in #{source} -outform PEM").stdout end diff --git a/spec/unit/resource/windows_certificate.rb b/spec/unit/resource/windows_certificate.rb index 97e404a2d5..95d465e4a8 100644 --- a/spec/unit/resource/windows_certificate.rb +++ b/spec/unit/resource/windows_certificate.rb @@ -73,4 +73,11 @@ describe Chef::Resource::WindowsCertificate do resource.pfx_password "foo" expect(resource.sensitive).to be_truthy end + + it "doesn't raise error if pfx_password contains special characters" do + resource.pfx_password "chef$123" + resource.source "C:\\certs\\test-cert.pfx" + resource.store_name "MY" + expect { resource.action :create }.not_to raise_error + end end |