r509 0.8.1 → 0.9

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 (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>