r509 0.8.1 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. data/README.md +343 -151
  2. data/Rakefile +26 -23
  3. data/bin/r509 +126 -112
  4. data/bin/r509-parse +24 -24
  5. data/doc/R509.html +169 -7
  6. data/doc/R509/ASN1.html +370 -0
  7. data/doc/R509/ASN1/GeneralName.html +1121 -0
  8. data/doc/R509/ASN1/GeneralNames.html +843 -0
  9. data/doc/R509/ASN1/NoticeReference.html +392 -0
  10. data/doc/R509/ASN1/PolicyInformation.html +387 -0
  11. data/doc/R509/ASN1/PolicyQualifiers.html +455 -0
  12. data/doc/R509/ASN1/UserNotice.html +386 -0
  13. data/doc/R509/{Crl.html → CRL.html} +7 -7
  14. data/doc/R509/CRL/Administrator.html +1559 -0
  15. data/doc/R509/{Crl/Parser.html → CRL/SignedList.html} +501 -210
  16. data/doc/R509/{Csr.html → CSR.html} +444 -314
  17. data/doc/R509/Cert.html +866 -617
  18. data/doc/R509/Cert/Extensions.html +52 -41
  19. data/doc/R509/Cert/Extensions/AuthorityInfoAccess.html +70 -35
  20. data/doc/R509/Cert/Extensions/AuthorityKeyIdentifier.html +387 -4
  21. data/doc/R509/Cert/Extensions/BasicConstraints.html +61 -25
  22. data/doc/R509/Cert/Extensions/CRLDistributionPoints.html +354 -0
  23. data/doc/R509/Cert/Extensions/CertificatePolicies.html +340 -0
  24. data/doc/R509/Cert/Extensions/ExtendedKeyUsage.html +440 -49
  25. data/doc/R509/Cert/Extensions/{CrlDistributionPoints.html → InhibitAnyPolicy.html} +52 -35
  26. data/doc/R509/Cert/Extensions/KeyUsage.html +247 -121
  27. data/doc/R509/Cert/Extensions/NameConstraints.html +445 -0
  28. data/doc/R509/Cert/Extensions/OCSPNoCheck.html +239 -0
  29. data/doc/R509/Cert/Extensions/PolicyConstraints.html +424 -0
  30. data/doc/R509/Cert/Extensions/SubjectAlternativeName.html +437 -62
  31. data/doc/R509/Cert/Extensions/SubjectKeyIdentifier.html +52 -10
  32. data/doc/R509/CertificateAuthority.html +4 -4
  33. data/doc/R509/CertificateAuthority/Signer.html +154 -187
  34. data/doc/R509/Config.html +6 -6
  35. data/doc/R509/Config/{CaConfig.html → CAConfig.html} +451 -348
  36. data/doc/R509/Config/{CaConfigPool.html → CAConfigPool.html} +47 -47
  37. data/doc/R509/Config/CAProfile.html +1015 -0
  38. data/doc/R509/Config/SubjectItemPolicy.html +86 -86
  39. data/doc/R509/IOHelpers.html +22 -22
  40. data/doc/R509/MessageDigest.html +14 -14
  41. data/doc/R509/NameSanitizer.html +53 -53
  42. data/doc/R509/{Ocsp.html → OCSP.html} +9 -9
  43. data/doc/R509/{Ocsp → OCSP}/Request.html +7 -7
  44. data/doc/R509/{Ocsp → OCSP}/Request/Nonce.html +56 -11
  45. data/doc/R509/{Ocsp → OCSP}/Response.html +44 -44
  46. data/doc/R509/{OidMapper.html → OIDMapper.html} +23 -39
  47. data/doc/R509/PrivateKey.html +415 -168
  48. data/doc/R509/R509Error.html +3 -3
  49. data/doc/R509/{Spki.html → SPKI.html} +354 -192
  50. data/doc/R509/Subject.html +224 -113
  51. data/doc/R509/Validity.html +27 -5
  52. data/doc/R509/Validity/Checker.html +13 -13
  53. data/doc/R509/Validity/DefaultChecker.html +13 -13
  54. data/doc/R509/Validity/DefaultWriter.html +14 -14
  55. data/doc/R509/Validity/Status.html +39 -39
  56. data/doc/R509/Validity/Writer.html +18 -18
  57. data/doc/_index.html +138 -35
  58. data/doc/class_list.html +1 -1
  59. data/doc/css/style.css +10 -0
  60. data/doc/file.README.html +368 -171
  61. data/doc/file.r509.html +92 -69
  62. data/doc/frames.html +1 -1
  63. data/doc/index.html +368 -171
  64. data/doc/method_list.html +910 -390
  65. data/doc/top-level-namespace.html +3 -3
  66. data/lib/r509.rb +32 -16
  67. data/lib/r509/asn1.rb +375 -0
  68. data/lib/r509/cert.rb +381 -364
  69. data/lib/r509/cert/extensions.rb +443 -76
  70. data/lib/r509/certificate_authority.rb +407 -0
  71. data/lib/r509/config.rb +547 -351
  72. data/lib/r509/crl.rb +336 -366
  73. data/lib/r509/csr.rb +278 -289
  74. data/lib/r509/ec-hack.rb +37 -0
  75. data/lib/r509/exceptions.rb +3 -3
  76. data/lib/r509/io_helpers.rb +44 -44
  77. data/lib/r509/message_digest.rb +53 -0
  78. data/lib/r509/ocsp.rb +80 -70
  79. data/lib/r509/oid_mapper.rb +32 -0
  80. data/lib/r509/private_key.rb +228 -0
  81. data/lib/r509/spki.rb +145 -93
  82. data/lib/r509/subject.rb +203 -110
  83. data/lib/r509/validity.rb +70 -68
  84. data/lib/r509/version.rb +2 -2
  85. data/r509.yaml +92 -69
  86. data/spec/asn1_spec.rb +402 -0
  87. data/spec/cert/extensions_spec.rb +957 -494
  88. data/spec/cert_spec.rb +382 -307
  89. data/spec/certificate_authority_spec.rb +668 -250
  90. data/spec/config_spec.rb +515 -302
  91. data/spec/crl_spec.rb +197 -198
  92. data/spec/csr_spec.rb +334 -289
  93. data/spec/fixtures.rb +247 -171
  94. data/spec/fixtures/cert1.der +0 -0
  95. data/spec/fixtures/cert1.pem +0 -0
  96. data/spec/fixtures/cert1_public_key_modulus.txt +0 -0
  97. data/spec/fixtures/cert3.p12 +0 -0
  98. data/spec/fixtures/cert3.pem +0 -0
  99. data/spec/fixtures/cert3_key.pem +0 -0
  100. data/spec/fixtures/cert3_key_des3.pem +0 -0
  101. data/spec/fixtures/cert4.pem +0 -0
  102. data/spec/fixtures/cert5.pem +0 -0
  103. data/spec/fixtures/cert6.pem +0 -0
  104. data/spec/fixtures/cert_expired.pem +0 -0
  105. data/spec/fixtures/cert_inhibit.pem +24 -0
  106. data/spec/fixtures/cert_name_constraints.pem +29 -0
  107. data/spec/fixtures/cert_not_yet_valid.pem +0 -0
  108. data/spec/fixtures/cert_ocsp_no_check.pem +18 -0
  109. data/spec/fixtures/cert_policy_constraints.pem +31 -0
  110. data/spec/fixtures/cert_san.pem +0 -0
  111. data/spec/fixtures/cert_san2.pem +0 -0
  112. data/spec/fixtures/cert_unknown_extension.pem +28 -0
  113. data/spec/fixtures/config_pool_test_minimal.yaml +11 -11
  114. data/spec/fixtures/config_test.yaml +54 -36
  115. data/spec/fixtures/config_test_dsa.yaml +35 -0
  116. data/spec/fixtures/config_test_ec.yaml +35 -0
  117. data/spec/fixtures/config_test_engine_key.yaml +5 -5
  118. data/spec/fixtures/config_test_engine_no_key_name.yaml +4 -4
  119. data/spec/fixtures/config_test_minimal.yaml +4 -4
  120. data/spec/fixtures/config_test_password.yaml +5 -5
  121. data/spec/fixtures/config_test_various.yaml +111 -74
  122. data/spec/fixtures/crl_list_file.txt +0 -0
  123. data/spec/fixtures/crl_with_reason.pem +0 -0
  124. data/spec/fixtures/csr1.der +0 -0
  125. data/spec/fixtures/csr1.pem +0 -0
  126. data/spec/fixtures/csr1_key.der +0 -0
  127. data/spec/fixtures/csr1_key.pem +0 -0
  128. data/spec/fixtures/csr1_key_encrypted_des3.pem +0 -0
  129. data/spec/fixtures/csr1_newlines.pem +0 -0
  130. data/spec/fixtures/csr1_no_begin_end.pem +0 -0
  131. data/spec/fixtures/csr1_public_key_modulus.txt +0 -0
  132. data/spec/fixtures/csr2.pem +0 -0
  133. data/spec/fixtures/csr2_key.pem +0 -0
  134. data/spec/fixtures/csr3.pem +0 -0
  135. data/spec/fixtures/csr4.pem +0 -0
  136. data/spec/fixtures/csr_dsa.pem +0 -0
  137. data/spec/fixtures/csr_invalid_signature.pem +0 -0
  138. data/spec/fixtures/dsa_key.pem +0 -0
  139. data/spec/fixtures/dsa_root.cer +28 -0
  140. data/spec/fixtures/dsa_root.key +20 -0
  141. data/spec/fixtures/ec_csr2.der +0 -0
  142. data/spec/fixtures/ec_csr2.pem +8 -0
  143. data/spec/fixtures/ec_key1.der +0 -0
  144. data/spec/fixtures/ec_key1.pem +6 -0
  145. data/spec/fixtures/ec_key1_encrypted.pem +9 -0
  146. data/spec/fixtures/ec_key2.pem +6 -0
  147. data/spec/fixtures/hmacsha1.sig +1 -0
  148. data/spec/fixtures/hmacsha512.sig +1 -0
  149. data/spec/fixtures/key4.pem +0 -0
  150. data/spec/fixtures/key4_encrypted_des3.pem +0 -0
  151. data/spec/fixtures/missing_key_identifier_ca.cer +0 -0
  152. data/spec/fixtures/missing_key_identifier_ca.key +0 -0
  153. data/spec/fixtures/ocsptest.r509.local.pem +0 -0
  154. data/spec/fixtures/ocsptest.r509.local_ocsp_request.der +0 -0
  155. data/spec/fixtures/ocsptest2.r509.local.pem +0 -0
  156. data/spec/fixtures/second_ca.cer +0 -0
  157. data/spec/fixtures/second_ca.key +0 -0
  158. data/spec/fixtures/spkac.der +0 -0
  159. data/spec/fixtures/spkac.txt +0 -0
  160. data/spec/fixtures/spkac_dsa.txt +1 -1
  161. data/spec/fixtures/spkac_dsa_no_verify.txt +1 -0
  162. data/spec/fixtures/spkac_ec.txt +1 -0
  163. data/spec/fixtures/spkac_rsa_newlines.txt +13 -0
  164. data/spec/fixtures/stca.pem +0 -0
  165. data/spec/fixtures/stca_ocsp_request.der +0 -0
  166. data/spec/fixtures/stca_ocsp_response.der +0 -0
  167. data/spec/fixtures/test1.csr +0 -0
  168. data/spec/fixtures/test_ca.cer +0 -0
  169. data/spec/fixtures/test_ca.key +0 -0
  170. data/spec/fixtures/test_ca.p12 +0 -0
  171. data/spec/fixtures/test_ca_des3.key +0 -0
  172. data/spec/fixtures/test_ca_ec.cer +14 -0
  173. data/spec/fixtures/test_ca_ec.key +6 -0
  174. data/spec/fixtures/test_ca_ec_ee.cer +22 -0
  175. data/spec/fixtures/test_ca_ec_ee.key +6 -0
  176. data/spec/fixtures/test_ca_ocsp.cer +0 -0
  177. data/spec/fixtures/test_ca_ocsp.key +0 -0
  178. data/spec/fixtures/test_ca_ocsp.p12 +0 -0
  179. data/spec/fixtures/test_ca_ocsp_chain.txt +0 -0
  180. data/spec/fixtures/test_ca_ocsp_response.der +0 -0
  181. data/spec/fixtures/test_ca_subroot.cer +0 -0
  182. data/spec/fixtures/test_ca_subroot.key +0 -0
  183. data/spec/fixtures/test_ca_subroot_ocsp.cer +0 -0
  184. data/spec/fixtures/test_ca_subroot_ocsp.key +0 -0
  185. data/spec/fixtures/test_ca_subroot_ocsp_response.der +0 -0
  186. data/spec/fixtures/unknown_oid.csr +0 -0
  187. data/spec/message_digest_spec.rb +104 -84
  188. data/spec/ocsp_spec.rb +105 -105
  189. data/spec/oid_mapper_spec.rb +21 -21
  190. data/spec/private_key_spec.rb +275 -0
  191. data/spec/r509_spec.rb +35 -0
  192. data/spec/spec_helper.rb +15 -6
  193. data/spec/spki_spec.rb +221 -142
  194. data/spec/subject_spec.rb +232 -164
  195. data/spec/validity_spec.rb +91 -91
  196. metadata +79 -25
  197. data/doc/R509/Config/CaProfile.html +0 -651
  198. data/doc/R509/Crl/Administrator.html +0 -2073
  199. data/lib/r509/certificateauthority.rb +0 -290
  200. data/lib/r509/messagedigest.rb +0 -49
  201. data/lib/r509/oidmapper.rb +0 -32
  202. data/lib/r509/privatekey.rb +0 -185
  203. data/spec/privatekey_spec.rb +0 -198
@@ -3,96 +3,96 @@ require 'r509/validity'
3
3
  require 'openssl'
4
4
 
5
5
  describe R509::Validity do
6
- context "status" do
7
- it "has no status" do
8
- status = R509::Validity::Status.new
9
- status.status.should == nil
10
- status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_UNKNOWN
11
- end
12
- it "has a valid status" do
13
- status = R509::Validity::Status.new(:status => R509::Validity::VALID)
14
- status.status.should == R509::Validity::VALID
15
- status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_GOOD
16
- end
17
- it "has a revoked status" do
18
- status = R509::Validity::Status.new(:status => R509::Validity::REVOKED)
19
- status.status.should == R509::Validity::REVOKED
20
- status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_REVOKED
21
- status.revocation_time.should_not == nil
22
- status.revocation_reason.should == 0
23
- end
24
- it "has an unknown status" do
25
- status = R509::Validity::Status.new(:status => R509::Validity::UNKNOWN)
26
- status.status.should == R509::Validity::UNKNOWN
27
- status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_UNKNOWN
28
- end
29
- it "has some other status that we don't know about" do
30
- status = R509::Validity::Status.new(:status => 10101010101)
31
- status.status.should == 10101010101
32
- status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_UNKNOWN
33
- end
34
- it "has no revocation time or reason specified (and isn't revoked)" do
35
- status = R509::Validity::Status.new
36
- status.revocation_time.should == nil
37
- status.revocation_reason.should == 0
38
- end
39
- it "specifies a revocation time" do
40
- time = Time.now.to_i
41
- status = R509::Validity::Status.new(:revocation_time => time)
42
- status.revocation_time.should == time
43
- end
44
- it "specifies a revocation reason" do
45
- status = R509::Validity::Status.new(:revocation_reason => 2)
46
- status.revocation_reason.should == 2
47
- end
48
- end
49
- context "writer base" do
50
- it "calls issue" do
51
- writer = R509::Validity::Writer.new
52
- expect { writer.issue("a",1) }.to raise_error(NotImplementedError, "You must call #issue on a subclass of Writer")
53
- end
54
- it "calls revoke" do
55
- writer = R509::Validity::Writer.new
56
- expect { writer.revoke("a",1, 1) }.to raise_error(NotImplementedError, "You must call #revoke on a subclass of Writer")
57
- end
58
- it "calls is_available?" do
59
- writer = R509::Validity::Writer.new
60
- expect { writer.is_available? }.to raise_error(NotImplementedError, "You must call #is_available? on a subclass of Writer")
61
- end
62
- end
63
- context "checker base" do
64
- it "calls check" do
65
- checker = R509::Validity::Checker.new
66
- expect { checker.check("a",1) }.to raise_error(NotImplementedError, "You must call #check on a subclass of Checker")
67
- end
68
- it "calls is_available?" do
69
- checker = R509::Validity::Checker.new
70
- expect { checker.is_available? }.to raise_error(NotImplementedError, "You must call #is_available? on a subclass of Checker")
71
- end
72
- end
73
- context "writer default" do
74
- it "calls issue" do
75
- writer = R509::Validity::DefaultWriter.new
76
- writer.issue("a",1)
77
- end
78
- it "calls revoke" do
79
- writer = R509::Validity::DefaultWriter.new
80
- writer.revoke("a",1, 1)
81
- end
82
- it "calls is_available?" do
83
- writer = R509::Validity::DefaultWriter.new
84
- writer.is_available?.should == true
85
- end
86
- end
87
- context "checker default" do
88
- it "calls check" do
89
- checker = R509::Validity::DefaultChecker.new
90
- status = checker.check("a",1)
91
- status.status.should == R509::Validity::VALID
92
- end
93
- it "calls is_available?" do
94
- checker = R509::Validity::DefaultChecker.new
95
- checker.is_available?.should == true
96
- end
6
+ context "status" do
7
+ it "has no status" do
8
+ status = R509::Validity::Status.new
9
+ status.status.should == nil
10
+ status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_UNKNOWN
97
11
  end
12
+ it "has a valid status" do
13
+ status = R509::Validity::Status.new(:status => R509::Validity::VALID)
14
+ status.status.should == R509::Validity::VALID
15
+ status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_GOOD
16
+ end
17
+ it "has a revoked status" do
18
+ status = R509::Validity::Status.new(:status => R509::Validity::REVOKED)
19
+ status.status.should == R509::Validity::REVOKED
20
+ status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_REVOKED
21
+ status.revocation_time.should_not == nil
22
+ status.revocation_reason.should == 0
23
+ end
24
+ it "has an unknown status" do
25
+ status = R509::Validity::Status.new(:status => R509::Validity::UNKNOWN)
26
+ status.status.should == R509::Validity::UNKNOWN
27
+ status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_UNKNOWN
28
+ end
29
+ it "has some other status that we don't know about" do
30
+ status = R509::Validity::Status.new(:status => 10101010101)
31
+ status.status.should == 10101010101
32
+ status.ocsp_status.should == OpenSSL::OCSP::V_CERTSTATUS_UNKNOWN
33
+ end
34
+ it "has no revocation time or reason specified (and isn't revoked)" do
35
+ status = R509::Validity::Status.new
36
+ status.revocation_time.should == nil
37
+ status.revocation_reason.should == 0
38
+ end
39
+ it "specifies a revocation time" do
40
+ time = Time.now.to_i
41
+ status = R509::Validity::Status.new(:revocation_time => time)
42
+ status.revocation_time.should == time
43
+ end
44
+ it "specifies a revocation reason" do
45
+ status = R509::Validity::Status.new(:revocation_reason => 2)
46
+ status.revocation_reason.should == 2
47
+ end
48
+ end
49
+ context "writer base" do
50
+ it "calls issue" do
51
+ writer = R509::Validity::Writer.new
52
+ expect { writer.issue("a",1) }.to raise_error(NotImplementedError, "You must call #issue on a subclass of Writer")
53
+ end
54
+ it "calls revoke" do
55
+ writer = R509::Validity::Writer.new
56
+ expect { writer.revoke("a",1, 1) }.to raise_error(NotImplementedError, "You must call #revoke on a subclass of Writer")
57
+ end
58
+ it "calls is_available?" do
59
+ writer = R509::Validity::Writer.new
60
+ expect { writer.is_available? }.to raise_error(NotImplementedError, "You must call #is_available? on a subclass of Writer")
61
+ end
62
+ end
63
+ context "checker base" do
64
+ it "calls check" do
65
+ checker = R509::Validity::Checker.new
66
+ expect { checker.check("a",1) }.to raise_error(NotImplementedError, "You must call #check on a subclass of Checker")
67
+ end
68
+ it "calls is_available?" do
69
+ checker = R509::Validity::Checker.new
70
+ expect { checker.is_available? }.to raise_error(NotImplementedError, "You must call #is_available? on a subclass of Checker")
71
+ end
72
+ end
73
+ context "writer default" do
74
+ it "calls issue" do
75
+ writer = R509::Validity::DefaultWriter.new
76
+ writer.issue("a",1)
77
+ end
78
+ it "calls revoke" do
79
+ writer = R509::Validity::DefaultWriter.new
80
+ writer.revoke("a",1, 1)
81
+ end
82
+ it "calls is_available?" do
83
+ writer = R509::Validity::DefaultWriter.new
84
+ writer.is_available?.should == true
85
+ end
86
+ end
87
+ context "checker default" do
88
+ it "calls check" do
89
+ checker = R509::Validity::DefaultChecker.new
90
+ status = checker.check("a",1)
91
+ status.status.should == R509::Validity::VALID
92
+ end
93
+ it "calls is_available?" do
94
+ checker = R509::Validity::DefaultChecker.new
95
+ checker.is_available?.should == true
96
+ end
97
+ end
98
98
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r509
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: '0.9'
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-11-08 00:00:00.000000000 Z
12
+ date: 2013-04-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: trollop
@@ -87,18 +87,20 @@ files:
87
87
  - README.md
88
88
  - r509.yaml
89
89
  - Rakefile
90
+ - lib/r509/asn1.rb
90
91
  - lib/r509/cert/extensions.rb
91
92
  - lib/r509/cert.rb
92
- - lib/r509/certificateauthority.rb
93
+ - lib/r509/certificate_authority.rb
93
94
  - lib/r509/config.rb
94
95
  - lib/r509/crl.rb
95
96
  - lib/r509/csr.rb
97
+ - lib/r509/ec-hack.rb
96
98
  - lib/r509/exceptions.rb
97
99
  - lib/r509/io_helpers.rb
98
- - lib/r509/messagedigest.rb
100
+ - lib/r509/message_digest.rb
99
101
  - lib/r509/ocsp.rb
100
- - lib/r509/oidmapper.rb
101
- - lib/r509/privatekey.rb
102
+ - lib/r509/oid_mapper.rb
103
+ - lib/r509/private_key.rb
102
104
  - lib/r509/spki.rb
103
105
  - lib/r509/subject.rb
104
106
  - lib/r509/validity.rb
@@ -106,6 +108,7 @@ files:
106
108
  - lib/r509.rb
107
109
  - bin/r509
108
110
  - bin/r509-parse
111
+ - spec/asn1_spec.rb
109
112
  - spec/cert/extensions_spec.rb
110
113
  - spec/cert_spec.rb
111
114
  - spec/certificate_authority_spec.rb
@@ -123,11 +126,18 @@ files:
123
126
  - spec/fixtures/cert5.pem
124
127
  - spec/fixtures/cert6.pem
125
128
  - spec/fixtures/cert_expired.pem
129
+ - spec/fixtures/cert_inhibit.pem
130
+ - spec/fixtures/cert_name_constraints.pem
126
131
  - spec/fixtures/cert_not_yet_valid.pem
132
+ - spec/fixtures/cert_ocsp_no_check.pem
133
+ - spec/fixtures/cert_policy_constraints.pem
127
134
  - spec/fixtures/cert_san.pem
128
135
  - spec/fixtures/cert_san2.pem
136
+ - spec/fixtures/cert_unknown_extension.pem
129
137
  - spec/fixtures/config_pool_test_minimal.yaml
130
138
  - spec/fixtures/config_test.yaml
139
+ - spec/fixtures/config_test_dsa.yaml
140
+ - spec/fixtures/config_test_ec.yaml
131
141
  - spec/fixtures/config_test_engine_key.yaml
132
142
  - spec/fixtures/config_test_engine_no_key_name.yaml
133
143
  - spec/fixtures/config_test_minimal.yaml
@@ -150,6 +160,16 @@ files:
150
160
  - spec/fixtures/csr_dsa.pem
151
161
  - spec/fixtures/csr_invalid_signature.pem
152
162
  - spec/fixtures/dsa_key.pem
163
+ - spec/fixtures/dsa_root.cer
164
+ - spec/fixtures/dsa_root.key
165
+ - spec/fixtures/ec_csr2.der
166
+ - spec/fixtures/ec_csr2.pem
167
+ - spec/fixtures/ec_key1.der
168
+ - spec/fixtures/ec_key1.pem
169
+ - spec/fixtures/ec_key1_encrypted.pem
170
+ - spec/fixtures/ec_key2.pem
171
+ - spec/fixtures/hmacsha1.sig
172
+ - spec/fixtures/hmacsha512.sig
153
173
  - spec/fixtures/key4.pem
154
174
  - spec/fixtures/key4_encrypted_des3.pem
155
175
  - spec/fixtures/missing_key_identifier_ca.cer
@@ -162,6 +182,9 @@ files:
162
182
  - spec/fixtures/spkac.der
163
183
  - spec/fixtures/spkac.txt
164
184
  - spec/fixtures/spkac_dsa.txt
185
+ - spec/fixtures/spkac_dsa_no_verify.txt
186
+ - spec/fixtures/spkac_ec.txt
187
+ - spec/fixtures/spkac_rsa_newlines.txt
165
188
  - spec/fixtures/stca.pem
166
189
  - spec/fixtures/stca_ocsp_request.der
167
190
  - spec/fixtures/stca_ocsp_response.der
@@ -170,6 +193,10 @@ files:
170
193
  - spec/fixtures/test_ca.key
171
194
  - spec/fixtures/test_ca.p12
172
195
  - spec/fixtures/test_ca_des3.key
196
+ - spec/fixtures/test_ca_ec.cer
197
+ - spec/fixtures/test_ca_ec.key
198
+ - spec/fixtures/test_ca_ec_ee.cer
199
+ - spec/fixtures/test_ca_ec_ee.key
173
200
  - spec/fixtures/test_ca_ocsp.cer
174
201
  - spec/fixtures/test_ca_ocsp.key
175
202
  - spec/fixtures/test_ca_ocsp.p12
@@ -185,7 +212,8 @@ files:
185
212
  - spec/message_digest_spec.rb
186
213
  - spec/ocsp_spec.rb
187
214
  - spec/oid_mapper_spec.rb
188
- - spec/privatekey_spec.rb
215
+ - spec/private_key_spec.rb
216
+ - spec/r509_spec.rb
189
217
  - spec/spec_helper.rb
190
218
  - spec/spki_spec.rb
191
219
  - spec/subject_spec.rb
@@ -204,38 +232,50 @@ files:
204
232
  - doc/js/full_list.js
205
233
  - doc/js/jquery.js
206
234
  - doc/method_list.html
235
+ - doc/R509/ASN1/GeneralName.html
236
+ - doc/R509/ASN1/GeneralNames.html
237
+ - doc/R509/ASN1/NoticeReference.html
238
+ - doc/R509/ASN1/PolicyInformation.html
239
+ - doc/R509/ASN1/PolicyQualifiers.html
240
+ - doc/R509/ASN1/UserNotice.html
241
+ - doc/R509/ASN1.html
207
242
  - doc/R509/Cert/Extensions/AuthorityInfoAccess.html
208
243
  - doc/R509/Cert/Extensions/AuthorityKeyIdentifier.html
209
244
  - doc/R509/Cert/Extensions/BasicConstraints.html
210
- - doc/R509/Cert/Extensions/CrlDistributionPoints.html
245
+ - doc/R509/Cert/Extensions/CertificatePolicies.html
246
+ - doc/R509/Cert/Extensions/CRLDistributionPoints.html
211
247
  - doc/R509/Cert/Extensions/ExtendedKeyUsage.html
248
+ - doc/R509/Cert/Extensions/InhibitAnyPolicy.html
212
249
  - doc/R509/Cert/Extensions/KeyUsage.html
250
+ - doc/R509/Cert/Extensions/NameConstraints.html
251
+ - doc/R509/Cert/Extensions/OCSPNoCheck.html
252
+ - doc/R509/Cert/Extensions/PolicyConstraints.html
213
253
  - doc/R509/Cert/Extensions/SubjectAlternativeName.html
214
254
  - doc/R509/Cert/Extensions/SubjectKeyIdentifier.html
215
255
  - doc/R509/Cert/Extensions.html
216
256
  - doc/R509/Cert.html
217
257
  - doc/R509/CertificateAuthority/Signer.html
218
258
  - doc/R509/CertificateAuthority.html
219
- - doc/R509/Config/CaConfig.html
220
- - doc/R509/Config/CaConfigPool.html
221
- - doc/R509/Config/CaProfile.html
259
+ - doc/R509/Config/CAConfig.html
260
+ - doc/R509/Config/CAConfigPool.html
261
+ - doc/R509/Config/CAProfile.html
222
262
  - doc/R509/Config/SubjectItemPolicy.html
223
263
  - doc/R509/Config.html
224
- - doc/R509/Crl/Administrator.html
225
- - doc/R509/Crl/Parser.html
226
- - doc/R509/Crl.html
227
- - doc/R509/Csr.html
264
+ - doc/R509/CRL/Administrator.html
265
+ - doc/R509/CRL/SignedList.html
266
+ - doc/R509/CRL.html
267
+ - doc/R509/CSR.html
228
268
  - doc/R509/IOHelpers.html
229
269
  - doc/R509/MessageDigest.html
230
270
  - doc/R509/NameSanitizer.html
231
- - doc/R509/Ocsp/Request/Nonce.html
232
- - doc/R509/Ocsp/Request.html
233
- - doc/R509/Ocsp/Response.html
234
- - doc/R509/Ocsp.html
235
- - doc/R509/OidMapper.html
271
+ - doc/R509/OCSP/Request/Nonce.html
272
+ - doc/R509/OCSP/Request.html
273
+ - doc/R509/OCSP/Response.html
274
+ - doc/R509/OCSP.html
275
+ - doc/R509/OIDMapper.html
236
276
  - doc/R509/PrivateKey.html
237
277
  - doc/R509/R509Error.html
238
- - doc/R509/Spki.html
278
+ - doc/R509/SPKI.html
239
279
  - doc/R509/Subject.html
240
280
  - doc/R509/Validity/Checker.html
241
281
  - doc/R509/Validity/DefaultChecker.html
@@ -256,7 +296,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
256
296
  requirements:
257
297
  - - ! '>='
258
298
  - !ruby/object:Gem::Version
259
- version: 1.8.6
299
+ version: 1.9.3
260
300
  required_rubygems_version: !ruby/object:Gem::Requirement
261
301
  none: false
262
302
  requirements:
@@ -265,12 +305,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
265
305
  version: '0'
266
306
  segments:
267
307
  - 0
268
- hash: 4493988611346756730
308
+ hash: -3993533769790460718
269
309
  requirements: []
270
310
  rubyforge_project:
271
- rubygems_version: 1.8.24
311
+ rubygems_version: 1.8.23
272
312
  signing_key:
273
313
  specification_version: 3
274
314
  summary: A (relatively) simple X.509 certification authority
275
- test_files: []
315
+ test_files:
316
+ - spec/asn1_spec.rb
317
+ - spec/cert_spec.rb
318
+ - spec/certificate_authority_spec.rb
319
+ - spec/config_spec.rb
320
+ - spec/crl_spec.rb
321
+ - spec/csr_spec.rb
322
+ - spec/message_digest_spec.rb
323
+ - spec/ocsp_spec.rb
324
+ - spec/oid_mapper_spec.rb
325
+ - spec/private_key_spec.rb
326
+ - spec/r509_spec.rb
327
+ - spec/spki_spec.rb
328
+ - spec/subject_spec.rb
329
+ - spec/validity_spec.rb
276
330
  has_rdoc:
@@ -1,651 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>
7
- Class: R509::Config::CaProfile
8
-
9
- &mdash; Documentation by YARD 0.8.2.1
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '../../';
20
- framesUrl = "../../frames.html#!" + escape(window.location.href);
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="../../_index.html">Index (C)</a> &raquo;
35
- <span class='title'><span class='object_link'><a href="../../R509.html" title="R509 (module)">R509</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Config.html" title="R509::Config (module)">Config</a></span></span>
36
- &raquo;
37
- <span class="title">CaProfile</span>
38
-
39
-
40
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
- </div>
42
-
43
- <div id="search">
44
-
45
- <a class="full_list_link" id="class_list_link"
46
- href="../../class_list.html">
47
- Class List
48
- </a>
49
-
50
- <a class="full_list_link" id="method_list_link"
51
- href="../../method_list.html">
52
- Method List
53
- </a>
54
-
55
- <a class="full_list_link" id="file_list_link"
56
- href="../../file_list.html">
57
- File List
58
- </a>
59
-
60
- </div>
61
- <div class="clear"></div>
62
- </div>
63
-
64
- <iframe id="search_frame"></iframe>
65
-
66
- <div id="content"><h1>Class: R509::Config::CaProfile
67
-
68
-
69
-
70
- </h1>
71
-
72
- <dl class="box">
73
-
74
- <dt class="r1">Inherits:</dt>
75
- <dd class="r1">
76
- <span class="inheritName">Object</span>
77
-
78
- <ul class="fullTree">
79
- <li>Object</li>
80
-
81
- <li class="next">R509::Config::CaProfile</li>
82
-
83
- </ul>
84
- <a href="#" class="inheritanceTree">show all</a>
85
-
86
- </dd>
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
- <dt class="r2 last">Defined in:</dt>
97
- <dd class="r2 last">lib/r509/config.rb</dd>
98
-
99
- </dl>
100
- <div class="clear"></div>
101
-
102
- <h2>Overview</h2><div class="docstring">
103
- <div class="discussion">
104
-
105
- <p>Provides access to configuration profiles</p>
106
-
107
-
108
- </div>
109
- </div>
110
- <div class="tags">
111
-
112
-
113
- </div>
114
-
115
-
116
-
117
- <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
118
- <ul class="summary">
119
-
120
- <li class="public ">
121
- <span class="summary_signature">
122
-
123
- <a href="#basic_constraints-instance_method" title="#basic_constraints (instance method)">- (Object) <strong>basic_constraints</strong> </a>
124
-
125
-
126
-
127
- </span>
128
-
129
-
130
-
131
-
132
- <span class="note title readonly">readonly</span>
133
-
134
-
135
-
136
-
137
-
138
-
139
-
140
-
141
-
142
- <span class="summary_desc"><div class='inline'>
143
- <p>Returns the value of attribute basic_constraints.</p>
144
- </div></span>
145
-
146
- </li>
147
-
148
-
149
- <li class="public ">
150
- <span class="summary_signature">
151
-
152
- <a href="#certificate_policies-instance_method" title="#certificate_policies (instance method)">- (Object) <strong>certificate_policies</strong> </a>
153
-
154
-
155
-
156
- </span>
157
-
158
-
159
-
160
-
161
- <span class="note title readonly">readonly</span>
162
-
163
-
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
- <span class="summary_desc"><div class='inline'>
172
- <p>Returns the value of attribute certificate_policies.</p>
173
- </div></span>
174
-
175
- </li>
176
-
177
-
178
- <li class="public ">
179
- <span class="summary_signature">
180
-
181
- <a href="#extended_key_usage-instance_method" title="#extended_key_usage (instance method)">- (Object) <strong>extended_key_usage</strong> </a>
182
-
183
-
184
-
185
- </span>
186
-
187
-
188
-
189
-
190
- <span class="note title readonly">readonly</span>
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
-
200
- <span class="summary_desc"><div class='inline'>
201
- <p>Returns the value of attribute extended_key_usage.</p>
202
- </div></span>
203
-
204
- </li>
205
-
206
-
207
- <li class="public ">
208
- <span class="summary_signature">
209
-
210
- <a href="#key_usage-instance_method" title="#key_usage (instance method)">- (Object) <strong>key_usage</strong> </a>
211
-
212
-
213
-
214
- </span>
215
-
216
-
217
-
218
-
219
- <span class="note title readonly">readonly</span>
220
-
221
-
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
- <span class="summary_desc"><div class='inline'>
230
- <p>Returns the value of attribute key_usage.</p>
231
- </div></span>
232
-
233
- </li>
234
-
235
-
236
- <li class="public ">
237
- <span class="summary_signature">
238
-
239
- <a href="#subject_item_policy-instance_method" title="#subject_item_policy (instance method)">- (Object) <strong>subject_item_policy</strong> </a>
240
-
241
-
242
-
243
- </span>
244
-
245
-
246
-
247
-
248
- <span class="note title readonly">readonly</span>
249
-
250
-
251
-
252
-
253
-
254
-
255
-
256
-
257
-
258
- <span class="summary_desc"><div class='inline'>
259
- <p>Returns the value of attribute subject_item_policy.</p>
260
- </div></span>
261
-
262
- </li>
263
-
264
-
265
- </ul>
266
-
267
-
268
-
269
-
270
-
271
- <h2>
272
- Instance Method Summary
273
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
274
- </h2>
275
-
276
- <ul class="summary">
277
-
278
- <li class="public ">
279
- <span class="summary_signature">
280
-
281
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (CaProfile) <strong>initialize</strong>(opts = {}) </a>
282
-
283
-
284
-
285
- </span>
286
-
287
-
288
- <span class="note title constructor">constructor</span>
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
-
297
- <span class="summary_desc"><div class='inline'>
298
- <p>A new instance of CaProfile.</p>
299
- </div></span>
300
-
301
- </li>
302
-
303
-
304
- </ul>
305
-
306
-
307
- <div id="constructor_details" class="method_details_list">
308
- <h2>Constructor Details</h2>
309
-
310
- <div class="method_details first">
311
- <h3 class="signature first" id="initialize-instance_method">
312
-
313
- - (<tt><span class='object_link'><a href="" title="R509::Config::CaProfile (class)">CaProfile</a></span></tt>) <strong>initialize</strong>(opts = {})
314
-
315
-
316
-
317
-
318
-
319
- </h3><div class="docstring">
320
- <div class="discussion">
321
-
322
- <p>A new instance of CaProfile</p>
323
-
324
-
325
- </div>
326
- </div>
327
- <div class="tags">
328
- <p class="tag_title">Parameters:</p>
329
- <ul class="param">
330
-
331
- <li>
332
-
333
- <span class='name'>[String]</span>
334
-
335
-
336
- <span class='type'>(<tt>Hash</tt>)</span>
337
-
338
-
339
-
340
- &mdash;
341
- <div class='inline'>
342
- <p>a customizable set of options</p>
343
- </div>
344
-
345
- </li>
346
-
347
- <li>
348
-
349
- <span class='name'>[Array]</span>
350
-
351
-
352
- <span class='type'>(<tt>Hash</tt>)</span>
353
-
354
-
355
-
356
- &mdash;
357
- <div class='inline'>
358
- <p>a customizable set of options</p>
359
- </div>
360
-
361
- </li>
362
-
363
- <li>
364
-
365
- <span class='name'>[R509::Config::SubjectItemPolicy]</span>
366
-
367
-
368
- <span class='type'>(<tt>Hash</tt>)</span>
369
-
370
-
371
-
372
- &mdash;
373
- <div class='inline'>
374
- <p>a customizable set of options</p>
375
- </div>
376
-
377
- </li>
378
-
379
- </ul>
380
-
381
-
382
-
383
-
384
-
385
-
386
- </div><table class="source_code">
387
- <tr>
388
- <td>
389
- <pre class="lines">
390
-
391
-
392
- 23
393
- 24
394
- 25
395
- 26
396
- 27
397
- 28
398
- 29
399
- 30
400
- 31</pre>
401
- </td>
402
- <td>
403
- <pre class="code"><span class="info file"># File 'lib/r509/config.rb', line 23</span>
404
-
405
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
406
- <span class='ivar'>@basic_constraints</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:basic_constraints</span><span class='rbracket'>]</span>
407
- <span class='ivar'>@key_usage</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:key_usage</span><span class='rbracket'>]</span>
408
- <span class='ivar'>@extended_key_usage</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:extended_key_usage</span><span class='rbracket'>]</span>
409
- <span class='ivar'>@certificate_policies</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:certificate_policies</span><span class='rbracket'>]</span>
410
- <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='symbol'>:subject_item_policy</span><span class='rparen'>)</span> <span class='kw'>and</span> <span class='kw'>not</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:subject_item_policy</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Config</span><span class='op'>::</span><span class='const'>SubjectItemPolicy</span><span class='rparen'>)</span>
411
- <span class='kw'>end</span>
412
- <span class='ivar'>@subject_item_policy</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:subject_item_policy</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>nil</span>
413
- <span class='kw'>end</span></pre>
414
- </td>
415
- </tr>
416
- </table>
417
- </div>
418
-
419
- </div>
420
-
421
- <div id="instance_attr_details" class="attr_details">
422
- <h2>Instance Attribute Details</h2>
423
-
424
-
425
- <span id=""></span>
426
- <div class="method_details first">
427
- <h3 class="signature first" id="basic_constraints-instance_method">
428
-
429
- - (<tt>Object</tt>) <strong>basic_constraints</strong> <span class="extras">(readonly)</span>
430
-
431
-
432
-
433
-
434
-
435
- </h3><div class="docstring">
436
- <div class="discussion">
437
-
438
- <p>Returns the value of attribute basic_constraints</p>
439
-
440
-
441
- </div>
442
- </div>
443
- <div class="tags">
444
-
445
-
446
- </div><table class="source_code">
447
- <tr>
448
- <td>
449
- <pre class="lines">
450
-
451
-
452
- 15
453
- 16
454
- 17</pre>
455
- </td>
456
- <td>
457
- <pre class="code"><span class="info file"># File 'lib/r509/config.rb', line 15</span>
458
-
459
- <span class='kw'>def</span> <span class='id identifier rubyid_basic_constraints'>basic_constraints</span>
460
- <span class='ivar'>@basic_constraints</span>
461
- <span class='kw'>end</span></pre>
462
- </td>
463
- </tr>
464
- </table>
465
- </div>
466
-
467
-
468
- <span id=""></span>
469
- <div class="method_details ">
470
- <h3 class="signature " id="certificate_policies-instance_method">
471
-
472
- - (<tt>Object</tt>) <strong>certificate_policies</strong> <span class="extras">(readonly)</span>
473
-
474
-
475
-
476
-
477
-
478
- </h3><div class="docstring">
479
- <div class="discussion">
480
-
481
- <p>Returns the value of attribute certificate_policies</p>
482
-
483
-
484
- </div>
485
- </div>
486
- <div class="tags">
487
-
488
-
489
- </div><table class="source_code">
490
- <tr>
491
- <td>
492
- <pre class="lines">
493
-
494
-
495
- 15
496
- 16
497
- 17</pre>
498
- </td>
499
- <td>
500
- <pre class="code"><span class="info file"># File 'lib/r509/config.rb', line 15</span>
501
-
502
- <span class='kw'>def</span> <span class='id identifier rubyid_certificate_policies'>certificate_policies</span>
503
- <span class='ivar'>@certificate_policies</span>
504
- <span class='kw'>end</span></pre>
505
- </td>
506
- </tr>
507
- </table>
508
- </div>
509
-
510
-
511
- <span id=""></span>
512
- <div class="method_details ">
513
- <h3 class="signature " id="extended_key_usage-instance_method">
514
-
515
- - (<tt>Object</tt>) <strong>extended_key_usage</strong> <span class="extras">(readonly)</span>
516
-
517
-
518
-
519
-
520
-
521
- </h3><div class="docstring">
522
- <div class="discussion">
523
-
524
- <p>Returns the value of attribute extended_key_usage</p>
525
-
526
-
527
- </div>
528
- </div>
529
- <div class="tags">
530
-
531
-
532
- </div><table class="source_code">
533
- <tr>
534
- <td>
535
- <pre class="lines">
536
-
537
-
538
- 15
539
- 16
540
- 17</pre>
541
- </td>
542
- <td>
543
- <pre class="code"><span class="info file"># File 'lib/r509/config.rb', line 15</span>
544
-
545
- <span class='kw'>def</span> <span class='id identifier rubyid_extended_key_usage'>extended_key_usage</span>
546
- <span class='ivar'>@extended_key_usage</span>
547
- <span class='kw'>end</span></pre>
548
- </td>
549
- </tr>
550
- </table>
551
- </div>
552
-
553
-
554
- <span id=""></span>
555
- <div class="method_details ">
556
- <h3 class="signature " id="key_usage-instance_method">
557
-
558
- - (<tt>Object</tt>) <strong>key_usage</strong> <span class="extras">(readonly)</span>
559
-
560
-
561
-
562
-
563
-
564
- </h3><div class="docstring">
565
- <div class="discussion">
566
-
567
- <p>Returns the value of attribute key_usage</p>
568
-
569
-
570
- </div>
571
- </div>
572
- <div class="tags">
573
-
574
-
575
- </div><table class="source_code">
576
- <tr>
577
- <td>
578
- <pre class="lines">
579
-
580
-
581
- 15
582
- 16
583
- 17</pre>
584
- </td>
585
- <td>
586
- <pre class="code"><span class="info file"># File 'lib/r509/config.rb', line 15</span>
587
-
588
- <span class='kw'>def</span> <span class='id identifier rubyid_key_usage'>key_usage</span>
589
- <span class='ivar'>@key_usage</span>
590
- <span class='kw'>end</span></pre>
591
- </td>
592
- </tr>
593
- </table>
594
- </div>
595
-
596
-
597
- <span id=""></span>
598
- <div class="method_details ">
599
- <h3 class="signature " id="subject_item_policy-instance_method">
600
-
601
- - (<tt>Object</tt>) <strong>subject_item_policy</strong> <span class="extras">(readonly)</span>
602
-
603
-
604
-
605
-
606
-
607
- </h3><div class="docstring">
608
- <div class="discussion">
609
-
610
- <p>Returns the value of attribute subject_item_policy</p>
611
-
612
-
613
- </div>
614
- </div>
615
- <div class="tags">
616
-
617
-
618
- </div><table class="source_code">
619
- <tr>
620
- <td>
621
- <pre class="lines">
622
-
623
-
624
- 15
625
- 16
626
- 17</pre>
627
- </td>
628
- <td>
629
- <pre class="code"><span class="info file"># File 'lib/r509/config.rb', line 15</span>
630
-
631
- <span class='kw'>def</span> <span class='id identifier rubyid_subject_item_policy'>subject_item_policy</span>
632
- <span class='ivar'>@subject_item_policy</span>
633
- <span class='kw'>end</span></pre>
634
- </td>
635
- </tr>
636
- </table>
637
- </div>
638
-
639
- </div>
640
-
641
-
642
- </div>
643
-
644
- <div id="footer">
645
- Generated on Thu Nov 8 14:19:26 2012 by
646
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
647
- 0.8.2.1 (ruby-1.9.3).
648
- </div>
649
-
650
- </body>
651
- </html>