tlspretense 0.6.2 → 0.7.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.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +5 -0
- data/README.rdoc +25 -16
- data/Rakefile +1 -4
- data/doc/general_setup.rdoc +22 -1
- data/doc/macosx_setup.rdoc +86 -0
- data/lib/packetthief.rb +8 -1
- data/lib/packetthief/handlers/abstract_ssl_handler.rb +1 -2
- data/lib/packetthief/handlers/ssl_server.rb +3 -4
- data/lib/packetthief/handlers/ssl_smart_proxy.rb +3 -3
- data/lib/packetthief/handlers/ssl_transparent_proxy.rb +1 -1
- data/lib/packetthief/handlers/transparent_proxy.rb +1 -2
- data/lib/packetthief/logging.rb +32 -24
- data/lib/tlspretense/app.rb +5 -2
- data/lib/tlspretense/cert_maker.rb +5 -0
- data/lib/tlspretense/cert_maker/certificate_factory.rb +11 -1
- data/lib/tlspretense/cert_maker/certificate_suite_generator.rb +21 -3
- data/lib/tlspretense/cert_maker/subject_alt_name_factory.rb +115 -0
- data/lib/tlspretense/ext_compat/openssl_pkey_read.rb +38 -0
- data/lib/tlspretense/skel/config.yml +194 -17
- data/lib/tlspretense/test_harness/input_handler.rb +6 -2
- data/lib/tlspretense/test_harness/runner.rb +9 -3
- data/lib/tlspretense/test_harness/ssl_test_case.rb +2 -9
- data/lib/tlspretense/test_harness/ssl_test_report.rb +3 -0
- data/lib/tlspretense/test_harness/test_listener.rb +2 -2
- data/lib/tlspretense/test_harness/test_manager.rb +1 -2
- data/lib/tlspretense/version.rb +1 -1
- data/packetthief_examples/ssl_client_simple.rb +7 -0
- data/spec/packetthief/impl/ipfw_spec.rb +4 -2
- data/spec/packetthief/impl/netfilter_spec.rb +4 -2
- data/spec/packetthief/impl/pf_divert_spec.rb +4 -2
- data/spec/packetthief/logging_spec.rb +24 -26
- data/spec/spec_helper.rb +7 -8
- data/spec/tlspretense/cert_maker/subject_alt_name_factory_spec.rb +75 -0
- data/spec/tlspretense/ext_compat/openssl_pkey_read_spec.rb +126 -0
- data/spec/tlspretense/test_harness/runner_spec.rb +3 -5
- data/tlspretense.gemspec +2 -2
- metadata +41 -48
- data/Gemfile.lock +0 -41
@@ -29,7 +29,7 @@ module TestHarness
|
|
29
29
|
let(:test_bar) { SSLTestCase.new(test_bar_data) }
|
30
30
|
let(:test_list) { [test_foo, test_bar] }
|
31
31
|
|
32
|
-
let(:test_listener) { double('test listener'
|
32
|
+
let(:test_listener) { double('test listener') }
|
33
33
|
let(:test_manager) { double('test manager') }
|
34
34
|
|
35
35
|
let(:test_wrongcname) { double('test wrongcname') }
|
@@ -49,7 +49,7 @@ module TestHarness
|
|
49
49
|
)
|
50
50
|
end
|
51
51
|
let(:cert_manager) { double("certificate manager") }
|
52
|
-
let(:report) { double('report', :print_results => nil, :add_result => nil) }
|
52
|
+
let(:report) { double('report', :print_results => nil, :add_result => nil, :fail? => false) }
|
53
53
|
let(:testcaseresult) { double('test case result') }
|
54
54
|
let(:testcase) { double('test case', :run => testcaseresult) }
|
55
55
|
let(:appcontext) { double('context',
|
@@ -189,12 +189,10 @@ module TestHarness
|
|
189
189
|
EM.stub(:stop_event_loop)
|
190
190
|
TestListener.stub(:start).and_return(test_listener)
|
191
191
|
TestManager.stub(:new).and_return(test_manager)
|
192
|
-
@logger = logger
|
193
|
-
Logger.should_receive(:new).and_return(logger)
|
194
192
|
end
|
195
193
|
|
196
194
|
it "configures a new TestManager" do
|
197
|
-
TestManager.should_receive(:new).with(appcontext, test_list, report
|
195
|
+
TestManager.should_receive(:new).with(appcontext, test_list, report).and_return(test_manager)
|
198
196
|
|
199
197
|
subject.run_tests test_list
|
200
198
|
end
|
data/tlspretense.gemspec
CHANGED
@@ -26,8 +26,8 @@ Gem::Specification.new do |s|
|
|
26
26
|
|
27
27
|
s.add_runtime_dependency("eventmachine", [">= 1.0.0"])
|
28
28
|
s.add_runtime_dependency("ruby-termios", [">= 0.9.6"])
|
29
|
-
s.add_development_dependency("rake", ["
|
30
|
-
s.add_development_dependency("rspec", ["~>
|
29
|
+
s.add_development_dependency("rake", ["~> 12.3"])
|
30
|
+
s.add_development_dependency("rspec", ["~> 3.7"])
|
31
31
|
s.add_development_dependency("rdoc", ["~> 3.12"])
|
32
32
|
s.add_development_dependency("bundler", ["~> 1.0"])
|
33
33
|
s.add_development_dependency("simplecov", ["~> 0.7"])
|
metadata
CHANGED
@@ -1,131 +1,117 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tlspretense
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.7.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- William (B.J.) Snow Orvis
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2017-12-07 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: eventmachine
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 1.0.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 1.0.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: ruby-termios
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 0.9.6
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 0.9.6
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
47
|
+
version: '12.3'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
54
|
+
version: '12.3'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rspec
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
61
|
+
version: '3.7'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
68
|
+
version: '3.7'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rdoc
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- - ~>
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '3.12'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '3.12'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: bundler
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- - ~>
|
87
|
+
- - "~>"
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '1.0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- - ~>
|
94
|
+
- - "~>"
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '1.0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: simplecov
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- - ~>
|
101
|
+
- - "~>"
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0.7'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- - ~>
|
108
|
+
- - "~>"
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0.7'
|
126
|
-
description:
|
127
|
-
|
128
|
-
|
111
|
+
description: |2
|
112
|
+
TLSPretense provides a set of tools to test SSL/TLS certificate validation.
|
113
|
+
It includes a library for generating certificates and a test framework for
|
114
|
+
running tests against a client by intercepting client network traffic."
|
129
115
|
email: bjorvis@isecpartners.com
|
130
116
|
executables:
|
131
117
|
- tlspretense
|
@@ -135,12 +121,13 @@ extra_rdoc_files:
|
|
135
121
|
- README.rdoc
|
136
122
|
- doc/general_setup.rdoc
|
137
123
|
- doc/linux_setup.rdoc
|
124
|
+
- doc/macosx_setup.rdoc
|
138
125
|
files:
|
139
|
-
- .document
|
140
|
-
- .gitignore
|
141
|
-
- .rspec
|
126
|
+
- ".document"
|
127
|
+
- ".gitignore"
|
128
|
+
- ".rspec"
|
129
|
+
- ".travis.yml"
|
142
130
|
- Gemfile
|
143
|
-
- Gemfile.lock
|
144
131
|
- LICENSE.txt
|
145
132
|
- README.rdoc
|
146
133
|
- Rakefile
|
@@ -149,6 +136,7 @@ files:
|
|
149
136
|
- bin/view.sh
|
150
137
|
- doc/general_setup.rdoc
|
151
138
|
- doc/linux_setup.rdoc
|
139
|
+
- doc/macosx_setup.rdoc
|
152
140
|
- lib/packetthief.rb
|
153
141
|
- lib/packetthief/handlers.rb
|
154
142
|
- lib/packetthief/handlers/abstract_ssl_handler.rb
|
@@ -173,7 +161,9 @@ files:
|
|
173
161
|
- lib/tlspretense/cert_maker/certificate_factory.rb
|
174
162
|
- lib/tlspretense/cert_maker/certificate_suite_generator.rb
|
175
163
|
- lib/tlspretense/cert_maker/runner.rb
|
164
|
+
- lib/tlspretense/cert_maker/subject_alt_name_factory.rb
|
176
165
|
- lib/tlspretense/cert_maker/tasks.rb
|
166
|
+
- lib/tlspretense/ext_compat/openssl_pkey_read.rb
|
177
167
|
- lib/tlspretense/ext_core/hash_indifferent_fetch.rb
|
178
168
|
- lib/tlspretense/ext_core/io_raw_input.rb
|
179
169
|
- lib/tlspretense/init_runner.rb
|
@@ -213,6 +203,8 @@ files:
|
|
213
203
|
- spec/packetthief/logging_spec.rb
|
214
204
|
- spec/packetthief_spec.rb
|
215
205
|
- spec/spec_helper.rb
|
206
|
+
- spec/tlspretense/cert_maker/subject_alt_name_factory_spec.rb
|
207
|
+
- spec/tlspretense/ext_compat/openssl_pkey_read_spec.rb
|
216
208
|
- spec/tlspretense/test_harness/certificate_manager_spec.rb
|
217
209
|
- spec/tlspretense/test_harness/config_spec.rb
|
218
210
|
- spec/tlspretense/test_harness/runner_spec.rb
|
@@ -223,27 +215,26 @@ files:
|
|
223
215
|
homepage: https://github.com/iSECPartners/tlspretense
|
224
216
|
licenses:
|
225
217
|
- MIT
|
218
|
+
metadata: {}
|
226
219
|
post_install_message:
|
227
220
|
rdoc_options: []
|
228
221
|
require_paths:
|
229
222
|
- lib
|
230
223
|
required_ruby_version: !ruby/object:Gem::Requirement
|
231
|
-
none: false
|
232
224
|
requirements:
|
233
|
-
- -
|
225
|
+
- - ">="
|
234
226
|
- !ruby/object:Gem::Version
|
235
227
|
version: '0'
|
236
228
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
237
|
-
none: false
|
238
229
|
requirements:
|
239
|
-
- -
|
230
|
+
- - ">="
|
240
231
|
- !ruby/object:Gem::Version
|
241
232
|
version: '0'
|
242
233
|
requirements: []
|
243
234
|
rubyforge_project:
|
244
|
-
rubygems_version:
|
235
|
+
rubygems_version: 2.5.2
|
245
236
|
signing_key:
|
246
|
-
specification_version:
|
237
|
+
specification_version: 4
|
247
238
|
summary: SSL/TLS client testing framework
|
248
239
|
test_files:
|
249
240
|
- spec/packetthief/impl/ipfw_spec.rb
|
@@ -254,6 +245,8 @@ test_files:
|
|
254
245
|
- spec/packetthief/logging_spec.rb
|
255
246
|
- spec/packetthief_spec.rb
|
256
247
|
- spec/spec_helper.rb
|
248
|
+
- spec/tlspretense/cert_maker/subject_alt_name_factory_spec.rb
|
249
|
+
- spec/tlspretense/ext_compat/openssl_pkey_read_spec.rb
|
257
250
|
- spec/tlspretense/test_harness/certificate_manager_spec.rb
|
258
251
|
- spec/tlspretense/test_harness/config_spec.rb
|
259
252
|
- spec/tlspretense/test_harness/runner_spec.rb
|
data/Gemfile.lock
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
tlspretense (0.6.0)
|
5
|
-
eventmachine (>= 1.0.0)
|
6
|
-
ruby-termios (>= 0.9.6)
|
7
|
-
|
8
|
-
GEM
|
9
|
-
remote: http://rubygems.org/
|
10
|
-
specs:
|
11
|
-
diff-lcs (1.1.3)
|
12
|
-
eventmachine (1.0.0)
|
13
|
-
json (1.7.5)
|
14
|
-
multi_json (1.5.0)
|
15
|
-
rake (10.0.3)
|
16
|
-
rdoc (3.12)
|
17
|
-
json (~> 1.4)
|
18
|
-
rspec (2.8.0)
|
19
|
-
rspec-core (~> 2.8.0)
|
20
|
-
rspec-expectations (~> 2.8.0)
|
21
|
-
rspec-mocks (~> 2.8.0)
|
22
|
-
rspec-core (2.8.0)
|
23
|
-
rspec-expectations (2.8.0)
|
24
|
-
diff-lcs (~> 1.1.2)
|
25
|
-
rspec-mocks (2.8.0)
|
26
|
-
ruby-termios (0.9.6)
|
27
|
-
simplecov (0.7.1)
|
28
|
-
multi_json (~> 1.0)
|
29
|
-
simplecov-html (~> 0.7.1)
|
30
|
-
simplecov-html (0.7.1)
|
31
|
-
|
32
|
-
PLATFORMS
|
33
|
-
ruby
|
34
|
-
|
35
|
-
DEPENDENCIES
|
36
|
-
bundler (~> 1.0)
|
37
|
-
rake (>= 0.8.7)
|
38
|
-
rdoc (~> 3.12)
|
39
|
-
rspec (~> 2.8.0)
|
40
|
-
simplecov (~> 0.7)
|
41
|
-
tlspretense!
|