tlspretense 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
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