Method: ActiveRecord::Encryption::EnvelopeEncryptionKeyProvider#encryption_key

Defined in:
activerecord/lib/active_record/encryption/envelope_encryption_key_provider.rb

#encryption_keyObject



18
19
20
21
22
23
24
# File 'activerecord/lib/active_record/encryption/envelope_encryption_key_provider.rb', line 18

def encryption_key
  random_secret = generate_random_secret
  ActiveRecord::Encryption::Key.new(random_secret).tap do |key|
    key.public_tags.encrypted_data_key = encrypt_data_key(random_secret)
    key.public_tags.encrypted_data_key_id = active_primary_key.id if ActiveRecord::Encryption.config.store_key_references
  end
end