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
@@ -1,2073 +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::Crl::Administrator
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 (A)</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="../Crl.html" title="R509::Crl (module)">Crl</a></span></span>
36
- &raquo;
37
- <span class="title">Administrator</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::Crl::Administrator
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::Crl::Administrator</li>
82
-
83
- </ul>
84
- <a href="#" class="inheritanceTree">show all</a>
85
-
86
- </dd>
87
-
88
-
89
-
90
-
91
-
92
-
93
- <dt class="r2">Includes:</dt>
94
- <dd class="r2"><span class='object_link'><a href="../IOHelpers.html" title="R509::IOHelpers (module)">IOHelpers</a></span></dd>
95
-
96
-
97
-
98
-
99
-
100
- <dt class="r1 last">Defined in:</dt>
101
- <dd class="r1 last">lib/r509/crl.rb</dd>
102
-
103
- </dl>
104
- <div class="clear"></div>
105
-
106
- <h2>Overview</h2><div class="docstring">
107
- <div class="discussion">
108
-
109
- <p>Used to manage revocations and generate CRLs</p>
110
-
111
-
112
- </div>
113
- </div>
114
- <div class="tags">
115
-
116
-
117
- </div>
118
-
119
-
120
-
121
- <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
122
- <ul class="summary">
123
-
124
- <li class="public ">
125
- <span class="summary_signature">
126
-
127
- <a href="#crl_list_file-instance_method" title="#crl_list_file (instance method)">- (Object) <strong>crl_list_file</strong> </a>
128
-
129
-
130
-
131
- </span>
132
-
133
-
134
-
135
-
136
- <span class="note title readonly">readonly</span>
137
-
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
- <span class="summary_desc"><div class='inline'>
147
- <p>Returns the value of attribute crl_list_file.</p>
148
- </div></span>
149
-
150
- </li>
151
-
152
-
153
- <li class="public ">
154
- <span class="summary_signature">
155
-
156
- <a href="#crl_number-instance_method" title="#crl_number (instance method)">- (Object) <strong>crl_number</strong> </a>
157
-
158
-
159
-
160
- </span>
161
-
162
-
163
-
164
-
165
- <span class="note title readonly">readonly</span>
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
- <span class="summary_desc"><div class='inline'>
176
- <p>Returns the value of attribute crl_number.</p>
177
- </div></span>
178
-
179
- </li>
180
-
181
-
182
- <li class="public ">
183
- <span class="summary_signature">
184
-
185
- <a href="#crl_number_file-instance_method" title="#crl_number_file (instance method)">- (Object) <strong>crl_number_file</strong> </a>
186
-
187
-
188
-
189
- </span>
190
-
191
-
192
-
193
-
194
- <span class="note title readonly">readonly</span>
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
-
203
-
204
- <span class="summary_desc"><div class='inline'>
205
- <p>Returns the value of attribute crl_number_file.</p>
206
- </div></span>
207
-
208
- </li>
209
-
210
-
211
- <li class="public ">
212
- <span class="summary_signature">
213
-
214
- <a href="#validity_hours-instance_method" title="#validity_hours (instance method)">- (Object) <strong>validity_hours</strong> </a>
215
-
216
-
217
-
218
- </span>
219
-
220
-
221
-
222
-
223
- <span class="note title readonly">readonly</span>
224
-
225
-
226
-
227
-
228
-
229
-
230
-
231
-
232
-
233
- <span class="summary_desc"><div class='inline'>
234
- <p>Returns the value of attribute validity_hours.</p>
235
- </div></span>
236
-
237
- </li>
238
-
239
-
240
- </ul>
241
-
242
-
243
-
244
-
245
-
246
- <h2>
247
- Instance Method Summary
248
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
249
- </h2>
250
-
251
- <ul class="summary">
252
-
253
- <li class="public ">
254
- <span class="summary_signature">
255
-
256
- <a href="#generate_crl-instance_method" title="#generate_crl (instance method)">- (String) <strong>generate_crl</strong> </a>
257
-
258
-
259
-
260
- </span>
261
-
262
-
263
-
264
-
265
-
266
-
267
-
268
-
269
-
270
- <span class="summary_desc"><div class='inline'>
271
- <p>Remove serial from revocation list.</p>
272
- </div></span>
273
-
274
- </li>
275
-
276
-
277
- <li class="public ">
278
- <span class="summary_signature">
279
-
280
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (Administrator) <strong>initialize</strong>(config) </a>
281
-
282
-
283
-
284
- </span>
285
-
286
-
287
- <span class="note title constructor">constructor</span>
288
-
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
- <span class="summary_desc"><div class='inline'>
297
- <p>A new instance of Administrator.</p>
298
- </div></span>
299
-
300
- </li>
301
-
302
-
303
- <li class="public ">
304
- <span class="summary_signature">
305
-
306
- <a href="#last_update-instance_method" title="#last_update (instance method)">- (Time) <strong>last_update</strong> </a>
307
-
308
-
309
-
310
- </span>
311
-
312
-
313
-
314
-
315
-
316
-
317
-
318
-
319
-
320
- <span class="summary_desc"><div class='inline'>
321
- <p>Returns the signing time of the CRL.</p>
322
- </div></span>
323
-
324
- </li>
325
-
326
-
327
- <li class="public ">
328
- <span class="summary_signature">
329
-
330
- <a href="#next_update-instance_method" title="#next_update (instance method)">- (Time) <strong>next_update</strong> </a>
331
-
332
-
333
-
334
- </span>
335
-
336
-
337
-
338
-
339
-
340
-
341
-
342
-
343
-
344
- <span class="summary_desc"><div class='inline'>
345
- <p>Returns the next update time for the CRL.</p>
346
- </div></span>
347
-
348
- </li>
349
-
350
-
351
- <li class="public ">
352
- <span class="summary_signature">
353
-
354
- <a href="#revoke_cert-instance_method" title="#revoke_cert (instance method)">- (Object) <strong>revoke_cert</strong>(serial, reason = nil, revoke_time = Time.now.to_i, generate_and_save = true) </a>
355
-
356
-
357
-
358
- </span>
359
-
360
-
361
-
362
-
363
-
364
-
365
-
366
-
367
-
368
- <span class="summary_desc"><div class='inline'>
369
- <p>Adds a certificate to the revocation list.</p>
370
- </div></span>
371
-
372
- </li>
373
-
374
-
375
- <li class="public ">
376
- <span class="summary_signature">
377
-
378
- <a href="#revoked%3F-instance_method" title="#revoked? (instance method)">- (Boolean) <strong>revoked?</strong>(serial) </a>
379
-
380
-
381
-
382
- </span>
383
-
384
-
385
-
386
-
387
-
388
-
389
-
390
-
391
-
392
- <span class="summary_desc"><div class='inline'>
393
- <p>Indicates whether the serial number has been revoked, or not.</p>
394
- </div></span>
395
-
396
- </li>
397
-
398
-
399
- <li class="public ">
400
- <span class="summary_signature">
401
-
402
- <a href="#revoked_cert-instance_method" title="#revoked_cert (instance method)">- (Array) <strong>revoked_cert</strong>(serial) </a>
403
-
404
-
405
-
406
- </span>
407
-
408
-
409
-
410
-
411
-
412
-
413
-
414
-
415
-
416
- <span class="summary_desc"><div class='inline'>
417
- <p>Serial, reason, revoke_time tuple.</p>
418
- </div></span>
419
-
420
- </li>
421
-
422
-
423
- <li class="public ">
424
- <span class="summary_signature">
425
-
426
- <a href="#revoked_certs-instance_method" title="#revoked_certs (instance method)">- (Array&lt;Array&gt;) <strong>revoked_certs</strong> </a>
427
-
428
-
429
-
430
- </span>
431
-
432
-
433
-
434
-
435
-
436
-
437
-
438
-
439
-
440
- <span class="summary_desc"><div class='inline'>
441
- <p>Returns an array of serial, reason, revoke_time tuples.</p>
442
- </div></span>
443
-
444
- </li>
445
-
446
-
447
- <li class="public ">
448
- <span class="summary_signature">
449
-
450
- <a href="#save_crl_list-instance_method" title="#save_crl_list (instance method)">- (Object) <strong>save_crl_list</strong>(filename_or_io = @crl_list_file) </a>
451
-
452
-
453
-
454
- </span>
455
-
456
-
457
-
458
-
459
-
460
-
461
-
462
-
463
-
464
- <span class="summary_desc"><div class='inline'>
465
- <p>Saves the CRL list to a filename or IO.</p>
466
- </div></span>
467
-
468
- </li>
469
-
470
-
471
- <li class="public ">
472
- <span class="summary_signature">
473
-
474
- <a href="#save_crl_number-instance_method" title="#save_crl_number (instance method)">- (Object) <strong>save_crl_number</strong>(filename_or_io = @crl_number_file) </a>
475
-
476
-
477
-
478
- </span>
479
-
480
-
481
-
482
-
483
-
484
-
485
-
486
-
487
-
488
- <span class="summary_desc"><div class='inline'>
489
- <p>Save the CRL number to a filename or IO.</p>
490
- </div></span>
491
-
492
- </li>
493
-
494
-
495
- <li class="public ">
496
- <span class="summary_signature">
497
-
498
- <a href="#to_crl-instance_method" title="#to_crl (instance method)">- (R509::Crl::Parser) <strong>to_crl</strong> </a>
499
-
500
-
501
-
502
- </span>
503
-
504
-
505
-
506
-
507
-
508
-
509
-
510
-
511
-
512
- <span class="summary_desc"><div class='inline'></div></span>
513
-
514
- </li>
515
-
516
-
517
- <li class="public ">
518
- <span class="summary_signature">
519
-
520
- <a href="#to_der-instance_method" title="#to_der (instance method)">- (String) <strong>to_der</strong> </a>
521
-
522
-
523
-
524
- </span>
525
-
526
-
527
-
528
-
529
-
530
-
531
-
532
-
533
-
534
- <span class="summary_desc"><div class='inline'>
535
- <p>Returns the CRL in DER format.</p>
536
- </div></span>
537
-
538
- </li>
539
-
540
-
541
- <li class="public ">
542
- <span class="summary_signature">
543
-
544
- <a href="#to_pem-instance_method" title="#to_pem (instance method)">- (String) <strong>to_pem</strong> </a>
545
-
546
-
547
-
548
- (also: #to_s)
549
-
550
- </span>
551
-
552
-
553
-
554
-
555
-
556
-
557
-
558
-
559
-
560
- <span class="summary_desc"><div class='inline'>
561
- <p>Returns the CRL in PEM format.</p>
562
- </div></span>
563
-
564
- </li>
565
-
566
-
567
- <li class="public ">
568
- <span class="summary_signature">
569
-
570
- <a href="#unrevoke_cert-instance_method" title="#unrevoke_cert (instance method)">- (Object) <strong>unrevoke_cert</strong>(serial) </a>
571
-
572
-
573
-
574
- </span>
575
-
576
-
577
-
578
-
579
-
580
-
581
-
582
-
583
-
584
- <span class="summary_desc"><div class='inline'>
585
- <p>Remove serial from revocation list.</p>
586
- </div></span>
587
-
588
- </li>
589
-
590
-
591
- <li class="public ">
592
- <span class="summary_signature">
593
-
594
- <a href="#write_der-instance_method" title="#write_der (instance method)">- (Object) <strong>write_der</strong>(filename_or_io) </a>
595
-
596
-
597
-
598
- </span>
599
-
600
-
601
-
602
-
603
-
604
-
605
-
606
-
607
-
608
- <span class="summary_desc"><div class='inline'>
609
- <p>Writes the CRL into the PEM format.</p>
610
- </div></span>
611
-
612
- </li>
613
-
614
-
615
- <li class="public ">
616
- <span class="summary_signature">
617
-
618
- <a href="#write_pem-instance_method" title="#write_pem (instance method)">- (Object) <strong>write_pem</strong>(filename_or_io) </a>
619
-
620
-
621
-
622
- </span>
623
-
624
-
625
-
626
-
627
-
628
-
629
-
630
-
631
-
632
- <span class="summary_desc"><div class='inline'>
633
- <p>Writes the CRL into the PEM format.</p>
634
- </div></span>
635
-
636
- </li>
637
-
638
-
639
- </ul>
640
-
641
-
642
-
643
-
644
-
645
-
646
-
647
-
648
-
649
-
650
-
651
- <h3 class="inherited">Methods included from <span class='object_link'><a href="../IOHelpers.html" title="R509::IOHelpers (module)">IOHelpers</a></span></h3>
652
- <p class="inherited"><span class='object_link'><a href="../IOHelpers.html#read_data-instance_method" title="R509::IOHelpers#read_data (method)">#read_data</a></span>, <span class='object_link'><a href="../IOHelpers.html#read_data-class_method" title="R509::IOHelpers.read_data (method)">read_data</a></span>, <span class='object_link'><a href="../IOHelpers.html#write_data-instance_method" title="R509::IOHelpers#write_data (method)">#write_data</a></span>, <span class='object_link'><a href="../IOHelpers.html#write_data-class_method" title="R509::IOHelpers.write_data (method)">write_data</a></span></p>
653
- <div id="constructor_details" class="method_details_list">
654
- <h2>Constructor Details</h2>
655
-
656
- <div class="method_details first">
657
- <h3 class="signature first" id="initialize-instance_method">
658
-
659
- - (<tt><span class='object_link'><a href="" title="R509::Crl::Administrator (class)">Administrator</a></span></tt>) <strong>initialize</strong>(config)
660
-
661
-
662
-
663
-
664
-
665
- </h3><div class="docstring">
666
- <div class="discussion">
667
-
668
- <p>A new instance of Administrator</p>
669
-
670
-
671
- </div>
672
- </div>
673
- <div class="tags">
674
- <p class="tag_title">Parameters:</p>
675
- <ul class="param">
676
-
677
- <li>
678
-
679
- <span class='name'>config</span>
680
-
681
-
682
- <span class='type'>(<tt><span class='object_link'><a href="../Config/CaConfig.html" title="R509::Config::CaConfig (class)">R509::Config::CaConfig</a></span></tt>)</span>
683
-
684
-
685
-
686
- </li>
687
-
688
- </ul>
689
-
690
-
691
- </div><table class="source_code">
692
- <tr>
693
- <td>
694
- <pre class="lines">
695
-
696
-
697
- 119
698
- 120
699
- 121
700
- 122
701
- 123
702
- 124
703
- 125
704
- 126
705
- 127
706
- 128
707
- 129
708
- 130
709
- 131
710
- 132
711
- 133
712
- 134
713
- 135
714
- 136
715
- 137
716
- 138
717
- 139
718
- 140</pre>
719
- </td>
720
- <td>
721
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 119</span>
722
-
723
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
724
- <span class='ivar'>@config</span> <span class='op'>=</span> <span class='id identifier rubyid_config'>config</span>
725
-
726
- <span class='kw'>unless</span> <span class='ivar'>@config</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'>CaConfig</span><span class='rparen'>)</span>
727
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>R509Error</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>config must be a kind of R509::Config::CaConfig</span><span class='tstring_end'>&quot;</span></span>
728
- <span class='kw'>end</span>
729
-
730
- <span class='ivar'>@validity_hours</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_crl_validity_hours'>crl_validity_hours</span>
731
- <span class='ivar'>@start_skew_seconds</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_crl_start_skew_seconds'>crl_start_skew_seconds</span>
732
- <span class='ivar'>@crl</span> <span class='op'>=</span> <span class='kw'>nil</span>
733
-
734
- <span class='ivar'>@crl_number_file</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_crl_number_file'>crl_number_file</span>
735
- <span class='kw'>if</span> <span class='kw'>not</span> <span class='ivar'>@crl_number_file</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
736
- <span class='ivar'>@crl_number</span> <span class='op'>=</span> <span class='id identifier rubyid_read_data'>read_data</span><span class='lparen'>(</span><span class='ivar'>@crl_number_file</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
737
- <span class='kw'>else</span>
738
- <span class='ivar'>@crl_number</span> <span class='op'>=</span> <span class='int'>0</span>
739
- <span class='kw'>end</span>
740
-
741
-
742
- <span class='ivar'>@crl_list_file</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_crl_list_file'>crl_list_file</span>
743
- <span class='id identifier rubyid_load_crl_list'>load_crl_list</span><span class='lparen'>(</span><span class='ivar'>@crl_list_file</span><span class='rparen'>)</span>
744
- <span class='kw'>end</span></pre>
745
- </td>
746
- </tr>
747
- </table>
748
- </div>
749
-
750
- </div>
751
-
752
- <div id="instance_attr_details" class="attr_details">
753
- <h2>Instance Attribute Details</h2>
754
-
755
-
756
- <span id=""></span>
757
- <div class="method_details first">
758
- <h3 class="signature first" id="crl_list_file-instance_method">
759
-
760
- - (<tt>Object</tt>) <strong>crl_list_file</strong> <span class="extras">(readonly)</span>
761
-
762
-
763
-
764
-
765
-
766
- </h3><div class="docstring">
767
- <div class="discussion">
768
-
769
- <p>Returns the value of attribute crl_list_file</p>
770
-
771
-
772
- </div>
773
- </div>
774
- <div class="tags">
775
-
776
-
777
- </div><table class="source_code">
778
- <tr>
779
- <td>
780
- <pre class="lines">
781
-
782
-
783
- 116
784
- 117
785
- 118</pre>
786
- </td>
787
- <td>
788
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 116</span>
789
-
790
- <span class='kw'>def</span> <span class='id identifier rubyid_crl_list_file'>crl_list_file</span>
791
- <span class='ivar'>@crl_list_file</span>
792
- <span class='kw'>end</span></pre>
793
- </td>
794
- </tr>
795
- </table>
796
- </div>
797
-
798
-
799
- <span id=""></span>
800
- <div class="method_details ">
801
- <h3 class="signature " id="crl_number-instance_method">
802
-
803
- - (<tt>Object</tt>) <strong>crl_number</strong> <span class="extras">(readonly)</span>
804
-
805
-
806
-
807
-
808
-
809
- </h3><div class="docstring">
810
- <div class="discussion">
811
-
812
- <p>Returns the value of attribute crl_number</p>
813
-
814
-
815
- </div>
816
- </div>
817
- <div class="tags">
818
-
819
-
820
- </div><table class="source_code">
821
- <tr>
822
- <td>
823
- <pre class="lines">
824
-
825
-
826
- 116
827
- 117
828
- 118</pre>
829
- </td>
830
- <td>
831
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 116</span>
832
-
833
- <span class='kw'>def</span> <span class='id identifier rubyid_crl_number'>crl_number</span>
834
- <span class='ivar'>@crl_number</span>
835
- <span class='kw'>end</span></pre>
836
- </td>
837
- </tr>
838
- </table>
839
- </div>
840
-
841
-
842
- <span id=""></span>
843
- <div class="method_details ">
844
- <h3 class="signature " id="crl_number_file-instance_method">
845
-
846
- - (<tt>Object</tt>) <strong>crl_number_file</strong> <span class="extras">(readonly)</span>
847
-
848
-
849
-
850
-
851
-
852
- </h3><div class="docstring">
853
- <div class="discussion">
854
-
855
- <p>Returns the value of attribute crl_number_file</p>
856
-
857
-
858
- </div>
859
- </div>
860
- <div class="tags">
861
-
862
-
863
- </div><table class="source_code">
864
- <tr>
865
- <td>
866
- <pre class="lines">
867
-
868
-
869
- 116
870
- 117
871
- 118</pre>
872
- </td>
873
- <td>
874
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 116</span>
875
-
876
- <span class='kw'>def</span> <span class='id identifier rubyid_crl_number_file'>crl_number_file</span>
877
- <span class='ivar'>@crl_number_file</span>
878
- <span class='kw'>end</span></pre>
879
- </td>
880
- </tr>
881
- </table>
882
- </div>
883
-
884
-
885
- <span id=""></span>
886
- <div class="method_details ">
887
- <h3 class="signature " id="validity_hours-instance_method">
888
-
889
- - (<tt>Object</tt>) <strong>validity_hours</strong> <span class="extras">(readonly)</span>
890
-
891
-
892
-
893
-
894
-
895
- </h3><div class="docstring">
896
- <div class="discussion">
897
-
898
- <p>Returns the value of attribute validity_hours</p>
899
-
900
-
901
- </div>
902
- </div>
903
- <div class="tags">
904
-
905
-
906
- </div><table class="source_code">
907
- <tr>
908
- <td>
909
- <pre class="lines">
910
-
911
-
912
- 116
913
- 117
914
- 118</pre>
915
- </td>
916
- <td>
917
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 116</span>
918
-
919
- <span class='kw'>def</span> <span class='id identifier rubyid_validity_hours'>validity_hours</span>
920
- <span class='ivar'>@validity_hours</span>
921
- <span class='kw'>end</span></pre>
922
- </td>
923
- </tr>
924
- </table>
925
- </div>
926
-
927
- </div>
928
-
929
-
930
- <div id="instance_method_details" class="method_details_list">
931
- <h2>Instance Method Details</h2>
932
-
933
-
934
- <div class="method_details first">
935
- <h3 class="signature first" id="generate_crl-instance_method">
936
-
937
- - (<tt>String</tt>) <strong>generate_crl</strong>
938
-
939
-
940
-
941
-
942
-
943
- </h3><div class="docstring">
944
- <div class="discussion">
945
-
946
- <p>Remove serial from revocation list</p>
947
-
948
-
949
- </div>
950
- </div>
951
- <div class="tags">
952
-
953
- <p class="tag_title">Returns:</p>
954
- <ul class="return">
955
-
956
- <li>
957
-
958
-
959
- <span class='type'>(<tt>String</tt>)</span>
960
-
961
-
962
-
963
- &mdash;
964
- <div class='inline'>
965
- <p>PEM encoded signed CRL</p>
966
- </div>
967
-
968
- </li>
969
-
970
- </ul>
971
-
972
- </div><table class="source_code">
973
- <tr>
974
- <td>
975
- <pre class="lines">
976
-
977
-
978
- 258
979
- 259
980
- 260
981
- 261
982
- 262
983
- 263
984
- 264
985
- 265
986
- 266
987
- 267
988
- 268
989
- 269
990
- 270
991
- 271
992
- 272
993
- 273
994
- 274
995
- 275
996
- 276
997
- 277
998
- 278
999
- 279
1000
- 280
1001
- 281
1002
- 282
1003
- 283
1004
- 284
1005
- 285
1006
- 286
1007
- 287
1008
- 288
1009
- 289
1010
- 290
1011
- 291
1012
- 292
1013
- 293
1014
- 294</pre>
1015
- </td>
1016
- <td>
1017
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 258</span>
1018
-
1019
- <span class='kw'>def</span> <span class='id identifier rubyid_generate_crl'>generate_crl</span>
1020
- <span class='id identifier rubyid_crl'>crl</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>X509</span><span class='op'>::</span><span class='const'>CRL</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1021
- <span class='id identifier rubyid_crl'>crl</span><span class='period'>.</span><span class='id identifier rubyid_version'>version</span> <span class='op'>=</span> <span class='int'>1</span>
1022
- <span class='id identifier rubyid_now'>now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
1023
- <span class='id identifier rubyid_crl'>crl</span><span class='period'>.</span><span class='id identifier rubyid_last_update'>last_update</span> <span class='op'>=</span> <span class='id identifier rubyid_now'>now</span><span class='op'>-</span><span class='ivar'>@start_skew_seconds</span>
1024
- <span class='id identifier rubyid_crl'>crl</span><span class='period'>.</span><span class='id identifier rubyid_next_update'>next_update</span> <span class='op'>=</span> <span class='id identifier rubyid_now'>now</span><span class='op'>+</span><span class='ivar'>@validity_hours</span><span class='op'>*</span><span class='int'>3600</span>
1025
- <span class='id identifier rubyid_crl'>crl</span><span class='period'>.</span><span class='id identifier rubyid_issuer'>issuer</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_ca_cert'>ca_cert</span><span class='period'>.</span><span class='id identifier rubyid_subject'>subject</span>
1026
-
1027
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_revoked_certs'>revoked_certs</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_serial'>serial</span><span class='comma'>,</span> <span class='id identifier rubyid_reason'>reason</span><span class='comma'>,</span> <span class='id identifier rubyid_revoke_time'>revoke_time</span><span class='op'>|</span>
1028
- <span class='id identifier rubyid_revoked'>revoked</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>X509</span><span class='op'>::</span><span class='const'>Revoked</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1029
- <span class='id identifier rubyid_revoked'>revoked</span><span class='period'>.</span><span class='id identifier rubyid_serial'>serial</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>BN</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='id identifier rubyid_serial'>serial</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1030
- <span class='id identifier rubyid_revoked'>revoked</span><span class='period'>.</span><span class='id identifier rubyid_time'>time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_revoke_time'>revoke_time</span><span class='rparen'>)</span>
1031
- <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_reason'>reason</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1032
- <span class='id identifier rubyid_enum'>enum</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>ASN1</span><span class='op'>::</span><span class='const'>Enumerated</span><span class='lparen'>(</span><span class='id identifier rubyid_reason'>reason</span><span class='rparen'>)</span> <span class='comment'>#see reason codes below
1033
- </span> <span class='id identifier rubyid_ext'>ext</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>X509</span><span class='op'>::</span><span class='const'>Extension</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>CRLReason</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_enum'>enum</span><span class='rparen'>)</span>
1034
- <span class='id identifier rubyid_revoked'>revoked</span><span class='period'>.</span><span class='id identifier rubyid_add_extension'>add_extension</span><span class='lparen'>(</span><span class='id identifier rubyid_ext'>ext</span><span class='rparen'>)</span>
1035
- <span class='kw'>end</span>
1036
- <span class='comment'>#now add it to the crl
1037
- </span> <span class='id identifier rubyid_crl'>crl</span><span class='period'>.</span><span class='id identifier rubyid_add_revoked'>add_revoked</span><span class='lparen'>(</span><span class='id identifier rubyid_revoked'>revoked</span><span class='rparen'>)</span>
1038
- <span class='kw'>end</span>
1039
-
1040
- <span class='id identifier rubyid_ef'>ef</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>X509</span><span class='op'>::</span><span class='const'>ExtensionFactory</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1041
- <span class='id identifier rubyid_ef'>ef</span><span class='period'>.</span><span class='id identifier rubyid_issuer_certificate'>issuer_certificate</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_ca_cert'>ca_cert</span><span class='period'>.</span><span class='id identifier rubyid_cert'>cert</span>
1042
- <span class='id identifier rubyid_ef'>ef</span><span class='period'>.</span><span class='id identifier rubyid_crl'>crl</span> <span class='op'>=</span> <span class='id identifier rubyid_crl'>crl</span>
1043
- <span class='comment'>#grab crl number from file, increment, write back
1044
- </span> <span class='id identifier rubyid_crl_number'>crl_number</span> <span class='op'>=</span> <span class='id identifier rubyid_increment_crl_number'>increment_crl_number</span>
1045
- <span class='id identifier rubyid_crlnum'>crlnum</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>ASN1</span><span class='op'>::</span><span class='const'>Integer</span><span class='lparen'>(</span><span class='id identifier rubyid_crl_number'>crl_number</span><span class='rparen'>)</span>
1046
- <span class='id identifier rubyid_crl'>crl</span><span class='period'>.</span><span class='id identifier rubyid_add_extension'>add_extension</span><span class='lparen'>(</span><span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>X509</span><span class='op'>::</span><span class='const'>Extension</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>crlNumber</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_crlnum'>crlnum</span><span class='rparen'>)</span><span class='rparen'>)</span>
1047
- <span class='id identifier rubyid_extensions'>extensions</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1048
- <span class='id identifier rubyid_extensions'>extensions</span> <span class='op'>&lt;&lt;</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>authorityKeyIdentifier</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>keyid:always,issuer:always</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='kw'>false</span><span class='rbracket'>]</span>
1049
- <span class='id identifier rubyid_extensions'>extensions</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_oid'>oid</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_critical'>critical</span><span class='op'>|</span>
1050
- <span class='id identifier rubyid_crl'>crl</span><span class='period'>.</span><span class='id identifier rubyid_add_extension'>add_extension</span><span class='lparen'>(</span><span class='id identifier rubyid_ef'>ef</span><span class='period'>.</span><span class='id identifier rubyid_create_extension'>create_extension</span><span class='lparen'>(</span><span class='id identifier rubyid_oid'>oid</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_critical'>critical</span><span class='rparen'>)</span><span class='rparen'>)</span>
1051
- <span class='rbrace'>}</span>
1052
- <span class='id identifier rubyid_crl'>crl</span><span class='period'>.</span><span class='id identifier rubyid_sign'>sign</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_ca_cert'>ca_cert</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>Digest</span><span class='op'>::</span><span class='const'>SHA1</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='rparen'>)</span>
1053
- <span class='ivar'>@crl</span> <span class='op'>=</span> <span class='id identifier rubyid_crl'>crl</span>
1054
- <span class='ivar'>@crl</span><span class='period'>.</span><span class='id identifier rubyid_to_pem'>to_pem</span>
1055
- <span class='kw'>end</span></pre>
1056
- </td>
1057
- </tr>
1058
- </table>
1059
- </div>
1060
-
1061
- <div class="method_details ">
1062
- <h3 class="signature " id="last_update-instance_method">
1063
-
1064
- - (<tt>Time</tt>) <strong>last_update</strong>
1065
-
1066
-
1067
-
1068
-
1069
-
1070
- </h3><div class="docstring">
1071
- <div class="discussion">
1072
-
1073
- <p>Returns the signing time of the CRL</p>
1074
-
1075
-
1076
- </div>
1077
- </div>
1078
- <div class="tags">
1079
-
1080
- <p class="tag_title">Returns:</p>
1081
- <ul class="return">
1082
-
1083
- <li>
1084
-
1085
-
1086
- <span class='type'>(<tt>Time</tt>)</span>
1087
-
1088
-
1089
-
1090
- &mdash;
1091
- <div class='inline'>
1092
- <p>when the CRL was signed</p>
1093
- </div>
1094
-
1095
- </li>
1096
-
1097
- </ul>
1098
-
1099
- </div><table class="source_code">
1100
- <tr>
1101
- <td>
1102
- <pre class="lines">
1103
-
1104
-
1105
- 196
1106
- 197
1107
- 198</pre>
1108
- </td>
1109
- <td>
1110
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 196</span>
1111
-
1112
- <span class='kw'>def</span> <span class='id identifier rubyid_last_update'>last_update</span>
1113
- <span class='ivar'>@crl</span><span class='period'>.</span><span class='id identifier rubyid_last_update'>last_update</span>
1114
- <span class='kw'>end</span></pre>
1115
- </td>
1116
- </tr>
1117
- </table>
1118
- </div>
1119
-
1120
- <div class="method_details ">
1121
- <h3 class="signature " id="next_update-instance_method">
1122
-
1123
- - (<tt>Time</tt>) <strong>next_update</strong>
1124
-
1125
-
1126
-
1127
-
1128
-
1129
- </h3><div class="docstring">
1130
- <div class="discussion">
1131
-
1132
- <p>Returns the next update time for the CRL</p>
1133
-
1134
-
1135
- </div>
1136
- </div>
1137
- <div class="tags">
1138
-
1139
- <p class="tag_title">Returns:</p>
1140
- <ul class="return">
1141
-
1142
- <li>
1143
-
1144
-
1145
- <span class='type'>(<tt>Time</tt>)</span>
1146
-
1147
-
1148
-
1149
- &mdash;
1150
- <div class='inline'>
1151
- <p>when it will be updated next</p>
1152
- </div>
1153
-
1154
- </li>
1155
-
1156
- </ul>
1157
-
1158
- </div><table class="source_code">
1159
- <tr>
1160
- <td>
1161
- <pre class="lines">
1162
-
1163
-
1164
- 203
1165
- 204
1166
- 205</pre>
1167
- </td>
1168
- <td>
1169
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 203</span>
1170
-
1171
- <span class='kw'>def</span> <span class='id identifier rubyid_next_update'>next_update</span>
1172
- <span class='ivar'>@crl</span><span class='period'>.</span><span class='id identifier rubyid_next_update'>next_update</span>
1173
- <span class='kw'>end</span></pre>
1174
- </td>
1175
- </tr>
1176
- </table>
1177
- </div>
1178
-
1179
- <div class="method_details ">
1180
- <h3 class="signature " id="revoke_cert-instance_method">
1181
-
1182
- - (<tt>Object</tt>) <strong>revoke_cert</strong>(serial, reason = nil, revoke_time = Time.now.to_i, generate_and_save = true)
1183
-
1184
-
1185
-
1186
-
1187
-
1188
- </h3><div class="docstring">
1189
- <div class="discussion">
1190
-
1191
- <p>Adds a certificate to the revocation list. After calling you must call
1192
- generate_crl to sign a new CRL</p>
1193
-
1194
-
1195
- </div>
1196
- </div>
1197
- <div class="tags">
1198
- <p class="tag_title">Parameters:</p>
1199
- <ul class="param">
1200
-
1201
- <li>
1202
-
1203
- <span class='name'>serial</span>
1204
-
1205
-
1206
- <span class='type'>(<tt>Integer</tt>)</span>
1207
-
1208
-
1209
-
1210
- &mdash;
1211
- <div class='inline'>
1212
- <p>serial number of the certificate to revoke</p>
1213
- </div>
1214
-
1215
- </li>
1216
-
1217
- <li>
1218
-
1219
- <span class='name'>reason</span>
1220
-
1221
-
1222
- <span class='type'>(<tt>Integer</tt>)</span>
1223
-
1224
-
1225
- <em class="default">(defaults to: <tt>nil</tt>)</em>
1226
-
1227
-
1228
- &mdash;
1229
- <div class='inline'>
1230
- <p>reason for revocation</p>
1231
- </div>
1232
-
1233
- </li>
1234
-
1235
- <li>
1236
-
1237
- <span class='name'>revoke_time</span>
1238
-
1239
-
1240
- <span class='type'>(<tt>Integer</tt>)</span>
1241
-
1242
-
1243
- <em class="default">(defaults to: <tt>Time.now.to_i</tt>)</em>
1244
-
1245
-
1246
- </li>
1247
-
1248
- <li>
1249
-
1250
- <span class='name'>generate_and_save</span>
1251
-
1252
-
1253
- <span class='type'>(<tt>Boolean</tt>)</span>
1254
-
1255
-
1256
- <em class="default">(defaults to: <tt>true</tt>)</em>
1257
-
1258
-
1259
- &mdash;
1260
- <div class='inline'>
1261
- <p>whether we want to generate the CRL and save its file (default=true)</p>
1262
-
1263
- <p>reason codes defined by rfc 5280</p>
1264
-
1265
- <p>CRLReason ::= ENUMERATED {</p>
1266
-
1267
- <pre class="code ruby"><code>unspecified (0),
1268
- keyCompromise (1),
1269
- cACompromise (2),
1270
- affiliationChanged (3),
1271
- superseded (4),
1272
- cessationOfOperation (5),
1273
- certificateHold (6),
1274
- removeFromCRL (8),
1275
- privilegeWithdrawn (9),
1276
- aACompromise (10) }</code></pre>
1277
- </div>
1278
-
1279
- </li>
1280
-
1281
- </ul>
1282
-
1283
-
1284
- </div><table class="source_code">
1285
- <tr>
1286
- <td>
1287
- <pre class="lines">
1288
-
1289
-
1290
- 227
1291
- 228
1292
- 229
1293
- 230
1294
- 231
1295
- 232
1296
- 233
1297
- 234
1298
- 235
1299
- 236
1300
- 237
1301
- 238
1302
- 239
1303
- 240
1304
- 241
1305
- 242
1306
- 243</pre>
1307
- </td>
1308
- <td>
1309
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 227</span>
1310
-
1311
- <span class='kw'>def</span> <span class='id identifier rubyid_revoke_cert'>revoke_cert</span><span class='lparen'>(</span><span class='id identifier rubyid_serial'>serial</span><span class='comma'>,</span><span class='id identifier rubyid_reason'>reason</span><span class='op'>=</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_revoke_time'>revoke_time</span><span class='op'>=</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='comma'>,</span> <span class='id identifier rubyid_generate_and_save'>generate_and_save</span><span class='op'>=</span><span class='kw'>true</span><span class='rparen'>)</span>
1312
- <span class='kw'>if</span> <span class='kw'>not</span> <span class='id identifier rubyid_reason'>reason</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='period'>.</span><span class='id identifier rubyid_between?'>between?</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>10</span><span class='rparen'>)</span>
1313
- <span class='id identifier rubyid_reason'>reason</span> <span class='op'>=</span> <span class='int'>0</span>
1314
- <span class='kw'>end</span>
1315
- <span class='id identifier rubyid_serial'>serial</span> <span class='op'>=</span> <span class='id identifier rubyid_serial'>serial</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
1316
- <span class='id identifier rubyid_reason'>reason</span> <span class='op'>=</span> <span class='id identifier rubyid_reason'>reason</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
1317
- <span class='id identifier rubyid_revoke_time'>revoke_time</span> <span class='op'>=</span> <span class='id identifier rubyid_revoke_time'>revoke_time</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
1318
- <span class='kw'>if</span> <span class='id identifier rubyid_revoked?'>revoked?</span><span class='lparen'>(</span><span class='id identifier rubyid_serial'>serial</span><span class='rparen'>)</span>
1319
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>R509Error</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Cannot revoke a previously revoked certificate</span><span class='tstring_end'>&quot;</span></span>
1320
- <span class='kw'>end</span>
1321
- <span class='ivar'>@revoked_certs</span><span class='lbracket'>[</span><span class='id identifier rubyid_serial'>serial</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='symbol'>:reason</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_reason'>reason</span><span class='comma'>,</span> <span class='symbol'>:revoke_time</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_revoke_time'>revoke_time</span><span class='rbrace'>}</span>
1322
- <span class='kw'>if</span> <span class='id identifier rubyid_generate_and_save'>generate_and_save</span>
1323
- <span class='id identifier rubyid_generate_crl'>generate_crl</span><span class='lparen'>(</span><span class='rparen'>)</span>
1324
- <span class='id identifier rubyid_save_crl_list'>save_crl_list</span><span class='lparen'>(</span><span class='rparen'>)</span>
1325
- <span class='kw'>end</span>
1326
- <span class='kw'>nil</span>
1327
- <span class='kw'>end</span></pre>
1328
- </td>
1329
- </tr>
1330
- </table>
1331
- </div>
1332
-
1333
- <div class="method_details ">
1334
- <h3 class="signature " id="revoked?-instance_method">
1335
-
1336
- - (<tt>Boolean</tt>) <strong>revoked?</strong>(serial)
1337
-
1338
-
1339
-
1340
-
1341
-
1342
- </h3><div class="docstring">
1343
- <div class="discussion">
1344
-
1345
- <p>Indicates whether the serial number has been revoked, or not.</p>
1346
-
1347
-
1348
- </div>
1349
- </div>
1350
- <div class="tags">
1351
- <p class="tag_title">Parameters:</p>
1352
- <ul class="param">
1353
-
1354
- <li>
1355
-
1356
- <span class='name'>serial</span>
1357
-
1358
-
1359
- <span class='type'>(<tt>Integer</tt>)</span>
1360
-
1361
-
1362
-
1363
- &mdash;
1364
- <div class='inline'>
1365
- <p>The serial number we want to check</p>
1366
- </div>
1367
-
1368
- </li>
1369
-
1370
- </ul>
1371
-
1372
- <p class="tag_title">Returns:</p>
1373
- <ul class="return">
1374
-
1375
- <li>
1376
-
1377
-
1378
- <span class='type'>(<tt>Boolean</tt>)</span>
1379
-
1380
-
1381
-
1382
- &mdash;
1383
- <div class='inline'>
1384
- <p>True if the serial number was revoked. False, otherwise.</p>
1385
- </div>
1386
-
1387
- </li>
1388
-
1389
- </ul>
1390
-
1391
- </div><table class="source_code">
1392
- <tr>
1393
- <td>
1394
- <pre class="lines">
1395
-
1396
-
1397
- 146
1398
- 147
1399
- 148</pre>
1400
- </td>
1401
- <td>
1402
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 146</span>
1403
-
1404
- <span class='kw'>def</span> <span class='id identifier rubyid_revoked?'>revoked?</span><span class='lparen'>(</span><span class='id identifier rubyid_serial'>serial</span><span class='rparen'>)</span>
1405
- <span class='ivar'>@revoked_certs</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='id identifier rubyid_serial'>serial</span><span class='rparen'>)</span>
1406
- <span class='kw'>end</span></pre>
1407
- </td>
1408
- </tr>
1409
- </table>
1410
- </div>
1411
-
1412
- <div class="method_details ">
1413
- <h3 class="signature " id="revoked_cert-instance_method">
1414
-
1415
- - (<tt>Array</tt>) <strong>revoked_cert</strong>(serial)
1416
-
1417
-
1418
-
1419
-
1420
-
1421
- </h3><div class="docstring">
1422
- <div class="discussion">
1423
-
1424
- <p>Serial, reason, revoke_time tuple</p>
1425
-
1426
-
1427
- </div>
1428
- </div>
1429
- <div class="tags">
1430
-
1431
- <p class="tag_title">Returns:</p>
1432
- <ul class="return">
1433
-
1434
- <li>
1435
-
1436
-
1437
- <span class='type'>(<tt>Array</tt>)</span>
1438
-
1439
-
1440
-
1441
- &mdash;
1442
- <div class='inline'>
1443
- <p>serial, reason, revoke_time tuple</p>
1444
- </div>
1445
-
1446
- </li>
1447
-
1448
- </ul>
1449
-
1450
- </div><table class="source_code">
1451
- <tr>
1452
- <td>
1453
- <pre class="lines">
1454
-
1455
-
1456
- 151
1457
- 152
1458
- 153</pre>
1459
- </td>
1460
- <td>
1461
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 151</span>
1462
-
1463
- <span class='kw'>def</span> <span class='id identifier rubyid_revoked_cert'>revoked_cert</span><span class='lparen'>(</span><span class='id identifier rubyid_serial'>serial</span><span class='rparen'>)</span>
1464
- <span class='ivar'>@revoked_certs</span><span class='lbracket'>[</span><span class='id identifier rubyid_serial'>serial</span><span class='rbracket'>]</span>
1465
- <span class='kw'>end</span></pre>
1466
- </td>
1467
- </tr>
1468
- </table>
1469
- </div>
1470
-
1471
- <div class="method_details ">
1472
- <h3 class="signature " id="revoked_certs-instance_method">
1473
-
1474
- - (<tt>Array&lt;Array&gt;</tt>) <strong>revoked_certs</strong>
1475
-
1476
-
1477
-
1478
-
1479
-
1480
- </h3><div class="docstring">
1481
- <div class="discussion">
1482
-
1483
- <p>Returns an array of serial, reason, revoke_time tuples.</p>
1484
-
1485
-
1486
- </div>
1487
- </div>
1488
- <div class="tags">
1489
-
1490
- <p class="tag_title">Returns:</p>
1491
- <ul class="return">
1492
-
1493
- <li>
1494
-
1495
-
1496
- <span class='type'>(<tt>Array&lt;Array&gt;</tt>)</span>
1497
-
1498
-
1499
-
1500
- &mdash;
1501
- <div class='inline'>
1502
- <p>Returns an array of serial, reason, revoke_time tuples.</p>
1503
- </div>
1504
-
1505
- </li>
1506
-
1507
- </ul>
1508
-
1509
- </div><table class="source_code">
1510
- <tr>
1511
- <td>
1512
- <pre class="lines">
1513
-
1514
-
1515
- 298
1516
- 299
1517
- 300
1518
- 301
1519
- 302
1520
- 303
1521
- 304</pre>
1522
- </td>
1523
- <td>
1524
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 298</span>
1525
-
1526
- <span class='kw'>def</span> <span class='id identifier rubyid_revoked_certs'>revoked_certs</span>
1527
- <span class='id identifier rubyid_ret'>ret</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1528
- <span class='ivar'>@revoked_certs</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_serial'>serial</span><span class='op'>|</span>
1529
- <span class='id identifier rubyid_ret'>ret</span> <span class='op'>&lt;&lt;</span> <span class='lbracket'>[</span><span class='id identifier rubyid_serial'>serial</span><span class='comma'>,</span> <span class='ivar'>@revoked_certs</span><span class='lbracket'>[</span><span class='id identifier rubyid_serial'>serial</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:reason</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@revoked_certs</span><span class='lbracket'>[</span><span class='id identifier rubyid_serial'>serial</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:revoke_time</span><span class='rbracket'>]</span><span class='rbracket'>]</span>
1530
- <span class='kw'>end</span>
1531
- <span class='id identifier rubyid_ret'>ret</span>
1532
- <span class='kw'>end</span></pre>
1533
- </td>
1534
- </tr>
1535
- </table>
1536
- </div>
1537
-
1538
- <div class="method_details ">
1539
- <h3 class="signature " id="save_crl_list-instance_method">
1540
-
1541
- - (<tt>Object</tt>) <strong>save_crl_list</strong>(filename_or_io = @crl_list_file)
1542
-
1543
-
1544
-
1545
-
1546
-
1547
- </h3><div class="docstring">
1548
- <div class="discussion">
1549
-
1550
- <p>Saves the CRL list to a filename or IO. If the class was initialized with
1551
- :crl_list_file, then the filename specified by that will be used by
1552
- default.</p>
1553
-
1554
-
1555
- </div>
1556
- </div>
1557
- <div class="tags">
1558
- <p class="tag_title">Parameters:</p>
1559
- <ul class="param">
1560
-
1561
- <li>
1562
-
1563
- <span class='name'>filename_or_io</span>
1564
-
1565
-
1566
- <span class='type'>(<tt>String</tt>, <tt>#write</tt>, <tt>nil</tt>)</span>
1567
-
1568
-
1569
- <em class="default">(defaults to: <tt>@crl_list_file</tt>)</em>
1570
-
1571
-
1572
- &mdash;
1573
- <div class='inline'>
1574
- <p>If provided, the generated crl will be written to either the file (if a
1575
- string), or IO. If nil, then the @crl_list_file will be used. If that is
1576
- nil, then an error will be raised.</p>
1577
- </div>
1578
-
1579
- </li>
1580
-
1581
- </ul>
1582
-
1583
-
1584
- </div><table class="source_code">
1585
- <tr>
1586
- <td>
1587
- <pre class="lines">
1588
-
1589
-
1590
- 313
1591
- 314
1592
- 315
1593
- 316
1594
- 317
1595
- 318
1596
- 319
1597
- 320
1598
- 321
1599
- 322</pre>
1600
- </td>
1601
- <td>
1602
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 313</span>
1603
-
1604
- <span class='kw'>def</span> <span class='id identifier rubyid_save_crl_list'>save_crl_list</span><span class='lparen'>(</span><span class='id identifier rubyid_filename_or_io'>filename_or_io</span> <span class='op'>=</span> <span class='ivar'>@crl_list_file</span><span class='rparen'>)</span>
1605
- <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_filename_or_io'>filename_or_io</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1606
-
1607
- <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1608
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_revoked_certs'>revoked_certs</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_serial'>serial</span><span class='comma'>,</span> <span class='id identifier rubyid_reason'>reason</span><span class='comma'>,</span> <span class='id identifier rubyid_revoke_time'>revoke_time</span><span class='op'>|</span>
1609
- <span class='id identifier rubyid_data'>data</span> <span class='op'>&lt;&lt;</span> <span class='lbracket'>[</span><span class='id identifier rubyid_serial'>serial</span><span class='comma'>,</span> <span class='id identifier rubyid_revoke_time'>revoke_time</span><span class='comma'>,</span> <span class='id identifier rubyid_reason'>reason</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>,</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1610
- <span class='kw'>end</span>
1611
- <span class='id identifier rubyid_write_data'>write_data</span><span class='lparen'>(</span><span class='id identifier rubyid_filename_or_io'>filename_or_io</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
1612
- <span class='kw'>nil</span>
1613
- <span class='kw'>end</span></pre>
1614
- </td>
1615
- </tr>
1616
- </table>
1617
- </div>
1618
-
1619
- <div class="method_details ">
1620
- <h3 class="signature " id="save_crl_number-instance_method">
1621
-
1622
- - (<tt>Object</tt>) <strong>save_crl_number</strong>(filename_or_io = @crl_number_file)
1623
-
1624
-
1625
-
1626
-
1627
-
1628
- </h3><div class="docstring">
1629
- <div class="discussion">
1630
-
1631
- <p>Save the CRL number to a filename or IO. If the class was initialized with
1632
- :crl_number_file, then the filename specified by that will be used by
1633
- default.</p>
1634
-
1635
-
1636
- </div>
1637
- </div>
1638
- <div class="tags">
1639
- <p class="tag_title">Parameters:</p>
1640
- <ul class="param">
1641
-
1642
- <li>
1643
-
1644
- <span class='name'>filename_or_io</span>
1645
-
1646
-
1647
- <span class='type'>(<tt>String</tt>, <tt>#write</tt>, <tt>nil</tt>)</span>
1648
-
1649
-
1650
- <em class="default">(defaults to: <tt>@crl_number_file</tt>)</em>
1651
-
1652
-
1653
- &mdash;
1654
- <div class='inline'>
1655
- <p>If provided, the current crl number will be written to either the file (if
1656
- a string), or IO. If nil, then the @crl_number_file will be used. If that
1657
- is nil, then an error will be raised.</p>
1658
- </div>
1659
-
1660
- </li>
1661
-
1662
- </ul>
1663
-
1664
-
1665
- </div><table class="source_code">
1666
- <tr>
1667
- <td>
1668
- <pre class="lines">
1669
-
1670
-
1671
- 331
1672
- 332
1673
- 333
1674
- 334
1675
- 335
1676
- 336
1677
- 337</pre>
1678
- </td>
1679
- <td>
1680
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 331</span>
1681
-
1682
- <span class='kw'>def</span> <span class='id identifier rubyid_save_crl_number'>save_crl_number</span><span class='lparen'>(</span><span class='id identifier rubyid_filename_or_io'>filename_or_io</span> <span class='op'>=</span> <span class='ivar'>@crl_number_file</span><span class='rparen'>)</span>
1683
- <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_filename_or_io'>filename_or_io</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1684
- <span class='comment'># No valid filename or IO was specified, so bail.
1685
- </span>
1686
- <span class='id identifier rubyid_write_data'>write_data</span><span class='lparen'>(</span><span class='id identifier rubyid_filename_or_io'>filename_or_io</span><span class='comma'>,</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_crl_number'>crl_number</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
1687
- <span class='kw'>nil</span>
1688
- <span class='kw'>end</span></pre>
1689
- </td>
1690
- </tr>
1691
- </table>
1692
- </div>
1693
-
1694
- <div class="method_details ">
1695
- <h3 class="signature " id="to_crl-instance_method">
1696
-
1697
- - (<tt><span class='object_link'><a href="Parser.html" title="R509::Crl::Parser (class)">R509::Crl::Parser</a></span></tt>) <strong>to_crl</strong>
1698
-
1699
-
1700
-
1701
-
1702
-
1703
- </h3><div class="docstring">
1704
- <div class="discussion">
1705
-
1706
-
1707
- </div>
1708
- </div>
1709
- <div class="tags">
1710
-
1711
- <p class="tag_title">Returns:</p>
1712
- <ul class="return">
1713
-
1714
- <li>
1715
-
1716
-
1717
- <span class='type'>(<tt><span class='object_link'><a href="Parser.html" title="R509::Crl::Parser (class)">R509::Crl::Parser</a></span></tt>)</span>
1718
-
1719
-
1720
-
1721
- </li>
1722
-
1723
- </ul>
1724
-
1725
- </div><table class="source_code">
1726
- <tr>
1727
- <td>
1728
- <pre class="lines">
1729
-
1730
-
1731
- 172
1732
- 173
1733
- 174
1734
- 175</pre>
1735
- </td>
1736
- <td>
1737
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 172</span>
1738
-
1739
- <span class='kw'>def</span> <span class='id identifier rubyid_to_crl'>to_crl</span>
1740
- <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='ivar'>@crl</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1741
- <span class='kw'>return</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>Crl</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@crl</span><span class='rparen'>)</span>
1742
- <span class='kw'>end</span></pre>
1743
- </td>
1744
- </tr>
1745
- </table>
1746
- </div>
1747
-
1748
- <div class="method_details ">
1749
- <h3 class="signature " id="to_der-instance_method">
1750
-
1751
- - (<tt>String</tt>) <strong>to_der</strong>
1752
-
1753
-
1754
-
1755
-
1756
-
1757
- </h3><div class="docstring">
1758
- <div class="discussion">
1759
-
1760
- <p>Returns the CRL in DER format</p>
1761
-
1762
-
1763
- </div>
1764
- </div>
1765
- <div class="tags">
1766
-
1767
- <p class="tag_title">Returns:</p>
1768
- <ul class="return">
1769
-
1770
- <li>
1771
-
1772
-
1773
- <span class='type'>(<tt>String</tt>)</span>
1774
-
1775
-
1776
-
1777
- &mdash;
1778
- <div class='inline'>
1779
- <p>the CRL in DER format</p>
1780
- </div>
1781
-
1782
- </li>
1783
-
1784
- </ul>
1785
-
1786
- </div><table class="source_code">
1787
- <tr>
1788
- <td>
1789
- <pre class="lines">
1790
-
1791
-
1792
- 167
1793
- 168
1794
- 169</pre>
1795
- </td>
1796
- <td>
1797
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 167</span>
1798
-
1799
- <span class='kw'>def</span> <span class='id identifier rubyid_to_der'>to_der</span>
1800
- <span class='ivar'>@crl</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span>
1801
- <span class='kw'>end</span></pre>
1802
- </td>
1803
- </tr>
1804
- </table>
1805
- </div>
1806
-
1807
- <div class="method_details ">
1808
- <h3 class="signature " id="to_pem-instance_method">
1809
-
1810
- - (<tt>String</tt>) <strong>to_pem</strong>
1811
-
1812
-
1813
-
1814
- <span class="aliases">Also known as:
1815
- <span class="names"><span id='to_s-instance_method'>to_s</span></span>
1816
- </span>
1817
-
1818
-
1819
-
1820
- </h3><div class="docstring">
1821
- <div class="discussion">
1822
-
1823
- <p>Returns the CRL in PEM format</p>
1824
-
1825
-
1826
- </div>
1827
- </div>
1828
- <div class="tags">
1829
-
1830
- <p class="tag_title">Returns:</p>
1831
- <ul class="return">
1832
-
1833
- <li>
1834
-
1835
-
1836
- <span class='type'>(<tt>String</tt>)</span>
1837
-
1838
-
1839
-
1840
- &mdash;
1841
- <div class='inline'>
1842
- <p>the CRL in PEM format</p>
1843
- </div>
1844
-
1845
- </li>
1846
-
1847
- </ul>
1848
-
1849
- </div><table class="source_code">
1850
- <tr>
1851
- <td>
1852
- <pre class="lines">
1853
-
1854
-
1855
- 158
1856
- 159
1857
- 160</pre>
1858
- </td>
1859
- <td>
1860
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 158</span>
1861
-
1862
- <span class='kw'>def</span> <span class='id identifier rubyid_to_pem'>to_pem</span>
1863
- <span class='ivar'>@crl</span><span class='period'>.</span><span class='id identifier rubyid_to_pem'>to_pem</span>
1864
- <span class='kw'>end</span></pre>
1865
- </td>
1866
- </tr>
1867
- </table>
1868
- </div>
1869
-
1870
- <div class="method_details ">
1871
- <h3 class="signature " id="unrevoke_cert-instance_method">
1872
-
1873
- - (<tt>Object</tt>) <strong>unrevoke_cert</strong>(serial)
1874
-
1875
-
1876
-
1877
-
1878
-
1879
- </h3><div class="docstring">
1880
- <div class="discussion">
1881
-
1882
- <p>Remove serial from revocation list. After unrevoking you must call
1883
- generate_crl to sign a new CRL</p>
1884
-
1885
-
1886
- </div>
1887
- </div>
1888
- <div class="tags">
1889
- <p class="tag_title">Parameters:</p>
1890
- <ul class="param">
1891
-
1892
- <li>
1893
-
1894
- <span class='name'>serial</span>
1895
-
1896
-
1897
- <span class='type'>(<tt>Integer</tt>)</span>
1898
-
1899
-
1900
-
1901
- &mdash;
1902
- <div class='inline'>
1903
- <p>serial number of the certificate to remove from revocation</p>
1904
- </div>
1905
-
1906
- </li>
1907
-
1908
- </ul>
1909
-
1910
-
1911
- </div><table class="source_code">
1912
- <tr>
1913
- <td>
1914
- <pre class="lines">
1915
-
1916
-
1917
- 248
1918
- 249
1919
- 250
1920
- 251
1921
- 252
1922
- 253</pre>
1923
- </td>
1924
- <td>
1925
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 248</span>
1926
-
1927
- <span class='kw'>def</span> <span class='id identifier rubyid_unrevoke_cert'>unrevoke_cert</span><span class='lparen'>(</span><span class='id identifier rubyid_serial'>serial</span><span class='rparen'>)</span>
1928
- <span class='ivar'>@revoked_certs</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_serial'>serial</span><span class='rparen'>)</span>
1929
- <span class='id identifier rubyid_generate_crl'>generate_crl</span><span class='lparen'>(</span><span class='rparen'>)</span>
1930
- <span class='id identifier rubyid_save_crl_list'>save_crl_list</span><span class='lparen'>(</span><span class='rparen'>)</span>
1931
- <span class='kw'>nil</span>
1932
- <span class='kw'>end</span></pre>
1933
- </td>
1934
- </tr>
1935
- </table>
1936
- </div>
1937
-
1938
- <div class="method_details ">
1939
- <h3 class="signature " id="write_der-instance_method">
1940
-
1941
- - (<tt>Object</tt>) <strong>write_der</strong>(filename_or_io)
1942
-
1943
-
1944
-
1945
-
1946
-
1947
- </h3><div class="docstring">
1948
- <div class="discussion">
1949
-
1950
- <p>Writes the CRL into the PEM format</p>
1951
-
1952
-
1953
- </div>
1954
- </div>
1955
- <div class="tags">
1956
- <p class="tag_title">Parameters:</p>
1957
- <ul class="param">
1958
-
1959
- <li>
1960
-
1961
- <span class='name'>filename_or_io</span>
1962
-
1963
-
1964
- <span class='type'>(<tt>String</tt>, <tt>#write</tt>)</span>
1965
-
1966
-
1967
-
1968
- &mdash;
1969
- <div class='inline'>
1970
- <p>Either a string of the path for the file that you'd like to write, or an
1971
- IO-like object.</p>
1972
- </div>
1973
-
1974
- </li>
1975
-
1976
- </ul>
1977
-
1978
-
1979
- </div><table class="source_code">
1980
- <tr>
1981
- <td>
1982
- <pre class="lines">
1983
-
1984
-
1985
- 189
1986
- 190
1987
- 191</pre>
1988
- </td>
1989
- <td>
1990
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 189</span>
1991
-
1992
- <span class='kw'>def</span> <span class='id identifier rubyid_write_der'>write_der</span><span class='lparen'>(</span><span class='id identifier rubyid_filename_or_io'>filename_or_io</span><span class='rparen'>)</span>
1993
- <span class='id identifier rubyid_write_data'>write_data</span><span class='lparen'>(</span><span class='id identifier rubyid_filename_or_io'>filename_or_io</span><span class='comma'>,</span> <span class='ivar'>@crl</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span><span class='rparen'>)</span>
1994
- <span class='kw'>end</span></pre>
1995
- </td>
1996
- </tr>
1997
- </table>
1998
- </div>
1999
-
2000
- <div class="method_details ">
2001
- <h3 class="signature " id="write_pem-instance_method">
2002
-
2003
- - (<tt>Object</tt>) <strong>write_pem</strong>(filename_or_io)
2004
-
2005
-
2006
-
2007
-
2008
-
2009
- </h3><div class="docstring">
2010
- <div class="discussion">
2011
-
2012
- <p>Writes the CRL into the PEM format</p>
2013
-
2014
-
2015
- </div>
2016
- </div>
2017
- <div class="tags">
2018
- <p class="tag_title">Parameters:</p>
2019
- <ul class="param">
2020
-
2021
- <li>
2022
-
2023
- <span class='name'>filename_or_io</span>
2024
-
2025
-
2026
- <span class='type'>(<tt>String</tt>, <tt>#write</tt>)</span>
2027
-
2028
-
2029
-
2030
- &mdash;
2031
- <div class='inline'>
2032
- <p>Either a string of the path for the file that you'd like to write, or an
2033
- IO-like object.</p>
2034
- </div>
2035
-
2036
- </li>
2037
-
2038
- </ul>
2039
-
2040
-
2041
- </div><table class="source_code">
2042
- <tr>
2043
- <td>
2044
- <pre class="lines">
2045
-
2046
-
2047
- 181
2048
- 182
2049
- 183</pre>
2050
- </td>
2051
- <td>
2052
- <pre class="code"><span class="info file"># File 'lib/r509/crl.rb', line 181</span>
2053
-
2054
- <span class='kw'>def</span> <span class='id identifier rubyid_write_pem'>write_pem</span><span class='lparen'>(</span><span class='id identifier rubyid_filename_or_io'>filename_or_io</span><span class='rparen'>)</span>
2055
- <span class='id identifier rubyid_write_data'>write_data</span><span class='lparen'>(</span><span class='id identifier rubyid_filename_or_io'>filename_or_io</span><span class='comma'>,</span> <span class='ivar'>@crl</span><span class='period'>.</span><span class='id identifier rubyid_to_pem'>to_pem</span><span class='rparen'>)</span>
2056
- <span class='kw'>end</span></pre>
2057
- </td>
2058
- </tr>
2059
- </table>
2060
- </div>
2061
-
2062
- </div>
2063
-
2064
- </div>
2065
-
2066
- <div id="footer">
2067
- Generated on Thu Nov 8 14:19:25 2012 by
2068
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2069
- 0.8.2.1 (ruby-1.9.3).
2070
- </div>
2071
-
2072
- </body>
2073
- </html>