r509-ca-http 0.3.1 → 0.3.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.
@@ -8,7 +8,10 @@ module R509::CertificateAuthority::HTTP
8
8
  raise ArgumentError, "Validity period must be positive"
9
9
  end
10
10
  {
11
- :not_before => Time.now - 6 * 60 * 60,
11
+ # Begin the validity period 6 hours into the past, to account for
12
+ # possibly-slow clocks.
13
+ :not_before => Time.now - (6 * 60 * 60),
14
+ # Add validity_period number of seconds to the current time.
12
15
  :not_after => Time.now + validity_period.to_i,
13
16
  }
14
17
  end
@@ -1,7 +1,7 @@
1
1
  module R509
2
2
  module CertificateAuthority
3
3
  module HTTP
4
- VERSION="0.3.1"
4
+ VERSION="0.3.2"
5
5
  end
6
6
  end
7
7
  end
@@ -2,8 +2,8 @@
2
2
  certificate_authorities:
3
3
  test_ca:
4
4
  ca_cert:
5
- cert: test_ca.cer
6
- key: test_ca.key
5
+ cert: spec/fixtures/test_ca.cer
6
+ key: spec/fixtures/test_ca.key
7
7
  profiles:
8
8
  server:
9
9
  basic_constraints:
@@ -2,16 +2,14 @@ require File.dirname(__FILE__) + '/spec_helper'
2
2
  require "openssl"
3
3
 
4
4
  describe R509::CertificateAuthority::HTTP::Server do
5
- before :all do
6
- #config_pool registry is in spec_helper because we need to register it
7
- #BEFORE we include r509-ca-http
8
- Dependo::Registry[:log] = Logger.new(nil)
9
- end
10
-
11
5
  before :each do
12
- @crls = { "test_ca" => double("crl") }
13
- @certificate_authorities = { "test_ca" => double("test_ca") }
14
- @options_builders = { "test_ca" => double("options_builder") }
6
+ # clear the dependo before each test
7
+ Dependo::Registry.clear
8
+ Dependo::Registry[:log] = Logger.new(nil)
9
+ R509::CertificateAuthority::HTTP::Config.load_config(File.dirname(__FILE__)+"/fixtures/test_config.yaml")
10
+ Dependo::Registry[:crls] = { "test_ca" => double("crl") }
11
+ Dependo::Registry[:certificate_authorities] = { "test_ca" => double("test_ca") }
12
+ Dependo::Registry[:options_builders] = { "test_ca" => double("options_builder") }
15
13
  @subject_parser = double("subject parser")
16
14
  #@validity_period_converter = double("validity period converter")
17
15
  @csr_factory = double("csr factory")
@@ -20,9 +18,6 @@ describe R509::CertificateAuthority::HTTP::Server do
20
18
 
21
19
  def app
22
20
  @app ||= R509::CertificateAuthority::HTTP::Server
23
- @app.send(:set, :crls, @crls)
24
- @app.send(:set, :certificate_authorities, @certificate_authorities)
25
- @app.send(:set, :options_builders, @options_builders)
26
21
  @app.send(:set, :subject_parser, @subject_parser)
27
22
  #@app.send(:set, :validity_period_converter, @validity_period_converter)
28
23
  @app.send(:set, :csr_factory, @csr_factory)
@@ -33,7 +28,7 @@ describe R509::CertificateAuthority::HTTP::Server do
33
28
  it "gets the CRL" do
34
29
  crl = double('crl')
35
30
  crl.should_receive(:to_pem).and_return("generated crl")
36
- @crls["test_ca"].should_receive(:generate_crl).and_return(crl)
31
+ Dependo::Registry[:crls]["test_ca"].should_receive(:generate_crl).and_return(crl)
37
32
  get "/1/crl/test_ca/get"
38
33
  last_response.should be_ok
39
34
  last_response.content_type.should match(/text\/plain/)
@@ -50,7 +45,7 @@ describe R509::CertificateAuthority::HTTP::Server do
50
45
  it "generates the CRL" do
51
46
  crl = double('crl')
52
47
  crl.should_receive(:to_pem).and_return("generated crl")
53
- @crls["test_ca"].should_receive(:generate_crl).and_return(crl)
48
+ Dependo::Registry[:crls]["test_ca"].should_receive(:generate_crl).and_return(crl)
54
49
  get "/1/crl/test_ca/generate"
55
50
  last_response.should be_ok
56
51
  last_response.body.should == "generated crl"
@@ -105,7 +100,7 @@ describe R509::CertificateAuthority::HTTP::Server do
105
100
  #@validity_period_converter.should_receive(:convert).with("365").and_return({:not_before => 1, :not_after => 2})
106
101
  subject = R509::Subject.new [["CN", "domain.com"]]
107
102
  @subject_parser.should_receive(:parse).with(anything, "subject").and_return(subject)
108
- @options_builders["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :extensions => [], :subject => subject, :message_digest =>nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_raise(R509::R509Error.new("failed to issue because of: good reason"))
103
+ Dependo::Registry[:options_builders]["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :extensions => [], :subject => subject, :message_digest =>nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_raise(R509::R509Error.new("failed to issue because of: good reason"))
109
104
 
110
105
  post "/1/certificate/issue", "ca" => "test_ca", "profile" => "profile", "subject" => "subject", "validityPeriod" => 365, "csr" => "csr"
111
106
  last_response.should_not be_ok
@@ -118,8 +113,8 @@ describe R509::CertificateAuthority::HTTP::Server do
118
113
  subject = R509::Subject.new [["CN", "domain.com"]]
119
114
  @subject_parser.should_receive(:parse).with(anything, "subject").and_return(subject)
120
115
  cert = double("cert")
121
- @options_builders["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :extensions => [], :subject => subject, :message_digest =>nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr, :profile_name => "profile", :subject => subject, :message_digest => "SHA1", :not_before=> kind_of(Time), :not_after => kind_of(Time) )
122
- @certificate_authorities["test_ca"].should_receive(:sign).and_return(cert)
116
+ Dependo::Registry[:options_builders]["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :extensions => [], :subject => subject, :message_digest =>nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr, :profile_name => "profile", :subject => subject, :message_digest => "SHA1", :not_before=> kind_of(Time), :not_after => kind_of(Time) )
117
+ Dependo::Registry[:certificate_authorities]["test_ca"].should_receive(:sign).and_return(cert)
123
118
  cert.should_receive(:to_pem).and_return("signed cert")
124
119
 
125
120
  post "/1/certificate/issue", "ca" => "test_ca", "profile" => "profile", "subject" => "subject", "validityPeriod" => 365, "csr" => "csr"
@@ -133,8 +128,8 @@ describe R509::CertificateAuthority::HTTP::Server do
133
128
  subject = R509::Subject.new [["CN", "domain.com"]]
134
129
  @subject_parser.should_receive(:parse).with(anything, "subject").and_return(subject)
135
130
  cert = double("cert")
136
- @options_builders["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :extensions => kind_of(Array), :subject => subject, :extensions => kind_of(Array), :message_digest =>nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr, :profile_name => "profile", :subject => subject, :message_digest => "SHA1", :not_before=> kind_of(Time), :not_after => kind_of(Time) )
137
- @certificate_authorities["test_ca"].should_receive(:sign).and_return(cert)
131
+ Dependo::Registry[:options_builders]["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :extensions => kind_of(Array), :subject => subject, :extensions => kind_of(Array), :message_digest =>nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr, :profile_name => "profile", :subject => subject, :message_digest => "SHA1", :not_before=> kind_of(Time), :not_after => kind_of(Time) )
132
+ Dependo::Registry[:certificate_authorities]["test_ca"].should_receive(:sign).and_return(cert)
138
133
  cert.should_receive(:to_pem).and_return("signed cert")
139
134
 
140
135
  post "/1/certificate/issue", "ca" => "test_ca", "profile" => "profile", "subject" => "subject", "validityPeriod" => 365, "csr" => "csr", "extensions[subjectAlternativeName][]" => ["domain1.com","domain2.com"]
@@ -148,8 +143,8 @@ describe R509::CertificateAuthority::HTTP::Server do
148
143
  subject = R509::Subject.new [["CN", "domain.com"]]
149
144
  @subject_parser.should_receive(:parse).with(anything, "subject").and_return(subject)
150
145
  cert = double("cert")
151
- @options_builders["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :subject => subject, :extensions => kind_of(Array), :message_digest =>nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr, :profile_name => "profile", :subject => subject, :message_digest => "SHA1")
152
- @certificate_authorities["test_ca"].should_receive(:sign).and_return(cert)
146
+ Dependo::Registry[:options_builders]["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :subject => subject, :extensions => kind_of(Array), :message_digest =>nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr, :profile_name => "profile", :subject => subject, :message_digest => "SHA1")
147
+ Dependo::Registry[:certificate_authorities]["test_ca"].should_receive(:sign).and_return(cert)
153
148
  cert.should_receive(:to_pem).and_return("signed cert")
154
149
 
155
150
  post "/1/certificate/issue", "ca" => "test_ca", "profile" => "profile", "subject" => "subject", "validityPeriod" => 365, "csr" => "csr", "extensions[dNSNames][]" => ["domain1.com","domain2.com"]
@@ -163,8 +158,8 @@ describe R509::CertificateAuthority::HTTP::Server do
163
158
  subject = R509::Subject.new [["CN", "domain.com"]]
164
159
  @subject_parser.should_receive(:parse).with(anything, "subject").and_return(subject)
165
160
  cert = double("cert")
166
- @options_builders["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :subject => subject, :extensions => kind_of(Array), :message_digest => nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr)
167
- @certificate_authorities["test_ca"].should_receive(:sign).and_return(cert)
161
+ Dependo::Registry[:options_builders]["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :subject => subject, :extensions => kind_of(Array), :message_digest => nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr)
162
+ Dependo::Registry[:certificate_authorities]["test_ca"].should_receive(:sign).and_return(cert)
168
163
  cert.should_receive(:to_pem).and_return("signed cert")
169
164
 
170
165
  post "/1/certificate/issue", "ca" => "test_ca", "profile" => "profile", "subject" => "subject", "validityPeriod" => 365, "csr" => "csr", "extensions[subjectAlternativeName][]" => ["domain1.com","domain2.com"], "extensions[dNSNames][]" => ["domain3.com", "domain4.com"]
@@ -178,8 +173,8 @@ describe R509::CertificateAuthority::HTTP::Server do
178
173
  spki = double("spki")
179
174
  @spki_factory.should_receive(:build).with(:spki => "spki", :subject => subject).and_return(spki)
180
175
  cert = double("cert")
181
- @options_builders["test_ca"].should_receive(:build_and_enforce).with(:spki => spki, :profile_name => "profile", :extensions => [], :subject => subject, :message_digest => nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:spki => spki, :not_before=> kind_of(Time), :not_after => kind_of(Time) )
182
- @certificate_authorities["test_ca"].should_receive(:sign).and_return(cert)
176
+ Dependo::Registry[:options_builders]["test_ca"].should_receive(:build_and_enforce).with(:spki => spki, :profile_name => "profile", :extensions => [], :subject => subject, :message_digest => nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:spki => spki, :not_before=> kind_of(Time), :not_after => kind_of(Time) )
177
+ Dependo::Registry[:certificate_authorities]["test_ca"].should_receive(:sign).and_return(cert)
183
178
  cert.should_receive(:to_pem).and_return("signed cert")
184
179
 
185
180
  post "/1/certificate/issue", "ca" => "test_ca", "profile" => "profile", "subject" => "subject", "validityPeriod" => 365, "spki" => "spki"
@@ -193,8 +188,8 @@ describe R509::CertificateAuthority::HTTP::Server do
193
188
  spki = double("spki")
194
189
  @spki_factory.should_receive(:build).with(:spki => "spki", :subject => subject).and_return(spki)
195
190
  cert = double("cert")
196
- @options_builders["test_ca"].should_receive(:build_and_enforce).with(:spki => spki, :profile_name => "profile", :extensions => kind_of(Array), :subject => subject, :message_digest => nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:spki => spki, :not_before=> kind_of(Time), :not_after => kind_of(Time) )
197
- @certificate_authorities["test_ca"].should_receive(:sign).and_return(cert)
191
+ Dependo::Registry[:options_builders]["test_ca"].should_receive(:build_and_enforce).with(:spki => spki, :profile_name => "profile", :extensions => kind_of(Array), :subject => subject, :message_digest => nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:spki => spki, :not_before=> kind_of(Time), :not_after => kind_of(Time) )
192
+ Dependo::Registry[:certificate_authorities]["test_ca"].should_receive(:sign).and_return(cert)
198
193
  cert.should_receive(:to_pem).and_return("signed cert")
199
194
 
200
195
  post "/1/certificate/issue", "ca" => "test_ca", "profile" => "profile", "subject" => "subject", "validityPeriod" => 365, "spki" => "spki", "extensions[subjectAlternativeName][]" => ["domain1.com","domain2.com"]
@@ -208,8 +203,8 @@ describe R509::CertificateAuthority::HTTP::Server do
208
203
  subject = R509::Subject.new [["CN", "domain.com"]]
209
204
  @subject_parser.should_receive(:parse).with(anything, "subject").and_return(subject)
210
205
  cert = double("cert")
211
- @options_builders["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :subject => subject, :extensions => kind_of(Array), :message_digest => nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr, :not_before=> kind_of(Time), :not_after => kind_of(Time) )
212
- @certificate_authorities["test_ca"].should_receive(:sign).and_return(cert)
206
+ Dependo::Registry[:options_builders]["test_ca"].should_receive(:build_and_enforce).with(:csr => csr, :profile_name => "profile", :subject => subject, :extensions => kind_of(Array), :message_digest => nil, :not_before=> kind_of(Time), :not_after => kind_of(Time) ).and_return(:csr => csr, :not_before=> kind_of(Time), :not_after => kind_of(Time) )
207
+ Dependo::Registry[:certificate_authorities]["test_ca"].should_receive(:sign).and_return(cert)
213
208
  cert.should_receive(:to_pem).and_return("signed cert")
214
209
 
215
210
  post "/1/certificate/issue", "ca" => "test_ca", "profile" => "profile", "subject" => "subject", "validityPeriod" => 365, "csr" => "csr", "extensions[subjectAlternativeName][]" => ["domain1.com","domain2.com","",""]
@@ -235,42 +230,42 @@ describe R509::CertificateAuthority::HTTP::Server do
235
230
  last_response.body.should == "#<ArgumentError: Serial must be provided>"
236
231
  end
237
232
  it "when serial is given but not reason" do
238
- @crls["test_ca"].should_receive(:revoke_cert).with("12345", nil).and_return(nil)
233
+ Dependo::Registry[:crls]["test_ca"].should_receive(:revoke_cert).with("12345", nil).and_return(nil)
239
234
  crl_obj = double("crl-obj")
240
- @crls["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
235
+ Dependo::Registry[:crls]["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
241
236
  crl_obj.should_receive(:to_pem).and_return("generated crl")
242
237
  post "/1/certificate/revoke", "ca" => "test_ca", "serial" => "12345"
243
238
  last_response.should be_ok
244
239
  last_response.body.should == "generated crl"
245
240
  end
246
241
  it "when serial and reason are given" do
247
- @crls["test_ca"].should_receive(:revoke_cert).with("12345", 1).and_return(nil)
242
+ Dependo::Registry[:crls]["test_ca"].should_receive(:revoke_cert).with("12345", 1).and_return(nil)
248
243
  crl_obj = double("crl-obj")
249
- @crls["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
244
+ Dependo::Registry[:crls]["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
250
245
  crl_obj.should_receive(:to_pem).and_return("generated crl")
251
246
  post "/1/certificate/revoke", "ca" => "test_ca", "serial" => "12345", "reason" => "1"
252
247
  last_response.should be_ok
253
248
  last_response.body.should == "generated crl"
254
249
  end
255
250
  it "when serial is not an integer" do
256
- @crls["test_ca"].should_receive(:revoke_cert).with("foo", nil).and_raise(R509::R509Error.new("some r509 error"))
251
+ Dependo::Registry[:crls]["test_ca"].should_receive(:revoke_cert).with("foo", nil).and_raise(R509::R509Error.new("some r509 error"))
257
252
  post "/1/certificate/revoke", "ca" => "test_ca", "serial" => "foo"
258
253
  last_response.should_not be_ok
259
254
  last_response.body.should == "#<R509::R509Error: some r509 error>"
260
255
  end
261
256
  it "when reason is not an integer" do
262
- @crls["test_ca"].should_receive(:revoke_cert).with("12345", 0).and_return(nil)
257
+ Dependo::Registry[:crls]["test_ca"].should_receive(:revoke_cert).with("12345", 0).and_return(nil)
263
258
  crl_obj = double("crl-obj")
264
- @crls["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
259
+ Dependo::Registry[:crls]["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
265
260
  crl_obj.should_receive(:to_pem).and_return("generated crl")
266
261
  post "/1/certificate/revoke", "ca" => "test_ca", "serial" => "12345", "reason" => "foo"
267
262
  last_response.should be_ok
268
263
  last_response.body.should == "generated crl"
269
264
  end
270
265
  it "when reason is an empty string" do
271
- @crls["test_ca"].should_receive(:revoke_cert).with("12345", nil).and_return(nil)
266
+ Dependo::Registry[:crls]["test_ca"].should_receive(:revoke_cert).with("12345", nil).and_return(nil)
272
267
  crl_obj = double("crl-obj")
273
- @crls["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
268
+ Dependo::Registry[:crls]["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
274
269
  crl_obj.should_receive(:to_pem).and_return("generated crl")
275
270
  post "/1/certificate/revoke", "ca" => "test_ca", "serial" => "12345", "reason" => ""
276
271
  last_response.should be_ok
@@ -295,9 +290,9 @@ describe R509::CertificateAuthority::HTTP::Server do
295
290
  last_response.body.should == "#<ArgumentError: Serial must be provided>"
296
291
  end
297
292
  it "when serial is given" do
298
- @crls["test_ca"].should_receive(:unrevoke_cert).with(12345).and_return(nil)
293
+ Dependo::Registry[:crls]["test_ca"].should_receive(:unrevoke_cert).with(12345).and_return(nil)
299
294
  crl_obj = double("crl-obj")
300
- @crls["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
295
+ Dependo::Registry[:crls]["test_ca"].should_receive(:generate_crl).and_return(crl_obj)
301
296
  crl_obj.should_receive(:to_pem).and_return("generated crl")
302
297
  post "/1/certificate/unrevoke", "ca" => "test_ca", "serial" => "12345"
303
298
  last_response.should be_ok
@@ -16,8 +16,6 @@ require 'r509'
16
16
  require 'dependo'
17
17
  require 'logger'
18
18
 
19
- Dependo::Registry[:config_pool] = R509::Config::CAConfigPool.from_yaml("certificate_authorities", File.read(File.dirname(__FILE__)+"/fixtures/test_config.yaml"), {:ca_root_path => "#{File.dirname(__FILE__)}/fixtures"})
20
-
21
19
  require 'r509/certificateauthority/http/server'
22
20
 
23
21
  RSpec.configure do |conf|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r509-ca-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schulte
@@ -30,104 +30,104 @@ cert_chain:
30
30
  wQ9nsK5DoJSWf5vG8Xu/TEnv2Gu8z6T4wBrbIr20EYu6lb0i5ekGhrHOcaPRI6X9
31
31
  lYMLMTFSyjE66v5QiUlZ9V4oV6O/MPS9fXPxog3TCsYpgfsgA+RlO8I=
32
32
  -----END CERTIFICATE-----
33
- date: 2014-02-06 00:00:00.000000000 Z
33
+ date: 2014-04-15 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: r509
37
37
  requirement: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: 0.10.0
42
42
  type: :runtime
43
43
  prerelease: false
44
44
  version_requirements: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ~>
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: 0.10.0
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: sinatra
51
51
  requirement: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  type: :runtime
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: dependo
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  - !ruby/object:Gem::Dependency
78
78
  name: rspec
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - '>='
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - '>='
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rack-test
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - '>='
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: rake
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '>='
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - '>='
116
+ - - ">="
117
117
  - !ruby/object:Gem::Version
118
118
  version: '0'
119
119
  - !ruby/object:Gem::Dependency
120
120
  name: simplecov
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - '>='
123
+ - - ">="
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  type: :development
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - '>='
130
+ - - ">="
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  description: A HTTP CA API for r509
@@ -138,6 +138,31 @@ extra_rdoc_files: []
138
138
  files:
139
139
  - README.md
140
140
  - Rakefile
141
+ - doc/R509.html
142
+ - doc/R509/CertificateAuthority.html
143
+ - doc/R509/CertificateAuthority/HTTP.html
144
+ - doc/R509/CertificateAuthority/HTTP/Config.html
145
+ - doc/R509/CertificateAuthority/HTTP/Factory.html
146
+ - doc/R509/CertificateAuthority/HTTP/Factory/CSRFactory.html
147
+ - doc/R509/CertificateAuthority/HTTP/Factory/SPKIFactory.html
148
+ - doc/R509/CertificateAuthority/HTTP/Server.html
149
+ - doc/R509/CertificateAuthority/HTTP/SubjectParser.html
150
+ - doc/R509/CertificateAuthority/HTTP/ValidityPeriodConverter.html
151
+ - doc/_index.html
152
+ - doc/class_list.html
153
+ - doc/css/common.css
154
+ - doc/css/full_list.css
155
+ - doc/css/style.css
156
+ - doc/file.README.html
157
+ - doc/file_list.html
158
+ - doc/frames.html
159
+ - doc/index.html
160
+ - doc/js/app.js
161
+ - doc/js/full_list.js
162
+ - doc/js/jquery.js
163
+ - doc/method_list.html
164
+ - doc/top-level-namespace.html
165
+ - lib/r509/certificateauthority/http/config.rb
141
166
  - lib/r509/certificateauthority/http/factory.rb
142
167
  - lib/r509/certificateauthority/http/server.rb
143
168
  - lib/r509/certificateauthority/http/subjectparser.rb
@@ -153,30 +178,7 @@ files:
153
178
  - spec/spec_helper.rb
154
179
  - spec/subject_parser_spec.rb
155
180
  - spec/validity_period_converter_spec.rb
156
- - doc/_index.html
157
- - doc/class_list.html
158
- - doc/css/common.css
159
- - doc/css/full_list.css
160
- - doc/css/style.css
161
- - doc/file.README.html
162
- - doc/file_list.html
163
- - doc/frames.html
164
- - doc/index.html
165
- - doc/js/app.js
166
- - doc/js/full_list.js
167
- - doc/js/jquery.js
168
- - doc/method_list.html
169
- - doc/R509/CertificateAuthority/HTTP/Factory/CSRFactory.html
170
- - doc/R509/CertificateAuthority/HTTP/Factory/SPKIFactory.html
171
- - doc/R509/CertificateAuthority/HTTP/Factory.html
172
- - doc/R509/CertificateAuthority/HTTP/Server.html
173
- - doc/R509/CertificateAuthority/HTTP/SubjectParser.html
174
- - doc/R509/CertificateAuthority/HTTP/ValidityPeriodConverter.html
175
- - doc/R509/CertificateAuthority/HTTP.html
176
- - doc/R509/CertificateAuthority.html
177
- - doc/R509.html
178
- - doc/top-level-namespace.html
179
- homepage: http://vikinghammer.com
181
+ homepage: http://r509.org
180
182
  licenses: []
181
183
  metadata: {}
182
184
  post_install_message:
@@ -185,17 +187,17 @@ require_paths:
185
187
  - lib
186
188
  required_ruby_version: !ruby/object:Gem::Requirement
187
189
  requirements:
188
- - - '>='
190
+ - - ">="
189
191
  - !ruby/object:Gem::Version
190
192
  version: 1.9.3
191
193
  required_rubygems_version: !ruby/object:Gem::Requirement
192
194
  requirements:
193
- - - '>='
195
+ - - ">="
194
196
  - !ruby/object:Gem::Version
195
197
  version: '0'
196
198
  requirements: []
197
199
  rubyforge_project:
198
- rubygems_version: 2.0.3
200
+ rubygems_version: 2.2.2
199
201
  signing_key:
200
202
  specification_version: 4
201
203
  summary: A (relatively) simple certificate authority API written to work with r509