vidibus-secure 0.1.5 → 0.2.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.
- data/LICENSE +3 -1
- data/README.md +2 -2
- data/lib/vidibus/secure/mongoid.rb +1 -1
- data/lib/vidibus/secure/version.rb +1 -1
- data/lib/vidibus/secure.rb +4 -0
- metadata +99 -35
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Vidibus::Secure [](http://travis-ci.org/vidibus/vidibus-secure)
|
1
|
+
# Vidibus::Secure [](http://travis-ci.org/vidibus/vidibus-secure)
|
2
2
|
|
3
3
|
Allows encryption and signing of requests and storing encrypted data within Mongoid documents.
|
4
4
|
|
@@ -24,4 +24,4 @@ TODO
|
|
24
24
|
|
25
25
|
## Copyright
|
26
26
|
|
27
|
-
© 2010-
|
27
|
+
© 2010-2013 Andre Pankratz. See LICENSE for details.
|
data/lib/vidibus/secure.rb
CHANGED
@@ -59,6 +59,7 @@ module Vidibus
|
|
59
59
|
options = settings[:crypt].merge(options)
|
60
60
|
decoded_data = decode(data, options)
|
61
61
|
decrypted_data = crypt(:decrypt, decoded_data, key, options)
|
62
|
+
return data unless decrypted_data
|
62
63
|
begin
|
63
64
|
JSON.parse(decrypted_data)
|
64
65
|
rescue JSON::ParserError
|
@@ -112,6 +113,7 @@ module Vidibus
|
|
112
113
|
protected
|
113
114
|
|
114
115
|
def crypt(cipher_method, data, key, options = {})
|
116
|
+
return unless data && data != ''
|
115
117
|
cipher = OpenSSL::Cipher::Cipher.new(options[:algorithm])
|
116
118
|
digest = OpenSSL::Digest::SHA512.new(key).digest
|
117
119
|
cipher.send(cipher_method)
|
@@ -121,6 +123,7 @@ module Vidibus
|
|
121
123
|
end
|
122
124
|
|
123
125
|
def encode(data, options = {})
|
126
|
+
return unless data
|
124
127
|
if options[:encoding] == :hex
|
125
128
|
data.unpack("H*").join
|
126
129
|
elsif options[:encoding] == :base64
|
@@ -129,6 +132,7 @@ module Vidibus
|
|
129
132
|
end
|
130
133
|
|
131
134
|
def decode(data, options = {})
|
135
|
+
return unless data
|
132
136
|
if options[:encoding] == :hex
|
133
137
|
[data].pack("H*")
|
134
138
|
elsif options[:encoding] == :base64
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vidibus-secure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-08-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,32 +21,47 @@ dependencies:
|
|
21
21
|
version: '1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: mongoid
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
|
-
- -
|
35
|
+
- - ! '>='
|
31
36
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
37
|
+
version: '3'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: activesupport
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
|
-
- -
|
51
|
+
- - ! '>='
|
42
52
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
53
|
+
version: '0'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: json
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: vidibus-core_extensions
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :runtime
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: bundler
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: 1.0.0
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.0.0
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: rake
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: rdoc
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ! '>='
|
@@ -98,10 +133,15 @@ dependencies:
|
|
98
133
|
version: '0'
|
99
134
|
type: :development
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
102
142
|
- !ruby/object:Gem::Dependency
|
103
143
|
name: rspec
|
104
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
105
145
|
none: false
|
106
146
|
requirements:
|
107
147
|
- - ~>
|
@@ -109,10 +149,15 @@ dependencies:
|
|
109
149
|
version: '2'
|
110
150
|
type: :development
|
111
151
|
prerelease: false
|
112
|
-
version_requirements:
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '2'
|
113
158
|
- !ruby/object:Gem::Dependency
|
114
159
|
name: rr
|
115
|
-
requirement:
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
116
161
|
none: false
|
117
162
|
requirements:
|
118
163
|
- - ! '>='
|
@@ -120,10 +165,15 @@ dependencies:
|
|
120
165
|
version: '0'
|
121
166
|
type: :development
|
122
167
|
prerelease: false
|
123
|
-
version_requirements:
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
124
174
|
- !ruby/object:Gem::Dependency
|
125
175
|
name: simplecov
|
126
|
-
requirement:
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
127
177
|
none: false
|
128
178
|
requirements:
|
129
179
|
- - ! '>='
|
@@ -131,18 +181,28 @@ dependencies:
|
|
131
181
|
version: '0'
|
132
182
|
type: :development
|
133
183
|
prerelease: false
|
134
|
-
version_requirements:
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
135
190
|
- !ruby/object:Gem::Dependency
|
136
191
|
name: actionpack
|
137
|
-
requirement:
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
138
193
|
none: false
|
139
194
|
requirements:
|
140
|
-
- -
|
195
|
+
- - ! '>='
|
141
196
|
- !ruby/object:Gem::Version
|
142
|
-
version: '
|
197
|
+
version: '0'
|
143
198
|
type: :development
|
144
199
|
prerelease: false
|
145
|
-
version_requirements:
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
146
206
|
description: Allows encryption and signing of requests and storing encrypted data
|
147
207
|
within Mongoid documents.
|
148
208
|
email: andre@vidibus.com
|
@@ -161,7 +221,8 @@ files:
|
|
161
221
|
- README.md
|
162
222
|
- Rakefile
|
163
223
|
homepage: https://github.com/vidibus/vidibus-secure
|
164
|
-
licenses:
|
224
|
+
licenses:
|
225
|
+
- MIT
|
165
226
|
post_install_message:
|
166
227
|
rdoc_options: []
|
167
228
|
require_paths:
|
@@ -172,6 +233,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
172
233
|
- - ! '>='
|
173
234
|
- !ruby/object:Gem::Version
|
174
235
|
version: '0'
|
236
|
+
segments:
|
237
|
+
- 0
|
238
|
+
hash: -4596863611210443470
|
175
239
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
240
|
none: false
|
177
241
|
requirements:
|
@@ -179,8 +243,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
243
|
- !ruby/object:Gem::Version
|
180
244
|
version: 1.3.6
|
181
245
|
requirements: []
|
182
|
-
rubyforge_project: vidibus-
|
183
|
-
rubygems_version: 1.8.
|
246
|
+
rubyforge_project: vidibus-secure
|
247
|
+
rubygems_version: 1.8.24
|
184
248
|
signing_key:
|
185
249
|
specification_version: 3
|
186
250
|
summary: Security tools for Vidibus applications
|