tlspretense 0.6.2 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.travis.yml +5 -0
  4. data/README.rdoc +25 -16
  5. data/Rakefile +1 -4
  6. data/doc/general_setup.rdoc +22 -1
  7. data/doc/macosx_setup.rdoc +86 -0
  8. data/lib/packetthief.rb +8 -1
  9. data/lib/packetthief/handlers/abstract_ssl_handler.rb +1 -2
  10. data/lib/packetthief/handlers/ssl_server.rb +3 -4
  11. data/lib/packetthief/handlers/ssl_smart_proxy.rb +3 -3
  12. data/lib/packetthief/handlers/ssl_transparent_proxy.rb +1 -1
  13. data/lib/packetthief/handlers/transparent_proxy.rb +1 -2
  14. data/lib/packetthief/logging.rb +32 -24
  15. data/lib/tlspretense/app.rb +5 -2
  16. data/lib/tlspretense/cert_maker.rb +5 -0
  17. data/lib/tlspretense/cert_maker/certificate_factory.rb +11 -1
  18. data/lib/tlspretense/cert_maker/certificate_suite_generator.rb +21 -3
  19. data/lib/tlspretense/cert_maker/subject_alt_name_factory.rb +115 -0
  20. data/lib/tlspretense/ext_compat/openssl_pkey_read.rb +38 -0
  21. data/lib/tlspretense/skel/config.yml +194 -17
  22. data/lib/tlspretense/test_harness/input_handler.rb +6 -2
  23. data/lib/tlspretense/test_harness/runner.rb +9 -3
  24. data/lib/tlspretense/test_harness/ssl_test_case.rb +2 -9
  25. data/lib/tlspretense/test_harness/ssl_test_report.rb +3 -0
  26. data/lib/tlspretense/test_harness/test_listener.rb +2 -2
  27. data/lib/tlspretense/test_harness/test_manager.rb +1 -2
  28. data/lib/tlspretense/version.rb +1 -1
  29. data/packetthief_examples/ssl_client_simple.rb +7 -0
  30. data/spec/packetthief/impl/ipfw_spec.rb +4 -2
  31. data/spec/packetthief/impl/netfilter_spec.rb +4 -2
  32. data/spec/packetthief/impl/pf_divert_spec.rb +4 -2
  33. data/spec/packetthief/logging_spec.rb +24 -26
  34. data/spec/spec_helper.rb +7 -8
  35. data/spec/tlspretense/cert_maker/subject_alt_name_factory_spec.rb +75 -0
  36. data/spec/tlspretense/ext_compat/openssl_pkey_read_spec.rb +126 -0
  37. data/spec/tlspretense/test_harness/runner_spec.rb +3 -5
  38. data/tlspretense.gemspec +2 -2
  39. metadata +41 -48
  40. 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', :logger= => nil) }
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, logger).and_return(test_manager)
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
@@ -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", [">= 0.8.7"])
30
- s.add_development_dependency("rspec", ["~> 2.8.0"])
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.6.2
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: 2012-12-21 00:00:00.000000000 Z
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: 0.8.7
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: 0.8.7
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: 2.8.0
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: 2.8.0
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: ! " TLSPretense provides a set of tools to test SSL/TLS certificate
127
- validation.\n It includes a library for generating certificates and a test framework
128
- for\n running tests against a client by intercepting client network traffic.\"\n"
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: 1.8.24
235
+ rubygems_version: 2.5.2
245
236
  signing_key:
246
- specification_version: 3
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
@@ -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!