class Voynich::ActiveRecord::DataKey

Attributes

plaintext[W]

Public Instance Methods

plaintext() click to toggle source
# File lib/voynich/active_record/models/data_key.rb, line 22
def plaintext
  return @plaintext unless @plaintext.nil?
  if ciphertext.nil?
    generate_data_key
  else
    decrypt_data_key
  end
  @plaintext
end
reencrypt!() click to toggle source
# File lib/voynich/active_record/models/data_key.rb, line 16
def reencrypt!
  result = client.reencrypt(ciphertext)
  self.ciphertext = result.ciphertext
  save!
end

Private Instance Methods

client() click to toggle source
# File lib/voynich/active_record/models/data_key.rb, line 34
def client
  KMSDataKeyClient.new(cmk_id)
end
decrypt_data_key() click to toggle source
# File lib/voynich/active_record/models/data_key.rb, line 44
def decrypt_data_key
  result = client.decrypt(ciphertext)
  self.ciphertext = result.ciphertext
  self.plaintext  = result.plaintext
end
generate_data_key() click to toggle source
# File lib/voynich/active_record/models/data_key.rb, line 38
def generate_data_key
  result = client.generate
  self.ciphertext = result.ciphertext
  self.plaintext  = result.plaintext
end