crypt_keeper 0.16.0.pre → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +18 -13
  3. data/lib/crypt_keeper/version.rb +1 -1
  4. metadata +41 -40
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 742dc47f65ba6f9c21e39dad6b34a25196e74978
4
- data.tar.gz: 4e5eaafa1b9876217c739a4c3649fc52308dc0ff
3
+ metadata.gz: 1fe81080ba4a644e03ba57f203e8b7a241b7bdba
4
+ data.tar.gz: c1e85abc84d6f954f94da37ad3784ba88439f859
5
5
  SHA512:
6
- metadata.gz: f43ec8ae9564d08e804d5539ee04fff90b072502e65128a983c4727953ad930a00cfc2f72bb50d5e6b6585c7bd43bb83199f75bd3cabffb27e317a3f56539dd6
7
- data.tar.gz: 097e420adcb718391b14476dff3a8a1c00279bcd211df9cef3f163a424bd1267d5be85b1cfa15fe1773a77cd930cc9fea1c4c7ff0d4a406ca4c7146a570f5d61
6
+ metadata.gz: d0f7ead844b6e3af4fe5aa9972cd974c55e18127949b5d13bb5ebbe5c22cd739269fcf559e1e533375e8a9b2bdbe66839126c0d02f662d9a2e3b6d8c3c99aea0
7
+ data.tar.gz: 320a8cf0898e423ebcd45cafe0f068d7d7a4e5b10a5f9477ff1605f3aafa686962c27559caf1a2e92d65cbab5ce91209d39ae252471828a486f0dace28ea30ab
data/README.md CHANGED
@@ -27,7 +27,7 @@ simple that *just works*.
27
27
 
28
28
  ```ruby
29
29
  class MyModel < ActiveRecord::Base
30
- crypt_keeper :field, :other_field, :encryptor => :aes, :key => 'super_good_password', salt: 'salt'
30
+ crypt_keeper :field, :other_field, :encryptor => :aes_new, :key => 'super_good_password', salt: 'salt'
31
31
  end
32
32
 
33
33
  model = MyModel.new(field: 'sometext')
@@ -47,28 +47,20 @@ expected behavior, and has its use cases. An example would be migrating from
47
47
  one type of encryption to another. Using `update_column` would allow you to
48
48
  update the content without going through the current encryptor.
49
49
 
50
- ## Available Encryptors
50
+ ## Supported Available Encryptors
51
51
 
52
- There are three included encryptors.
52
+ There are four supported encryptors: `aes_new`, `mysql_aes_new`, `postgresql_pgp`, `postgres_pgp_public_key`.
53
53
 
54
- * [AES](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/provider/aes_new.rb)
54
+ * [AES New](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/provider/aes_new.rb)
55
55
  * Encryption is peformed using AES-256 via OpenSSL.
56
56
  * Passphrases are derived using [PBKDF2](http://en.wikipedia.org/wiki/PBKDF2)
57
57
 
58
- * [AES Legacy](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/provider/aes.rb) *DEPRECATED*
59
- * Encryption is peformed using AES-256 via OpenSSL.
60
-
61
- * [MySQL AES](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/provider/mysql_aes_new.rb)
58
+ * [MySQL AES New](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/provider/mysql_aes_new.rb)
62
59
  * Encryption is peformed MySQL's native AES functions.
63
60
  * ActiveRecord logs are [automatically](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/log_subscriber/mysql_aes.rb)
64
61
  filtered for you to protect sensitive data from being logged.
65
62
  * Passphrases are derived using [PBKDF2](http://en.wikipedia.org/wiki/PBKDF2)
66
63
 
67
- * [MySQL AES](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/provider/mysql_aes.rb) *DEPRECATED*
68
- * Encryption is peformed MySQL's native AES functions.
69
- * ActiveRecord logs are [automatically](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/log_subscriber/mysql_aes.rb)
70
- filtered for you to protect senitive data from being logged.
71
-
72
64
  * [PostgreSQL PGP](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/provider/postgres_pgp.rb).
73
65
  * Encryption is performed using PostgresSQL's native [PGP functions](http://www.postgresql.org/docs/9.1/static/pgcrypto.html).
74
66
  * It requires the `pgcrypto` PostgresSQL extension:
@@ -87,6 +79,19 @@ There are three included encryptors.
87
79
  * Accepts a public and private_key. The private key is optional. If the private key is not present the ciphertext value is returned instead of the plaintext. This allows you to keep the private key off certain servers. Encryption is possible with only a public key. Any server that needs access to the plaintext will need the private key.
88
80
  * Passphrases are hashed by PostgresSQL itself using a [String2Key (S2K)](http://www.postgresql.org/docs/9.2/static/pgcrypto.html) algorithm. This is rather similar to crypt() algorithms — purposefully slow and with random salt — but it produces a full-length binary key.
89
81
 
82
+ ## Deprecated Encryptors
83
+ These encryptors are now deprecated and should be migrated from as soon as possible using the included `bin/crypt_keeper` script.
84
+
85
+ * [AES Legacy](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/provider/aes.rb) *DEPRECATED*
86
+ * Encryption is peformed using AES-256 via OpenSSL.
87
+ * [How to migrate to AES New](https://github.com/jmazzi/crypt_keeper/wiki/AES-Legacy-Migration-Instructions)
88
+
89
+ * [MySQL AES Legacy](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/provider/mysql_aes.rb) *DEPRECATED*
90
+ * Encryption is peformed MySQL's native AES functions.
91
+ * ActiveRecord logs are [automatically](https://github.com/jmazzi/crypt_keeper/blob/master/lib/crypt_keeper/log_subscriber/mysql_aes.rb)
92
+ filtered for you to protect senitive data from being logged.
93
+ * [How to migrate to MySQL AES New](https://github.com/jmazzi/crypt_keeper/wiki/MysqlAes-Legacy-Migration-Instructions)
94
+
90
95
  ## Searching
91
96
  Searching ciphertext is a complex problem that varies depending on the encryption algorithm you choose. All of the bundled providers include search support, but they have some caveats.
92
97
 
@@ -1,3 +1,3 @@
1
1
  module CryptKeeper
2
- VERSION = "0.16.0.pre"
2
+ VERSION = "0.16.0"
3
3
  end
metadata CHANGED
@@ -1,221 +1,221 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crypt_keeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0.pre
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Mazzi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-22 00:00:00.000000000 Z
11
+ date: 2014-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.1'
20
- - - <
20
+ - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '4.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - '>='
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: '3.1'
30
- - - <
30
+ - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '4.2'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activesupport
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - '>='
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '3.1'
40
- - - <
40
+ - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '4.2'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - '>='
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
49
  version: '3.1'
50
- - - <
50
+ - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '4.2'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: aes
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ~>
57
+ - - "~>"
58
58
  - !ruby/object:Gem::Version
59
59
  version: 0.5.0
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ~>
64
+ - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: 0.5.0
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: armor
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - ~>
71
+ - - "~>"
72
72
  - !ruby/object:Gem::Version
73
73
  version: 0.0.2
74
74
  type: :runtime
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ~>
78
+ - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: 0.0.2
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rspec
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - ~>
85
+ - - "~>"
86
86
  - !ruby/object:Gem::Version
87
87
  version: 2.13.0
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - ~>
92
+ - - "~>"
93
93
  - !ruby/object:Gem::Version
94
94
  version: 2.13.0
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: guard
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - ~>
99
+ - - "~>"
100
100
  - !ruby/object:Gem::Version
101
101
  version: 1.8.0
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - ~>
106
+ - - "~>"
107
107
  - !ruby/object:Gem::Version
108
108
  version: 1.8.0
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: guard-rspec
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - ~>
113
+ - - "~>"
114
114
  - !ruby/object:Gem::Version
115
115
  version: 2.5.4
116
116
  type: :development
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - ~>
120
+ - - "~>"
121
121
  - !ruby/object:Gem::Version
122
122
  version: 2.5.4
123
123
  - !ruby/object:Gem::Dependency
124
124
  name: rake
125
125
  requirement: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - ~>
127
+ - - "~>"
128
128
  - !ruby/object:Gem::Version
129
129
  version: 10.0.3
130
130
  type: :development
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
133
133
  requirements:
134
- - - ~>
134
+ - - "~>"
135
135
  - !ruby/object:Gem::Version
136
136
  version: 10.0.3
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: rb-fsevent
139
139
  requirement: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - ~>
141
+ - - "~>"
142
142
  - !ruby/object:Gem::Version
143
143
  version: 0.9.1
144
144
  type: :development
145
145
  prerelease: false
146
146
  version_requirements: !ruby/object:Gem::Requirement
147
147
  requirements:
148
- - - ~>
148
+ - - "~>"
149
149
  - !ruby/object:Gem::Version
150
150
  version: 0.9.1
151
151
  - !ruby/object:Gem::Dependency
152
152
  name: coveralls
153
153
  requirement: !ruby/object:Gem::Requirement
154
154
  requirements:
155
- - - '>='
155
+ - - ">="
156
156
  - !ruby/object:Gem::Version
157
157
  version: '0'
158
158
  type: :development
159
159
  prerelease: false
160
160
  version_requirements: !ruby/object:Gem::Requirement
161
161
  requirements:
162
- - - '>='
162
+ - - ">="
163
163
  - !ruby/object:Gem::Version
164
164
  version: '0'
165
165
  - !ruby/object:Gem::Dependency
166
166
  name: appraisal
167
167
  requirement: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - ~>
169
+ - - "~>"
170
170
  - !ruby/object:Gem::Version
171
171
  version: 0.5.2
172
172
  type: :development
173
173
  prerelease: false
174
174
  version_requirements: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - ~>
176
+ - - "~>"
177
177
  - !ruby/object:Gem::Version
178
178
  version: 0.5.2
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: sqlite3
181
181
  requirement: !ruby/object:Gem::Requirement
182
182
  requirements:
183
- - - '>='
183
+ - - ">="
184
184
  - !ruby/object:Gem::Version
185
185
  version: '0'
186
186
  type: :development
187
187
  prerelease: false
188
188
  version_requirements: !ruby/object:Gem::Requirement
189
189
  requirements:
190
- - - '>='
190
+ - - ">="
191
191
  - !ruby/object:Gem::Version
192
192
  version: '0'
193
193
  - !ruby/object:Gem::Dependency
194
194
  name: pg
195
195
  requirement: !ruby/object:Gem::Requirement
196
196
  requirements:
197
- - - ~>
197
+ - - "~>"
198
198
  - !ruby/object:Gem::Version
199
199
  version: 0.15.1
200
200
  type: :development
201
201
  prerelease: false
202
202
  version_requirements: !ruby/object:Gem::Requirement
203
203
  requirements:
204
- - - ~>
204
+ - - "~>"
205
205
  - !ruby/object:Gem::Version
206
206
  version: 0.15.1
207
207
  - !ruby/object:Gem::Dependency
208
208
  name: mysql2
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  requirements:
211
- - - ~>
211
+ - - "~>"
212
212
  - !ruby/object:Gem::Version
213
213
  version: 0.3.11
214
214
  type: :development
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - ~>
218
+ - - "~>"
219
219
  - !ruby/object:Gem::Version
220
220
  version: 0.3.11
221
221
  description: Transparent encryption for ActiveRecord that isn't over-engineered
@@ -226,9 +226,9 @@ executables:
226
226
  extensions: []
227
227
  extra_rdoc_files: []
228
228
  files:
229
- - .gitignore
230
- - .rspec
231
- - .travis.yml
229
+ - ".gitignore"
230
+ - ".rspec"
231
+ - ".travis.yml"
232
232
  - Appraisals
233
233
  - Gemfile
234
234
  - Guardfile
@@ -281,14 +281,14 @@ require_paths:
281
281
  - lib
282
282
  required_ruby_version: !ruby/object:Gem::Requirement
283
283
  requirements:
284
- - - '>='
284
+ - - ">="
285
285
  - !ruby/object:Gem::Version
286
286
  version: '0'
287
287
  required_rubygems_version: !ruby/object:Gem::Requirement
288
288
  requirements:
289
- - - '>'
289
+ - - ">="
290
290
  - !ruby/object:Gem::Version
291
- version: 1.3.1
291
+ version: '0'
292
292
  requirements: []
293
293
  rubyforge_project:
294
294
  rubygems_version: 2.0.14
@@ -310,3 +310,4 @@ test_files:
310
310
  - spec/spec_helper.rb
311
311
  - spec/support/active_record.rb
312
312
  - spec/support/encryptors.rb
313
+ has_rdoc: