Class: Portunus::Rotators::Kek

Inherits:
Object
  • Object
show all
Defined in:
lib/portunus/rotators/kek.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_encryption_key) ⇒ Kek

Returns a new instance of Kek.



8
9
10
11
# File 'lib/portunus/rotators/kek.rb', line 8

def initialize(data_encryption_key)
  @data_encryption_key = data_encryption_key
  @unencrypted_dek = data_encryption_key.key
end

Class Method Details

.for(data_encryption_key) ⇒ Object



4
5
6
# File 'lib/portunus/rotators/kek.rb', line 4

def self.for(data_encryption_key)
  new(data_encryption_key).rotate
end

Instance Method Details

#rotateObject



13
14
15
16
17
18
# File 'lib/portunus/rotators/kek.rb', line 13

def rotate
  data_encryption_key.master_keyname = new_master_key_name
  data_encryption_key.encrypted_key = encrypted_dek_with_new_master
  data_encryption_key.last_kek_rotation = DateTime.now
  data_encryption_key.save!
end