omf_common 6.0.7.1 → 6.0.8.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +14 -6
- data/bin/omf_cert.rb +175 -0
- data/example/auth_test.rb +76 -0
- data/lib/omf_common.rb +12 -1
- data/lib/omf_common/auth/certificate.rb +255 -72
- data/lib/omf_common/auth/certificate_store.rb +39 -15
- data/lib/omf_common/auth/jwt_authenticator.rb +69 -0
- data/lib/omf_common/auth/pdp/test_pdp.rb +21 -0
- data/lib/omf_common/comm.rb +8 -1
- data/lib/omf_common/comm/amqp/amqp_communicator.rb +7 -1
- data/lib/omf_common/comm/amqp/amqp_mp.rb +29 -0
- data/lib/omf_common/comm/amqp/amqp_topic.rb +4 -2
- data/lib/omf_common/comm/local/local_topic.rb +14 -14
- data/lib/omf_common/comm/xmpp/communicator.rb +14 -6
- data/lib/omf_common/comm/xmpp/xmpp_mp.rb +2 -2
- data/lib/omf_common/message.rb +27 -6
- data/lib/omf_common/message/json/json_message.rb +36 -21
- data/lib/omf_common/message/xml/message.rb +27 -21
- data/lib/omf_common/version.rb +8 -1
- data/omf_common.gemspec +4 -3
- data/test/fixture/alice-cert.pem +26 -0
- data/test/fixture/alice-key.pem +15 -0
- data/test/omf_common/auth/certificate_spec.rb +20 -41
- data/test/omf_common/auth/certificate_store_spec.rb +19 -21
- data/test/omf_common/comm/xmpp/communicator_spec.rb +4 -1
- data/test/omf_common/message/xml/message_spec.rb +2 -2
- metadata +66 -39
@@ -16,43 +16,41 @@ describe OmfCommon::Auth::CertificateStore do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it "must register certificate instance" do
|
19
|
-
cert = OmfCommon::Auth::Certificate.
|
19
|
+
cert = OmfCommon::Auth::Certificate.create_from_pem(File.read "#{@private_folder}/1st_level.pem")
|
20
20
|
|
21
|
-
OmfCommon::Auth::CertificateStore.instance.
|
22
|
-
|
23
|
-
OmfCommon::Auth::CertificateStore.instance.cert_for("ca1").must_equal cert
|
21
|
+
OmfCommon::Auth::CertificateStore.instance.register_trusted(cert)
|
22
|
+
OmfCommon::Auth::CertificateStore.instance.cert_for("/C=AU/ST=NSW/L=Sydney/O=NICTA/CN=ROOT CA/emailAddress= ").must_equal cert
|
24
23
|
end
|
25
24
|
|
26
25
|
it "must verify certificate aginst store" do
|
27
26
|
# 2 level CAs
|
28
|
-
cert_1 = OmfCommon::Auth::Certificate.
|
29
|
-
cert_2 = OmfCommon::Auth::Certificate.
|
30
|
-
cert_3 = OmfCommon::Auth::Certificate.
|
31
|
-
|
32
|
-
|
33
|
-
# 1 level CA
|
34
|
-
|
35
|
-
cert_4 = OmfCommon::Auth::Certificate.create(nil, 'omf_ca', 'ca', 'omf')
|
36
|
-
key = OpenSSL::PKey::RSA.new(2048)
|
37
|
-
cert_5 = cert_4.create_for('my_add', 'bob', 'my_resource', 'omf', 365, key.public_key)
|
27
|
+
cert_1 = OmfCommon::Auth::Certificate.create_from_pem(File.read "#{@private_folder}/1st_level.pem")
|
28
|
+
cert_2 = OmfCommon::Auth::Certificate.create_from_pem(File.read "#{@private_folder}/2nd_level.pem")
|
29
|
+
cert_3 = OmfCommon::Auth::Certificate.create_from_pem(File.read "#{@private_folder}/3rd_level.pem")
|
38
30
|
|
39
31
|
OmfCommon::Auth::CertificateStore.instance.verify(cert_2.to_x509).must_equal false
|
40
32
|
|
41
|
-
OmfCommon::Auth::CertificateStore.instance.
|
33
|
+
OmfCommon::Auth::CertificateStore.instance.register_trusted(cert_1)
|
34
|
+
|
42
35
|
OmfCommon::Auth::CertificateStore.instance.verify(cert_2.to_x509).must_equal true
|
43
36
|
OmfCommon::Auth::CertificateStore.instance.verify(cert_3.to_x509).must_equal false
|
44
37
|
|
45
|
-
OmfCommon::Auth::CertificateStore.instance.
|
38
|
+
OmfCommon::Auth::CertificateStore.instance.register_trusted(cert_2)
|
39
|
+
|
46
40
|
OmfCommon::Auth::CertificateStore.instance.verify(cert_3.to_x509).must_equal true
|
47
|
-
OmfCommon::Auth::CertificateStore.instance.verify(cert_5.to_x509).must_equal false
|
48
41
|
|
49
|
-
|
42
|
+
# 1 level CA
|
43
|
+
cert_4 = OmfCommon::Auth::Certificate.create_root
|
44
|
+
key = OpenSSL::PKey::RSA.new(2048)
|
45
|
+
cert_5 = cert_4.create_for_resource('my_add', :my_resource)
|
46
|
+
|
47
|
+
OmfCommon::Auth::CertificateStore.instance.verify(cert_4.to_x509).must_equal true
|
50
48
|
OmfCommon::Auth::CertificateStore.instance.verify(cert_5.to_x509).must_equal true
|
51
49
|
end
|
52
50
|
|
53
51
|
it "wont die if registering same cert again" do
|
54
|
-
cert_1 = OmfCommon::Auth::Certificate.
|
55
|
-
OmfCommon::Auth::CertificateStore.instance.
|
56
|
-
OmfCommon::Auth::CertificateStore.instance.
|
52
|
+
cert_1 = OmfCommon::Auth::Certificate.create_from_pem(File.read "#{@private_folder}/1st_level.pem")
|
53
|
+
OmfCommon::Auth::CertificateStore.instance.register_trusted(cert_1)
|
54
|
+
OmfCommon::Auth::CertificateStore.instance.register_trusted(cert_1)
|
57
55
|
end
|
58
56
|
end
|
@@ -4,6 +4,7 @@
|
|
4
4
|
# By downloading or using this software you accept the terms and the liability disclaimer in the License.
|
5
5
|
|
6
6
|
require 'test_helper'
|
7
|
+
require 'monitor'
|
7
8
|
require 'fixture/pubsub'
|
8
9
|
|
9
10
|
require 'omf_common/comm/xmpp/communicator'
|
@@ -15,6 +16,9 @@ describe OmfCommon::Comm::XMPP::Communicator do
|
|
15
16
|
@stream.expect(:send, true, [Blather::Stanza])
|
16
17
|
@client.post_init @stream, Blather::JID.new('bob@example.com')
|
17
18
|
@xmpp = OmfCommon::Comm::XMPP::Communicator.new
|
19
|
+
@xmpp.instance_eval do
|
20
|
+
@lock = Monitor.new
|
21
|
+
end
|
18
22
|
end
|
19
23
|
|
20
24
|
describe "when communicating to xmpp server (via mocking)" do
|
@@ -35,7 +39,6 @@ describe OmfCommon::Comm::XMPP::Communicator do
|
|
35
39
|
Blather::Client.stub :new, @client do
|
36
40
|
@stream.expect(:close_connection_after_writing, true)
|
37
41
|
@xmpp.disconnect
|
38
|
-
@stream.verify
|
39
42
|
end
|
40
43
|
end
|
41
44
|
|
@@ -153,8 +153,8 @@ describe OmfCommon::Message::XML::Message do
|
|
153
153
|
OmfCommon.stubs(:comm).returns(comm)
|
154
154
|
comm.expects(:create_topic).returns(topic)
|
155
155
|
|
156
|
-
|
157
|
-
bob_cert =
|
156
|
+
root_cert = OmfCommon::Auth::Certificate.create_root
|
157
|
+
bob_cert = root_cert.create_for_resource('bob', :bob)
|
158
158
|
|
159
159
|
message = Message::XML::Message.create(:create,
|
160
160
|
{ type: 'bob', p1: 'p1_value'},
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omf_common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.8.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NICTA
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2013-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ! '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ! '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: em-minitest-spec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,42 +42,42 @@ dependencies:
|
|
42
42
|
name: simplecov
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - '>='
|
45
|
+
- - ! '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - '>='
|
52
|
+
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - '>='
|
59
|
+
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - '>='
|
66
|
+
- - ! '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mocha
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - '>='
|
73
|
+
- - ! '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - '>='
|
80
|
+
- - ! '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
@@ -164,6 +164,48 @@ dependencies:
|
|
164
164
|
- - ~>
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: 1.7.7
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: json-jwt
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ! '>='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: amqp
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ! '>='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ! '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: uuidtools
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ! '>='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ! '>='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
167
209
|
description: Common library of OMF, a generic framework for controlling and managing
|
168
210
|
networking testbeds.
|
169
211
|
email:
|
@@ -180,11 +222,13 @@ files:
|
|
180
222
|
- Rakefile
|
181
223
|
- bin/file_broadcaster.rb
|
182
224
|
- bin/file_receiver.rb
|
225
|
+
- bin/omf_cert.rb
|
183
226
|
- bin/omf_keygen
|
184
227
|
- bin/omf_monitor_topic
|
185
228
|
- bin/omf_send_configure
|
186
229
|
- bin/omf_send_create
|
187
230
|
- bin/omf_send_request
|
231
|
+
- example/auth_test.rb
|
188
232
|
- example/engine_alt.rb
|
189
233
|
- example/ls_app.yaml
|
190
234
|
- example/viz/garage_monitor.rb
|
@@ -197,10 +241,13 @@ files:
|
|
197
241
|
- lib/omf_common/auth.rb
|
198
242
|
- lib/omf_common/auth/certificate.rb
|
199
243
|
- lib/omf_common/auth/certificate_store.rb
|
244
|
+
- lib/omf_common/auth/jwt_authenticator.rb
|
245
|
+
- lib/omf_common/auth/pdp/test_pdp.rb
|
200
246
|
- lib/omf_common/auth/ssh_pub_key_convert.rb
|
201
247
|
- lib/omf_common/comm.rb
|
202
248
|
- lib/omf_common/comm/amqp/amqp_communicator.rb
|
203
249
|
- lib/omf_common/comm/amqp/amqp_file_transfer.rb
|
250
|
+
- lib/omf_common/comm/amqp/amqp_mp.rb
|
204
251
|
- lib/omf_common/comm/amqp/amqp_topic.rb
|
205
252
|
- lib/omf_common/comm/local/local_communicator.rb
|
206
253
|
- lib/omf_common/comm/local/local_topic.rb
|
@@ -229,6 +276,8 @@ files:
|
|
229
276
|
- test/fixture/1st_level.pem
|
230
277
|
- test/fixture/2nd_level.pem
|
231
278
|
- test/fixture/3rd_level.pem
|
279
|
+
- test/fixture/alice-cert.pem
|
280
|
+
- test/fixture/alice-key.pem
|
232
281
|
- test/fixture/omf_test.cert.pem
|
233
282
|
- test/fixture/omf_test.pem
|
234
283
|
- test/fixture/omf_test.pub
|
@@ -258,40 +307,18 @@ require_paths:
|
|
258
307
|
- lib
|
259
308
|
required_ruby_version: !ruby/object:Gem::Requirement
|
260
309
|
requirements:
|
261
|
-
- - '>='
|
310
|
+
- - ! '>='
|
262
311
|
- !ruby/object:Gem::Version
|
263
312
|
version: 1.9.3
|
264
313
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
265
314
|
requirements:
|
266
|
-
- - '
|
315
|
+
- - ! '>'
|
267
316
|
- !ruby/object:Gem::Version
|
268
|
-
version:
|
317
|
+
version: 1.3.1
|
269
318
|
requirements: []
|
270
319
|
rubyforge_project: omf_common
|
271
|
-
rubygems_version: 2.0.
|
320
|
+
rubygems_version: 2.0.7
|
272
321
|
signing_key:
|
273
322
|
specification_version: 4
|
274
323
|
summary: Common library of OMF
|
275
|
-
test_files:
|
276
|
-
- test/fixture/1st_level.pem
|
277
|
-
- test/fixture/2nd_level.pem
|
278
|
-
- test/fixture/3rd_level.pem
|
279
|
-
- test/fixture/omf_test.cert.pem
|
280
|
-
- test/fixture/omf_test.pem
|
281
|
-
- test/fixture/omf_test.pub
|
282
|
-
- test/fixture/omf_test.pub.pem
|
283
|
-
- test/fixture/pubsub.rb
|
284
|
-
- test/fixture/rc.pem
|
285
|
-
- test/fixture/root.pem
|
286
|
-
- test/omf_common/auth/certificate_spec.rb
|
287
|
-
- test/omf_common/auth/certificate_store_spec.rb
|
288
|
-
- test/omf_common/auth/ssh_pub_key_convert_spec.rb
|
289
|
-
- test/omf_common/comm/topic_spec.rb
|
290
|
-
- test/omf_common/comm/xmpp/communicator_spec.rb
|
291
|
-
- test/omf_common/comm/xmpp/topic_spec.rb
|
292
|
-
- test/omf_common/comm_spec.rb
|
293
|
-
- test/omf_common/command_spec.rb
|
294
|
-
- test/omf_common/core_ext/string_spec.rb
|
295
|
-
- test/omf_common/message/xml/message_spec.rb
|
296
|
-
- test/omf_common/message_spec.rb
|
297
|
-
- test/test_helper.rb
|
324
|
+
test_files: []
|