Method: Chef::EncryptedDataBagItem::Decryptor::Version1Decryptor#openssl_decryptor

Defined in:
lib/chef/encrypted_data_bag_item/decryptor.rb

#openssl_decryptorObject



154
155
156
157
158
159
160
161
162
163
164
165
# File 'lib/chef/encrypted_data_bag_item/decryptor.rb', line 154

def openssl_decryptor
  @openssl_decryptor ||=
    begin
      assert_valid_cipher!(@encrypted_data["cipher"], algorithm)
      d = OpenSSL::Cipher.new(algorithm)
      d.decrypt
      # We must set key before iv: https://bugs.ruby-lang.org/issues/8221
      d.key = OpenSSL::Digest.digest("SHA256", key)
      d.iv = iv
      d
    end
end