lib/symmetric_encryption/keystore/environment.rb in symmetric-encryption-4.1.0.beta1 vs lib/symmetric_encryption/keystore/environment.rb in symmetric-encryption-4.1.0
- old
+ new
@@ -8,11 +8,11 @@
#
# Increments the supplied version number by 1.
def self.generate_data_key(cipher_name:, app_name:, environment:, version: 0, dek: nil)
version >= 255 ? (version = 1) : (version += 1)
- kek = SymmetricEncryption::Key.new(cipher_name: cipher_name)
+ kek = SymmetricEncryption::Key.new(cipher_name: cipher_name)
dek ||= SymmetricEncryption::Key.new(cipher_name: cipher_name)
key_env_var = "#{app_name}_#{environment}_v#{version}".upcase.tr('-', '_')
new(key_env_var: key_env_var, key_encrypting_key: kek).write(dek.key)
@@ -39,18 +39,19 @@
# Returns the Encryption key in the clear.
def read
encrypted = ENV[key_env_var]
raise "The Environment Variable #{key_env_var} must be set with the encrypted encryption key." unless encrypted
+
binary = encoder.decode(encrypted)
key_encrypting_key.decrypt(binary)
end
# Write the encrypted Encryption key to `encrypted_key` attribute.
def write(key)
encrypted_key = key_encrypting_key.encrypt(key)
puts "\n\n********************************************************************************"
- puts "Set the environment variable as follows:"
+ puts 'Set the environment variable as follows:'
puts " export #{key_env_var}=\"#{encoder.encode(encrypted_key)}\""
puts '********************************************************************************'
end
private