tlspretense 0.6.1 → 0.6.2

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.
Files changed (30) hide show
  1. data/lib/tlspretense.rb +4 -3
  2. data/lib/tlspretense/app.rb +2 -2
  3. data/lib/{certmaker.rb → tlspretense/cert_maker.rb} +10 -7
  4. data/lib/{certmaker → tlspretense/cert_maker}/certificate_factory.rb +2 -0
  5. data/lib/{certmaker → tlspretense/cert_maker}/certificate_suite_generator.rb +2 -1
  6. data/lib/{certmaker → tlspretense/cert_maker}/runner.rb +3 -3
  7. data/lib/{certmaker → tlspretense/cert_maker}/tasks.rb +4 -4
  8. data/lib/{certmaker → tlspretense}/ext_core/hash_indifferent_fetch.rb +0 -0
  9. data/lib/{ssl_test → tlspretense}/ext_core/io_raw_input.rb +0 -0
  10. data/lib/tlspretense/test_harness.rb +24 -0
  11. data/lib/{ssl_test → tlspretense/test_harness}/app_context.rb +3 -1
  12. data/lib/{ssl_test → tlspretense/test_harness}/certificate_manager.rb +3 -1
  13. data/lib/{ssl_test → tlspretense/test_harness}/config.rb +3 -1
  14. data/lib/{ssl_test → tlspretense/test_harness}/input_handler.rb +3 -3
  15. data/lib/{ssl_test → tlspretense/test_harness}/runner.rb +3 -1
  16. data/lib/{ssl_test → tlspretense/test_harness}/runner_options.rb +4 -1
  17. data/lib/{ssl_test → tlspretense/test_harness}/ssl_test_case.rb +3 -1
  18. data/lib/{ssl_test → tlspretense/test_harness}/ssl_test_report.rb +3 -1
  19. data/lib/{ssl_test → tlspretense/test_harness}/ssl_test_result.rb +3 -1
  20. data/lib/{ssl_test → tlspretense/test_harness}/test_listener.rb +3 -1
  21. data/lib/{ssl_test → tlspretense/test_harness}/test_manager.rb +3 -1
  22. data/lib/tlspretense/version.rb +1 -1
  23. data/spec/{ssl_test → tlspretense/test_harness}/certificate_manager_spec.rb +4 -3
  24. data/spec/{ssl_test → tlspretense/test_harness}/config_spec.rb +4 -3
  25. data/spec/{ssl_test → tlspretense/test_harness}/runner_spec.rb +4 -2
  26. data/spec/{ssl_test → tlspretense/test_harness}/ssl_test_case_spec.rb +4 -4
  27. data/spec/{ssl_test → tlspretense/test_harness}/test_listener_spec.rb +4 -3
  28. data/spec/{ssl_test → tlspretense/test_harness}/test_manager_spec.rb +4 -2
  29. metadata +33 -33
  30. data/lib/ssl_test.rb +0 -21
data/lib/tlspretense.rb CHANGED
@@ -1,13 +1,14 @@
1
1
  require 'fileutils'
2
2
 
3
- require 'ssl_test'
4
- require 'certmaker'
5
- require 'certmaker/runner'
3
+ require 'packetthief'
4
+ require 'tlspretense/cert_maker/runner'
6
5
 
7
6
  module TLSPretense
8
7
  class CleanExitError < StandardError ; end
9
8
 
10
9
  autoload :App, 'tlspretense/app'
11
10
  autoload :InitRunner, 'tlspretense/init_runner'
11
+ autoload :TestHarness, 'tlspretense/test_harness'
12
12
  autoload :VERSION, 'tlspretense/version'
13
+ autoload :CertMaker, 'tlspretense/cert_maker'
13
14
  end
@@ -30,9 +30,9 @@ QUOTE
30
30
  when 'init'
31
31
  InitRunner.new(@action_args, @stdin, @stdout).run
32
32
  when 'run'
33
- SSLTest::Runner.new(@action_args, @stdin, @stdout).run
33
+ TestHarness::Runner.new(@action_args, @stdin, @stdout).run
34
34
  when 'list', 'ls'
35
- SSLTest::Runner.new(['--list'] + @action_args, @stdin, @stdout).run
35
+ TestHarness::Runner.new(['--list'] + @action_args, @stdin, @stdout).run
36
36
  when 'ca'
37
37
  CertMaker::Runner.new.ca
38
38
  when 'certs'
@@ -1,13 +1,14 @@
1
-
2
1
  require 'fileutils'
3
- require 'yaml'
4
2
  require 'openssl'
3
+ require 'yaml'
5
4
 
6
- require 'certmaker/ext_core/hash_indifferent_fetch'
7
- require 'certmaker/certificate_factory'
8
- require 'certmaker/certificate_suite_generator'
5
+ require 'tlspretense/ext_core/hash_indifferent_fetch'
9
6
 
10
- module CertMaker
7
+ module TLSPretense
8
+ module CertMaker
9
+
10
+ autoload :CertificateFactory, 'tlspretense/cert_maker/certificate_factory'
11
+ autoload :CertificateSuiteGenerator, 'tlspretense/cert_maker/certificate_suite_generator'
11
12
 
12
13
 
13
14
  # Generate certificates and keys using +config+.
@@ -29,7 +30,7 @@ module CertMaker
29
30
  # Ensure that the custom ca exists.
30
31
  def make_ca(config, verbose=false)
31
32
  unless config['certmaker'].has_key? 'customgoodca'
32
- puts "certmaker does not have a 'customgoodca' entry, so a CA will be regenerated every time."
33
+ puts "CertMaker does not have a 'customgoodca' entry, so a CA will be regenerated every time."
33
34
  return
34
35
  end
35
36
 
@@ -58,4 +59,6 @@ module CertMaker
58
59
  end
59
60
  end
60
61
  module_function :make_ca
62
+
63
+ end
61
64
  end
@@ -1,3 +1,4 @@
1
+ module TLSPretense
1
2
  module CertMaker
2
3
  class CertificateFactory
3
4
 
@@ -104,3 +105,4 @@ module CertMaker
104
105
  end
105
106
 
106
107
  end
108
+ end
@@ -1,4 +1,4 @@
1
-
1
+ module TLSPretense
2
2
  module CertMaker
3
3
  # Generates a suite of certificates from a configuration.
4
4
  #
@@ -118,3 +118,4 @@ module CertMaker
118
118
 
119
119
  end
120
120
  end
121
+ end
@@ -1,7 +1,6 @@
1
- require 'certmaker'
2
- require 'yaml'
3
- require 'fileutils'
1
+ require 'tlspretense/cert_maker'
4
2
 
3
+ module TLSPretense
5
4
  module CertMaker
6
5
  class Runner
7
6
  include FileUtils
@@ -25,3 +24,4 @@ module CertMaker
25
24
  end
26
25
  end
27
26
  end
27
+ end
@@ -3,14 +3,14 @@ namespace :certs do
3
3
 
4
4
  desc "Checks for a CA, and generates it if needed."
5
5
  task :ca do
6
- require 'certmaker/runner'
7
- CertMaker::Runner.new.ca
6
+ require 'tlspretense/cert_maker/runner'
7
+ TLSPretense::CertMaker::Runner.new.ca
8
8
  end
9
9
 
10
10
  desc "Generate a suite of test certificates"
11
11
  task :generate => [ 'certs:ca' ] do
12
- require 'certmaker/runner'
13
- CertMaker::Runner.new.certs
12
+ require 'tlspretense/cert_maker/runner'
13
+ TLSPretense::CertMaker::Runner.new.certs
14
14
  end
15
15
 
16
16
  desc "Clean up by deleting the 'certs' directory."
@@ -0,0 +1,24 @@
1
+ require 'optparse'
2
+ require 'logger'
3
+
4
+ require 'eventmachine'
5
+ require 'termios'
6
+
7
+ require 'packetthief'
8
+ require 'tlspretense/ext_core/io_raw_input'
9
+
10
+ module TLSPretense
11
+ module TestHarness
12
+ autoload :AppContext, 'tlspretense/test_harness/app_context'
13
+ autoload :CertificateManager, 'tlspretense/test_harness/certificate_manager'
14
+ autoload :Config, 'tlspretense/test_harness/config'
15
+ autoload :InputHandler, 'tlspretense/test_harness/input_handler'
16
+ autoload :RunnerOptions, 'tlspretense/test_harness/runner_options'
17
+ autoload :Runner, 'tlspretense/test_harness/runner'
18
+ autoload :SSLTestCase, 'tlspretense/test_harness/ssl_test_case'
19
+ autoload :SSLTestReport, 'tlspretense/test_harness/ssl_test_report'
20
+ autoload :SSLTestResult, 'tlspretense/test_harness/ssl_test_result'
21
+ autoload :TestListener, 'tlspretense/test_harness/test_listener'
22
+ autoload :TestManager, 'tlspretense/test_harness/test_manager'
23
+ end
24
+ end
@@ -1,4 +1,5 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
2
3
 
3
4
  # Class to hold onto application-wide values in a single place and to track
4
5
  # application state.
@@ -15,3 +16,4 @@ module SSLTest
15
16
  end
16
17
  end
17
18
  end
19
+ end
@@ -1,4 +1,5 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
2
3
  # Handles the loading and caching of certificates and private keys.
3
4
  class CertificateManager
4
5
 
@@ -31,3 +32,4 @@ module SSLTest
31
32
  end
32
33
  end
33
34
  end
35
+ end
@@ -1,4 +1,5 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
2
3
  # Loads and interprets the configuration file.
3
4
  class Config
4
5
 
@@ -77,3 +78,4 @@ module SSLTest
77
78
 
78
79
  end
79
80
  end
81
+ end
@@ -1,6 +1,5 @@
1
-
2
-
3
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
4
3
  # EM handler to handle keyboard input while a test is running.
5
4
  module InputHandler
6
5
 
@@ -33,3 +32,4 @@ module SSLTest
33
32
 
34
33
  end
35
34
  end
35
+ end
@@ -1,4 +1,5 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
2
3
  # Handles a list of arguments, and uses the arguments to run a sequence of tests.
3
4
  class Runner
4
5
  include PacketThief::Logging
@@ -108,3 +109,4 @@ module SSLTest
108
109
 
109
110
  end
110
111
  end
112
+ end
@@ -1,4 +1,6 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
3
+
2
4
  class RunnerOptions
3
5
 
4
6
  DEFAULT_OPTS = {
@@ -66,3 +68,4 @@ module SSLTest
66
68
 
67
69
  end
68
70
  end
71
+ end
@@ -1,4 +1,5 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
2
3
  # Represents a single test case.
3
4
  class SSLTestCase
4
5
  include PacketThief::Logging
@@ -44,3 +45,4 @@ module SSLTest
44
45
 
45
46
  end
46
47
  end
48
+ end
@@ -1,4 +1,5 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
2
3
  # Represents an entire report. SSLTestCases add results to it, which it can
3
4
  # later format.
4
5
  class SSLTestReport
@@ -22,3 +23,4 @@ module SSLTest
22
23
 
23
24
  end
24
25
  end
26
+ end
@@ -1,4 +1,5 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
2
3
  # SSLTestResults are created by running SSLTestCases. They are then added to
3
4
  # an SSLTestReport so that they can be included in that report.
4
5
  class SSLTestResult
@@ -28,3 +29,4 @@ module SSLTest
28
29
  end
29
30
  end
30
31
  end
32
+ end
@@ -1,4 +1,5 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
2
3
 
3
4
  # TestListener is the real workhorse used by SSLTestCases. It builds on the
4
5
  # SSLSmartProxy from PacketThief in order to intercept and forward SSL
@@ -138,3 +139,4 @@ module SSLTest
138
139
 
139
140
  end
140
141
  end
142
+ end
@@ -1,4 +1,5 @@
1
- module SSLTest
1
+ module TLSPretense
2
+ module TestHarness
2
3
  # Tracks testing state and handles reporting for the TestListener.
3
4
  class TestManager
4
5
  include PacketThief::Logging
@@ -114,3 +115,4 @@ module SSLTest
114
115
 
115
116
  end
116
117
  end
118
+ end
@@ -1,3 +1,3 @@
1
1
  module TLSPretense
2
- VERSION = '0.6.1'
2
+ VERSION = '0.6.2'
3
3
  end
@@ -1,6 +1,7 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__),'..','spec_helper'))
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'..','..','spec_helper'))
2
2
 
3
- module SSLTest
3
+ module TLSPretense
4
+ module TestHarness
4
5
  describe CertificateManager do
5
6
  let(:rawfoocert) do (<<-EOF).gsub(/^\s*/,'')
6
7
  -----BEGIN CERTIFICATE-----
@@ -219,4 +220,4 @@ module SSLTest
219
220
 
220
221
  end
221
222
  end
222
-
223
+ end
@@ -1,6 +1,7 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__),'..','spec_helper'))
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'..','..','spec_helper'))
2
2
 
3
- module SSLTest
3
+ module TLSPretense
4
+ module TestHarness
4
5
  describe Config do
5
6
  let(:foo_test) do
6
7
  {
@@ -73,4 +74,4 @@ module SSLTest
73
74
 
74
75
  end
75
76
  end
76
-
77
+ end
@@ -1,6 +1,7 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__),'..','spec_helper'))
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'..','..','spec_helper'))
2
2
 
3
- module SSLTest
3
+ module TLSPretense
4
+ module TestHarness
4
5
  describe Runner do
5
6
  let(:args) { [] }
6
7
  let(:stdin) { double("stdin") }
@@ -358,3 +359,4 @@ module SSLTest
358
359
 
359
360
  end
360
361
  end
362
+ end
@@ -1,6 +1,7 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__),'..','spec_helper'))
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'..','..','spec_helper'))
2
2
 
3
- module SSLTest
3
+ module TLSPretense
4
+ module TestHarness
4
5
  describe SSLTestCase do
5
6
  let(:certchain) { double('certchain') }
6
7
  let(:keychain) { [ double('firstkey'), double('secondkey'), double('cakey') ] }
@@ -109,5 +110,4 @@ module SSLTest
109
110
 
110
111
  end
111
112
  end
112
-
113
-
113
+ end
@@ -1,5 +1,4 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__),'..','spec_helper'))
2
- require 'certmaker'
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'..','..','spec_helper'))
3
2
 
4
3
  # quick and dirty. just create the fields we need.
5
4
  def quickcertmaker(hostname, altnames=nil)
@@ -13,7 +12,8 @@ def quickcertmaker(hostname, altnames=nil)
13
12
  end
14
13
 
15
14
 
16
- module SSLTest
15
+ module TLSPretense
16
+ module TestHarness
17
17
  describe TestListener do
18
18
  let(:tcpsocket) { double('tcpsocket') }
19
19
  let(:cacert) { double('cacert') }
@@ -197,3 +197,4 @@ module SSLTest
197
197
 
198
198
  end
199
199
  end
200
+ end
@@ -1,6 +1,7 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__),'..','spec_helper'))
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'..','..','spec_helper'))
2
2
 
3
- module SSLTest
3
+ module TLSPretense
4
+ module TestHarness
4
5
  describe TestManager do
5
6
 
6
7
  let(:config) do
@@ -322,3 +323,4 @@ module SSLTest
322
323
 
323
324
  end
324
325
  end
326
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tlspretense
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-20 00:00:00.000000000 Z
12
+ date: 2012-12-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: eventmachine
@@ -149,12 +149,6 @@ files:
149
149
  - bin/view.sh
150
150
  - doc/general_setup.rdoc
151
151
  - doc/linux_setup.rdoc
152
- - lib/certmaker.rb
153
- - lib/certmaker/certificate_factory.rb
154
- - lib/certmaker/certificate_suite_generator.rb
155
- - lib/certmaker/ext_core/hash_indifferent_fetch.rb
156
- - lib/certmaker/runner.rb
157
- - lib/certmaker/tasks.rb
158
152
  - lib/packetthief.rb
159
153
  - lib/packetthief/handlers.rb
160
154
  - lib/packetthief/handlers/abstract_ssl_handler.rb
@@ -173,25 +167,31 @@ files:
173
167
  - lib/packetthief/logging.rb
174
168
  - lib/packetthief/redirect_rule.rb
175
169
  - lib/packetthief/util.rb
176
- - lib/ssl_test.rb
177
- - lib/ssl_test/app_context.rb
178
- - lib/ssl_test/certificate_manager.rb
179
- - lib/ssl_test/config.rb
180
- - lib/ssl_test/ext_core/io_raw_input.rb
181
- - lib/ssl_test/input_handler.rb
182
- - lib/ssl_test/runner.rb
183
- - lib/ssl_test/runner_options.rb
184
- - lib/ssl_test/ssl_test_case.rb
185
- - lib/ssl_test/ssl_test_report.rb
186
- - lib/ssl_test/ssl_test_result.rb
187
- - lib/ssl_test/test_listener.rb
188
- - lib/ssl_test/test_manager.rb
189
170
  - lib/tlspretense.rb
190
171
  - lib/tlspretense/app.rb
172
+ - lib/tlspretense/cert_maker.rb
173
+ - lib/tlspretense/cert_maker/certificate_factory.rb
174
+ - lib/tlspretense/cert_maker/certificate_suite_generator.rb
175
+ - lib/tlspretense/cert_maker/runner.rb
176
+ - lib/tlspretense/cert_maker/tasks.rb
177
+ - lib/tlspretense/ext_core/hash_indifferent_fetch.rb
178
+ - lib/tlspretense/ext_core/io_raw_input.rb
191
179
  - lib/tlspretense/init_runner.rb
192
180
  - lib/tlspretense/skel/ca/goodcacert.pem
193
181
  - lib/tlspretense/skel/ca/goodcakey.pem
194
182
  - lib/tlspretense/skel/config.yml
183
+ - lib/tlspretense/test_harness.rb
184
+ - lib/tlspretense/test_harness/app_context.rb
185
+ - lib/tlspretense/test_harness/certificate_manager.rb
186
+ - lib/tlspretense/test_harness/config.rb
187
+ - lib/tlspretense/test_harness/input_handler.rb
188
+ - lib/tlspretense/test_harness/runner.rb
189
+ - lib/tlspretense/test_harness/runner_options.rb
190
+ - lib/tlspretense/test_harness/ssl_test_case.rb
191
+ - lib/tlspretense/test_harness/ssl_test_report.rb
192
+ - lib/tlspretense/test_harness/ssl_test_result.rb
193
+ - lib/tlspretense/test_harness/test_listener.rb
194
+ - lib/tlspretense/test_harness/test_manager.rb
195
195
  - lib/tlspretense/version.rb
196
196
  - packetthief_examples/certs/cacert.pem
197
197
  - packetthief_examples/certs/cakey.pem
@@ -213,12 +213,12 @@ files:
213
213
  - spec/packetthief/logging_spec.rb
214
214
  - spec/packetthief_spec.rb
215
215
  - spec/spec_helper.rb
216
- - spec/ssl_test/certificate_manager_spec.rb
217
- - spec/ssl_test/config_spec.rb
218
- - spec/ssl_test/runner_spec.rb
219
- - spec/ssl_test/ssl_test_case_spec.rb
220
- - spec/ssl_test/test_listener_spec.rb
221
- - spec/ssl_test/test_manager_spec.rb
216
+ - spec/tlspretense/test_harness/certificate_manager_spec.rb
217
+ - spec/tlspretense/test_harness/config_spec.rb
218
+ - spec/tlspretense/test_harness/runner_spec.rb
219
+ - spec/tlspretense/test_harness/ssl_test_case_spec.rb
220
+ - spec/tlspretense/test_harness/test_listener_spec.rb
221
+ - spec/tlspretense/test_harness/test_manager_spec.rb
222
222
  - tlspretense.gemspec
223
223
  homepage: https://github.com/iSECPartners/tlspretense
224
224
  licenses:
@@ -254,9 +254,9 @@ test_files:
254
254
  - spec/packetthief/logging_spec.rb
255
255
  - spec/packetthief_spec.rb
256
256
  - spec/spec_helper.rb
257
- - spec/ssl_test/certificate_manager_spec.rb
258
- - spec/ssl_test/config_spec.rb
259
- - spec/ssl_test/runner_spec.rb
260
- - spec/ssl_test/ssl_test_case_spec.rb
261
- - spec/ssl_test/test_listener_spec.rb
262
- - spec/ssl_test/test_manager_spec.rb
257
+ - spec/tlspretense/test_harness/certificate_manager_spec.rb
258
+ - spec/tlspretense/test_harness/config_spec.rb
259
+ - spec/tlspretense/test_harness/runner_spec.rb
260
+ - spec/tlspretense/test_harness/ssl_test_case_spec.rb
261
+ - spec/tlspretense/test_harness/test_listener_spec.rb
262
+ - spec/tlspretense/test_harness/test_manager_spec.rb
data/lib/ssl_test.rb DELETED
@@ -1,21 +0,0 @@
1
- require 'packetthief'
2
- require 'eventmachine'
3
- require 'optparse'
4
- require 'termios'
5
- require 'logger'
6
-
7
- require 'ssl_test/ext_core/io_raw_input'
8
-
9
- module SSLTest
10
- autoload :AppContext, 'ssl_test/app_context'
11
- autoload :CertificateManager, 'ssl_test/certificate_manager'
12
- autoload :Config, 'ssl_test/config'
13
- autoload :InputHandler, 'ssl_test/input_handler'
14
- autoload :RunnerOptions, 'ssl_test/runner_options'
15
- autoload :Runner, 'ssl_test/runner'
16
- autoload :SSLTestCase, 'ssl_test/ssl_test_case'
17
- autoload :SSLTestReport, 'ssl_test/ssl_test_report'
18
- autoload :SSLTestResult, 'ssl_test/ssl_test_result'
19
- autoload :TestListener, 'ssl_test/test_listener'
20
- autoload :TestManager, 'ssl_test/test_manager'
21
- end