summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2018-12-18 09:27:24 -0800
committerGitHub <noreply@github.com>2018-12-18 09:27:24 -0800
commitc7dc87111d406cbef959391e2338b1fef63ac53b (patch)
tree943a00333adcb625fff29e166c8fb1c921a25b58
parent437237a967b8a3cd662bd92b9b60439ca304be84 (diff)
parentf273dd0734b2f87a4dcb43ab78e356f071abf142 (diff)
downloadchef-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.rb2
-rw-r--r--spec/unit/resource/windows_certificate.rb7
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