symmetric-encryption 4.0.0.beta3 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bbba00171b0bbc9ced7ad733f3f26b58001d1d76
4
- data.tar.gz: a1382fc5cac466532424653bf8b9780a90c577ca
3
+ metadata.gz: 1e1b5ae57f5d8cdffd7543b690a8dc1c56e3d3d2
4
+ data.tar.gz: 8243a0f27600f82f27b098199292938b36c64f34
5
5
  SHA512:
6
- metadata.gz: ad6026a01681ec99c28c30b3e9cc0fc7b351ae10101e1f9a14605dff4952983b9b7490fdab82d051b705f2595f4bf08a544eb81923177b0ca9881b53bd80e6b2
7
- data.tar.gz: 7dd9a71d0420eaab460217c1845233efa2f4eb35e8fed21986aae3f27188ee09ab1ab41b0da0f7d8f575b952f965539b0f980ec13f51d664bba6aa2ae317209b
6
+ metadata.gz: 51199eae1a22f24db637e403b774ac501c9e5f10635cabde7fb65e42517dace89c6badbe7de2649c6fc9ea8fec4f0f7f9544892b288000c31aa3a73ef0908b12
7
+ data.tar.gz: 8a912faebf87253678af05880029114dfe433edff0168207d200d9aefbffff9c3c1807d290904c1d1e22c9417ca0200849b77122bec26efc011dd82837753800
@@ -73,15 +73,16 @@ module SymmetricEncryption
73
73
 
74
74
  config = cfg[:ciphers].first
75
75
 
76
+ # Only generate new keys for keystore's that have a key encrypting key
77
+ next unless config[:key_encrypting_key]
78
+
76
79
  version = config.delete(:version) || 1
77
80
  version -= 1
78
- config.delete(:always_add_header)
79
- config.delete(:encoding)
80
81
 
81
- Key.migrate_config!(config)
82
+ always_add_header = config.delete(:always_add_header)
83
+ encoding = config.delete(:encoding)
82
84
 
83
- # Only generate new keys for keystore's that have a key encrypting key
84
- next unless config[:key_encrypting_key]
85
+ Key.migrate_config!(config)
85
86
 
86
87
  # The current data encrypting key without any of the key encrypting keys.
87
88
  key = Key.from_config(config)
@@ -96,7 +97,8 @@ module SymmetricEncryption
96
97
  Keystore::Memory.new_key_config(cipher_name: cipher_name, app_name: app_name, version: version, environment: environment, dek: key)
97
98
  end
98
99
 
99
- new_key_config
100
+ new_key_config[:always_add_header] = always_add_header
101
+ new_key_config[:encoding] = encoding
100
102
 
101
103
  # Replace existing config entry
102
104
  cfg[:ciphers].shift
@@ -6,7 +6,7 @@
6
6
  # * The search looks for the header and then replaces the encrypted value.
7
7
  #
8
8
  # Example:
9
- # re_encrypt = SymmetricEncryption::Utils::ReEncryptConfigFiles.new(version: 4)
9
+ # re_encrypt = SymmetricEncryption::Utils::ReEncryptFiles.new(version: 4)
10
10
  # re_encrypt.process_directory('../../**/*.yml')
11
11
  #
12
12
  # Notes:
@@ -72,13 +72,10 @@ module SymmetricEncryption
72
72
  line
73
73
  end
74
74
  end
75
- if hits
75
+ if hits > 0
76
76
  File.open(file_name, 'wb') { |file| file.write(output_lines) }
77
77
  end
78
78
  hits
79
- rescue
80
- puts "Failed re-encrypting the file contents of: #{file_name}"
81
- raise
82
79
  end
83
80
 
84
81
  # Re Encrypt an entire file
@@ -112,8 +109,12 @@ module SymmetricEncryption
112
109
  re_encrypt_file(file_name)
113
110
  end
114
111
  else
115
- count = re_encrypt_contents(file_name)
116
- puts "Re-encrypted #{count} encrypted value(s) in: #{file_name}" if count > 0
112
+ begin
113
+ count = re_encrypt_contents(file_name)
114
+ puts "Re-encrypted #{count} encrypted value(s) in: #{file_name}" if count > 0
115
+ rescue StandardError => exc
116
+ puts "Failed re-encrypting the file contents of: #{file_name}. #{exc.class.name}: #{exc.message}"
117
+ end
117
118
  end
118
119
  end
119
120
  end
@@ -121,7 +122,7 @@ module SymmetricEncryption
121
122
  private
122
123
 
123
124
  def regexp
124
- @regexp ||= /#{SymmetricEncryption.cipher.encoded_magic_header}([A-Za-z0-9+\/]+=+[\\n]*)/
125
+ @regexp ||= /#{SymmetricEncryption.cipher.encoded_magic_header}([A-Za-z0-9+\/]+[=\\n]*)/
125
126
  end
126
127
 
127
128
  # Returns [Integer] encrypted file key version.
@@ -1,3 +1,3 @@
1
1
  module SymmetricEncryption #:nodoc
2
- VERSION = '4.0.0.beta3'
2
+ VERSION = '4.0.0'
3
3
  end
data/test/key_test.rb CHANGED
@@ -2,6 +2,15 @@ require_relative 'test_helper'
2
2
 
3
3
  class KeyTest < Minitest::Test
4
4
  describe SymmetricEncryption::Key do
5
+ before do
6
+ Dir.mkdir('tmp') unless Dir.exist?('tmp')
7
+ end
8
+
9
+ after do
10
+ # Cleanup generated encryption key files.
11
+ `rm tmp/dek_tester* 2> /dev/null`
12
+ end
13
+
5
14
  let :random_key do
6
15
  SymmetricEncryption::Key.new
7
16
  end
@@ -112,7 +121,7 @@ class KeyTest < Minitest::Test
112
121
  end
113
122
 
114
123
  let :dek_file_name do
115
- 'tmp/tester_dek.encrypted_key'
124
+ 'tmp/dek_tester_dek.encrypted_key'
116
125
  end
117
126
 
118
127
  describe 'key' do
data/test/test_db.sqlite3 CHANGED
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: symmetric-encryption
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.beta3
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reid Morrison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-18 00:00:00.000000000 Z
11
+ date: 2017-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coercible
@@ -101,9 +101,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
101
  version: '2.1'
102
102
  required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  requirements:
104
- - - ">"
104
+ - - ">="
105
105
  - !ruby/object:Gem::Version
106
- version: 1.3.1
106
+ version: '0'
107
107
  requirements: []
108
108
  rubyforge_project:
109
109
  rubygems_version: 2.6.11