symmetric-encryption 4.1.1 → 4.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1969d461119a5844845fdef2e8de92424d4fe736d28f3f6c4483be3705955464
4
- data.tar.gz: 77e854da843dd3106693dc8dfc96d2166685f2a0396dbc6d71a200bd030acf94
3
+ metadata.gz: ada00eaa90ed1edb19723bfc1e0e34f3e6f8be5f060b6c2a79eaf046483f77b0
4
+ data.tar.gz: 0bf3ae34653d9598fc0a0be1058aa366f1e401b053bad92995ef08f00dc1fcbc
5
5
  SHA512:
6
- metadata.gz: c9ad42360c3362e94b9ddd9134a22c710f21f06a4120cd1e3466574229684a54d8f29e3eefce79c4e43c988abd862da86d5998d4f3d5014b5d25bf89fe919b69
7
- data.tar.gz: '069b4c136a60eb089ed4e7beaf135d16b51d90507f76d4ded33d898d988768ace7d1cc51162098fa783d7a0af56a4676ae9eaac5ed4215a789799821cf339524'
6
+ metadata.gz: 8299b773b5fbe49452187aeaa746343e9aff7c49a86f226142ae105a1aa9d1ad29401aa44297d19c6ae79161c2e8f0a9ad4f159e36c7191df5b36bb704367ef1
7
+ data.tar.gz: f9a37ecd2aa9c95eeb543e08be08de1a859bb1e0745241d9e983534e9b3df334bcc1486f6a46430ab2bfeaa5286a5902bffacaced9c9c0d53526cfe16d29b357
@@ -219,7 +219,7 @@ module SymmetricEncryption
219
219
  }
220
220
  args[:key_path] = key_path if key_path
221
221
  args[:regions] = regions if regions && !regions.empty?
222
- cfg = Keystore.generate_data_keys(keystore, **args)
222
+ cfg = Keystore.generate_data_keys(keystore: keystore, **args)
223
223
  Config.write_file(config_file_path, cfg)
224
224
  puts "New configuration file created at: #{config_file_path}"
225
225
  end
@@ -231,7 +231,7 @@ module SymmetricEncryption
231
231
  end
232
232
 
233
233
  def run_rotate_keys
234
- if keystore && KEYSTORES.include?(keystore)
234
+ if keystore && !KEYSTORES.include?(keystore)
235
235
  puts "Invalid keystore option: #{keystore}, must be one of #{KEYSTORES.join(', ')}"
236
236
  exit(-3)
237
237
  end
@@ -25,11 +25,11 @@ module SymmetricEncryption
25
25
 
26
26
  class None
27
27
  def encode(binary_string)
28
- binary_string
28
+ binary_string&.dup
29
29
  end
30
30
 
31
31
  def decode(encoded_string)
32
- encoded_string
32
+ encoded_string&.dup
33
33
  end
34
34
  end
35
35
 
@@ -24,10 +24,10 @@ module SymmetricEncryption
24
24
  # Also updates the encrypted field with the encrypted value
25
25
  # Freeze the decrypted field value so that it is not modified directly
26
26
  def #{decrypted_name}=(value)
27
- v = SymmetricEncryption::Coerce.coerce(value, :#{type})
27
+ v = SymmetricEncryption::Coerce.coerce(value, :#{type}).freeze
28
28
  return if (@#{decrypted_name} == v) && !v.nil? && !(v == '')
29
- self.#{encrypted_name} = @stored_#{encrypted_name} = ::SymmetricEncryption.encrypt(v, random_iv: #{random_iv}, compress: #{compress}, type: :#{type})
30
- @#{decrypted_name} = v.freeze
29
+ self.#{encrypted_name} = @stored_#{encrypted_name} = ::SymmetricEncryption.encrypt(v, random_iv: #{random_iv}, compress: #{compress}, type: :#{type}).freeze
30
+ @#{decrypted_name} = v
31
31
  end
32
32
 
33
33
  # Returns the decrypted value for the encrypted field
@@ -35,7 +35,7 @@ module SymmetricEncryption
35
35
  # If this method is not called, then the encrypted value is never decrypted
36
36
  def #{decrypted_name}
37
37
  if !defined?(@stored_#{encrypted_name}) || (@stored_#{encrypted_name} != self.#{encrypted_name})
38
- @#{decrypted_name} = ::SymmetricEncryption.decrypt(self.#{encrypted_name}, type: :#{type}).freeze
38
+ @#{decrypted_name} = ::SymmetricEncryption.decrypt(self.#{encrypted_name}.freeze, type: :#{type}).freeze
39
39
  @stored_#{encrypted_name} = self.#{encrypted_name}
40
40
  end
41
41
  @#{decrypted_name}
@@ -75,7 +75,8 @@ module SymmetricEncryption
75
75
  cipher_name:,
76
76
  app_name:,
77
77
  environment:,
78
- key_path:)
78
+ key_path:,
79
+ **args)
79
80
 
80
81
  # TODO: Also support generating environment variables instead of files.
81
82
 
@@ -7,7 +7,7 @@ module SymmetricEncryption
7
7
  # Returns [Hash] a new keystore configuration after generating the data key.
8
8
  #
9
9
  # Increments the supplied version number by 1.
10
- def self.generate_data_key(cipher_name:, app_name:, environment:, version: 0, dek: nil)
10
+ def self.generate_data_key(cipher_name:, app_name:, environment:, version: 0, dek: nil, **args)
11
11
  version >= 255 ? (version = 1) : (version += 1)
12
12
 
13
13
  kek = SymmetricEncryption::Key.new(cipher_name: cipher_name)
@@ -6,7 +6,7 @@ module SymmetricEncryption
6
6
  # Returns [Hash] a new keystore configuration after generating the data key.
7
7
  #
8
8
  # Increments the supplied version number by 1.
9
- def self.generate_data_key(key_path:, cipher_name:, app_name:, environment:, version: 0, dek: nil)
9
+ def self.generate_data_key(key_path:, cipher_name:, app_name:, environment:, version: 0, dek: nil, **args)
10
10
  version >= 255 ? (version = 1) : (version += 1)
11
11
 
12
12
  dek ||= SymmetricEncryption::Key.new(cipher_name: cipher_name)
@@ -12,7 +12,7 @@ module SymmetricEncryption
12
12
  # Notes:
13
13
  # * For development and testing purposes only!!
14
14
  # * Never store the encrypted encryption key in the source code / config file.
15
- def self.generate_data_key(cipher_name:, app_name:, environment:, version: 0, dek: nil)
15
+ def self.generate_data_key(cipher_name:, app_name:, environment:, version: 0, dek: nil, **args)
16
16
  version >= 255 ? (version = 1) : (version += 1)
17
17
 
18
18
  kek = SymmetricEncryption::Key.new(cipher_name: cipher_name)
@@ -1,3 +1,3 @@
1
1
  module SymmetricEncryption
2
- VERSION = '4.1.1'.freeze
2
+ VERSION = '4.1.2'.freeze
3
3
  end
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.1.1
4
+ version: 4.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reid Morrison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-22 00:00:00.000000000 Z
11
+ date: 2018-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coercible
@@ -65,32 +65,6 @@ files:
65
65
  - lib/symmetric_encryption/utils/re_encrypt_files.rb
66
66
  - lib/symmetric_encryption/version.rb
67
67
  - lib/symmetric_encryption/writer.rb
68
- - test/active_record_test.rb
69
- - test/cipher_test.rb
70
- - test/config/database.yml
71
- - test/config/empty.csv
72
- - test/config/mongo_mapper.yml
73
- - test/config/mongoid.yml
74
- - test/config/symmetric-encryption.yml
75
- - test/config/test_new.iv
76
- - test/config/test_new.key
77
- - test/config/test_secondary_1.iv
78
- - test/config/test_secondary_1.key
79
- - test/encoder_test.rb
80
- - test/header_test.rb
81
- - test/key_test.rb
82
- - test/keystore/aws_test.rb
83
- - test/keystore/environment_test.rb
84
- - test/keystore/file_test.rb
85
- - test/keystore/heroku_test.rb
86
- - test/keystore_test.rb
87
- - test/mongoid_test.rb
88
- - test/reader_test.rb
89
- - test/symmetric_encryption_test.rb
90
- - test/test_db.sqlite3
91
- - test/test_helper.rb
92
- - test/utils/aws_test.rb
93
- - test/writer_test.rb
94
68
  homepage: http://rocketjob.github.io/symmetric-encryption/
95
69
  licenses:
96
70
  - Apache-2.0
@@ -111,35 +85,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
85
  version: '0'
112
86
  requirements: []
113
87
  rubyforge_project:
114
- rubygems_version: 2.7.6
88
+ rubygems_version: 2.7.7
115
89
  signing_key:
116
90
  specification_version: 4
117
91
  summary: Encrypt ActiveRecord and Mongoid attributes, files and passwords in configuration
118
92
  files.
119
- test_files:
120
- - test/keystore/environment_test.rb
121
- - test/keystore/file_test.rb
122
- - test/keystore/heroku_test.rb
123
- - test/keystore/aws_test.rb
124
- - test/symmetric_encryption_test.rb
125
- - test/config/test_secondary_1.key
126
- - test/config/mongoid.yml
127
- - test/config/test_new.iv
128
- - test/config/test_secondary_1.iv
129
- - test/config/database.yml
130
- - test/config/test_new.key
131
- - test/config/symmetric-encryption.yml
132
- - test/config/empty.csv
133
- - test/config/mongo_mapper.yml
134
- - test/test_db.sqlite3
135
- - test/mongoid_test.rb
136
- - test/active_record_test.rb
137
- - test/keystore_test.rb
138
- - test/reader_test.rb
139
- - test/encoder_test.rb
140
- - test/utils/aws_test.rb
141
- - test/key_test.rb
142
- - test/header_test.rb
143
- - test/test_helper.rb
144
- - test/writer_test.rb
145
- - test/cipher_test.rb
93
+ test_files: []