attr_encrypted 3.1.0 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,39 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attr_encrypted
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Huber
8
8
  - S. Brent Faulkner
9
9
  - William Monk
10
10
  - Stephen Aghaulor
11
- autorequire:
11
+ - Josh Branham
12
+ - Mike Vastola
13
+ autorequire:
12
14
  bindir: bin
13
- cert_chain:
14
- - |
15
- -----BEGIN CERTIFICATE-----
16
- MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRIwEAYDVQQDDAlzYWdo
17
- YXVsb3IxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
18
- bTAeFw0xODAyMTIwMzMzMThaFw0xOTAyMTIwMzMzMThaMEAxEjAQBgNVBAMMCXNh
19
- Z2hhdWxvcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
20
- Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvOLqbSmj5txfw39a
21
- Ki0g3BJWGrfGBiSRq9aThUGzoiaqyDo/m1WMQdgPioZG+P923okChEWFjhSymBQU
22
- eMdys6JRPm5ortp5sh9gesOWoozqb8R55d8rr1V7pY533cCut53Kb1wiitjkfXjR
23
- efT2HPh6nV6rYjGMJek/URaCNzsZo7HCkRsKdezP+BKr4V4wOka69tfJX5pcvFvR
24
- iiqfaiP4RK12hYdsFnSVKiKP7SAFTFiYcohbL8TUW6ezQQqJCK0M6fu74EWVCnBS
25
- gFVjj931BuD8qhuxMiB6uC6FKxemB5TRGBLzn7RcrOMAo2inMAopjkGeQJUAyVCm
26
- J5US3wIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
27
- hJEuSZgvuuIhIsxQ/0pRQTBVzokwHgYDVR0RBBcwFYETc2FnaGF1bG9yQGdtYWls
28
- LmNvbTAeBgNVHRIEFzAVgRNzYWdoYXVsb3JAZ21haWwuY29tMA0GCSqGSIb3DQEB
29
- BQUAA4IBAQCsBS2cxqTmV4nXJEH/QbdgjVDAZbK6xf2gpM3vCRlYsy7Wz6GEoOpD
30
- bzRkjxZwGNbhXShMUZwm6zahYQ/L1/HFztLoMBMkm8EIfPxH0PDrP4aWl0oyWxmU
31
- OLm0/t9icSWRPPJ1tLJvuAaDdVpY5dEHd6VdnNJGQC5vHKRInt1kEyqEttIJ/xmJ
32
- leSEFyMeoFsR+C/WPG9WSC+xN0eXqakCu6YUJoQzCn/7znv8WxpHEbeZjNIHq0qb
33
- nbqZ/ZW1bwzj1T/NIbnMr37wqV29XwkI4+LbewMkb6/bDPYl0qZpAkCxKtGYCCJp
34
- l6KPs9K/72yH00dxuAhiTXikTkcLXeQJ
35
- -----END CERTIFICATE-----
36
- date: 2018-02-11 00:00:00.000000000 Z
15
+ cert_chain: []
16
+ date: 2024-05-30 00:00:00.000000000 Z
37
17
  dependencies:
38
18
  - !ruby/object:Gem::Dependency
39
19
  name: encryptor
@@ -53,44 +33,30 @@ dependencies:
53
33
  name: activerecord
54
34
  requirement: !ruby/object:Gem::Requirement
55
35
  requirements:
56
- - - "~>"
36
+ - - ">="
57
37
  - !ruby/object:Gem::Version
58
- version: 4.1.16
38
+ version: 2.0.0
59
39
  type: :development
60
40
  prerelease: false
61
41
  version_requirements: !ruby/object:Gem::Requirement
62
42
  requirements:
63
- - - "~>"
43
+ - - ">="
64
44
  - !ruby/object:Gem::Version
65
- version: 4.1.16
45
+ version: 2.0.0
66
46
  - !ruby/object:Gem::Dependency
67
47
  name: actionpack
68
- requirement: !ruby/object:Gem::Requirement
69
- requirements:
70
- - - "~>"
71
- - !ruby/object:Gem::Version
72
- version: 4.1.16
73
- type: :development
74
- prerelease: false
75
- version_requirements: !ruby/object:Gem::Requirement
76
- requirements:
77
- - - "~>"
78
- - !ruby/object:Gem::Version
79
- version: 4.1.16
80
- - !ruby/object:Gem::Dependency
81
- name: datamapper
82
48
  requirement: !ruby/object:Gem::Requirement
83
49
  requirements:
84
50
  - - ">="
85
51
  - !ruby/object:Gem::Version
86
- version: '0'
52
+ version: 2.0.0
87
53
  type: :development
88
54
  prerelease: false
89
55
  version_requirements: !ruby/object:Gem::Requirement
90
56
  requirements:
91
57
  - - ">="
92
58
  - !ruby/object:Gem::Version
93
- version: '0'
59
+ version: 2.0.0
94
60
  - !ruby/object:Gem::Dependency
95
61
  name: rake
96
62
  requirement: !ruby/object:Gem::Requirement
@@ -137,16 +103,16 @@ dependencies:
137
103
  name: sqlite3
138
104
  requirement: !ruby/object:Gem::Requirement
139
105
  requirements:
140
- - - ">="
106
+ - - '='
141
107
  - !ruby/object:Gem::Version
142
- version: '0'
108
+ version: 1.5.4
143
109
  type: :development
144
110
  prerelease: false
145
111
  version_requirements: !ruby/object:Gem::Requirement
146
112
  requirements:
147
- - - ">="
113
+ - - '='
148
114
  - !ruby/object:Gem::Version
149
- version: '0'
115
+ version: 1.5.4
150
116
  - !ruby/object:Gem::Dependency
151
117
  name: dm-sqlite-adapter
152
118
  requirement: !ruby/object:Gem::Requirement
@@ -162,7 +128,7 @@ dependencies:
162
128
  - !ruby/object:Gem::Version
163
129
  version: '0'
164
130
  - !ruby/object:Gem::Dependency
165
- name: simplecov
131
+ name: pry
166
132
  requirement: !ruby/object:Gem::Requirement
167
133
  requirements:
168
134
  - - ">="
@@ -176,7 +142,7 @@ dependencies:
176
142
  - !ruby/object:Gem::Version
177
143
  version: '0'
178
144
  - !ruby/object:Gem::Dependency
179
- name: simplecov-rcov
145
+ name: simplecov
180
146
  requirement: !ruby/object:Gem::Requirement
181
147
  requirements:
182
148
  - - ">="
@@ -190,38 +156,39 @@ dependencies:
190
156
  - !ruby/object:Gem::Version
191
157
  version: '0'
192
158
  - !ruby/object:Gem::Dependency
193
- name: codeclimate-test-reporter
159
+ name: simplecov-rcov
194
160
  requirement: !ruby/object:Gem::Requirement
195
161
  requirements:
196
- - - "<="
162
+ - - ">="
197
163
  - !ruby/object:Gem::Version
198
- version: 0.6.0
164
+ version: '0'
199
165
  type: :development
200
166
  prerelease: false
201
167
  version_requirements: !ruby/object:Gem::Requirement
202
168
  requirements:
203
- - - "<="
169
+ - - ">="
204
170
  - !ruby/object:Gem::Version
205
- version: 0.6.0
171
+ version: '0'
206
172
  description: Generates attr_accessors that encrypt and decrypt attributes transparently
207
173
  email:
208
174
  - seah@shuber.io
209
175
  - sbfaulkner@gmail.com
210
176
  - billy.monk@gmail.com
211
177
  - saghaulor@gmail.com
178
+ - josh.php@gmail.com
179
+ - Mike@Vasto.la
212
180
  executables: []
213
181
  extensions: []
214
182
  extra_rdoc_files: []
215
183
  files:
184
+ - ".github/workflows/CI.yml"
216
185
  - ".gitignore"
217
- - ".travis.yml"
218
186
  - CHANGELOG.md
219
187
  - Gemfile
220
188
  - MIT-LICENSE
221
189
  - README.md
222
190
  - Rakefile
223
191
  - attr_encrypted.gemspec
224
- - certs/saghaulor.pem
225
192
  - checksum/attr_encrypted-3.0.0.gem.sha256
226
193
  - checksum/attr_encrypted-3.0.0.gem.sha512
227
194
  - checksum/attr_encrypted-3.0.1.gem.sha256
@@ -230,19 +197,18 @@ files:
230
197
  - checksum/attr_encrypted-3.0.2.gem.sha512
231
198
  - checksum/attr_encrypted-3.0.3.gem.sha256
232
199
  - checksum/attr_encrypted-3.0.3.gem.sha512
200
+ - checksum/attr_encrypted-3.1.0.gem.sha256
201
+ - checksum/attr_encrypted-3.1.0.gem.sha512
233
202
  - lib/attr_encrypted.rb
234
203
  - lib/attr_encrypted/adapters/active_record.rb
235
- - lib/attr_encrypted/adapters/data_mapper.rb
236
204
  - lib/attr_encrypted/adapters/sequel.rb
237
205
  - lib/attr_encrypted/version.rb
238
206
  - test/active_record_test.rb
239
207
  - test/attr_encrypted_test.rb
240
208
  - test/compatibility_test.rb
241
- - test/data_mapper_test.rb
242
209
  - test/legacy_active_record_test.rb
243
210
  - test/legacy_attr_encrypted_test.rb
244
211
  - test/legacy_compatibility_test.rb
245
- - test/legacy_data_mapper_test.rb
246
212
  - test/legacy_sequel_test.rb
247
213
  - test/run.sh
248
214
  - test/sequel_test.rb
@@ -255,48 +221,37 @@ post_install_message: |2+
255
221
 
256
222
 
257
223
 
258
- WARNING: Several insecure default options and features were deprecated in attr_encrypted v2.0.0.
259
-
260
- Additionally, there was a bug in Encryptor v2.0.0 that insecurely encrypted data when using an AES-*-GCM algorithm.
261
-
262
- This bug was fixed but introduced breaking changes between v2.x and v3.x.
263
-
264
- Please see the README for more information regarding upgrading to attr_encrypted v3.0.0.
224
+ WARNING: Using `#encrypted_attributes` is no longer supported. Instead, use `#attr_encrypted_encrypted_attributes` to avoid
225
+ collision with Active Record 7 native encryption.
265
226
 
266
227
 
267
- rdoc_options:
268
- - "--line-numbers"
269
- - "--inline-source"
270
- - "--main"
271
- - README.rdoc
228
+ rdoc_options: []
272
229
  require_paths:
273
230
  - lib
274
231
  required_ruby_version: !ruby/object:Gem::Requirement
275
232
  requirements:
276
233
  - - ">="
277
234
  - !ruby/object:Gem::Version
278
- version: 2.0.0
235
+ version: 2.6.0
279
236
  required_rubygems_version: !ruby/object:Gem::Requirement
280
237
  requirements:
281
238
  - - ">="
282
239
  - !ruby/object:Gem::Version
283
240
  version: '0'
284
241
  requirements: []
285
- rubyforge_project:
286
- rubygems_version: 2.6.13
287
- signing_key:
242
+ rubygems_version: 3.4.10
243
+ signing_key:
288
244
  specification_version: 4
289
245
  summary: Encrypt and decrypt attributes
290
246
  test_files:
291
247
  - test/active_record_test.rb
292
248
  - test/attr_encrypted_test.rb
293
249
  - test/compatibility_test.rb
294
- - test/data_mapper_test.rb
295
250
  - test/legacy_active_record_test.rb
296
251
  - test/legacy_attr_encrypted_test.rb
297
252
  - test/legacy_compatibility_test.rb
298
- - test/legacy_data_mapper_test.rb
299
253
  - test/legacy_sequel_test.rb
300
254
  - test/run.sh
301
255
  - test/sequel_test.rb
302
256
  - test/test_helper.rb
257
+ ...
checksums.yaml.gz.sig DELETED
@@ -1 +0,0 @@
1
- )��`'\������l{�����-��p.�I�K�y��4�˕��`�{�¹�͏�L������uho� dވE��VHzP ����UO�#�t.���o���/��t�јz}���#3l`a �JDKc�����)^�� ���?�<���^E��2& �BoF�qZ��9��������69Z��s.���(h�U���?�{���zp?�P��\3���� m����N�Kj�#`0n�9J�Otݼ�{ޣ��}�� �)
data/.travis.yml DELETED
@@ -1,60 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.0
6
- - 2.1
7
- - 2.2.2
8
- - 2.3.0
9
- - 2.4.0
10
- - 2.5.0
11
- - rbx
12
- env:
13
- - ACTIVERECORD=3.0.0
14
- - ACTIVERECORD=3.1.0
15
- - ACTIVERECORD=3.2.0
16
- - ACTIVERECORD=4.0.0
17
- - ACTIVERECORD=4.1.0
18
- - ACTIVERECORD=4.2.0
19
- - ACTIVERECORD=5.0.0
20
- - ACTIVERECORD=5.1.1
21
- matrix:
22
- exclude:
23
- - rvm: 2.0
24
- env: ACTIVERECORD=5.0.0
25
- - rvm: 2.0
26
- env: ACTIVERECORD=5.1.1
27
- - rvm: 2.1
28
- env: ACTIVERECORD=5.0.0
29
- - rvm: 2.1
30
- env: ACTIVERECORD=5.1.1
31
- - rvm: 2.4.0
32
- env: ACTIVERECORD=3.0.0
33
- - rvm: 2.4.0
34
- env: ACTIVERECORD=3.1.0
35
- - rvm: 2.4.0
36
- env: ACTIVERECORD=3.2.0
37
- - rvm: 2.4.0
38
- env: ACTIVERECORD=4.0.0
39
- - rvm: 2.4.0
40
- env: ACTIVERECORD=4.1.0
41
- - rvm: 2.5.0
42
- env: ACTIVERECORD=3.0.0
43
- - rvm: 2.5.0
44
- env: ACTIVERECORD=3.1.0
45
- - rvm: 2.5.0
46
- env: ACTIVERECORD=3.2.0
47
- - rvm: 2.5.0
48
- env: ACTIVERECORD=4.0.0
49
- - rvm: 2.5.0
50
- env: ACTIVERECORD=4.1.0
51
- - rvm: rbx
52
- env: ACTIVERECORD=5.0.0
53
- - rvm: rbx
54
- env: ACTIVERECORD=5.1.1
55
- allow_failures:
56
- - rvm: rbx
57
- fast_finish: true
58
- addons:
59
- code_climate:
60
- repo_token: a90435ed4954dd6e9f3697a20c5bc3754f67d94703f870e8fc7b00f69f5b2d06
data/certs/saghaulor.pem DELETED
@@ -1,21 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRIwEAYDVQQDDAlzYWdo
3
- YXVsb3IxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
4
- bTAeFw0xODAyMTIwMzMzMThaFw0xOTAyMTIwMzMzMThaMEAxEjAQBgNVBAMMCXNh
5
- Z2hhdWxvcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
6
- Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvOLqbSmj5txfw39a
7
- Ki0g3BJWGrfGBiSRq9aThUGzoiaqyDo/m1WMQdgPioZG+P923okChEWFjhSymBQU
8
- eMdys6JRPm5ortp5sh9gesOWoozqb8R55d8rr1V7pY533cCut53Kb1wiitjkfXjR
9
- efT2HPh6nV6rYjGMJek/URaCNzsZo7HCkRsKdezP+BKr4V4wOka69tfJX5pcvFvR
10
- iiqfaiP4RK12hYdsFnSVKiKP7SAFTFiYcohbL8TUW6ezQQqJCK0M6fu74EWVCnBS
11
- gFVjj931BuD8qhuxMiB6uC6FKxemB5TRGBLzn7RcrOMAo2inMAopjkGeQJUAyVCm
12
- J5US3wIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
13
- hJEuSZgvuuIhIsxQ/0pRQTBVzokwHgYDVR0RBBcwFYETc2FnaGF1bG9yQGdtYWls
14
- LmNvbTAeBgNVHRIEFzAVgRNzYWdoYXVsb3JAZ21haWwuY29tMA0GCSqGSIb3DQEB
15
- BQUAA4IBAQCsBS2cxqTmV4nXJEH/QbdgjVDAZbK6xf2gpM3vCRlYsy7Wz6GEoOpD
16
- bzRkjxZwGNbhXShMUZwm6zahYQ/L1/HFztLoMBMkm8EIfPxH0PDrP4aWl0oyWxmU
17
- OLm0/t9icSWRPPJ1tLJvuAaDdVpY5dEHd6VdnNJGQC5vHKRInt1kEyqEttIJ/xmJ
18
- leSEFyMeoFsR+C/WPG9WSC+xN0eXqakCu6YUJoQzCn/7znv8WxpHEbeZjNIHq0qb
19
- nbqZ/ZW1bwzj1T/NIbnMr37wqV29XwkI4+LbewMkb6/bDPYl0qZpAkCxKtGYCCJp
20
- l6KPs9K/72yH00dxuAhiTXikTkcLXeQJ
21
- -----END CERTIFICATE-----
@@ -1,22 +0,0 @@
1
- if defined?(DataMapper)
2
- module AttrEncrypted
3
- module Adapters
4
- module DataMapper
5
- def self.extended(base) # :nodoc:
6
- class << base
7
- alias_method :included_without_attr_encrypted, :included
8
- alias_method :included, :included_with_attr_encrypted
9
- end
10
- end
11
-
12
- def included_with_attr_encrypted(base)
13
- included_without_attr_encrypted(base)
14
- base.extend AttrEncrypted
15
- base.attr_encrypted_options[:encode] = true
16
- end
17
- end
18
- end
19
- end
20
-
21
- DataMapper::Resource.extend AttrEncrypted::Adapters::DataMapper
22
- end
@@ -1,57 +0,0 @@
1
- require_relative 'test_helper'
2
-
3
- DataMapper.setup(:default, 'sqlite3::memory:')
4
-
5
- class Client
6
- include DataMapper::Resource
7
-
8
- property :id, Serial
9
- property :encrypted_email, String
10
- property :encrypted_email_iv, String
11
- property :encrypted_email_salt, String
12
-
13
- property :encrypted_credentials, Text
14
- property :encrypted_credentials_iv, Text
15
- property :encrypted_credentials_salt, Text
16
-
17
- self.attr_encrypted_options[:mode] = :per_attribute_iv_and_salt
18
-
19
- attr_encrypted :email, :key => SECRET_KEY
20
- attr_encrypted :credentials, :key => SECRET_KEY, :marshal => true
21
-
22
- def initialize(attrs = {})
23
- super attrs
24
- self.credentials ||= { :username => 'example', :password => 'test' }
25
- end
26
- end
27
-
28
- DataMapper.auto_migrate!
29
-
30
- class DataMapperTest < Minitest::Test
31
-
32
- def setup
33
- Client.all.each(&:destroy)
34
- end
35
-
36
- def test_should_encrypt_email
37
- @client = Client.new :email => 'test@example.com'
38
- assert @client.save
39
- refute_nil @client.encrypted_email
40
- refute_equal @client.email, @client.encrypted_email
41
- assert_equal @client.email, Client.first.email
42
- end
43
-
44
- def test_should_marshal_and_encrypt_credentials
45
- @client = Client.new
46
- assert @client.save
47
- refute_nil @client.encrypted_credentials
48
- refute_equal @client.credentials, @client.encrypted_credentials
49
- assert_equal @client.credentials, Client.first.credentials
50
- assert Client.first.credentials.is_a?(Hash)
51
- end
52
-
53
- def test_should_encode_by_default
54
- assert Client.attr_encrypted_options[:encode]
55
- end
56
-
57
- end
@@ -1,55 +0,0 @@
1
- require_relative 'test_helper'
2
-
3
- DataMapper.setup(:default, 'sqlite3::memory:')
4
-
5
- class LegacyClient
6
- include DataMapper::Resource
7
- self.attr_encrypted_options[:insecure_mode] = true
8
- self.attr_encrypted_options[:algorithm] = 'aes-256-cbc'
9
- self.attr_encrypted_options[:mode] = :single_iv_and_salt
10
-
11
- property :id, Serial
12
- property :encrypted_email, String
13
- property :encrypted_credentials, Text
14
- property :salt, String
15
-
16
- attr_encrypted :email, :key => 'a secret key', mode: :single_iv_and_salt
17
- attr_encrypted :credentials, :key => Proc.new { |client| Encryptor.encrypt(:value => client.salt, :key => 'some private key', insecure_mode: true, algorithm: 'aes-256-cbc') }, :marshal => true, mode: :single_iv_and_salt
18
-
19
- def initialize(attrs = {})
20
- super attrs
21
- self.salt ||= Digest::SHA1.hexdigest((Time.now.to_i * rand(5)).to_s)
22
- self.credentials ||= { :username => 'example', :password => 'test' }
23
- end
24
- end
25
-
26
- DataMapper.auto_migrate!
27
-
28
- class LegacyDataMapperTest < Minitest::Test
29
-
30
- def setup
31
- LegacyClient.all.each(&:destroy)
32
- end
33
-
34
- def test_should_encrypt_email
35
- @client = LegacyClient.new :email => 'test@example.com'
36
- assert @client.save
37
- refute_nil @client.encrypted_email
38
- refute_equal @client.email, @client.encrypted_email
39
- assert_equal @client.email, LegacyClient.first.email
40
- end
41
-
42
- def test_should_marshal_and_encrypt_credentials
43
- @client = LegacyClient.new
44
- assert @client.save
45
- refute_nil @client.encrypted_credentials
46
- refute_equal @client.credentials, @client.encrypted_credentials
47
- assert_equal @client.credentials, LegacyClient.first.credentials
48
- assert LegacyClient.first.credentials.is_a?(Hash)
49
- end
50
-
51
- def test_should_encode_by_default
52
- assert LegacyClient.attr_encrypted_options[:encode]
53
- end
54
-
55
- end
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
@@ -1 +0,0 @@
1
- Ae�mL������6>�o(p���{��~x�O.]L� |ZgfQ �L44uؤ� �:��S!o�@�Ğ���au9s- Xx�6�����M