Method: Chef::EncryptedDataBagItem::Decryptor::Version1Decryptor#decrypted_data

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

#decrypted_dataObject



143
144
145
146
147
148
149
150
151
152
# File 'lib/chef/encrypted_data_bag_item/decryptor.rb', line 143

def decrypted_data
  @decrypted_data ||=
    begin
      plaintext = openssl_decryptor.update(encrypted_bytes)
      plaintext << openssl_decryptor.final
    rescue OpenSSL::Cipher::CipherError => e
      # if the key length is less than 255 characters, and it contains slashes, we think it may be a path.
      raise DecryptionFailure, "Error decrypting data bag value: '#{e.message}'. Most likely the provided key is incorrect. #{( @key.length < 255 && @key.include?("/")) ? "You may need to use --secret-file rather than --secret." : ""}"
    end
end