Class: CertificateAuthority::Extensions::CrlDistributionPoints
- Inherits:
-
Object
- Object
- CertificateAuthority::Extensions::CrlDistributionPoints
- Includes:
- ExtensionAPI
- Defined in:
- lib/certificate_authority/extensions.rb
Overview
Specifies where CRL information be be retrieved. This extension isn’t critical, but is recommended for proper CAs. Reference: Section 4.2.1.14 of RFC3280 tools.ietf.org/html/rfc3280#section-4.2.1.14
Constant Summary collapse
- OPENSSL_IDENTIFIER =
"crlDistributionPoints"
Instance Attribute Summary collapse
-
#critical ⇒ Object
Returns the value of attribute critical.
-
#uris ⇒ Object
Returns the value of attribute uris.
Class Method Summary collapse
Instance Method Summary collapse
- #==(o) ⇒ Object
-
#config_extensions ⇒ Object
NB: At this time it seems OpenSSL’s extension handlers don’t support any of the config options the docs claim to support…
-
#initialize ⇒ CrlDistributionPoints
constructor
A new instance of CrlDistributionPoints.
- #openssl_identifier ⇒ Object
- #to_s ⇒ Object
-
#uri=(value) ⇒ Object
This is for legacy support.
Constructor Details
#initialize ⇒ CrlDistributionPoints
Returns a new instance of CrlDistributionPoints.
108 109 110 111 |
# File 'lib/certificate_authority/extensions.rb', line 108 def initialize @critical = false @uris = [] end |
Instance Attribute Details
#critical ⇒ Object
Returns the value of attribute critical.
105 106 107 |
# File 'lib/certificate_authority/extensions.rb', line 105 def critical @critical end |
#uris ⇒ Object
Returns the value of attribute uris.
106 107 108 |
# File 'lib/certificate_authority/extensions.rb', line 106 def uris @uris end |
Class Method Details
.parse(value, critical) ⇒ Object
146 147 148 149 150 151 152 153 154 155 |
# File 'lib/certificate_authority/extensions.rb', line 146 def self.parse(value, critical) obj = self.new return obj if value.nil? obj.critical = critical value.split(/,\s*/).each do |v| c = v.split(':', 2) obj.uris << c.last if c.first == "URI" end obj end |
Instance Method Details
#==(o) ⇒ Object
142 143 144 |
# File 'lib/certificate_authority/extensions.rb', line 142 def ==(o) o.class == self.class && o.state == state end |
#config_extensions ⇒ Object
NB: At this time it seems OpenSSL’s extension handlers don’t support any of the config options the docs claim to support… everything comes back “missing value” on GENERAL NAME. Even if copied verbatim
120 121 122 123 124 125 |
# File 'lib/certificate_authority/extensions.rb', line 120 def config_extensions { # "custom_crl_fields" => {"fullname" => "URI:#{fullname}"}, # "issuer_sect" => {"CN" => "crlissuer.com", "C" => "US", "O" => "shudder"} } end |
#openssl_identifier ⇒ Object
113 114 115 |
# File 'lib/certificate_authority/extensions.rb', line 113 def openssl_identifier OPENSSL_IDENTIFIER end |
#to_s ⇒ Object
134 135 136 137 138 139 140 |
# File 'lib/certificate_authority/extensions.rb', line 134 def to_s res = [] @uris.each do |uri| res << "URI:#{uri}" end res.join(',') end |
#uri=(value) ⇒ Object
This is for legacy support. Technically it can (and probably should) be an array. But if someone is calling the old accessor we shouldn’t necessarily break it.
130 131 132 |
# File 'lib/certificate_authority/extensions.rb', line 130 def uri=(value) @uris << value end |