diff options
-rw-r--r-- | lib/chef/mixin/openssl_helper.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/chef/mixin/openssl_helper.rb b/lib/chef/mixin/openssl_helper.rb index f12a559097..30830ace30 100644 --- a/lib/chef/mixin/openssl_helper.rb +++ b/lib/chef/mixin/openssl_helper.rb @@ -61,11 +61,16 @@ class Chef key_content = ::File.exist?(key_file) ? File.read(key_file) : key_file begin - key = ::OpenSSL::PKey::RSA.new key_content, key_password - rescue ::OpenSSL::PKey::RSAError + key = OpenSSL::PKey.read key_content, key_password + rescue OpenSSL::PKey::PKeyError, ArgumentError return false end - key.private? + + if key.is_a?(OpenSSL::PKey::EC) + key.private_key? + else + key.private? + end end # generate a dhparam file |