Class: SSLyze::X509::ExtensionSet
- Inherits:
-
Object
- Object
- SSLyze::X509::ExtensionSet
- Includes:
- Enumerable
- Defined in:
- lib/sslyze/x509/extension_set.rb
Overview
Provides a Hash-like interface around an Array of OpenSSL::X5095::Extensions.
Instance Method Summary collapse
-
#[](oid) ⇒ OpenSSL::X509::Extension
Looks up the X509 extension with the given name.
-
#basic_constraints ⇒ Extensions::BasicConstraints?
The
basicConstraints
extension. -
#certificate_policies ⇒ Extensions::CertificatePolicies?
The
certificatePolicies
extension. -
#crl_distribution_points ⇒ Extensions::CRLDistributionPoints?
The
crlDistributionPoints
extension. -
#each {|extension| ... } ⇒ Enumerator
Enumerates over the X509 extensions in the set.
-
#extended_key_usage ⇒ Extensions::ExtendedKeyUsage?
The
extendedKeyUsage
extension. -
#has?(oid) ⇒ Boolean
Determines if the X509 extension exists in the set.
-
#initialize(extensions) ⇒ ExtensionSet
constructor
Initializes the X509 extension set.
-
#key_usage ⇒ Extensions::KeyUsage?
The
keyUsage
extension. -
#subject_alt_name ⇒ Extensions::SubjectAltName?
The
subjectAltName
extension. -
#to_a ⇒ Array<OpenSSL::X509::Extension>
Converts the X509 extension set to an Array.
Constructor Details
#initialize(extensions) ⇒ ExtensionSet
Initializes the X509 extension set.
23 24 25 26 27 |
# File 'lib/sslyze/x509/extension_set.rb', line 23 def initialize(extensions) @extensions = Hash[extensions.map { |ext| [ext.oid, ext] }] end |
Instance Method Details
#[](oid) ⇒ OpenSSL::X509::Extension
Looks up the X509 extension with the given name.
59 60 61 |
# File 'lib/sslyze/x509/extension_set.rb', line 59 def [](oid) @extensions[oid] end |
#basic_constraints ⇒ Extensions::BasicConstraints?
The basicConstraints
extension.
77 78 79 80 81 |
# File 'lib/sslyze/x509/extension_set.rb', line 77 def basic_constraints @basic_constraints ||= if (ext = self['basicConstraints']) Extensions::BasicConstraints.new(ext) end end |
#certificate_policies ⇒ Extensions::CertificatePolicies?
The certificatePolicies
extension.
88 89 90 91 92 |
# File 'lib/sslyze/x509/extension_set.rb', line 88 def certificate_policies @certificate_policies ||= if (ext = self['certificatePolicies']) Extensions::CertificatePolicies.new(ext) end end |
#crl_distribution_points ⇒ Extensions::CRLDistributionPoints?
The crlDistributionPoints
extension.
99 100 101 102 103 |
# File 'lib/sslyze/x509/extension_set.rb', line 99 def crl_distribution_points @crl_distribution_points ||= if (ext = self['crlDistributionPoints']) Extensions::CRLDistributionPoints.new(ext) end end |
#each {|extension| ... } ⇒ Enumerator
Enumerates over the X509 extensions in the set.
38 39 40 |
# File 'lib/sslyze/x509/extension_set.rb', line 38 def each(&block) @extensions.each_value(&block) end |
#extended_key_usage ⇒ Extensions::ExtendedKeyUsage?
The extendedKeyUsage
extension.
110 111 112 113 114 |
# File 'lib/sslyze/x509/extension_set.rb', line 110 def extended_key_usage @extended_key_usage ||= if (ext = self['extendedKeyUsage']) Extensions::ExtendedKeyUsage.new(ext) end end |
#has?(oid) ⇒ Boolean
Determines if the X509 extension exists in the set.
49 50 51 |
# File 'lib/sslyze/x509/extension_set.rb', line 49 def has?(oid) @extensions.has_key?(oid) end |
#key_usage ⇒ Extensions::KeyUsage?
The keyUsage
extension.
121 122 123 124 125 |
# File 'lib/sslyze/x509/extension_set.rb', line 121 def key_usage @key_usage ||= if (ext = self['keyUsage']) Extensions::KeyUsage.new(ext) end end |
#subject_alt_name ⇒ Extensions::SubjectAltName?
The subjectAltName
extension.
132 133 134 135 136 |
# File 'lib/sslyze/x509/extension_set.rb', line 132 def subject_alt_name @subject_alt_name ||= if (ext = self['subjectAltName']) Extensions::SubjectAltName.new(ext) end end |
#to_a ⇒ Array<OpenSSL::X509::Extension>
Converts the X509 extension set to an Array.
68 69 70 |
# File 'lib/sslyze/x509/extension_set.rb', line 68 def to_a @extensions.values end |