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
data/doc/R509/Cert.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: R509::Cert
8
8
 
9
- &mdash; Documentation by YARD 0.8.2.1
9
+ &mdash; Documentation by YARD 0.8.5
10
10
 
11
11
  </title>
12
12
 
@@ -159,6 +159,35 @@
159
159
  <p>Returns the value of attribute cert.</p>
160
160
  </div></span>
161
161
 
162
+ </li>
163
+
164
+
165
+ <li class="public ">
166
+ <span class="summary_signature">
167
+
168
+ <a href="#issuer-instance_method" title="#issuer (instance method)">- (Object) <strong>issuer</strong> </a>
169
+
170
+
171
+
172
+ </span>
173
+
174
+
175
+
176
+
177
+ <span class="note title readonly">readonly</span>
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+ <span class="summary_desc"><div class='inline'>
188
+ <p>Returns the value of attribute issuer.</p>
189
+ </div></span>
190
+
162
191
  </li>
163
192
 
164
193
 
@@ -188,6 +217,35 @@
188
217
  <p>Returns the value of attribute key.</p>
189
218
  </div></span>
190
219
 
220
+ </li>
221
+
222
+
223
+ <li class="public ">
224
+ <span class="summary_signature">
225
+
226
+ <a href="#subject-instance_method" title="#subject (instance method)">- (Object) <strong>subject</strong> </a>
227
+
228
+
229
+
230
+ </span>
231
+
232
+
233
+
234
+
235
+ <span class="note title readonly">readonly</span>
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+ <span class="summary_desc"><div class='inline'>
246
+ <p>Returns the value of attribute subject.</p>
247
+ </div></span>
248
+
191
249
  </li>
192
250
 
193
251
 
@@ -240,10 +298,36 @@
240
298
  <li class="public ">
241
299
  <span class="summary_signature">
242
300
 
301
+ <a href="#all_names-instance_method" title="#all_names (instance method)">- (Array) <strong>all_names</strong> </a>
302
+
303
+
304
+
305
+ </span>
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+ <span class="summary_desc"><div class='inline'>
316
+ <p>Return the CN, as well as all the subject alternative names (SANs).</p>
317
+ </div></span>
318
+
319
+ </li>
320
+
321
+
322
+ <li class="public ">
323
+ <span class="summary_signature">
324
+
243
325
  <a href="#authority_info_access-instance_method" title="#authority_info_access (instance method)">- (R509::Cert::Extensions::AuthorityInfoAccess) <strong>authority_info_access</strong> </a>
244
326
 
245
327
 
246
328
 
329
+ (also: #aia)
330
+
247
331
  </span>
248
332
 
249
333
 
@@ -337,7 +421,7 @@ extension.</p>
337
421
  <li class="public ">
338
422
  <span class="summary_signature">
339
423
 
340
- <a href="#crl_distribution_points-instance_method" title="#crl_distribution_points (instance method)">- (R509::Cert::Extensions::CrlDistributionPoints) <strong>crl_distribution_points</strong> </a>
424
+ <a href="#certificate_policies-instance_method" title="#certificate_policies (instance method)">- (R509::Cert::Extensions::CertificatePolicies) <strong>certificate_policies</strong> </a>
341
425
 
342
426
 
343
427
 
@@ -352,7 +436,7 @@ extension.</p>
352
436
 
353
437
 
354
438
  <span class="summary_desc"><div class='inline'>
355
- <p>Returns this object's CrlDistributionPoints extension as an R509 extension.</p>
439
+ <p>Returns this object's CertificatePolicies extension as an R509 extension.</p>
356
440
  </div></span>
357
441
 
358
442
  </li>
@@ -361,10 +445,12 @@ extension.</p>
361
445
  <li class="public ">
362
446
  <span class="summary_signature">
363
447
 
364
- <a href="#dsa%3F-instance_method" title="#dsa? (instance method)">- (Boolean) <strong>dsa?</strong> </a>
448
+ <a href="#crl_distribution_points-instance_method" title="#crl_distribution_points (instance method)">- (R509::Cert::Extensions::CRLDistributionPoints) <strong>crl_distribution_points</strong> </a>
365
449
 
366
450
 
367
451
 
452
+ (also: #cdp)
453
+
368
454
  </span>
369
455
 
370
456
 
@@ -376,7 +462,7 @@ extension.</p>
376
462
 
377
463
 
378
464
  <span class="summary_desc"><div class='inline'>
379
- <p>Returns whether the public key is DSA.</p>
465
+ <p>Returns this object's CRLDistributionPoints extension as an R509 extension.</p>
380
466
  </div></span>
381
467
 
382
468
  </li>
@@ -385,7 +471,7 @@ extension.</p>
385
471
  <li class="public ">
386
472
  <span class="summary_signature">
387
473
 
388
- <a href="#extended_key_usage-instance_method" title="#extended_key_usage (instance method)">- (R509::Cert::Extensions::ExtendedKeyUsage) <strong>extended_key_usage</strong> </a>
474
+ <a href="#curve_name-instance_method" title="#curve_name (instance method)">- (String) <strong>curve_name</strong> </a>
389
475
 
390
476
 
391
477
 
@@ -400,7 +486,8 @@ extension.</p>
400
486
 
401
487
 
402
488
  <span class="summary_desc"><div class='inline'>
403
- <p>Returns this object's ExtendedKeyUsage extension as an R509 extension.</p>
489
+ <p>Returns the short name of the elliptic curve used to generate the public
490
+ key if the key is EC.</p>
404
491
  </div></span>
405
492
 
406
493
  </li>
@@ -409,7 +496,7 @@ extension.</p>
409
496
  <li class="public ">
410
497
  <span class="summary_signature">
411
498
 
412
- <a href="#extensions-instance_method" title="#extensions (instance method)">- (Array) <strong>extensions</strong> </a>
499
+ <a href="#dsa%3F-instance_method" title="#dsa? (instance method)">- (Boolean) <strong>dsa?</strong> </a>
413
500
 
414
501
 
415
502
 
@@ -424,7 +511,7 @@ extension.</p>
424
511
 
425
512
 
426
513
  <span class="summary_desc"><div class='inline'>
427
- <p>Return the certificate extensions.</p>
514
+ <p>Returns whether the public key is DSA.</p>
428
515
  </div></span>
429
516
 
430
517
  </li>
@@ -433,7 +520,7 @@ extension.</p>
433
520
  <li class="public ">
434
521
  <span class="summary_signature">
435
522
 
436
- <a href="#fingerprint-instance_method" title="#fingerprint (instance method)">- (String) <strong>fingerprint</strong>(algorithm = 'sha1') </a>
523
+ <a href="#ec%3F-instance_method" title="#ec? (instance method)">- (Boolean) <strong>ec?</strong> </a>
437
524
 
438
525
 
439
526
 
@@ -448,8 +535,7 @@ extension.</p>
448
535
 
449
536
 
450
537
  <span class="summary_desc"><div class='inline'>
451
- <p>Returns the certificate fingerprint with the specified algorithm (default
452
- sha1).</p>
538
+ <p>Returns whether the public key is EC.</p>
453
539
  </div></span>
454
540
 
455
541
  </li>
@@ -458,10 +544,12 @@ sha1).</p>
458
544
  <li class="public ">
459
545
  <span class="summary_signature">
460
546
 
461
- <a href="#has_private_key%3F-instance_method" title="#has_private_key? (instance method)">- (Boolean) <strong>has_private_key?</strong> </a>
547
+ <a href="#extended_key_usage-instance_method" title="#extended_key_usage (instance method)">- (R509::Cert::Extensions::ExtendedKeyUsage) <strong>extended_key_usage</strong> </a>
462
548
 
463
549
 
464
550
 
551
+ (also: #eku)
552
+
465
553
  </span>
466
554
 
467
555
 
@@ -473,7 +561,7 @@ sha1).</p>
473
561
 
474
562
 
475
563
  <span class="summary_desc"><div class='inline'>
476
- <p>Boolean of whether the object contains a private key.</p>
564
+ <p>Returns this object's ExtendedKeyUsage extension as an R509 extension.</p>
477
565
  </div></span>
478
566
 
479
567
  </li>
@@ -482,15 +570,13 @@ sha1).</p>
482
570
  <li class="public ">
483
571
  <span class="summary_signature">
484
572
 
485
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (Cert) <strong>initialize</strong>(opts = {}) </a>
573
+ <a href="#extensions-instance_method" title="#extensions (instance method)">- (Hash) <strong>extensions</strong> </a>
486
574
 
487
575
 
488
576
 
489
577
  </span>
490
578
 
491
579
 
492
- <span class="note title constructor">constructor</span>
493
-
494
580
 
495
581
 
496
582
 
@@ -499,7 +585,8 @@ sha1).</p>
499
585
 
500
586
 
501
587
  <span class="summary_desc"><div class='inline'>
502
- <p>A new instance of Cert.</p>
588
+ <p>Returns the certificate extensions as a hash of R509::Cert::Extensions
589
+ specific objects.</p>
503
590
  </div></span>
504
591
 
505
592
  </li>
@@ -508,7 +595,7 @@ sha1).</p>
508
595
  <li class="public ">
509
596
  <span class="summary_signature">
510
597
 
511
- <a href="#is_revoked_by_crl%3F-instance_method" title="#is_revoked_by_crl? (instance method)">- (Boolean) <strong>is_revoked_by_crl?</strong>(r509_crl) </a>
598
+ <a href="#fingerprint-instance_method" title="#fingerprint (instance method)">- (String) <strong>fingerprint</strong>(algorithm = 'sha1') </a>
512
599
 
513
600
 
514
601
 
@@ -523,7 +610,8 @@ sha1).</p>
523
610
 
524
611
 
525
612
  <span class="summary_desc"><div class='inline'>
526
- <p>Checks the given CRL for this certificate's serial number.</p>
613
+ <p>Returns the certificate fingerprint with the specified algorithm (default
614
+ sha1).</p>
527
615
  </div></span>
528
616
 
529
617
  </li>
@@ -532,7 +620,7 @@ sha1).</p>
532
620
  <li class="public ">
533
621
  <span class="summary_signature">
534
622
 
535
- <a href="#issuer-instance_method" title="#issuer (instance method)">- (OpenSSL::X509::Name) <strong>issuer</strong> </a>
623
+ <a href="#has_private_key%3F-instance_method" title="#has_private_key? (instance method)">- (Boolean) <strong>has_private_key?</strong> </a>
536
624
 
537
625
 
538
626
 
@@ -547,7 +635,7 @@ sha1).</p>
547
635
 
548
636
 
549
637
  <span class="summary_desc"><div class='inline'>
550
- <p>Returns the issuer.</p>
638
+ <p>Boolean of whether the object contains a private key.</p>
551
639
  </div></span>
552
640
 
553
641
  </li>
@@ -556,7 +644,7 @@ sha1).</p>
556
644
  <li class="public ">
557
645
  <span class="summary_signature">
558
646
 
559
- <a href="#issuer_cn-instance_method" title="#issuer_cn (instance method)">- (String) <strong>issuer_cn</strong> </a>
647
+ <a href="#hexserial-instance_method" title="#hexserial (instance method)">- (String) <strong>hexserial</strong> </a>
560
648
 
561
649
 
562
650
 
@@ -571,7 +659,7 @@ sha1).</p>
571
659
 
572
660
 
573
661
  <span class="summary_desc"><div class='inline'>
574
- <p>The common name (CN) component of the issuer.</p>
662
+ <p>Returns the serial number of the certificate in hexadecimal form.</p>
575
663
  </div></span>
576
664
 
577
665
  </li>
@@ -580,7 +668,7 @@ sha1).</p>
580
668
  <li class="public ">
581
669
  <span class="summary_signature">
582
670
 
583
- <a href="#key_algorithm-instance_method" title="#key_algorithm (instance method)">- (String) <strong>key_algorithm</strong> </a>
671
+ <a href="#inhibit_any_policy-instance_method" title="#inhibit_any_policy (instance method)">- (R509::Cert::Extensions::InhibitAnyPolicy) <strong>inhibit_any_policy</strong> </a>
584
672
 
585
673
 
586
674
 
@@ -595,7 +683,7 @@ sha1).</p>
595
683
 
596
684
 
597
685
  <span class="summary_desc"><div class='inline'>
598
- <p>Returns key algorithm (RSA or DSA).</p>
686
+ <p>Returns this object's InhibitAnyPolicy extension as an R509 extension.</p>
599
687
  </div></span>
600
688
 
601
689
  </li>
@@ -604,13 +692,15 @@ sha1).</p>
604
692
  <li class="public ">
605
693
  <span class="summary_signature">
606
694
 
607
- <a href="#key_usage-instance_method" title="#key_usage (instance method)">- (R509::Cert::Extensions::KeyUsage) <strong>key_usage</strong> </a>
695
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Cert) <strong>initialize</strong>(opts = {}) </a>
608
696
 
609
697
 
610
698
 
611
699
  </span>
612
700
 
613
701
 
702
+ <span class="note title constructor">constructor</span>
703
+
614
704
 
615
705
 
616
706
 
@@ -619,7 +709,7 @@ sha1).</p>
619
709
 
620
710
 
621
711
  <span class="summary_desc"><div class='inline'>
622
- <p>Returns this object's KeyUsage extension as an R509 extension.</p>
712
+ <p>A new instance of Cert.</p>
623
713
  </div></span>
624
714
 
625
715
  </li>
@@ -628,7 +718,7 @@ sha1).</p>
628
718
  <li class="public ">
629
719
  <span class="summary_signature">
630
720
 
631
- <a href="#not_after-instance_method" title="#not_after (instance method)">- (Time) <strong>not_after</strong> </a>
721
+ <a href="#is_revoked_by_crl%3F-instance_method" title="#is_revoked_by_crl? (instance method)">- (Boolean) <strong>is_revoked_by_crl?</strong>(r509_crl) </a>
632
722
 
633
723
 
634
724
 
@@ -643,7 +733,7 @@ sha1).</p>
643
733
 
644
734
 
645
735
  <span class="summary_desc"><div class='inline'>
646
- <p>Returns ending (notAfter) of certificate validity period.</p>
736
+ <p>Checks the given CRL for this certificate's serial number.</p>
647
737
  </div></span>
648
738
 
649
739
  </li>
@@ -652,7 +742,7 @@ sha1).</p>
652
742
  <li class="public ">
653
743
  <span class="summary_signature">
654
744
 
655
- <a href="#not_before-instance_method" title="#not_before (instance method)">- (Time) <strong>not_before</strong> </a>
745
+ <a href="#key_algorithm-instance_method" title="#key_algorithm (instance method)">- (Symbol) <strong>key_algorithm</strong> </a>
656
746
 
657
747
 
658
748
 
@@ -667,7 +757,7 @@ sha1).</p>
667
757
 
668
758
 
669
759
  <span class="summary_desc"><div class='inline'>
670
- <p>Returns beginning (notBefore) of certificate validity period.</p>
760
+ <p>Returns key algorithm (RSA, DSA, EC).</p>
671
761
  </div></span>
672
762
 
673
763
  </li>
@@ -676,10 +766,12 @@ sha1).</p>
676
766
  <li class="public ">
677
767
  <span class="summary_signature">
678
768
 
679
- <a href="#public_key-instance_method" title="#public_key (instance method)">- (OpenSSL::PKey::RSA) <strong>public_key</strong> </a>
769
+ <a href="#key_usage-instance_method" title="#key_usage (instance method)">- (R509::Cert::Extensions::KeyUsage) <strong>key_usage</strong> </a>
680
770
 
681
771
 
682
772
 
773
+ (also: #ku)
774
+
683
775
  </span>
684
776
 
685
777
 
@@ -691,7 +783,7 @@ sha1).</p>
691
783
 
692
784
 
693
785
  <span class="summary_desc"><div class='inline'>
694
- <p>Returns the certificate public key.</p>
786
+ <p>Returns this object's KeyUsage extension as an R509 extension.</p>
695
787
  </div></span>
696
788
 
697
789
  </li>
@@ -700,7 +792,7 @@ sha1).</p>
700
792
  <li class="public ">
701
793
  <span class="summary_signature">
702
794
 
703
- <a href="#r509_extensions-instance_method" title="#r509_extensions (instance method)">- (Hash) <strong>r509_extensions</strong> </a>
795
+ <a href="#name_constraints-instance_method" title="#name_constraints (instance method)">- (R509::Cert::Extensions::NameConstraints) <strong>name_constraints</strong> </a>
704
796
 
705
797
 
706
798
 
@@ -715,8 +807,7 @@ sha1).</p>
715
807
 
716
808
 
717
809
  <span class="summary_desc"><div class='inline'>
718
- <p>Returns the certificate extensions as a hash of R509::Cert::Extensions
719
- specific objects.</p>
810
+ <p>Returns this object's NameConstraints extension as an R509 extension.</p>
720
811
  </div></span>
721
812
 
722
813
  </li>
@@ -725,7 +816,7 @@ specific objects.</p>
725
816
  <li class="public ">
726
817
  <span class="summary_signature">
727
818
 
728
- <a href="#rsa%3F-instance_method" title="#rsa? (instance method)">- (Boolean) <strong>rsa?</strong> </a>
819
+ <a href="#not_after-instance_method" title="#not_after (instance method)">- (Time) <strong>not_after</strong> </a>
729
820
 
730
821
 
731
822
 
@@ -740,7 +831,7 @@ specific objects.</p>
740
831
 
741
832
 
742
833
  <span class="summary_desc"><div class='inline'>
743
- <p>Returns whether the public key is RSA.</p>
834
+ <p>Returns ending (notAfter) of certificate validity period.</p>
744
835
  </div></span>
745
836
 
746
837
  </li>
@@ -749,7 +840,7 @@ specific objects.</p>
749
840
  <li class="public ">
750
841
  <span class="summary_signature">
751
842
 
752
- <a href="#san_names-instance_method" title="#san_names (instance method)">- (Array) <strong>san_names</strong> </a>
843
+ <a href="#not_before-instance_method" title="#not_before (instance method)">- (Time) <strong>not_before</strong> </a>
753
844
 
754
845
 
755
846
 
@@ -764,7 +855,7 @@ specific objects.</p>
764
855
 
765
856
 
766
857
  <span class="summary_desc"><div class='inline'>
767
- <p>List of SAN DNS names.</p>
858
+ <p>Returns beginning (notBefore) of certificate validity period.</p>
768
859
  </div></span>
769
860
 
770
861
  </li>
@@ -773,7 +864,7 @@ specific objects.</p>
773
864
  <li class="public ">
774
865
  <span class="summary_signature">
775
866
 
776
- <a href="#serial-instance_method" title="#serial (instance method)">- (Integer) <strong>serial</strong> </a>
867
+ <a href="#ocsp_no_check%3F-instance_method" title="#ocsp_no_check? (instance method)">- (Boolean) <strong>ocsp_no_check?</strong> </a>
777
868
 
778
869
 
779
870
 
@@ -788,7 +879,8 @@ specific objects.</p>
788
879
 
789
880
 
790
881
  <span class="summary_desc"><div class='inline'>
791
- <p>Returns the serial number of the certificate in decimal form.</p>
882
+ <p>Returns true if the OCSP No Check extension is present (value is irrelevant
883
+ to this extension).</p>
792
884
  </div></span>
793
885
 
794
886
  </li>
@@ -797,7 +889,7 @@ specific objects.</p>
797
889
  <li class="public ">
798
890
  <span class="summary_signature">
799
891
 
800
- <a href="#signature_algorithm-instance_method" title="#signature_algorithm (instance method)">- (String) <strong>signature_algorithm</strong> </a>
892
+ <a href="#policy_constraints-instance_method" title="#policy_constraints (instance method)">- (R509::Cert::Extensions::PolicyConstraints) <strong>policy_constraints</strong> </a>
801
893
 
802
894
 
803
895
 
@@ -812,7 +904,7 @@ specific objects.</p>
812
904
 
813
905
 
814
906
  <span class="summary_desc"><div class='inline'>
815
- <p>Returns signature algorithm.</p>
907
+ <p>Returns this object's PolicyConstraints extension as an R509 extension.</p>
816
908
  </div></span>
817
909
 
818
910
  </li>
@@ -821,7 +913,7 @@ specific objects.</p>
821
913
  <li class="public ">
822
914
  <span class="summary_signature">
823
915
 
824
- <a href="#subject-instance_method" title="#subject (instance method)">- (OpenSSL::X509::Name) <strong>subject</strong> </a>
916
+ <a href="#public_key-instance_method" title="#public_key (instance method)">- (OpenSSL::PKey::RSA) <strong>public_key</strong> </a>
825
917
 
826
918
 
827
919
 
@@ -836,7 +928,7 @@ specific objects.</p>
836
928
 
837
929
 
838
930
  <span class="summary_desc"><div class='inline'>
839
- <p>Returns the subject.</p>
931
+ <p>Returns the certificate public key.</p>
840
932
  </div></span>
841
933
 
842
934
  </li>
@@ -845,7 +937,7 @@ specific objects.</p>
845
937
  <li class="public ">
846
938
  <span class="summary_signature">
847
939
 
848
- <a href="#subject_alternative_name-instance_method" title="#subject_alternative_name (instance method)">- (R509::Cert::Extensions::SubjectAlternativeName) <strong>subject_alternative_name</strong> </a>
940
+ <a href="#rsa%3F-instance_method" title="#rsa? (instance method)">- (Boolean) <strong>rsa?</strong> </a>
849
941
 
850
942
 
851
943
 
@@ -860,8 +952,7 @@ specific objects.</p>
860
952
 
861
953
 
862
954
  <span class="summary_desc"><div class='inline'>
863
- <p>Returns this object's SubjectAlternativeName extension as an R509
864
- extension.</p>
955
+ <p>Returns whether the public key is RSA.</p>
865
956
  </div></span>
866
957
 
867
958
  </li>
@@ -870,7 +961,7 @@ extension.</p>
870
961
  <li class="public ">
871
962
  <span class="summary_signature">
872
963
 
873
- <a href="#subject_cn-instance_method" title="#subject_cn (instance method)">- (String) <strong>subject_cn</strong> </a>
964
+ <a href="#serial-instance_method" title="#serial (instance method)">- (Integer) <strong>serial</strong> </a>
874
965
 
875
966
 
876
967
 
@@ -885,7 +976,7 @@ extension.</p>
885
976
 
886
977
 
887
978
  <span class="summary_desc"><div class='inline'>
888
- <p>Returns the CN component, if any, of the subject.</p>
979
+ <p>Returns the serial number of the certificate in decimal form.</p>
889
980
  </div></span>
890
981
 
891
982
  </li>
@@ -894,7 +985,7 @@ extension.</p>
894
985
  <li class="public ">
895
986
  <span class="summary_signature">
896
987
 
897
- <a href="#subject_component-instance_method" title="#subject_component (instance method)">- (String) <strong>subject_component</strong>(short_name) </a>
988
+ <a href="#signature_algorithm-instance_method" title="#signature_algorithm (instance method)">- (String) <strong>signature_algorithm</strong> </a>
898
989
 
899
990
 
900
991
 
@@ -909,7 +1000,7 @@ extension.</p>
909
1000
 
910
1001
 
911
1002
  <span class="summary_desc"><div class='inline'>
912
- <p>Returns subject component.</p>
1003
+ <p>Returns signature algorithm.</p>
913
1004
  </div></span>
914
1005
 
915
1006
  </li>
@@ -918,10 +1009,12 @@ extension.</p>
918
1009
  <li class="public ">
919
1010
  <span class="summary_signature">
920
1011
 
921
- <a href="#subject_key_identifier-instance_method" title="#subject_key_identifier (instance method)">- (R509::Cert::Extensions::SubjectKeyIdentifier) <strong>subject_key_identifier</strong> </a>
1012
+ <a href="#subject_alternative_name-instance_method" title="#subject_alternative_name (instance method)">- (R509::Cert::Extensions::SubjectAlternativeName) <strong>subject_alternative_name</strong> </a>
922
1013
 
923
1014
 
924
1015
 
1016
+ (also: #san, #subject_alt_name)
1017
+
925
1018
  </span>
926
1019
 
927
1020
 
@@ -933,7 +1026,8 @@ extension.</p>
933
1026
 
934
1027
 
935
1028
  <span class="summary_desc"><div class='inline'>
936
- <p>Returns this object's SubjectKeyIdentifier extension as an R509 extension.</p>
1029
+ <p>Returns this object's SubjectAlternativeName extension as an R509
1030
+ extension.</p>
937
1031
  </div></span>
938
1032
 
939
1033
  </li>
@@ -942,7 +1036,7 @@ extension.</p>
942
1036
  <li class="public ">
943
1037
  <span class="summary_signature">
944
1038
 
945
- <a href="#subject_names-instance_method" title="#subject_names (instance method)">- (Array) <strong>subject_names</strong> </a>
1039
+ <a href="#subject_key_identifier-instance_method" title="#subject_key_identifier (instance method)">- (R509::Cert::Extensions::SubjectKeyIdentifier) <strong>subject_key_identifier</strong> </a>
946
1040
 
947
1041
 
948
1042
 
@@ -957,7 +1051,7 @@ extension.</p>
957
1051
 
958
1052
 
959
1053
  <span class="summary_desc"><div class='inline'>
960
- <p>Return the CN, as well as all the subject alternative names (SANs).</p>
1054
+ <p>Returns this object's SubjectKeyIdentifier extension as an R509 extension.</p>
961
1055
  </div></span>
962
1056
 
963
1057
  </li>
@@ -1314,44 +1408,36 @@ support)</p>
1314
1408
  39
1315
1409
  40
1316
1410
  41
1317
- 42
1318
- 43
1319
- 44
1320
- 45
1321
- 46</pre>
1411
+ 42</pre>
1322
1412
  </td>
1323
1413
  <td>
1324
1414
  <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 17</span>
1325
1415
 
1326
1416
  <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>
1327
- <span class='kw'>if</span> <span class='kw'>not</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
1328
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Must provide a hash of options</span><span class='tstring_end'>'</span></span>
1329
- <span class='kw'>end</span>
1330
- <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'>:pkcs12</span><span class='rparen'>)</span> <span class='kw'>and</span> <span class='lparen'>(</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'>:key</span><span class='rparen'>)</span> <span class='kw'>or</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'>:cert</span><span class='rparen'>)</span> <span class='rparen'>)</span>
1331
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>When providing pkcs12, do not pass cert or key</span><span class='tstring_end'>&quot;</span></span>
1332
- <span class='kw'>elsif</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'>:pkcs12</span><span class='rparen'>)</span>
1333
- <span class='id identifier rubyid_pkcs12'>pkcs12</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKCS12</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:pkcs12</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:password</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1334
- <span class='id identifier rubyid_parse_certificate'>parse_certificate</span><span class='lparen'>(</span><span class='id identifier rubyid_pkcs12'>pkcs12</span><span class='period'>.</span><span class='id identifier rubyid_certificate'>certificate</span><span class='rparen'>)</span>
1335
- <span class='ivar'>@key</span> <span class='op'>=</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>PrivateKey</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:key</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_pkcs12'>pkcs12</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span> <span class='rparen'>)</span>
1336
- <span class='kw'>elsif</span> <span class='kw'>not</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'>:cert</span><span class='rparen'>)</span>
1337
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Must provide :cert or :pkcs12</span><span class='tstring_end'>'</span></span>
1417
+ <span class='kw'>if</span> <span class='kw'>not</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
1418
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Must provide a hash of options</span><span class='tstring_end'>'</span></span>
1419
+ <span class='kw'>end</span>
1420
+ <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'>:pkcs12</span><span class='rparen'>)</span> <span class='kw'>and</span> <span class='lparen'>(</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'>:key</span><span class='rparen'>)</span> <span class='kw'>or</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'>:cert</span><span class='rparen'>)</span> <span class='rparen'>)</span>
1421
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>When providing pkcs12, do not pass cert or key</span><span class='tstring_end'>&quot;</span></span>
1422
+ <span class='kw'>elsif</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'>:pkcs12</span><span class='rparen'>)</span>
1423
+ <span class='id identifier rubyid_pkcs12'>pkcs12</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKCS12</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:pkcs12</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:password</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1424
+ <span class='id identifier rubyid_parse_certificate'>parse_certificate</span><span class='lparen'>(</span><span class='id identifier rubyid_pkcs12'>pkcs12</span><span class='period'>.</span><span class='id identifier rubyid_certificate'>certificate</span><span class='rparen'>)</span>
1425
+ <span class='id identifier rubyid_key'>key</span> <span class='op'>=</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>PrivateKey</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:key</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_pkcs12'>pkcs12</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span> <span class='rparen'>)</span>
1426
+ <span class='kw'>elsif</span> <span class='kw'>not</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'>:cert</span><span class='rparen'>)</span>
1427
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Must provide :cert or :pkcs12</span><span class='tstring_end'>'</span></span>
1428
+ <span class='kw'>else</span>
1429
+ <span class='id identifier rubyid_csr_check'>csr_check</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:cert</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1430
+ <span class='id identifier rubyid_parse_certificate'>parse_certificate</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:cert</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1431
+ <span class='kw'>end</span>
1432
+
1433
+ <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'>:key</span><span class='rparen'>)</span>
1434
+ <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:key</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'>PrivateKey</span><span class='rparen'>)</span>
1435
+ <span class='id identifier rubyid_key'>key</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:key</span><span class='rbracket'>]</span>
1338
1436
  <span class='kw'>else</span>
1339
- <span class='id identifier rubyid_csr_check'>csr_check</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:cert</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1340
- <span class='id identifier rubyid_parse_certificate'>parse_certificate</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:cert</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1341
- <span class='kw'>end</span>
1342
-
1343
- <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'>:key</span><span class='rparen'>)</span>
1344
- <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:key</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'>PrivateKey</span><span class='rparen'>)</span>
1345
- <span class='ivar'>@key</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:key</span><span class='rbracket'>]</span>
1346
- <span class='kw'>else</span>
1347
- <span class='ivar'>@key</span> <span class='op'>=</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>PrivateKey</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:key</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:key</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:password</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:password</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1348
- <span class='kw'>end</span>
1349
- <span class='kw'>end</span>
1350
- <span class='kw'>if</span> <span class='kw'>not</span> <span class='ivar'>@key</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1351
- <span class='kw'>if</span> <span class='kw'>not</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>==</span> <span class='ivar'>@key</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='kw'>then</span>
1352
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>R509Error</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Key does not match cert.</span><span class='tstring_end'>'</span></span>
1353
- <span class='kw'>end</span>
1437
+ <span class='id identifier rubyid_key'>key</span> <span class='op'>=</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>PrivateKey</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='symbol'>:key</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:key</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:password</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:password</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1354
1438
  <span class='kw'>end</span>
1439
+ <span class='kw'>end</span>
1440
+ <span class='id identifier rubyid_associate_private_key'>associate_private_key</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
1355
1441
  <span class='kw'>end</span></pre>
1356
1442
  </td>
1357
1443
  </tr>
@@ -1407,6 +1493,49 @@ support)</p>
1407
1493
  </div>
1408
1494
 
1409
1495
 
1496
+ <span id=""></span>
1497
+ <div class="method_details ">
1498
+ <h3 class="signature " id="issuer-instance_method">
1499
+
1500
+ - (<tt>Object</tt>) <strong>issuer</strong> <span class="extras">(readonly)</span>
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+ </h3><div class="docstring">
1507
+ <div class="discussion">
1508
+
1509
+ <p>Returns the value of attribute issuer</p>
1510
+
1511
+
1512
+ </div>
1513
+ </div>
1514
+ <div class="tags">
1515
+
1516
+
1517
+ </div><table class="source_code">
1518
+ <tr>
1519
+ <td>
1520
+ <pre class="lines">
1521
+
1522
+
1523
+ 11
1524
+ 12
1525
+ 13</pre>
1526
+ </td>
1527
+ <td>
1528
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 11</span>
1529
+
1530
+ <span class='kw'>def</span> <span class='id identifier rubyid_issuer'>issuer</span>
1531
+ <span class='ivar'>@issuer</span>
1532
+ <span class='kw'>end</span></pre>
1533
+ </td>
1534
+ </tr>
1535
+ </table>
1536
+ </div>
1537
+
1538
+
1410
1539
  <span id=""></span>
1411
1540
  <div class="method_details ">
1412
1541
  <h3 class="signature " id="key-instance_method">
@@ -1449,6 +1578,49 @@ support)</p>
1449
1578
  </table>
1450
1579
  </div>
1451
1580
 
1581
+
1582
+ <span id=""></span>
1583
+ <div class="method_details ">
1584
+ <h3 class="signature " id="subject-instance_method">
1585
+
1586
+ - (<tt>Object</tt>) <strong>subject</strong> <span class="extras">(readonly)</span>
1587
+
1588
+
1589
+
1590
+
1591
+
1592
+ </h3><div class="docstring">
1593
+ <div class="discussion">
1594
+
1595
+ <p>Returns the value of attribute subject</p>
1596
+
1597
+
1598
+ </div>
1599
+ </div>
1600
+ <div class="tags">
1601
+
1602
+
1603
+ </div><table class="source_code">
1604
+ <tr>
1605
+ <td>
1606
+ <pre class="lines">
1607
+
1608
+
1609
+ 11
1610
+ 12
1611
+ 13</pre>
1612
+ </td>
1613
+ <td>
1614
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 11</span>
1615
+
1616
+ <span class='kw'>def</span> <span class='id identifier rubyid_subject'>subject</span>
1617
+ <span class='ivar'>@subject</span>
1618
+ <span class='kw'>end</span></pre>
1619
+ </td>
1620
+ </tr>
1621
+ </table>
1622
+ </div>
1623
+
1452
1624
  </div>
1453
1625
 
1454
1626
 
@@ -1520,15 +1692,15 @@ support)</p>
1520
1692
  <pre class="lines">
1521
1693
 
1522
1694
 
1523
- 52
1524
- 53
1525
- 54</pre>
1695
+ 48
1696
+ 49
1697
+ 50</pre>
1526
1698
  </td>
1527
1699
  <td>
1528
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 52</span>
1700
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 48</span>
1529
1701
 
1530
1702
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_load_from_file'>load_from_file</span><span class='lparen'>(</span> <span class='id identifier rubyid_filename'>filename</span> <span class='rparen'>)</span>
1531
- <span class='kw'>return</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:cert</span> <span class='op'>=&gt;</span> <span class='const'>IOHelpers</span><span class='period'>.</span><span class='id identifier rubyid_read_data'>read_data</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span> <span class='rparen'>)</span>
1703
+ <span class='kw'>return</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:cert</span> <span class='op'>=&gt;</span> <span class='const'>IOHelpers</span><span class='period'>.</span><span class='id identifier rubyid_read_data'>read_data</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span> <span class='rparen'>)</span>
1532
1704
  <span class='kw'>end</span></pre>
1533
1705
  </td>
1534
1706
  </tr>
@@ -1542,9 +1714,9 @@ support)</p>
1542
1714
 
1543
1715
 
1544
1716
  <div class="method_details first">
1545
- <h3 class="signature first" id="authority_info_access-instance_method">
1717
+ <h3 class="signature first" id="all_names-instance_method">
1546
1718
 
1547
- - (<tt><span class='object_link'><a href="Cert/Extensions/AuthorityInfoAccess.html" title="R509::Cert::Extensions::AuthorityInfoAccess (class)">R509::Cert::Extensions::AuthorityInfoAccess</a></span></tt>) <strong>authority_info_access</strong>
1719
+ - (<tt>Array</tt>) <strong>all_names</strong>
1548
1720
 
1549
1721
 
1550
1722
 
@@ -1553,7 +1725,7 @@ support)</p>
1553
1725
  </h3><div class="docstring">
1554
1726
  <div class="discussion">
1555
1727
 
1556
- <p>Returns this object's AuthorityInfoAccess extension as an R509 extension</p>
1728
+ <p>Return the CN, as well as all the subject alternative names (SANs).</p>
1557
1729
 
1558
1730
 
1559
1731
  </div>
@@ -1566,14 +1738,14 @@ support)</p>
1566
1738
  <li>
1567
1739
 
1568
1740
 
1569
- <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/AuthorityInfoAccess.html" title="R509::Cert::Extensions::AuthorityInfoAccess (class)">R509::Cert::Extensions::AuthorityInfoAccess</a></span></tt>)</span>
1741
+ <span class='type'>(<tt>Array</tt>)</span>
1570
1742
 
1571
1743
 
1572
1744
 
1573
1745
  &mdash;
1574
1746
  <div class='inline'>
1575
- <p>The object, or nil if this cert does not have a AuthorityInfoAccess
1576
- extension.</p>
1747
+ <p>the array of names. Returns an empty array if there are no names, at all.
1748
+ Discards SAN types</p>
1577
1749
  </div>
1578
1750
 
1579
1751
  </li>
@@ -1586,15 +1758,23 @@ extension.</p>
1586
1758
  <pre class="lines">
1587
1759
 
1588
1760
 
1589
- 385
1590
- 386
1591
- 387</pre>
1761
+ 156
1762
+ 157
1763
+ 158
1764
+ 159
1765
+ 160
1766
+ 161
1767
+ 162</pre>
1592
1768
  </td>
1593
1769
  <td>
1594
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 385</span>
1770
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 156</span>
1595
1771
 
1596
- <span class='kw'>def</span> <span class='id identifier rubyid_authority_info_access'>authority_info_access</span>
1597
- <span class='kw'>return</span> <span class='id identifier rubyid_r509_extensions'>r509_extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>AuthorityInfoAccess</span><span class='rbracket'>]</span>
1772
+ <span class='kw'>def</span> <span class='id identifier rubyid_all_names'>all_names</span>
1773
+ <span class='id identifier rubyid_ret'>ret</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1774
+ <span class='id identifier rubyid_ret'>ret</span> <span class='op'>&lt;&lt;</span> <span class='ivar'>@subject</span><span class='period'>.</span><span class='const'>CN</span> <span class='kw'>unless</span> <span class='ivar'>@subject</span><span class='period'>.</span><span class='const'>CN</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1775
+ <span class='id identifier rubyid_ret'>ret</span><span class='period'>.</span><span class='id identifier rubyid_concat'>concat</span><span class='lparen'>(</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_san'>san</span><span class='period'>.</span><span class='id identifier rubyid_names'>names</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='op'>|</span> <span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='rbrace'>}</span> <span class='rparen'>)</span> <span class='kw'>unless</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_san'>san</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1776
+
1777
+ <span class='kw'>return</span> <span class='id identifier rubyid_ret'>ret</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
1598
1778
  <span class='kw'>end</span></pre>
1599
1779
  </td>
1600
1780
  </tr>
@@ -1602,18 +1782,24 @@ extension.</p>
1602
1782
  </div>
1603
1783
 
1604
1784
  <div class="method_details ">
1605
- <h3 class="signature " id="authority_key_identifier-instance_method">
1785
+ <h3 class="signature " id="authority_info_access-instance_method">
1606
1786
 
1607
- - (<tt><span class='object_link'><a href="Cert/Extensions/AuthorityKeyIdentifier.html" title="R509::Cert::Extensions::AuthorityKeyIdentifier (class)">R509::Cert::Extensions::AuthorityKeyIdentifier</a></span></tt>) <strong>authority_key_identifier</strong>
1787
+ - (<tt><span class='object_link'><a href="Cert/Extensions/AuthorityInfoAccess.html" title="R509::Cert::Extensions::AuthorityInfoAccess (class)">R509::Cert::Extensions::AuthorityInfoAccess</a></span></tt>) <strong>authority_info_access</strong>
1608
1788
 
1609
1789
 
1610
1790
 
1791
+ <span class="aliases">Also known as:
1792
+ <span class="names"><span id='aia-instance_method'>aia</span></span>
1793
+ </span>
1794
+
1611
1795
 
1612
1796
 
1613
1797
  </h3><div class="docstring">
1614
1798
  <div class="discussion">
1615
1799
 
1616
- <p>Returns this object's AuthorityKeyIdentifier extension as an R509 extension</p>
1800
+ <p>Returns this object's AuthorityInfoAccess extension as an R509 extension</p>
1801
+
1802
+ <p>if this cert does not have a AuthorityInfoAccess extension.</p>
1617
1803
 
1618
1804
 
1619
1805
  </div>
@@ -1626,14 +1812,13 @@ extension.</p>
1626
1812
  <li>
1627
1813
 
1628
1814
 
1629
- <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/AuthorityKeyIdentifier.html" title="R509::Cert::Extensions::AuthorityKeyIdentifier (class)">R509::Cert::Extensions::AuthorityKeyIdentifier</a></span></tt>)</span>
1815
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/AuthorityInfoAccess.html" title="R509::Cert::Extensions::AuthorityInfoAccess (class)">R509::Cert::Extensions::AuthorityInfoAccess</a></span></tt>)</span>
1630
1816
 
1631
1817
 
1632
1818
 
1633
1819
  &mdash;
1634
1820
  <div class='inline'>
1635
- <p>The object, or nil if this cert does not have a AuthorityKeyIdentifier
1636
- extension.</p>
1821
+ <p>The object, or nil</p>
1637
1822
  </div>
1638
1823
 
1639
1824
  </li>
@@ -1646,15 +1831,15 @@ extension.</p>
1646
1831
  <pre class="lines">
1647
1832
 
1648
1833
 
1649
- 369
1650
- 370
1651
- 371</pre>
1834
+ 349
1835
+ 350
1836
+ 351</pre>
1652
1837
  </td>
1653
1838
  <td>
1654
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 369</span>
1839
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 349</span>
1655
1840
 
1656
- <span class='kw'>def</span> <span class='id identifier rubyid_authority_key_identifier'>authority_key_identifier</span>
1657
- <span class='kw'>return</span> <span class='id identifier rubyid_r509_extensions'>r509_extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>AuthorityKeyIdentifier</span><span class='rbracket'>]</span>
1841
+ <span class='kw'>def</span> <span class='id identifier rubyid_authority_info_access'>authority_info_access</span>
1842
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>AuthorityInfoAccess</span><span class='rbracket'>]</span>
1658
1843
  <span class='kw'>end</span></pre>
1659
1844
  </td>
1660
1845
  </tr>
@@ -1662,9 +1847,9 @@ extension.</p>
1662
1847
  </div>
1663
1848
 
1664
1849
  <div class="method_details ">
1665
- <h3 class="signature " id="basic_constraints-instance_method">
1850
+ <h3 class="signature " id="authority_key_identifier-instance_method">
1666
1851
 
1667
- - (<tt><span class='object_link'><a href="Cert/Extensions/BasicConstraints.html" title="R509::Cert::Extensions::BasicConstraints (class)">R509::Cert::Extensions::BasicConstraints</a></span></tt>) <strong>basic_constraints</strong>
1852
+ - (<tt><span class='object_link'><a href="Cert/Extensions/AuthorityKeyIdentifier.html" title="R509::Cert::Extensions::AuthorityKeyIdentifier (class)">R509::Cert::Extensions::AuthorityKeyIdentifier</a></span></tt>) <strong>authority_key_identifier</strong>
1668
1853
 
1669
1854
 
1670
1855
 
@@ -1673,7 +1858,9 @@ extension.</p>
1673
1858
  </h3><div class="docstring">
1674
1859
  <div class="discussion">
1675
1860
 
1676
- <p>Returns this object's BasicConstraints extension as an R509 extension</p>
1861
+ <p>Returns this object's AuthorityKeyIdentifier extension as an R509 extension</p>
1862
+
1863
+ <p>if this cert does not have a AuthorityKeyIdentifier extension.</p>
1677
1864
 
1678
1865
 
1679
1866
  </div>
@@ -1686,13 +1873,13 @@ extension.</p>
1686
1873
  <li>
1687
1874
 
1688
1875
 
1689
- <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/BasicConstraints.html" title="R509::Cert::Extensions::BasicConstraints (class)">R509::Cert::Extensions::BasicConstraints</a></span></tt>)</span>
1876
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/AuthorityKeyIdentifier.html" title="R509::Cert::Extensions::AuthorityKeyIdentifier (class)">R509::Cert::Extensions::AuthorityKeyIdentifier</a></span></tt>)</span>
1690
1877
 
1691
1878
 
1692
1879
 
1693
1880
  &mdash;
1694
1881
  <div class='inline'>
1695
- <p>The object, or nil if this cert does not have a BasicConstraints extension.</p>
1882
+ <p>The object, or nil</p>
1696
1883
  </div>
1697
1884
 
1698
1885
  </li>
@@ -1705,15 +1892,15 @@ extension.</p>
1705
1892
  <pre class="lines">
1706
1893
 
1707
1894
 
1708
- 337
1709
- 338
1710
- 339</pre>
1895
+ 331
1896
+ 332
1897
+ 333</pre>
1711
1898
  </td>
1712
1899
  <td>
1713
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 337</span>
1900
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 331</span>
1714
1901
 
1715
- <span class='kw'>def</span> <span class='id identifier rubyid_basic_constraints'>basic_constraints</span>
1716
- <span class='kw'>return</span> <span class='id identifier rubyid_r509_extensions'>r509_extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>BasicConstraints</span><span class='rbracket'>]</span>
1902
+ <span class='kw'>def</span> <span class='id identifier rubyid_authority_key_identifier'>authority_key_identifier</span>
1903
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>AuthorityKeyIdentifier</span><span class='rbracket'>]</span>
1717
1904
  <span class='kw'>end</span></pre>
1718
1905
  </td>
1719
1906
  </tr>
@@ -1721,9 +1908,9 @@ extension.</p>
1721
1908
  </div>
1722
1909
 
1723
1910
  <div class="method_details ">
1724
- <h3 class="signature " id="bit_strength-instance_method">
1911
+ <h3 class="signature " id="basic_constraints-instance_method">
1725
1912
 
1726
- - (<tt>Integer</tt>) <strong>bit_strength</strong>
1913
+ - (<tt><span class='object_link'><a href="Cert/Extensions/BasicConstraints.html" title="R509::Cert::Extensions::BasicConstraints (class)">R509::Cert::Extensions::BasicConstraints</a></span></tt>) <strong>basic_constraints</strong>
1727
1914
 
1728
1915
 
1729
1916
 
@@ -1732,7 +1919,9 @@ extension.</p>
1732
1919
  </h3><div class="docstring">
1733
1920
  <div class="discussion">
1734
1921
 
1735
- <p>Returns the bit strength of the key used to create the certificate</p>
1922
+ <p>Returns this object's BasicConstraints extension as an R509 extension</p>
1923
+
1924
+ <p>if this cert does not have a BasicConstraints extension.</p>
1736
1925
 
1737
1926
 
1738
1927
  </div>
@@ -1745,13 +1934,13 @@ extension.</p>
1745
1934
  <li>
1746
1935
 
1747
1936
 
1748
- <span class='type'>(<tt>Integer</tt>)</span>
1937
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/BasicConstraints.html" title="R509::Cert::Extensions::BasicConstraints (class)">R509::Cert::Extensions::BasicConstraints</a></span></tt>)</span>
1749
1938
 
1750
1939
 
1751
1940
 
1752
1941
  &mdash;
1753
1942
  <div class='inline'>
1754
- <p>integer value of bit strength</p>
1943
+ <p>The object, or nil</p>
1755
1944
  </div>
1756
1945
 
1757
1946
  </li>
@@ -1764,23 +1953,15 @@ extension.</p>
1764
1953
  <pre class="lines">
1765
1954
 
1766
1955
 
1767
- 230
1768
- 231
1769
- 232
1770
- 233
1771
- 234
1772
- 235
1773
- 236</pre>
1956
+ 297
1957
+ 298
1958
+ 299</pre>
1774
1959
  </td>
1775
1960
  <td>
1776
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 230</span>
1961
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 297</span>
1777
1962
 
1778
- <span class='kw'>def</span> <span class='id identifier rubyid_bit_strength'>bit_strength</span>
1779
- <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rsa?'>rsa?</span>
1780
- <span class='kw'>return</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_num_bits'>num_bits</span>
1781
- <span class='kw'>elsif</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dsa?'>dsa?</span>
1782
- <span class='kw'>return</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_num_bits'>num_bits</span>
1783
- <span class='kw'>end</span>
1963
+ <span class='kw'>def</span> <span class='id identifier rubyid_basic_constraints'>basic_constraints</span>
1964
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>BasicConstraints</span><span class='rbracket'>]</span>
1784
1965
  <span class='kw'>end</span></pre>
1785
1966
  </td>
1786
1967
  </tr>
@@ -1788,9 +1969,9 @@ extension.</p>
1788
1969
  </div>
1789
1970
 
1790
1971
  <div class="method_details ">
1791
- <h3 class="signature " id="crl_distribution_points-instance_method">
1972
+ <h3 class="signature " id="bit_strength-instance_method">
1792
1973
 
1793
- - (<tt><span class='object_link'><a href="Cert/Extensions/CrlDistributionPoints.html" title="R509::Cert::Extensions::CrlDistributionPoints (class)">R509::Cert::Extensions::CrlDistributionPoints</a></span></tt>) <strong>crl_distribution_points</strong>
1974
+ - (<tt>Integer</tt>) <strong>bit_strength</strong>
1794
1975
 
1795
1976
 
1796
1977
 
@@ -1799,7 +1980,7 @@ extension.</p>
1799
1980
  </h3><div class="docstring">
1800
1981
  <div class="discussion">
1801
1982
 
1802
- <p>Returns this object's CrlDistributionPoints extension as an R509 extension</p>
1983
+ <p>Returns the bit strength of the key used to create the certificate</p>
1803
1984
 
1804
1985
 
1805
1986
  </div>
@@ -1812,14 +1993,13 @@ extension.</p>
1812
1993
  <li>
1813
1994
 
1814
1995
 
1815
- <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/CrlDistributionPoints.html" title="R509::Cert::Extensions::CrlDistributionPoints (class)">R509::Cert::Extensions::CrlDistributionPoints</a></span></tt>)</span>
1996
+ <span class='type'>(<tt>Integer</tt>)</span>
1816
1997
 
1817
1998
 
1818
1999
 
1819
2000
  &mdash;
1820
2001
  <div class='inline'>
1821
- <p>The object, or nil if this cert does not have a CrlDistributionPoints
1822
- extension.</p>
2002
+ <p>integer value of bit strength</p>
1823
2003
  </div>
1824
2004
 
1825
2005
  </li>
@@ -1832,15 +2012,27 @@ extension.</p>
1832
2012
  <pre class="lines">
1833
2013
 
1834
2014
 
1835
- 393
1836
- 394
1837
- 395</pre>
2015
+ 188
2016
+ 189
2017
+ 190
2018
+ 191
2019
+ 192
2020
+ 193
2021
+ 194
2022
+ 195
2023
+ 196</pre>
1838
2024
  </td>
1839
2025
  <td>
1840
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 393</span>
2026
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 188</span>
1841
2027
 
1842
- <span class='kw'>def</span> <span class='id identifier rubyid_crl_distribution_points'>crl_distribution_points</span>
1843
- <span class='kw'>return</span> <span class='id identifier rubyid_r509_extensions'>r509_extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>CrlDistributionPoints</span><span class='rbracket'>]</span>
2028
+ <span class='kw'>def</span> <span class='id identifier rubyid_bit_strength'>bit_strength</span>
2029
+ <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rsa?'>rsa?</span>
2030
+ <span class='kw'>return</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_num_bits'>num_bits</span>
2031
+ <span class='kw'>elsif</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dsa?'>dsa?</span>
2032
+ <span class='kw'>return</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_p'>p</span><span class='period'>.</span><span class='id identifier rubyid_num_bits'>num_bits</span>
2033
+ <span class='kw'>elsif</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_ec?'>ec?</span>
2034
+ <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'>'</span><span class='tstring_content'>Bit strength is not available for EC at this time.</span><span class='tstring_end'>'</span></span>
2035
+ <span class='kw'>end</span>
1844
2036
  <span class='kw'>end</span></pre>
1845
2037
  </td>
1846
2038
  </tr>
@@ -1848,9 +2040,9 @@ extension.</p>
1848
2040
  </div>
1849
2041
 
1850
2042
  <div class="method_details ">
1851
- <h3 class="signature " id="dsa?-instance_method">
2043
+ <h3 class="signature " id="certificate_policies-instance_method">
1852
2044
 
1853
- - (<tt>Boolean</tt>) <strong>dsa?</strong>
2045
+ - (<tt><span class='object_link'><a href="Cert/Extensions/CertificatePolicies.html" title="R509::Cert::Extensions::CertificatePolicies (class)">R509::Cert::Extensions::CertificatePolicies</a></span></tt>) <strong>certificate_policies</strong>
1854
2046
 
1855
2047
 
1856
2048
 
@@ -1859,7 +2051,9 @@ extension.</p>
1859
2051
  </h3><div class="docstring">
1860
2052
  <div class="discussion">
1861
2053
 
1862
- <p>Returns whether the public key is DSA</p>
2054
+ <p>Returns this object's CertificatePolicies extension as an R509 extension</p>
2055
+
2056
+ <p>if this cert does not have a CertificatePolicies extension.</p>
1863
2057
 
1864
2058
 
1865
2059
  </div>
@@ -1872,13 +2066,13 @@ extension.</p>
1872
2066
  <li>
1873
2067
 
1874
2068
 
1875
- <span class='type'>(<tt>Boolean</tt>)</span>
2069
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/CertificatePolicies.html" title="R509::Cert::Extensions::CertificatePolicies (class)">R509::Cert::Extensions::CertificatePolicies</a></span></tt>)</span>
1876
2070
 
1877
2071
 
1878
2072
 
1879
2073
  &mdash;
1880
2074
  <div class='inline'>
1881
- <p>true if the public key is DSA, false otherwise</p>
2075
+ <p>The object, or nil</p>
1882
2076
  </div>
1883
2077
 
1884
2078
  </li>
@@ -1891,15 +2085,15 @@ extension.</p>
1891
2085
  <pre class="lines">
1892
2086
 
1893
2087
 
1894
- 223
1895
- 224
1896
- 225</pre>
2088
+ 375
2089
+ 376
2090
+ 377</pre>
1897
2091
  </td>
1898
2092
  <td>
1899
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 223</span>
2093
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 375</span>
1900
2094
 
1901
- <span class='kw'>def</span> <span class='id identifier rubyid_dsa?'>dsa?</span>
1902
- <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKey</span><span class='op'>::</span><span class='const'>DSA</span><span class='rparen'>)</span>
2095
+ <span class='kw'>def</span> <span class='id identifier rubyid_certificate_policies'>certificate_policies</span>
2096
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>CertificatePolicies</span><span class='rbracket'>]</span>
1903
2097
  <span class='kw'>end</span></pre>
1904
2098
  </td>
1905
2099
  </tr>
@@ -1907,18 +2101,24 @@ extension.</p>
1907
2101
  </div>
1908
2102
 
1909
2103
  <div class="method_details ">
1910
- <h3 class="signature " id="extended_key_usage-instance_method">
2104
+ <h3 class="signature " id="crl_distribution_points-instance_method">
1911
2105
 
1912
- - (<tt><span class='object_link'><a href="Cert/Extensions/ExtendedKeyUsage.html" title="R509::Cert::Extensions::ExtendedKeyUsage (class)">R509::Cert::Extensions::ExtendedKeyUsage</a></span></tt>) <strong>extended_key_usage</strong>
2106
+ - (<tt><span class='object_link'><a href="Cert/Extensions/CRLDistributionPoints.html" title="R509::Cert::Extensions::CRLDistributionPoints (class)">R509::Cert::Extensions::CRLDistributionPoints</a></span></tt>) <strong>crl_distribution_points</strong>
1913
2107
 
1914
2108
 
1915
2109
 
2110
+ <span class="aliases">Also known as:
2111
+ <span class="names"><span id='cdp-instance_method'>cdp</span></span>
2112
+ </span>
2113
+
1916
2114
 
1917
2115
 
1918
2116
  </h3><div class="docstring">
1919
2117
  <div class="discussion">
1920
2118
 
1921
- <p>Returns this object's ExtendedKeyUsage extension as an R509 extension</p>
2119
+ <p>Returns this object's CRLDistributionPoints extension as an R509 extension</p>
2120
+
2121
+ <p>if this cert does not have a CRLDistributionPoints extension.</p>
1922
2122
 
1923
2123
 
1924
2124
  </div>
@@ -1931,13 +2131,13 @@ extension.</p>
1931
2131
  <li>
1932
2132
 
1933
2133
 
1934
- <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/ExtendedKeyUsage.html" title="R509::Cert::Extensions::ExtendedKeyUsage (class)">R509::Cert::Extensions::ExtendedKeyUsage</a></span></tt>)</span>
2134
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/CRLDistributionPoints.html" title="R509::Cert::Extensions::CRLDistributionPoints (class)">R509::Cert::Extensions::CRLDistributionPoints</a></span></tt>)</span>
1935
2135
 
1936
2136
 
1937
2137
 
1938
2138
  &mdash;
1939
2139
  <div class='inline'>
1940
- <p>The object, or nil if this cert does not have a ExtendedKeyUsage extension.</p>
2140
+ <p>The object, or nil</p>
1941
2141
  </div>
1942
2142
 
1943
2143
  </li>
@@ -1950,15 +2150,15 @@ extension.</p>
1950
2150
  <pre class="lines">
1951
2151
 
1952
2152
 
1953
- 353
1954
- 354
1955
- 355</pre>
2153
+ 358
2154
+ 359
2155
+ 360</pre>
1956
2156
  </td>
1957
2157
  <td>
1958
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 353</span>
2158
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 358</span>
1959
2159
 
1960
- <span class='kw'>def</span> <span class='id identifier rubyid_extended_key_usage'>extended_key_usage</span>
1961
- <span class='kw'>return</span> <span class='id identifier rubyid_r509_extensions'>r509_extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>ExtendedKeyUsage</span><span class='rbracket'>]</span>
2160
+ <span class='kw'>def</span> <span class='id identifier rubyid_crl_distribution_points'>crl_distribution_points</span>
2161
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>CRLDistributionPoints</span><span class='rbracket'>]</span>
1962
2162
  <span class='kw'>end</span></pre>
1963
2163
  </td>
1964
2164
  </tr>
@@ -1966,9 +2166,9 @@ extension.</p>
1966
2166
  </div>
1967
2167
 
1968
2168
  <div class="method_details ">
1969
- <h3 class="signature " id="extensions-instance_method">
2169
+ <h3 class="signature " id="curve_name-instance_method">
1970
2170
 
1971
- - (<tt>Array</tt>) <strong>extensions</strong>
2171
+ - (<tt>String</tt>) <strong>curve_name</strong>
1972
2172
 
1973
2173
 
1974
2174
 
@@ -1977,7 +2177,8 @@ extension.</p>
1977
2177
  </h3><div class="docstring">
1978
2178
  <div class="discussion">
1979
2179
 
1980
- <p>Return the certificate extensions</p>
2180
+ <p>Returns the short name of the elliptic curve used to generate the public
2181
+ key if the key is EC. If not, raises an error.</p>
1981
2182
 
1982
2183
 
1983
2184
  </div>
@@ -1990,13 +2191,13 @@ extension.</p>
1990
2191
  <li>
1991
2192
 
1992
2193
 
1993
- <span class='type'>(<tt>Array</tt>)</span>
2194
+ <span class='type'>(<tt>String</tt>)</span>
1994
2195
 
1995
2196
 
1996
2197
 
1997
2198
  &mdash;
1998
2199
  <div class='inline'>
1999
- <p>an array of hashes representing the extensions in the cert</p>
2200
+ <p>elliptic curve name</p>
2000
2201
  </div>
2001
2202
 
2002
2203
  </li>
@@ -2009,29 +2210,23 @@ extension.</p>
2009
2210
  <pre class="lines">
2010
2211
 
2011
2212
 
2012
- 295
2013
- 296
2014
- 297
2015
- 298
2016
- 299
2017
- 300
2018
- 301
2019
- 302
2020
- 303
2021
- 304</pre>
2213
+ 202
2214
+ 203
2215
+ 204
2216
+ 205
2217
+ 206
2218
+ 207
2219
+ 208</pre>
2022
2220
  </td>
2023
2221
  <td>
2024
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 295</span>
2025
-
2026
- <span class='kw'>def</span> <span class='id identifier rubyid_extensions'>extensions</span>
2027
- <span class='kw'>if</span> <span class='ivar'>@extensions</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2028
- <span class='ivar'>@extensions</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
2029
- <span class='ivar'>@cert</span><span class='period'>.</span><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_extension'>extension</span><span class='op'>|</span>
2030
- <span class='id identifier rubyid_hash'>hash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>value</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_extension'>extension</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>critical</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_extension'>extension</span><span class='period'>.</span><span class='id identifier rubyid_critical?'>critical?</span><span class='rbrace'>}</span>
2031
- <span class='ivar'>@extensions</span><span class='lbracket'>[</span><span class='id identifier rubyid_extension'>extension</span><span class='period'>.</span><span class='id identifier rubyid_oid'>oid</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_hash'>hash</span>
2032
- <span class='rbrace'>}</span>
2033
- <span class='kw'>end</span>
2034
- <span class='ivar'>@extensions</span>
2222
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 202</span>
2223
+
2224
+ <span class='kw'>def</span> <span class='id identifier rubyid_curve_name'>curve_name</span>
2225
+ <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_ec?'>ec?</span>
2226
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_group'>group</span><span class='period'>.</span><span class='id identifier rubyid_curve_name'>curve_name</span>
2227
+ <span class='kw'>else</span>
2228
+ <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'>'</span><span class='tstring_content'>Curve name is only available with EC certs</span><span class='tstring_end'>'</span></span>
2229
+ <span class='kw'>end</span>
2035
2230
  <span class='kw'>end</span></pre>
2036
2231
  </td>
2037
2232
  </tr>
@@ -2039,9 +2234,9 @@ extension.</p>
2039
2234
  </div>
2040
2235
 
2041
2236
  <div class="method_details ">
2042
- <h3 class="signature " id="fingerprint-instance_method">
2237
+ <h3 class="signature " id="dsa?-instance_method">
2043
2238
 
2044
- - (<tt>String</tt>) <strong>fingerprint</strong>(algorithm = 'sha1')
2239
+ - (<tt>Boolean</tt>) <strong>dsa?</strong>
2045
2240
 
2046
2241
 
2047
2242
 
@@ -2050,50 +2245,26 @@ extension.</p>
2050
2245
  </h3><div class="docstring">
2051
2246
  <div class="discussion">
2052
2247
 
2053
- <p>Returns the certificate fingerprint with the specified algorithm (default
2054
- sha1)</p>
2248
+ <p>Returns whether the public key is DSA</p>
2055
2249
 
2056
2250
 
2057
2251
  </div>
2058
2252
  </div>
2059
2253
  <div class="tags">
2060
- <p class="tag_title">Parameters:</p>
2061
- <ul class="param">
2062
2254
 
2063
- <li>
2064
-
2065
- <span class='name'>algorithm</span>
2066
-
2067
-
2068
- <span class='type'>(<tt>String</tt>)</span>
2069
-
2070
-
2071
- <em class="default">(defaults to: <tt>'sha1'</tt>)</em>
2072
-
2073
-
2074
- &mdash;
2075
- <div class='inline'>
2076
- <p>Which algorithm to use for the fingerprint. See R509::MessageDigest for
2077
- supported algorithm names</p>
2078
- </div>
2079
-
2080
- </li>
2081
-
2082
- </ul>
2083
-
2084
2255
  <p class="tag_title">Returns:</p>
2085
2256
  <ul class="return">
2086
2257
 
2087
2258
  <li>
2088
2259
 
2089
2260
 
2090
- <span class='type'>(<tt>String</tt>)</span>
2261
+ <span class='type'>(<tt>Boolean</tt>)</span>
2091
2262
 
2092
2263
 
2093
2264
 
2094
2265
  &mdash;
2095
2266
  <div class='inline'>
2096
- <p>hex digest of the certificate</p>
2267
+ <p>true if the public key is DSA, false otherwise</p>
2097
2268
  </div>
2098
2269
 
2099
2270
  </li>
@@ -2106,21 +2277,15 @@ supported algorithm names</p>
2106
2277
  <pre class="lines">
2107
2278
 
2108
2279
 
2109
- 129
2110
- 130
2111
- 131
2112
- 132
2113
- 133
2114
- 134</pre>
2280
+ 174
2281
+ 175
2282
+ 176</pre>
2115
2283
  </td>
2116
2284
  <td>
2117
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 129</span>
2285
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 174</span>
2118
2286
 
2119
- <span class='kw'>def</span> <span class='id identifier rubyid_fingerprint'>fingerprint</span><span class='lparen'>(</span><span class='id identifier rubyid_algorithm'>algorithm</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>sha1</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
2120
- <span class='id identifier rubyid_message_digest'>message_digest</span> <span class='op'>=</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>MessageDigest</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_algorithm'>algorithm</span><span class='rparen'>)</span>
2121
- <span class='id identifier rubyid_md'>md</span> <span class='op'>=</span> <span class='id identifier rubyid_message_digest'>message_digest</span><span class='period'>.</span><span class='id identifier rubyid_digest'>digest</span>
2122
- <span class='id identifier rubyid_md'>md</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span><span class='rparen'>)</span>
2123
- <span class='id identifier rubyid_md'>md</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
2287
+ <span class='kw'>def</span> <span class='id identifier rubyid_dsa?'>dsa?</span>
2288
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKey</span><span class='op'>::</span><span class='const'>DSA</span><span class='rparen'>)</span>
2124
2289
  <span class='kw'>end</span></pre>
2125
2290
  </td>
2126
2291
  </tr>
@@ -2128,9 +2293,9 @@ supported algorithm names</p>
2128
2293
  </div>
2129
2294
 
2130
2295
  <div class="method_details ">
2131
- <h3 class="signature " id="has_private_key?-instance_method">
2296
+ <h3 class="signature " id="ec?-instance_method">
2132
2297
 
2133
- - (<tt>Boolean</tt>) <strong>has_private_key?</strong>
2298
+ - (<tt>Boolean</tt>) <strong>ec?</strong>
2134
2299
 
2135
2300
 
2136
2301
 
@@ -2139,7 +2304,7 @@ supported algorithm names</p>
2139
2304
  </h3><div class="docstring">
2140
2305
  <div class="discussion">
2141
2306
 
2142
- <p>Boolean of whether the object contains a private key</p>
2307
+ <p>Returns whether the public key is EC</p>
2143
2308
 
2144
2309
 
2145
2310
  </div>
@@ -2158,7 +2323,7 @@ supported algorithm names</p>
2158
2323
 
2159
2324
  &mdash;
2160
2325
  <div class='inline'>
2161
- <p>Boolean of whether the object contains a private key</p>
2326
+ <p>true if the public key is EC, false otherwise</p>
2162
2327
  </div>
2163
2328
 
2164
2329
  </li>
@@ -2171,23 +2336,15 @@ supported algorithm names</p>
2171
2336
  <pre class="lines">
2172
2337
 
2173
2338
 
2174
- 168
2175
- 169
2176
- 170
2177
- 171
2178
- 172
2179
- 173
2180
- 174</pre>
2339
+ 181
2340
+ 182
2341
+ 183</pre>
2181
2342
  </td>
2182
2343
  <td>
2183
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 168</span>
2344
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 181</span>
2184
2345
 
2185
- <span class='kw'>def</span> <span class='id identifier rubyid_has_private_key?'>has_private_key?</span>
2186
- <span class='kw'>if</span> <span class='kw'>not</span> <span class='ivar'>@key</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2187
- <span class='kw'>true</span>
2188
- <span class='kw'>else</span>
2189
- <span class='kw'>false</span>
2190
- <span class='kw'>end</span>
2346
+ <span class='kw'>def</span> <span class='id identifier rubyid_ec?'>ec?</span>
2347
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKey</span><span class='op'>::</span><span class='const'>EC</span><span class='rparen'>)</span>
2191
2348
  <span class='kw'>end</span></pre>
2192
2349
  </td>
2193
2350
  </tr>
@@ -2195,55 +2352,108 @@ supported algorithm names</p>
2195
2352
  </div>
2196
2353
 
2197
2354
  <div class="method_details ">
2198
- <h3 class="signature " id="is_revoked_by_crl?-instance_method">
2355
+ <h3 class="signature " id="extended_key_usage-instance_method">
2199
2356
 
2200
- - (<tt>Boolean</tt>) <strong>is_revoked_by_crl?</strong>(r509_crl)
2357
+ - (<tt><span class='object_link'><a href="Cert/Extensions/ExtendedKeyUsage.html" title="R509::Cert::Extensions::ExtendedKeyUsage (class)">R509::Cert::Extensions::ExtendedKeyUsage</a></span></tt>) <strong>extended_key_usage</strong>
2201
2358
 
2202
2359
 
2203
2360
 
2361
+ <span class="aliases">Also known as:
2362
+ <span class="names"><span id='eku-instance_method'>eku</span></span>
2363
+ </span>
2364
+
2204
2365
 
2205
2366
 
2206
2367
  </h3><div class="docstring">
2207
2368
  <div class="discussion">
2208
2369
 
2209
- <p>Checks the given CRL for this certificate's serial number. Note that this
2210
- does NOT check to verify that the CRL you're checking is signed by the same
2211
- CA as the cert so do that check yourself</p>
2370
+ <p>Returns this object's ExtendedKeyUsage extension as an R509 extension</p>
2371
+
2372
+ <p>if this cert does not have a ExtendedKeyUsage extension.</p>
2212
2373
 
2213
2374
 
2214
2375
  </div>
2215
2376
  </div>
2216
2377
  <div class="tags">
2217
- <p class="tag_title">Parameters:</p>
2218
- <ul class="param">
2378
+
2379
+ <p class="tag_title">Returns:</p>
2380
+ <ul class="return">
2219
2381
 
2220
2382
  <li>
2221
2383
 
2222
- <span class='name'>r509_crl</span>
2223
-
2224
2384
 
2225
- <span class='type'>(<tt><span class='object_link'><a href="Crl.html" title="R509::Crl (module)">R509::Crl</a></span></tt>)</span>
2385
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/ExtendedKeyUsage.html" title="R509::Cert::Extensions::ExtendedKeyUsage (class)">R509::Cert::Extensions::ExtendedKeyUsage</a></span></tt>)</span>
2226
2386
 
2227
2387
 
2228
2388
 
2229
2389
  &mdash;
2230
2390
  <div class='inline'>
2231
- <p>A CRL from the CA that issued this certificate.</p>
2391
+ <p>The object, or nil</p>
2232
2392
  </div>
2233
2393
 
2234
2394
  </li>
2235
2395
 
2236
2396
  </ul>
2237
2397
 
2398
+ </div><table class="source_code">
2399
+ <tr>
2400
+ <td>
2401
+ <pre class="lines">
2402
+
2403
+
2404
+ 314
2405
+ 315
2406
+ 316</pre>
2407
+ </td>
2408
+ <td>
2409
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 314</span>
2410
+
2411
+ <span class='kw'>def</span> <span class='id identifier rubyid_extended_key_usage'>extended_key_usage</span>
2412
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>ExtendedKeyUsage</span><span class='rbracket'>]</span>
2413
+ <span class='kw'>end</span></pre>
2414
+ </td>
2415
+ </tr>
2416
+ </table>
2417
+ </div>
2418
+
2419
+ <div class="method_details ">
2420
+ <h3 class="signature " id="extensions-instance_method">
2421
+
2422
+ - (<tt>Hash</tt>) <strong>extensions</strong>
2423
+
2424
+
2425
+
2426
+
2427
+
2428
+ </h3><div class="docstring">
2429
+ <div class="discussion">
2430
+
2431
+ <p>Returns the certificate extensions as a hash of R509::Cert::Extensions
2432
+ specific objects.</p>
2433
+
2434
+ <p>R509::Cert::Extensions module, each specific to the extension. The hash is
2435
+ keyed with the R509 extension class. Extensions without an R509
2436
+ implementation are ignored (see #get_unknown_extensions).</p>
2437
+
2438
+
2439
+ </div>
2440
+ </div>
2441
+ <div class="tags">
2442
+
2238
2443
  <p class="tag_title">Returns:</p>
2239
2444
  <ul class="return">
2240
2445
 
2241
2446
  <li>
2242
2447
 
2243
2448
 
2244
- <span class='type'>(<tt>Boolean</tt>)</span>
2449
+ <span class='type'>(<tt>Hash</tt>)</span>
2450
+
2245
2451
 
2246
2452
 
2453
+ &mdash;
2454
+ <div class='inline'>
2455
+ <p>A hash, in which the values are classes from the</p>
2456
+ </div>
2247
2457
 
2248
2458
  </li>
2249
2459
 
@@ -2255,15 +2465,23 @@ CA as the cert so do that check yourself</p>
2255
2465
  <pre class="lines">
2256
2466
 
2257
2467
 
2258
- 288
2259
- 289
2260
- 290</pre>
2468
+ 273
2469
+ 274
2470
+ 275
2471
+ 276
2472
+ 277
2473
+ 278
2474
+ 279</pre>
2261
2475
  </td>
2262
2476
  <td>
2263
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 288</span>
2477
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 273</span>
2264
2478
 
2265
- <span class='kw'>def</span> <span class='id identifier rubyid_is_revoked_by_crl?'>is_revoked_by_crl?</span><span class='lparen'>(</span> <span class='id identifier rubyid_r509_crl'>r509_crl</span> <span class='rparen'>)</span>
2266
- <span class='kw'>return</span> <span class='id identifier rubyid_r509_crl'>r509_crl</span><span class='period'>.</span><span class='id identifier rubyid_revoked?'>revoked?</span><span class='lparen'>(</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_serial'>serial</span> <span class='rparen'>)</span>
2479
+ <span class='kw'>def</span> <span class='id identifier rubyid_extensions'>extensions</span>
2480
+ <span class='kw'>if</span> <span class='ivar'>@r509_extensions</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2481
+ <span class='ivar'>@r509_extensions</span> <span class='op'>=</span> <span class='const'>Extensions</span><span class='period'>.</span><span class='id identifier rubyid_wrap_openssl_extensions'>wrap_openssl_extensions</span><span class='lparen'>(</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_cert'>cert</span><span class='period'>.</span><span class='id identifier rubyid_extensions'>extensions</span> <span class='rparen'>)</span>
2482
+ <span class='kw'>end</span>
2483
+
2484
+ <span class='kw'>return</span> <span class='ivar'>@r509_extensions</span>
2267
2485
  <span class='kw'>end</span></pre>
2268
2486
  </td>
2269
2487
  </tr>
@@ -2271,9 +2489,9 @@ CA as the cert so do that check yourself</p>
2271
2489
  </div>
2272
2490
 
2273
2491
  <div class="method_details ">
2274
- <h3 class="signature " id="issuer-instance_method">
2492
+ <h3 class="signature " id="fingerprint-instance_method">
2275
2493
 
2276
- - (<tt>OpenSSL::X509::Name</tt>) <strong>issuer</strong>
2494
+ - (<tt>String</tt>) <strong>fingerprint</strong>(algorithm = 'sha1')
2277
2495
 
2278
2496
 
2279
2497
 
@@ -2282,26 +2500,50 @@ CA as the cert so do that check yourself</p>
2282
2500
  </h3><div class="docstring">
2283
2501
  <div class="discussion">
2284
2502
 
2285
- <p>Returns the issuer</p>
2503
+ <p>Returns the certificate fingerprint with the specified algorithm (default
2504
+ sha1)</p>
2286
2505
 
2287
2506
 
2288
2507
  </div>
2289
2508
  </div>
2290
2509
  <div class="tags">
2510
+ <p class="tag_title">Parameters:</p>
2511
+ <ul class="param">
2291
2512
 
2513
+ <li>
2514
+
2515
+ <span class='name'>algorithm</span>
2516
+
2517
+
2518
+ <span class='type'>(<tt>String</tt>)</span>
2519
+
2520
+
2521
+ <em class="default">(defaults to: <tt>'sha1'</tt>)</em>
2522
+
2523
+
2524
+ &mdash;
2525
+ <div class='inline'>
2526
+ <p>Which algorithm to use for the fingerprint. See R509::MessageDigest for
2527
+ supported algorithm names</p>
2528
+ </div>
2529
+
2530
+ </li>
2531
+
2532
+ </ul>
2533
+
2292
2534
  <p class="tag_title">Returns:</p>
2293
2535
  <ul class="return">
2294
2536
 
2295
2537
  <li>
2296
2538
 
2297
2539
 
2298
- <span class='type'>(<tt>OpenSSL::X509::Name</tt>)</span>
2540
+ <span class='type'>(<tt>String</tt>)</span>
2299
2541
 
2300
2542
 
2301
2543
 
2302
2544
  &mdash;
2303
2545
  <div class='inline'>
2304
- <p>issuer object. Can be parsed as string easily</p>
2546
+ <p>hex digest of the certificate</p>
2305
2547
  </div>
2306
2548
 
2307
2549
  </li>
@@ -2314,15 +2556,21 @@ CA as the cert so do that check yourself</p>
2314
2556
  <pre class="lines">
2315
2557
 
2316
2558
 
2317
- 109
2318
- 110
2319
- 111</pre>
2559
+ 112
2560
+ 113
2561
+ 114
2562
+ 115
2563
+ 116
2564
+ 117</pre>
2320
2565
  </td>
2321
2566
  <td>
2322
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 109</span>
2567
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 112</span>
2323
2568
 
2324
- <span class='kw'>def</span> <span class='id identifier rubyid_issuer'>issuer</span>
2325
- <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_issuer'>issuer</span>
2569
+ <span class='kw'>def</span> <span class='id identifier rubyid_fingerprint'>fingerprint</span><span class='lparen'>(</span><span class='id identifier rubyid_algorithm'>algorithm</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>sha1</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
2570
+ <span class='id identifier rubyid_message_digest'>message_digest</span> <span class='op'>=</span> <span class='const'>R509</span><span class='op'>::</span><span class='const'>MessageDigest</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_algorithm'>algorithm</span><span class='rparen'>)</span>
2571
+ <span class='id identifier rubyid_md'>md</span> <span class='op'>=</span> <span class='id identifier rubyid_message_digest'>message_digest</span><span class='period'>.</span><span class='id identifier rubyid_digest'>digest</span>
2572
+ <span class='id identifier rubyid_md'>md</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span><span class='rparen'>)</span>
2573
+ <span class='id identifier rubyid_md'>md</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
2326
2574
  <span class='kw'>end</span></pre>
2327
2575
  </td>
2328
2576
  </tr>
@@ -2330,9 +2578,9 @@ CA as the cert so do that check yourself</p>
2330
2578
  </div>
2331
2579
 
2332
2580
  <div class="method_details ">
2333
- <h3 class="signature " id="issuer_cn-instance_method">
2581
+ <h3 class="signature " id="has_private_key?-instance_method">
2334
2582
 
2335
- - (<tt>String</tt>) <strong>issuer_cn</strong>
2583
+ - (<tt>Boolean</tt>) <strong>has_private_key?</strong>
2336
2584
 
2337
2585
 
2338
2586
 
@@ -2341,7 +2589,7 @@ CA as the cert so do that check yourself</p>
2341
2589
  </h3><div class="docstring">
2342
2590
  <div class="discussion">
2343
2591
 
2344
- <p>The common name (CN) component of the issuer</p>
2592
+ <p>Boolean of whether the object contains a private key</p>
2345
2593
 
2346
2594
 
2347
2595
  </div>
@@ -2354,13 +2602,13 @@ CA as the cert so do that check yourself</p>
2354
2602
  <li>
2355
2603
 
2356
2604
 
2357
- <span class='type'>(<tt>String</tt>)</span>
2605
+ <span class='type'>(<tt>Boolean</tt>)</span>
2358
2606
 
2359
2607
 
2360
2608
 
2361
2609
  &mdash;
2362
2610
  <div class='inline'>
2363
- <p>The common name (CN) component of the issuer</p>
2611
+ <p>Boolean of whether the object contains a private key</p>
2364
2612
  </div>
2365
2613
 
2366
2614
  </li>
@@ -2373,29 +2621,23 @@ CA as the cert so do that check yourself</p>
2373
2621
  <pre class="lines">
2374
2622
 
2375
2623
 
2376
- 114
2377
- 115
2378
- 116
2379
- 117
2380
- 118
2381
- 119
2382
- 120
2383
- 121
2384
- 122
2385
- 123</pre>
2624
+ 144
2625
+ 145
2626
+ 146
2627
+ 147
2628
+ 148
2629
+ 149
2630
+ 150</pre>
2386
2631
  </td>
2387
2632
  <td>
2388
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 114</span>
2389
-
2390
- <span class='kw'>def</span> <span class='id identifier rubyid_issuer_cn'>issuer_cn</span>
2391
- <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_issuer'>issuer</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2392
-
2393
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_issuer'>issuer</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</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_part'>part</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_length'>length</span><span class='op'>|</span>
2394
- <span class='kw'>return</span> <span class='id identifier rubyid_value'>value</span> <span class='kw'>if</span> <span class='id identifier rubyid_part'>part</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>CN</span><span class='tstring_end'>'</span></span>
2395
- <span class='kw'>end</span>
2633
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 144</span>
2396
2634
 
2397
- <span class='comment'># return nil if we didn't find a CN part
2398
- </span> <span class='kw'>return</span> <span class='kw'>nil</span>
2635
+ <span class='kw'>def</span> <span class='id identifier rubyid_has_private_key?'>has_private_key?</span>
2636
+ <span class='kw'>if</span> <span class='kw'>not</span> <span class='ivar'>@key</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2637
+ <span class='kw'>true</span>
2638
+ <span class='kw'>else</span>
2639
+ <span class='kw'>false</span>
2640
+ <span class='kw'>end</span>
2399
2641
  <span class='kw'>end</span></pre>
2400
2642
  </td>
2401
2643
  </tr>
@@ -2403,9 +2645,9 @@ CA as the cert so do that check yourself</p>
2403
2645
  </div>
2404
2646
 
2405
2647
  <div class="method_details ">
2406
- <h3 class="signature " id="key_algorithm-instance_method">
2648
+ <h3 class="signature " id="hexserial-instance_method">
2407
2649
 
2408
- - (<tt>String</tt>) <strong>key_algorithm</strong>
2650
+ - (<tt>String</tt>) <strong>hexserial</strong>
2409
2651
 
2410
2652
 
2411
2653
 
@@ -2414,7 +2656,7 @@ CA as the cert so do that check yourself</p>
2414
2656
  </h3><div class="docstring">
2415
2657
  <div class="discussion">
2416
2658
 
2417
- <p>Returns key algorithm (RSA or DSA)</p>
2659
+ <p>Returns the serial number of the certificate in hexadecimal form</p>
2418
2660
 
2419
2661
 
2420
2662
  </div>
@@ -2431,11 +2673,6 @@ CA as the cert so do that check yourself</p>
2431
2673
 
2432
2674
 
2433
2675
 
2434
- &mdash;
2435
- <div class='inline'>
2436
- <p>value of the key algorithm. RSA or DSA</p>
2437
- </div>
2438
-
2439
2676
  </li>
2440
2677
 
2441
2678
  </ul>
@@ -2446,23 +2683,15 @@ CA as the cert so do that check yourself</p>
2446
2683
  <pre class="lines">
2447
2684
 
2448
2685
 
2449
- 248
2450
- 249
2451
- 250
2452
- 251
2453
- 252
2454
- 253
2455
- 254</pre>
2686
+ 90
2687
+ 91
2688
+ 92</pre>
2456
2689
  </td>
2457
2690
  <td>
2458
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 248</span>
2691
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 90</span>
2459
2692
 
2460
- <span class='kw'>def</span> <span class='id identifier rubyid_key_algorithm'>key_algorithm</span>
2461
- <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rsa?'>rsa?</span>
2462
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>RSA</span><span class='tstring_end'>&quot;</span></span>
2463
- <span class='kw'>elsif</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dsa?'>dsa?</span>
2464
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DSA</span><span class='tstring_end'>&quot;</span></span>
2465
- <span class='kw'>end</span>
2693
+ <span class='kw'>def</span> <span class='id identifier rubyid_hexserial'>hexserial</span>
2694
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_serial'>serial</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='lparen'>(</span><span class='int'>16</span><span class='rparen'>)</span>
2466
2695
  <span class='kw'>end</span></pre>
2467
2696
  </td>
2468
2697
  </tr>
@@ -2470,9 +2699,9 @@ CA as the cert so do that check yourself</p>
2470
2699
  </div>
2471
2700
 
2472
2701
  <div class="method_details ">
2473
- <h3 class="signature " id="key_usage-instance_method">
2702
+ <h3 class="signature " id="inhibit_any_policy-instance_method">
2474
2703
 
2475
- - (<tt><span class='object_link'><a href="Cert/Extensions/KeyUsage.html" title="R509::Cert::Extensions::KeyUsage (class)">R509::Cert::Extensions::KeyUsage</a></span></tt>) <strong>key_usage</strong>
2704
+ - (<tt><span class='object_link'><a href="Cert/Extensions/InhibitAnyPolicy.html" title="R509::Cert::Extensions::InhibitAnyPolicy (class)">R509::Cert::Extensions::InhibitAnyPolicy</a></span></tt>) <strong>inhibit_any_policy</strong>
2476
2705
 
2477
2706
 
2478
2707
 
@@ -2481,7 +2710,9 @@ CA as the cert so do that check yourself</p>
2481
2710
  </h3><div class="docstring">
2482
2711
  <div class="discussion">
2483
2712
 
2484
- <p>Returns this object's KeyUsage extension as an R509 extension</p>
2713
+ <p>Returns this object's InhibitAnyPolicy extension as an R509 extension</p>
2714
+
2715
+ <p>if this cert does not have a InhibitAnyPolicy extension.</p>
2485
2716
 
2486
2717
 
2487
2718
  </div>
@@ -2494,13 +2725,13 @@ CA as the cert so do that check yourself</p>
2494
2725
  <li>
2495
2726
 
2496
2727
 
2497
- <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/KeyUsage.html" title="R509::Cert::Extensions::KeyUsage (class)">R509::Cert::Extensions::KeyUsage</a></span></tt>)</span>
2728
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/InhibitAnyPolicy.html" title="R509::Cert::Extensions::InhibitAnyPolicy (class)">R509::Cert::Extensions::InhibitAnyPolicy</a></span></tt>)</span>
2498
2729
 
2499
2730
 
2500
2731
 
2501
2732
  &mdash;
2502
2733
  <div class='inline'>
2503
- <p>The object, or nil if this cert does not have a KeyUsage extension.</p>
2734
+ <p>The object, or nil</p>
2504
2735
  </div>
2505
2736
 
2506
2737
  </li>
@@ -2513,15 +2744,15 @@ CA as the cert so do that check yourself</p>
2513
2744
  <pre class="lines">
2514
2745
 
2515
2746
 
2516
- 345
2517
- 346
2518
- 347</pre>
2747
+ 383
2748
+ 384
2749
+ 385</pre>
2519
2750
  </td>
2520
2751
  <td>
2521
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 345</span>
2752
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 383</span>
2522
2753
 
2523
- <span class='kw'>def</span> <span class='id identifier rubyid_key_usage'>key_usage</span>
2524
- <span class='kw'>return</span> <span class='id identifier rubyid_r509_extensions'>r509_extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>KeyUsage</span><span class='rbracket'>]</span>
2754
+ <span class='kw'>def</span> <span class='id identifier rubyid_inhibit_any_policy'>inhibit_any_policy</span>
2755
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>InhibitAnyPolicy</span><span class='rbracket'>]</span>
2525
2756
  <span class='kw'>end</span></pre>
2526
2757
  </td>
2527
2758
  </tr>
@@ -2529,9 +2760,9 @@ CA as the cert so do that check yourself</p>
2529
2760
  </div>
2530
2761
 
2531
2762
  <div class="method_details ">
2532
- <h3 class="signature " id="not_after-instance_method">
2763
+ <h3 class="signature " id="is_revoked_by_crl?-instance_method">
2533
2764
 
2534
- - (<tt>Time</tt>) <strong>not_after</strong>
2765
+ - (<tt>Boolean</tt>) <strong>is_revoked_by_crl?</strong>(r509_crl)
2535
2766
 
2536
2767
 
2537
2768
 
@@ -2540,47 +2771,64 @@ CA as the cert so do that check yourself</p>
2540
2771
  </h3><div class="docstring">
2541
2772
  <div class="discussion">
2542
2773
 
2543
- <p>Returns ending (notAfter) of certificate validity period</p>
2774
+ <p>Checks the given CRL for this certificate's serial number. Note that this
2775
+ does NOT check to verify that the CRL you're checking is signed by the same
2776
+ CA as the cert so do that check yourself</p>
2544
2777
 
2545
2778
 
2546
2779
  </div>
2547
2780
  </div>
2548
2781
  <div class="tags">
2549
-
2550
- <p class="tag_title">Returns:</p>
2551
- <ul class="return">
2782
+ <p class="tag_title">Parameters:</p>
2783
+ <ul class="param">
2552
2784
 
2553
2785
  <li>
2554
2786
 
2787
+ <span class='name'>r509_crl</span>
2788
+
2555
2789
 
2556
- <span class='type'>(<tt>Time</tt>)</span>
2790
+ <span class='type'>(<tt><span class='object_link'><a href="CRL/SignedList.html" title="R509::CRL::SignedList (class)">R509::CRL::SignedList</a></span></tt>)</span>
2557
2791
 
2558
2792
 
2559
2793
 
2560
2794
  &mdash;
2561
2795
  <div class='inline'>
2562
- <p>time object</p>
2796
+ <p>A CRL from the CA that issued this certificate.</p>
2563
2797
  </div>
2564
2798
 
2565
2799
  </li>
2566
2800
 
2567
2801
  </ul>
2568
2802
 
2803
+ <p class="tag_title">Returns:</p>
2804
+ <ul class="return">
2805
+
2806
+ <li>
2807
+
2808
+
2809
+ <span class='type'>(<tt>Boolean</tt>)</span>
2810
+
2811
+
2812
+
2813
+ </li>
2814
+
2815
+ </ul>
2816
+
2569
2817
  </div><table class="source_code">
2570
2818
  <tr>
2571
2819
  <td>
2572
2820
  <pre class="lines">
2573
2821
 
2574
2822
 
2575
- 95
2576
- 96
2577
- 97</pre>
2823
+ 262
2824
+ 263
2825
+ 264</pre>
2578
2826
  </td>
2579
2827
  <td>
2580
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 95</span>
2828
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 262</span>
2581
2829
 
2582
- <span class='kw'>def</span> <span class='id identifier rubyid_not_after'>not_after</span>
2583
- <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_not_after'>not_after</span>
2830
+ <span class='kw'>def</span> <span class='id identifier rubyid_is_revoked_by_crl?'>is_revoked_by_crl?</span><span class='lparen'>(</span> <span class='id identifier rubyid_r509_crl'>r509_crl</span> <span class='rparen'>)</span>
2831
+ <span class='kw'>return</span> <span class='id identifier rubyid_r509_crl'>r509_crl</span><span class='period'>.</span><span class='id identifier rubyid_revoked?'>revoked?</span><span class='lparen'>(</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_serial'>serial</span> <span class='rparen'>)</span>
2584
2832
  <span class='kw'>end</span></pre>
2585
2833
  </td>
2586
2834
  </tr>
@@ -2588,9 +2836,9 @@ CA as the cert so do that check yourself</p>
2588
2836
  </div>
2589
2837
 
2590
2838
  <div class="method_details ">
2591
- <h3 class="signature " id="not_before-instance_method">
2839
+ <h3 class="signature " id="key_algorithm-instance_method">
2592
2840
 
2593
- - (<tt>Time</tt>) <strong>not_before</strong>
2841
+ - (<tt>Symbol</tt>) <strong>key_algorithm</strong>
2594
2842
 
2595
2843
 
2596
2844
 
@@ -2599,7 +2847,7 @@ CA as the cert so do that check yourself</p>
2599
2847
  </h3><div class="docstring">
2600
2848
  <div class="discussion">
2601
2849
 
2602
- <p>Returns beginning (notBefore) of certificate validity period</p>
2850
+ <p>Returns key algorithm (RSA, DSA, EC)</p>
2603
2851
 
2604
2852
 
2605
2853
  </div>
@@ -2612,13 +2860,13 @@ CA as the cert so do that check yourself</p>
2612
2860
  <li>
2613
2861
 
2614
2862
 
2615
- <span class='type'>(<tt>Time</tt>)</span>
2863
+ <span class='type'>(<tt>Symbol</tt>)</span>
2616
2864
 
2617
2865
 
2618
2866
 
2619
2867
  &mdash;
2620
2868
  <div class='inline'>
2621
- <p>time object</p>
2869
+ <p>value of the key algorithm. :rsa, :dsa, :ec</p>
2622
2870
  </div>
2623
2871
 
2624
2872
  </li>
@@ -2631,15 +2879,27 @@ CA as the cert so do that check yourself</p>
2631
2879
  <pre class="lines">
2632
2880
 
2633
2881
 
2634
- 81
2635
- 82
2636
- 83</pre>
2882
+ 220
2883
+ 221
2884
+ 222
2885
+ 223
2886
+ 224
2887
+ 225
2888
+ 226
2889
+ 227
2890
+ 228</pre>
2637
2891
  </td>
2638
2892
  <td>
2639
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 81</span>
2893
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 220</span>
2640
2894
 
2641
- <span class='kw'>def</span> <span class='id identifier rubyid_not_before'>not_before</span>
2642
- <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_not_before'>not_before</span>
2895
+ <span class='kw'>def</span> <span class='id identifier rubyid_key_algorithm'>key_algorithm</span>
2896
+ <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rsa?'>rsa?</span>
2897
+ <span class='symbol'>:rsa</span>
2898
+ <span class='kw'>elsif</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dsa?'>dsa?</span>
2899
+ <span class='symbol'>:dsa</span>
2900
+ <span class='kw'>elsif</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_ec?'>ec?</span>
2901
+ <span class='symbol'>:ec</span>
2902
+ <span class='kw'>end</span>
2643
2903
  <span class='kw'>end</span></pre>
2644
2904
  </td>
2645
2905
  </tr>
@@ -2647,18 +2907,24 @@ CA as the cert so do that check yourself</p>
2647
2907
  </div>
2648
2908
 
2649
2909
  <div class="method_details ">
2650
- <h3 class="signature " id="public_key-instance_method">
2910
+ <h3 class="signature " id="key_usage-instance_method">
2651
2911
 
2652
- - (<tt>OpenSSL::PKey::RSA</tt>) <strong>public_key</strong>
2912
+ - (<tt><span class='object_link'><a href="Cert/Extensions/KeyUsage.html" title="R509::Cert::Extensions::KeyUsage (class)">R509::Cert::Extensions::KeyUsage</a></span></tt>) <strong>key_usage</strong>
2653
2913
 
2654
2914
 
2655
2915
 
2916
+ <span class="aliases">Also known as:
2917
+ <span class="names"><span id='ku-instance_method'>ku</span></span>
2918
+ </span>
2919
+
2656
2920
 
2657
2921
 
2658
2922
  </h3><div class="docstring">
2659
2923
  <div class="discussion">
2660
2924
 
2661
- <p>Returns the certificate public key</p>
2925
+ <p>Returns this object's KeyUsage extension as an R509 extension</p>
2926
+
2927
+ <p>if this cert does not have a KeyUsage extension.</p>
2662
2928
 
2663
2929
 
2664
2930
  </div>
@@ -2671,13 +2937,13 @@ CA as the cert so do that check yourself</p>
2671
2937
  <li>
2672
2938
 
2673
2939
 
2674
- <span class='type'>(<tt>OpenSSL::PKey::RSA</tt>)</span>
2940
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/KeyUsage.html" title="R509::Cert::Extensions::KeyUsage (class)">R509::Cert::Extensions::KeyUsage</a></span></tt>)</span>
2675
2941
 
2676
2942
 
2677
2943
 
2678
2944
  &mdash;
2679
2945
  <div class='inline'>
2680
- <p>public key object</p>
2946
+ <p>The object, or nil</p>
2681
2947
  </div>
2682
2948
 
2683
2949
  </li>
@@ -2690,15 +2956,15 @@ CA as the cert so do that check yourself</p>
2690
2956
  <pre class="lines">
2691
2957
 
2692
2958
 
2693
- 102
2694
- 103
2695
- 104</pre>
2959
+ 305
2960
+ 306
2961
+ 307</pre>
2696
2962
  </td>
2697
2963
  <td>
2698
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 102</span>
2964
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 305</span>
2699
2965
 
2700
- <span class='kw'>def</span> <span class='id identifier rubyid_public_key'>public_key</span>
2701
- <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span>
2966
+ <span class='kw'>def</span> <span class='id identifier rubyid_key_usage'>key_usage</span>
2967
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>KeyUsage</span><span class='rbracket'>]</span>
2702
2968
  <span class='kw'>end</span></pre>
2703
2969
  </td>
2704
2970
  </tr>
@@ -2706,9 +2972,9 @@ CA as the cert so do that check yourself</p>
2706
2972
  </div>
2707
2973
 
2708
2974
  <div class="method_details ">
2709
- <h3 class="signature " id="r509_extensions-instance_method">
2975
+ <h3 class="signature " id="name_constraints-instance_method">
2710
2976
 
2711
- - (<tt>Hash</tt>) <strong>r509_extensions</strong>
2977
+ - (<tt><span class='object_link'><a href="Cert/Extensions/NameConstraints.html" title="R509::Cert::Extensions::NameConstraints (class)">R509::Cert::Extensions::NameConstraints</a></span></tt>) <strong>name_constraints</strong>
2712
2978
 
2713
2979
 
2714
2980
 
@@ -2717,12 +2983,9 @@ CA as the cert so do that check yourself</p>
2717
2983
  </h3><div class="docstring">
2718
2984
  <div class="discussion">
2719
2985
 
2720
- <p>Returns the certificate extensions as a hash of R509::Cert::Extensions
2721
- specific objects.</p>
2986
+ <p>Returns this object's NameConstraints extension as an R509 extension</p>
2722
2987
 
2723
- <p>R509::Cert::Extensions module, each specific to the extension. The hash is
2724
- keyed with the R509 extension class. Extensions without an R509
2725
- implementation are ignored (see #get_unknown_extensions).</p>
2988
+ <p>if this cert does not have a NameConstraints extension.</p>
2726
2989
 
2727
2990
 
2728
2991
  </div>
@@ -2735,13 +2998,13 @@ implementation are ignored (see #get_unknown_extensions).</p>
2735
2998
  <li>
2736
2999
 
2737
3000
 
2738
- <span class='type'>(<tt>Hash</tt>)</span>
3001
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/NameConstraints.html" title="R509::Cert::Extensions::NameConstraints (class)">R509::Cert::Extensions::NameConstraints</a></span></tt>)</span>
2739
3002
 
2740
3003
 
2741
3004
 
2742
3005
  &mdash;
2743
3006
  <div class='inline'>
2744
- <p>A hash, in which the values are classes from the</p>
3007
+ <p>The object, or nil</p>
2745
3008
  </div>
2746
3009
 
2747
3010
  </li>
@@ -2754,23 +3017,15 @@ implementation are ignored (see #get_unknown_extensions).</p>
2754
3017
  <pre class="lines">
2755
3018
 
2756
3019
 
2757
- 313
2758
- 314
2759
- 315
2760
- 316
2761
- 317
2762
- 318
2763
- 319</pre>
3020
+ 399
3021
+ 400
3022
+ 401</pre>
2764
3023
  </td>
2765
3024
  <td>
2766
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 313</span>
2767
-
2768
- <span class='kw'>def</span> <span class='id identifier rubyid_r509_extensions'>r509_extensions</span>
2769
- <span class='kw'>if</span> <span class='ivar'>@r509_extensions</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2770
- <span class='ivar'>@r509_extensions</span> <span class='op'>=</span> <span class='const'>Extensions</span><span class='period'>.</span><span class='id identifier rubyid_wrap_openssl_extensions'>wrap_openssl_extensions</span><span class='lparen'>(</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_cert'>cert</span><span class='period'>.</span><span class='id identifier rubyid_extensions'>extensions</span> <span class='rparen'>)</span>
2771
- <span class='kw'>end</span>
3025
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 399</span>
2772
3026
 
2773
- <span class='kw'>return</span> <span class='ivar'>@r509_extensions</span>
3027
+ <span class='kw'>def</span> <span class='id identifier rubyid_name_constraints'>name_constraints</span>
3028
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>NameConstraints</span><span class='rbracket'>]</span>
2774
3029
  <span class='kw'>end</span></pre>
2775
3030
  </td>
2776
3031
  </tr>
@@ -2778,9 +3033,9 @@ implementation are ignored (see #get_unknown_extensions).</p>
2778
3033
  </div>
2779
3034
 
2780
3035
  <div class="method_details ">
2781
- <h3 class="signature " id="rsa?-instance_method">
3036
+ <h3 class="signature " id="not_after-instance_method">
2782
3037
 
2783
- - (<tt>Boolean</tt>) <strong>rsa?</strong>
3038
+ - (<tt>Time</tt>) <strong>not_after</strong>
2784
3039
 
2785
3040
 
2786
3041
 
@@ -2789,7 +3044,7 @@ implementation are ignored (see #get_unknown_extensions).</p>
2789
3044
  </h3><div class="docstring">
2790
3045
  <div class="discussion">
2791
3046
 
2792
- <p>Returns whether the public key is RSA</p>
3047
+ <p>Returns ending (notAfter) of certificate validity period</p>
2793
3048
 
2794
3049
 
2795
3050
  </div>
@@ -2802,13 +3057,13 @@ implementation are ignored (see #get_unknown_extensions).</p>
2802
3057
  <li>
2803
3058
 
2804
3059
 
2805
- <span class='type'>(<tt>Boolean</tt>)</span>
3060
+ <span class='type'>(<tt>Time</tt>)</span>
2806
3061
 
2807
3062
 
2808
3063
 
2809
3064
  &mdash;
2810
3065
  <div class='inline'>
2811
- <p>true if the public key is RSA, false otherwise</p>
3066
+ <p>time object</p>
2812
3067
  </div>
2813
3068
 
2814
3069
  </li>
@@ -2821,15 +3076,15 @@ implementation are ignored (see #get_unknown_extensions).</p>
2821
3076
  <pre class="lines">
2822
3077
 
2823
3078
 
2824
- 216
2825
- 217
2826
- 218</pre>
3079
+ 97
3080
+ 98
3081
+ 99</pre>
2827
3082
  </td>
2828
3083
  <td>
2829
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 216</span>
3084
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 97</span>
2830
3085
 
2831
- <span class='kw'>def</span> <span class='id identifier rubyid_rsa?'>rsa?</span>
2832
- <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKey</span><span class='op'>::</span><span class='const'>RSA</span><span class='rparen'>)</span>
3086
+ <span class='kw'>def</span> <span class='id identifier rubyid_not_after'>not_after</span>
3087
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_not_after'>not_after</span>
2833
3088
  <span class='kw'>end</span></pre>
2834
3089
  </td>
2835
3090
  </tr>
@@ -2837,9 +3092,9 @@ implementation are ignored (see #get_unknown_extensions).</p>
2837
3092
  </div>
2838
3093
 
2839
3094
  <div class="method_details ">
2840
- <h3 class="signature " id="san_names-instance_method">
3095
+ <h3 class="signature " id="not_before-instance_method">
2841
3096
 
2842
- - (<tt>Array</tt>) <strong>san_names</strong>
3097
+ - (<tt>Time</tt>) <strong>not_before</strong>
2843
3098
 
2844
3099
 
2845
3100
 
@@ -2848,7 +3103,7 @@ implementation are ignored (see #get_unknown_extensions).</p>
2848
3103
  </h3><div class="docstring">
2849
3104
  <div class="discussion">
2850
3105
 
2851
- <p>List of SAN DNS names</p>
3106
+ <p>Returns beginning (notBefore) of certificate validity period</p>
2852
3107
 
2853
3108
 
2854
3109
  </div>
@@ -2861,13 +3116,13 @@ implementation are ignored (see #get_unknown_extensions).</p>
2861
3116
  <li>
2862
3117
 
2863
3118
 
2864
- <span class='type'>(<tt>Array</tt>)</span>
3119
+ <span class='type'>(<tt>Time</tt>)</span>
2865
3120
 
2866
3121
 
2867
3122
 
2868
3123
  &mdash;
2869
3124
  <div class='inline'>
2870
- <p>list of SAN DNS names</p>
3125
+ <p>time object</p>
2871
3126
  </div>
2872
3127
 
2873
3128
  </li>
@@ -2880,23 +3135,15 @@ implementation are ignored (see #get_unknown_extensions).</p>
2880
3135
  <pre class="lines">
2881
3136
 
2882
3137
 
2883
- 177
2884
- 178
2885
- 179
2886
- 180
2887
- 181
2888
- 182
2889
- 183</pre>
3138
+ 76
3139
+ 77
3140
+ 78</pre>
2890
3141
  </td>
2891
3142
  <td>
2892
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 177</span>
3143
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 76</span>
2893
3144
 
2894
- <span class='kw'>def</span> <span class='id identifier rubyid_san_names'>san_names</span>
2895
- <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_subject_alternative_name'>subject_alternative_name</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2896
- <span class='kw'>return</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
2897
- <span class='kw'>else</span>
2898
- <span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_subject_alternative_name'>subject_alternative_name</span><span class='period'>.</span><span class='id identifier rubyid_dns_names'>dns_names</span>
2899
- <span class='kw'>end</span>
3145
+ <span class='kw'>def</span> <span class='id identifier rubyid_not_before'>not_before</span>
3146
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_not_before'>not_before</span>
2900
3147
  <span class='kw'>end</span></pre>
2901
3148
  </td>
2902
3149
  </tr>
@@ -2904,9 +3151,9 @@ implementation are ignored (see #get_unknown_extensions).</p>
2904
3151
  </div>
2905
3152
 
2906
3153
  <div class="method_details ">
2907
- <h3 class="signature " id="serial-instance_method">
3154
+ <h3 class="signature " id="ocsp_no_check?-instance_method">
2908
3155
 
2909
- - (<tt>Integer</tt>) <strong>serial</strong>
3156
+ - (<tt>Boolean</tt>) <strong>ocsp_no_check?</strong>
2910
3157
 
2911
3158
 
2912
3159
 
@@ -2915,7 +3162,8 @@ implementation are ignored (see #get_unknown_extensions).</p>
2915
3162
  </h3><div class="docstring">
2916
3163
  <div class="discussion">
2917
3164
 
2918
- <p>Returns the serial number of the certificate in decimal form</p>
3165
+ <p>Returns true if the OCSP No Check extension is present (value is irrelevant
3166
+ to this extension)</p>
2919
3167
 
2920
3168
 
2921
3169
  </div>
@@ -2928,10 +3176,15 @@ implementation are ignored (see #get_unknown_extensions).</p>
2928
3176
  <li>
2929
3177
 
2930
3178
 
2931
- <span class='type'>(<tt>Integer</tt>)</span>
3179
+ <span class='type'>(<tt>Boolean</tt>)</span>
2932
3180
 
2933
3181
 
2934
3182
 
3183
+ &mdash;
3184
+ <div class='inline'>
3185
+ <p>presence/absence of the nocheck extension</p>
3186
+ </div>
3187
+
2935
3188
  </li>
2936
3189
 
2937
3190
  </ul>
@@ -2942,15 +3195,15 @@ implementation are ignored (see #get_unknown_extensions).</p>
2942
3195
  <pre class="lines">
2943
3196
 
2944
3197
 
2945
- 88
2946
- 89
2947
- 90</pre>
3198
+ 367
3199
+ 368
3200
+ 369</pre>
2948
3201
  </td>
2949
3202
  <td>
2950
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 88</span>
3203
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 367</span>
2951
3204
 
2952
- <span class='kw'>def</span> <span class='id identifier rubyid_serial'>serial</span>
2953
- <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_serial'>serial</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
3205
+ <span class='kw'>def</span> <span class='id identifier rubyid_ocsp_no_check?'>ocsp_no_check?</span>
3206
+ <span class='kw'>return</span> <span class='lparen'>(</span><span class='id identifier rubyid_extensions'>extensions</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>OCSPNoCheck</span><span class='rparen'>)</span><span class='rparen'>)</span>
2954
3207
  <span class='kw'>end</span></pre>
2955
3208
  </td>
2956
3209
  </tr>
@@ -2958,9 +3211,9 @@ implementation are ignored (see #get_unknown_extensions).</p>
2958
3211
  </div>
2959
3212
 
2960
3213
  <div class="method_details ">
2961
- <h3 class="signature " id="signature_algorithm-instance_method">
3214
+ <h3 class="signature " id="policy_constraints-instance_method">
2962
3215
 
2963
- - (<tt>String</tt>) <strong>signature_algorithm</strong>
3216
+ - (<tt><span class='object_link'><a href="Cert/Extensions/PolicyConstraints.html" title="R509::Cert::Extensions::PolicyConstraints (class)">R509::Cert::Extensions::PolicyConstraints</a></span></tt>) <strong>policy_constraints</strong>
2964
3217
 
2965
3218
 
2966
3219
 
@@ -2969,7 +3222,9 @@ implementation are ignored (see #get_unknown_extensions).</p>
2969
3222
  </h3><div class="docstring">
2970
3223
  <div class="discussion">
2971
3224
 
2972
- <p>Returns signature algorithm</p>
3225
+ <p>Returns this object's PolicyConstraints extension as an R509 extension</p>
3226
+
3227
+ <p>if this cert does not have a PolicyConstraints extension.</p>
2973
3228
 
2974
3229
 
2975
3230
  </div>
@@ -2982,14 +3237,13 @@ implementation are ignored (see #get_unknown_extensions).</p>
2982
3237
  <li>
2983
3238
 
2984
3239
 
2985
- <span class='type'>(<tt>String</tt>)</span>
3240
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/PolicyConstraints.html" title="R509::Cert::Extensions::PolicyConstraints (class)">R509::Cert::Extensions::PolicyConstraints</a></span></tt>)</span>
2986
3241
 
2987
3242
 
2988
3243
 
2989
3244
  &mdash;
2990
3245
  <div class='inline'>
2991
- <p>value of the signature algorithm. E.g. sha1WithRSAEncryption,
2992
- sha256WithRSAEncryption, md5WithRSAEncryption</p>
3246
+ <p>The object, or nil</p>
2993
3247
  </div>
2994
3248
 
2995
3249
  </li>
@@ -3002,15 +3256,15 @@ sha256WithRSAEncryption, md5WithRSAEncryption</p>
3002
3256
  <pre class="lines">
3003
3257
 
3004
3258
 
3005
- 241
3006
- 242
3007
- 243</pre>
3259
+ 391
3260
+ 392
3261
+ 393</pre>
3008
3262
  </td>
3009
3263
  <td>
3010
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 241</span>
3264
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 391</span>
3011
3265
 
3012
- <span class='kw'>def</span> <span class='id identifier rubyid_signature_algorithm'>signature_algorithm</span>
3013
- <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_signature_algorithm'>signature_algorithm</span>
3266
+ <span class='kw'>def</span> <span class='id identifier rubyid_policy_constraints'>policy_constraints</span>
3267
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>PolicyConstraints</span><span class='rbracket'>]</span>
3014
3268
  <span class='kw'>end</span></pre>
3015
3269
  </td>
3016
3270
  </tr>
@@ -3018,9 +3272,9 @@ sha256WithRSAEncryption, md5WithRSAEncryption</p>
3018
3272
  </div>
3019
3273
 
3020
3274
  <div class="method_details ">
3021
- <h3 class="signature " id="subject-instance_method">
3275
+ <h3 class="signature " id="public_key-instance_method">
3022
3276
 
3023
- - (<tt>OpenSSL::X509::Name</tt>) <strong>subject</strong>
3277
+ - (<tt>OpenSSL::PKey::RSA</tt>) <strong>public_key</strong>
3024
3278
 
3025
3279
 
3026
3280
 
@@ -3029,7 +3283,7 @@ sha256WithRSAEncryption, md5WithRSAEncryption</p>
3029
3283
  </h3><div class="docstring">
3030
3284
  <div class="discussion">
3031
3285
 
3032
- <p>Returns the subject</p>
3286
+ <p>Returns the certificate public key</p>
3033
3287
 
3034
3288
 
3035
3289
  </div>
@@ -3042,13 +3296,13 @@ sha256WithRSAEncryption, md5WithRSAEncryption</p>
3042
3296
  <li>
3043
3297
 
3044
3298
 
3045
- <span class='type'>(<tt>OpenSSL::X509::Name</tt>)</span>
3299
+ <span class='type'>(<tt>OpenSSL::PKey::RSA</tt>)</span>
3046
3300
 
3047
3301
 
3048
3302
 
3049
3303
  &mdash;
3050
3304
  <div class='inline'>
3051
- <p>subject object. Can be parsed as string easily</p>
3305
+ <p>public key object</p>
3052
3306
  </div>
3053
3307
 
3054
3308
  </li>
@@ -3061,15 +3315,15 @@ sha256WithRSAEncryption, md5WithRSAEncryption</p>
3061
3315
  <pre class="lines">
3062
3316
 
3063
3317
 
3064
- 163
3065
- 164
3066
- 165</pre>
3318
+ 104
3319
+ 105
3320
+ 106</pre>
3067
3321
  </td>
3068
3322
  <td>
3069
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 163</span>
3323
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 104</span>
3070
3324
 
3071
- <span class='kw'>def</span> <span class='id identifier rubyid_subject'>subject</span>
3072
- <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_subject'>subject</span>
3325
+ <span class='kw'>def</span> <span class='id identifier rubyid_public_key'>public_key</span>
3326
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span>
3073
3327
  <span class='kw'>end</span></pre>
3074
3328
  </td>
3075
3329
  </tr>
@@ -3077,9 +3331,9 @@ sha256WithRSAEncryption, md5WithRSAEncryption</p>
3077
3331
  </div>
3078
3332
 
3079
3333
  <div class="method_details ">
3080
- <h3 class="signature " id="subject_alternative_name-instance_method">
3334
+ <h3 class="signature " id="rsa?-instance_method">
3081
3335
 
3082
- - (<tt><span class='object_link'><a href="Cert/Extensions/SubjectAlternativeName.html" title="R509::Cert::Extensions::SubjectAlternativeName (class)">R509::Cert::Extensions::SubjectAlternativeName</a></span></tt>) <strong>subject_alternative_name</strong>
3336
+ - (<tt>Boolean</tt>) <strong>rsa?</strong>
3083
3337
 
3084
3338
 
3085
3339
 
@@ -3088,7 +3342,7 @@ sha256WithRSAEncryption, md5WithRSAEncryption</p>
3088
3342
  </h3><div class="docstring">
3089
3343
  <div class="discussion">
3090
3344
 
3091
- <p>Returns this object's SubjectAlternativeName extension as an R509 extension</p>
3345
+ <p>Returns whether the public key is RSA</p>
3092
3346
 
3093
3347
 
3094
3348
  </div>
@@ -3101,14 +3355,13 @@ sha256WithRSAEncryption, md5WithRSAEncryption</p>
3101
3355
  <li>
3102
3356
 
3103
3357
 
3104
- <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/SubjectAlternativeName.html" title="R509::Cert::Extensions::SubjectAlternativeName (class)">R509::Cert::Extensions::SubjectAlternativeName</a></span></tt>)</span>
3358
+ <span class='type'>(<tt>Boolean</tt>)</span>
3105
3359
 
3106
3360
 
3107
3361
 
3108
3362
  &mdash;
3109
3363
  <div class='inline'>
3110
- <p>The object, or nil if this cert does not have a SubjectAlternativeName
3111
- extension.</p>
3364
+ <p>true if the public key is RSA, false otherwise</p>
3112
3365
  </div>
3113
3366
 
3114
3367
  </li>
@@ -3121,15 +3374,15 @@ extension.</p>
3121
3374
  <pre class="lines">
3122
3375
 
3123
3376
 
3124
- 377
3125
- 378
3126
- 379</pre>
3377
+ 167
3378
+ 168
3379
+ 169</pre>
3127
3380
  </td>
3128
3381
  <td>
3129
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 377</span>
3382
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 167</span>
3130
3383
 
3131
- <span class='kw'>def</span> <span class='id identifier rubyid_subject_alternative_name'>subject_alternative_name</span>
3132
- <span class='kw'>return</span> <span class='id identifier rubyid_r509_extensions'>r509_extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>SubjectAlternativeName</span><span class='rbracket'>]</span>
3384
+ <span class='kw'>def</span> <span class='id identifier rubyid_rsa?'>rsa?</span>
3385
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_public_key'>public_key</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKey</span><span class='op'>::</span><span class='const'>RSA</span><span class='rparen'>)</span>
3133
3386
  <span class='kw'>end</span></pre>
3134
3387
  </td>
3135
3388
  </tr>
@@ -3137,9 +3390,9 @@ extension.</p>
3137
3390
  </div>
3138
3391
 
3139
3392
  <div class="method_details ">
3140
- <h3 class="signature " id="subject_cn-instance_method">
3393
+ <h3 class="signature " id="serial-instance_method">
3141
3394
 
3142
- - (<tt>String</tt>) <strong>subject_cn</strong>
3395
+ - (<tt>Integer</tt>) <strong>serial</strong>
3143
3396
 
3144
3397
 
3145
3398
 
@@ -3148,7 +3401,7 @@ extension.</p>
3148
3401
  </h3><div class="docstring">
3149
3402
  <div class="discussion">
3150
3403
 
3151
- <p>Returns the CN component, if any, of the subject</p>
3404
+ <p>Returns the serial number of the certificate in decimal form</p>
3152
3405
 
3153
3406
 
3154
3407
  </div>
@@ -3161,7 +3414,7 @@ extension.</p>
3161
3414
  <li>
3162
3415
 
3163
3416
 
3164
- <span class='type'>(<tt>String</tt>)</span>
3417
+ <span class='type'>(<tt>Integer</tt>)</span>
3165
3418
 
3166
3419
 
3167
3420
 
@@ -3175,15 +3428,15 @@ extension.</p>
3175
3428
  <pre class="lines">
3176
3429
 
3177
3430
 
3178
- 188
3179
- 189
3180
- 190</pre>
3431
+ 83
3432
+ 84
3433
+ 85</pre>
3181
3434
  </td>
3182
3435
  <td>
3183
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 188</span>
3436
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 83</span>
3184
3437
 
3185
- <span class='kw'>def</span> <span class='id identifier rubyid_subject_cn'>subject_cn</span><span class='lparen'>(</span><span class='rparen'>)</span>
3186
- <span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_subject_component'>subject_component</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>CN</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
3438
+ <span class='kw'>def</span> <span class='id identifier rubyid_serial'>serial</span>
3439
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_serial'>serial</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
3187
3440
  <span class='kw'>end</span></pre>
3188
3441
  </td>
3189
3442
  </tr>
@@ -3191,9 +3444,9 @@ extension.</p>
3191
3444
  </div>
3192
3445
 
3193
3446
  <div class="method_details ">
3194
- <h3 class="signature " id="subject_component-instance_method">
3447
+ <h3 class="signature " id="signature_algorithm-instance_method">
3195
3448
 
3196
- - (<tt>String</tt>) <strong>subject_component</strong>(short_name)
3449
+ - (<tt>String</tt>) <strong>signature_algorithm</strong>
3197
3450
 
3198
3451
 
3199
3452
 
@@ -3202,7 +3455,7 @@ extension.</p>
3202
3455
  </h3><div class="docstring">
3203
3456
  <div class="discussion">
3204
3457
 
3205
- <p>Returns subject component</p>
3458
+ <p>Returns signature algorithm</p>
3206
3459
 
3207
3460
 
3208
3461
  </div>
@@ -3221,7 +3474,8 @@ extension.</p>
3221
3474
 
3222
3475
  &mdash;
3223
3476
  <div class='inline'>
3224
- <p>value of the subject component requested</p>
3477
+ <p>value of the signature algorithm. E.g. sha1WithRSAEncryption,
3478
+ sha256WithRSAEncryption, md5WithRSAEncryption, et cetera</p>
3225
3479
  </div>
3226
3480
 
3227
3481
  </li>
@@ -3234,19 +3488,15 @@ extension.</p>
3234
3488
  <pre class="lines">
3235
3489
 
3236
3490
 
3237
- 195
3238
- 196
3239
- 197
3240
- 198
3241
- 199</pre>
3491
+ 213
3492
+ 214
3493
+ 215</pre>
3242
3494
  </td>
3243
3495
  <td>
3244
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 195</span>
3496
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 213</span>
3245
3497
 
3246
- <span class='kw'>def</span> <span class='id identifier rubyid_subject_component'>subject_component</span> <span class='id identifier rubyid_short_name'>short_name</span>
3247
- <span class='id identifier rubyid_match'>match</span> <span class='op'>=</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_subject'>subject</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_short_name'>short_name</span> <span class='rbrace'>}</span>
3248
- <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_match'>match</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
3249
- <span class='kw'>return</span> <span class='id identifier rubyid_match'>match</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
3498
+ <span class='kw'>def</span> <span class='id identifier rubyid_signature_algorithm'>signature_algorithm</span>
3499
+ <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_signature_algorithm'>signature_algorithm</span>
3250
3500
  <span class='kw'>end</span></pre>
3251
3501
  </td>
3252
3502
  </tr>
@@ -3254,18 +3504,24 @@ extension.</p>
3254
3504
  </div>
3255
3505
 
3256
3506
  <div class="method_details ">
3257
- <h3 class="signature " id="subject_key_identifier-instance_method">
3507
+ <h3 class="signature " id="subject_alternative_name-instance_method">
3258
3508
 
3259
- - (<tt><span class='object_link'><a href="Cert/Extensions/SubjectKeyIdentifier.html" title="R509::Cert::Extensions::SubjectKeyIdentifier (class)">R509::Cert::Extensions::SubjectKeyIdentifier</a></span></tt>) <strong>subject_key_identifier</strong>
3509
+ - (<tt><span class='object_link'><a href="Cert/Extensions/SubjectAlternativeName.html" title="R509::Cert::Extensions::SubjectAlternativeName (class)">R509::Cert::Extensions::SubjectAlternativeName</a></span></tt>) <strong>subject_alternative_name</strong>
3260
3510
 
3261
3511
 
3262
3512
 
3513
+ <span class="aliases">Also known as:
3514
+ <span class="names"><span id='san-instance_method'>san</span>, <span id='subject_alt_name-instance_method'>subject_alt_name</span></span>
3515
+ </span>
3516
+
3263
3517
 
3264
3518
 
3265
3519
  </h3><div class="docstring">
3266
3520
  <div class="discussion">
3267
3521
 
3268
- <p>Returns this object's SubjectKeyIdentifier extension as an R509 extension</p>
3522
+ <p>Returns this object's SubjectAlternativeName extension as an R509 extension</p>
3523
+
3524
+ <p>if this cert does not have a SubjectAlternativeName extension.</p>
3269
3525
 
3270
3526
 
3271
3527
  </div>
@@ -3278,14 +3534,13 @@ extension.</p>
3278
3534
  <li>
3279
3535
 
3280
3536
 
3281
- <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/SubjectKeyIdentifier.html" title="R509::Cert::Extensions::SubjectKeyIdentifier (class)">R509::Cert::Extensions::SubjectKeyIdentifier</a></span></tt>)</span>
3537
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/SubjectAlternativeName.html" title="R509::Cert::Extensions::SubjectAlternativeName (class)">R509::Cert::Extensions::SubjectAlternativeName</a></span></tt>)</span>
3282
3538
 
3283
3539
 
3284
3540
 
3285
3541
  &mdash;
3286
3542
  <div class='inline'>
3287
- <p>The object, or nil if this cert does not have a SubjectKeyIdentifier
3288
- extension.</p>
3543
+ <p>The object, or nil</p>
3289
3544
  </div>
3290
3545
 
3291
3546
  </li>
@@ -3298,15 +3553,15 @@ extension.</p>
3298
3553
  <pre class="lines">
3299
3554
 
3300
3555
 
3301
- 361
3302
- 362
3303
- 363</pre>
3556
+ 339
3557
+ 340
3558
+ 341</pre>
3304
3559
  </td>
3305
3560
  <td>
3306
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 361</span>
3561
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 339</span>
3307
3562
 
3308
- <span class='kw'>def</span> <span class='id identifier rubyid_subject_key_identifier'>subject_key_identifier</span>
3309
- <span class='kw'>return</span> <span class='id identifier rubyid_r509_extensions'>r509_extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>SubjectKeyIdentifier</span><span class='rbracket'>]</span>
3563
+ <span class='kw'>def</span> <span class='id identifier rubyid_subject_alternative_name'>subject_alternative_name</span>
3564
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>SubjectAlternativeName</span><span class='rbracket'>]</span>
3310
3565
  <span class='kw'>end</span></pre>
3311
3566
  </td>
3312
3567
  </tr>
@@ -3314,9 +3569,9 @@ extension.</p>
3314
3569
  </div>
3315
3570
 
3316
3571
  <div class="method_details ">
3317
- <h3 class="signature " id="subject_names-instance_method">
3572
+ <h3 class="signature " id="subject_key_identifier-instance_method">
3318
3573
 
3319
- - (<tt>Array</tt>) <strong>subject_names</strong>
3574
+ - (<tt><span class='object_link'><a href="Cert/Extensions/SubjectKeyIdentifier.html" title="R509::Cert::Extensions::SubjectKeyIdentifier (class)">R509::Cert::Extensions::SubjectKeyIdentifier</a></span></tt>) <strong>subject_key_identifier</strong>
3320
3575
 
3321
3576
 
3322
3577
 
@@ -3325,7 +3580,9 @@ extension.</p>
3325
3580
  </h3><div class="docstring">
3326
3581
  <div class="discussion">
3327
3582
 
3328
- <p>Return the CN, as well as all the subject alternative names (SANs).</p>
3583
+ <p>Returns this object's SubjectKeyIdentifier extension as an R509 extension</p>
3584
+
3585
+ <p>if this cert does not have a SubjectKeyIdentifier extension.</p>
3329
3586
 
3330
3587
 
3331
3588
  </div>
@@ -3338,13 +3595,13 @@ extension.</p>
3338
3595
  <li>
3339
3596
 
3340
3597
 
3341
- <span class='type'>(<tt>Array</tt>)</span>
3598
+ <span class='type'>(<tt><span class='object_link'><a href="Cert/Extensions/SubjectKeyIdentifier.html" title="R509::Cert::Extensions::SubjectKeyIdentifier (class)">R509::Cert::Extensions::SubjectKeyIdentifier</a></span></tt>)</span>
3342
3599
 
3343
3600
 
3344
3601
 
3345
3602
  &mdash;
3346
3603
  <div class='inline'>
3347
- <p>the array of names. Returns an empty array if there are no names, at all.</p>
3604
+ <p>The object, or nil</p>
3348
3605
  </div>
3349
3606
 
3350
3607
  </li>
@@ -3357,23 +3614,15 @@ extension.</p>
3357
3614
  <pre class="lines">
3358
3615
 
3359
3616
 
3360
- 205
3361
- 206
3362
- 207
3363
- 208
3364
- 209
3365
- 210
3366
- 211</pre>
3617
+ 323
3618
+ 324
3619
+ 325</pre>
3367
3620
  </td>
3368
3621
  <td>
3369
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 205</span>
3370
-
3371
- <span class='kw'>def</span> <span class='id identifier rubyid_subject_names'>subject_names</span>
3372
- <span class='id identifier rubyid_ret'>ret</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
3373
- <span class='id identifier rubyid_ret'>ret</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_subject_cn'>subject_cn</span> <span class='kw'>unless</span> <span class='id identifier rubyid_subject_cn'>subject_cn</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
3374
- <span class='id identifier rubyid_ret'>ret</span><span class='period'>.</span><span class='id identifier rubyid_concat'>concat</span><span class='lparen'>(</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_san_names'>san_names</span> <span class='rparen'>)</span>
3622
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 323</span>
3375
3623
 
3376
- <span class='kw'>return</span> <span class='id identifier rubyid_ret'>ret</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
3624
+ <span class='kw'>def</span> <span class='id identifier rubyid_subject_key_identifier'>subject_key_identifier</span>
3625
+ <span class='kw'>return</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='lbracket'>[</span><span class='const'>R509</span><span class='op'>::</span><span class='const'>Cert</span><span class='op'>::</span><span class='const'>Extensions</span><span class='op'>::</span><span class='const'>SubjectKeyIdentifier</span><span class='rbracket'>]</span>
3377
3626
  <span class='kw'>end</span></pre>
3378
3627
  </td>
3379
3628
  </tr>
@@ -3424,19 +3673,19 @@ extension.</p>
3424
3673
  <pre class="lines">
3425
3674
 
3426
3675
 
3427
- 72
3428
- 73
3429
- 74
3430
- 75
3431
- 76</pre>
3676
+ 67
3677
+ 68
3678
+ 69
3679
+ 70
3680
+ 71</pre>
3432
3681
  </td>
3433
3682
  <td>
3434
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 72</span>
3683
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 67</span>
3435
3684
 
3436
3685
  <span class='kw'>def</span> <span class='id identifier rubyid_to_der'>to_der</span>
3437
- <span class='kw'>if</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</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'>Certificate</span><span class='rparen'>)</span>
3438
- <span class='kw'>return</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span>
3439
- <span class='kw'>end</span>
3686
+ <span class='kw'>if</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</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'>Certificate</span><span class='rparen'>)</span>
3687
+ <span class='kw'>return</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span>
3688
+ <span class='kw'>end</span>
3440
3689
  <span class='kw'>end</span></pre>
3441
3690
  </td>
3442
3691
  </tr>
@@ -3491,19 +3740,19 @@ extension.</p>
3491
3740
  <pre class="lines">
3492
3741
 
3493
3742
 
3494
- 61
3495
- 62
3496
- 63
3497
- 64
3498
- 65</pre>
3743
+ 56
3744
+ 57
3745
+ 58
3746
+ 59
3747
+ 60</pre>
3499
3748
  </td>
3500
3749
  <td>
3501
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 61</span>
3750
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 56</span>
3502
3751
 
3503
3752
  <span class='kw'>def</span> <span class='id identifier rubyid_to_pem'>to_pem</span>
3504
- <span class='kw'>if</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</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'>Certificate</span><span class='rparen'>)</span>
3505
- <span class='kw'>return</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_pem'>to_pem</span><span class='period'>.</span><span class='id identifier rubyid_chomp'>chomp</span>
3506
- <span class='kw'>end</span>
3753
+ <span class='kw'>if</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</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'>Certificate</span><span class='rparen'>)</span>
3754
+ <span class='kw'>return</span> <span class='ivar'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_pem'>to_pem</span><span class='period'>.</span><span class='id identifier rubyid_chomp'>chomp</span>
3755
+ <span class='kw'>end</span>
3507
3756
  <span class='kw'>end</span></pre>
3508
3757
  </td>
3509
3758
  </tr>
@@ -3555,15 +3804,15 @@ extensions that do not have R509 implementations.</p>
3555
3804
  <pre class="lines">
3556
3805
 
3557
3806
 
3558
- 325
3559
- 326
3560
- 327</pre>
3807
+ 285
3808
+ 286
3809
+ 287</pre>
3561
3810
  </td>
3562
3811
  <td>
3563
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 325</span>
3812
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 285</span>
3564
3813
 
3565
3814
  <span class='kw'>def</span> <span class='id identifier rubyid_unknown_extensions'>unknown_extensions</span>
3566
- <span class='kw'>return</span> <span class='const'>Extensions</span><span class='period'>.</span><span class='id identifier rubyid_get_unknown_extensions'>get_unknown_extensions</span><span class='lparen'>(</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_cert'>cert</span><span class='period'>.</span><span class='id identifier rubyid_extensions'>extensions</span> <span class='rparen'>)</span>
3815
+ <span class='kw'>return</span> <span class='const'>Extensions</span><span class='period'>.</span><span class='id identifier rubyid_get_unknown_extensions'>get_unknown_extensions</span><span class='lparen'>(</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_cert'>cert</span><span class='period'>.</span><span class='id identifier rubyid_extensions'>extensions</span> <span class='rparen'>)</span>
3567
3816
  <span class='kw'>end</span></pre>
3568
3817
  </td>
3569
3818
  </tr>
@@ -3610,15 +3859,15 @@ times in the certificate.</p>
3610
3859
  <pre class="lines">
3611
3860
 
3612
3861
 
3613
- 140
3614
- 141
3615
- 142</pre>
3862
+ 123
3863
+ 124
3864
+ 125</pre>
3616
3865
  </td>
3617
3866
  <td>
3618
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 140</span>
3867
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 123</span>
3619
3868
 
3620
3869
  <span class='kw'>def</span> <span class='id identifier rubyid_valid?'>valid?</span>
3621
- <span class='id identifier rubyid_valid_at?'>valid_at?</span><span class='lparen'>(</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='rparen'>)</span>
3870
+ <span class='id identifier rubyid_valid_at?'>valid_at?</span><span class='lparen'>(</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='rparen'>)</span>
3622
3871
  <span class='kw'>end</span></pre>
3623
3872
  </td>
3624
3873
  </tr>
@@ -3685,31 +3934,31 @@ the time provided</p>
3685
3934
  <pre class="lines">
3686
3935
 
3687
3936
 
3688
- 148
3689
- 149
3690
- 150
3691
- 151
3692
- 152
3693
- 153
3694
- 154
3695
- 155
3696
- 156
3697
- 157
3698
- 158</pre>
3937
+ 131
3938
+ 132
3939
+ 133
3940
+ 134
3941
+ 135
3942
+ 136
3943
+ 137
3944
+ 138
3945
+ 139
3946
+ 140
3947
+ 141</pre>
3699
3948
  </td>
3700
3949
  <td>
3701
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 148</span>
3950
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 131</span>
3702
3951
 
3703
3952
  <span class='kw'>def</span> <span class='id identifier rubyid_valid_at?'>valid_at?</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='rparen'>)</span>
3704
- <span class='kw'>if</span> <span class='id identifier rubyid_time'>time</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>Integer</span><span class='rparen'>)</span>
3705
- <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_time'>time</span><span class='rparen'>)</span>
3706
- <span class='kw'>end</span>
3707
-
3708
- <span class='kw'>if</span> <span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_not_after'>not_after</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_time'>time</span><span class='rparen'>)</span> <span class='kw'>or</span> <span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_not_before'>not_before</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_time'>time</span><span class='rparen'>)</span>
3709
- <span class='kw'>false</span>
3710
- <span class='kw'>else</span>
3711
- <span class='kw'>true</span>
3712
- <span class='kw'>end</span>
3953
+ <span class='kw'>if</span> <span class='id identifier rubyid_time'>time</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>Integer</span><span class='rparen'>)</span>
3954
+ <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_time'>time</span><span class='rparen'>)</span>
3955
+ <span class='kw'>end</span>
3956
+
3957
+ <span class='kw'>if</span> <span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_not_after'>not_after</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_time'>time</span><span class='rparen'>)</span> <span class='kw'>or</span> <span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_not_before'>not_before</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_time'>time</span><span class='rparen'>)</span>
3958
+ <span class='kw'>false</span>
3959
+ <span class='kw'>else</span>
3960
+ <span class='kw'>true</span>
3961
+ <span class='kw'>end</span>
3713
3962
  <span class='kw'>end</span></pre>
3714
3963
  </td>
3715
3964
  </tr>
@@ -3763,15 +4012,15 @@ IO-like object.</p>
3763
4012
  <pre class="lines">
3764
4013
 
3765
4014
 
3766
- 266
3767
- 267
3768
- 268</pre>
4015
+ 240
4016
+ 241
4017
+ 242</pre>
3769
4018
  </td>
3770
4019
  <td>
3771
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 266</span>
4020
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 240</span>
3772
4021
 
3773
4022
  <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>
3774
- <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'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span><span class='rparen'>)</span>
4023
+ <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'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span><span class='rparen'>)</span>
3775
4024
  <span class='kw'>end</span></pre>
3776
4025
  </td>
3777
4026
  </tr>
@@ -3825,15 +4074,15 @@ IO-like object.</p>
3825
4074
  <pre class="lines">
3826
4075
 
3827
4076
 
3828
- 259
3829
- 260
3830
- 261</pre>
4077
+ 233
4078
+ 234
4079
+ 235</pre>
3831
4080
  </td>
3832
4081
  <td>
3833
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 259</span>
4082
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 233</span>
3834
4083
 
3835
4084
  <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>
3836
- <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'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_pem'>to_pem</span><span class='rparen'>)</span>
4085
+ <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'>@cert</span><span class='period'>.</span><span class='id identifier rubyid_to_pem'>to_pem</span><span class='rparen'>)</span>
3837
4086
  <span class='kw'>end</span></pre>
3838
4087
  </td>
3839
4088
  </tr>
@@ -3923,23 +4172,23 @@ IO-like object.</p>
3923
4172
  <pre class="lines">
3924
4173
 
3925
4174
 
3926
- 275
3927
- 276
3928
- 277
3929
- 278
3930
- 279
3931
- 280
3932
- 281</pre>
4175
+ 249
4176
+ 250
4177
+ 251
4178
+ 252
4179
+ 253
4180
+ 254
4181
+ 255</pre>
3933
4182
  </td>
3934
4183
  <td>
3935
- <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 275</span>
4184
+ <pre class="code"><span class="info file"># File 'lib/r509/cert.rb', line 249</span>
3936
4185
 
3937
4186
  <span class='kw'>def</span> <span class='id identifier rubyid_write_pkcs12'>write_pkcs12</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_password'>password</span><span class='comma'>,</span><span class='id identifier rubyid_friendly_name'>friendly_name</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>r509 pkcs12</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
3938
- <span class='kw'>if</span> <span class='ivar'>@key</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
3939
- <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'>Writing a PKCS12 requires both key and cert</span><span class='tstring_end'>&quot;</span></span>
3940
- <span class='kw'>end</span>
3941
- <span class='id identifier rubyid_pkcs12'>pkcs12</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKCS12</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_password'>password</span><span class='comma'>,</span><span class='id identifier rubyid_friendly_name'>friendly_name</span><span class='comma'>,</span><span class='ivar'>@key</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span><span class='ivar'>@cert</span><span class='rparen'>)</span>
3942
- <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_pkcs12'>pkcs12</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span><span class='rparen'>)</span>
4187
+ <span class='kw'>if</span> <span class='ivar'>@key</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
4188
+ <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'>Writing a PKCS12 requires both key and cert</span><span class='tstring_end'>&quot;</span></span>
4189
+ <span class='kw'>end</span>
4190
+ <span class='id identifier rubyid_pkcs12'>pkcs12</span> <span class='op'>=</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>PKCS12</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_password'>password</span><span class='comma'>,</span><span class='id identifier rubyid_friendly_name'>friendly_name</span><span class='comma'>,</span><span class='ivar'>@key</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span><span class='ivar'>@cert</span><span class='rparen'>)</span>
4191
+ <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_pkcs12'>pkcs12</span><span class='period'>.</span><span class='id identifier rubyid_to_der'>to_der</span><span class='rparen'>)</span>
3943
4192
  <span class='kw'>end</span></pre>
3944
4193
  </td>
3945
4194
  </tr>
@@ -3951,9 +4200,9 @@ IO-like object.</p>
3951
4200
  </div>
3952
4201
 
3953
4202
  <div id="footer">
3954
- Generated on Thu Nov 8 14:19:26 2012 by
4203
+ Generated on Tue Apr 16 10:49:56 2013 by
3955
4204
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
3956
- 0.8.2.1 (ruby-1.9.3).
4205
+ 0.8.5 (ruby-1.9.3).
3957
4206
  </div>
3958
4207
 
3959
4208
  </body>