Class: SSLyze::CertificateChain
- Inherits:
-
Object
- Object
- SSLyze::CertificateChain
- Includes:
- Enumerable
- Defined in:
- lib/sslyze/certificate_chain.rb
Overview
Represents the <certificateChain> XML element.
Instance Method Summary collapse
-
#each {|certificate| ... } ⇒ Enumerator
Enumerates over each certificate in the chain.
-
#each_intermediate {|certificate| ... } ⇒ Enumerator
Enumerates over the intermediate certificates in the chain.
-
#initialize(node) ⇒ CertificateChain
constructor
Initializes the certificate chain.
-
#intermediate ⇒ Array<Certificate>
The intermediate certificates.
-
#leaf ⇒ Certificate?
The leaf certificate in the chain.
-
#root ⇒ Certificate?
The root certificate.
Constructor Details
#initialize(node) ⇒ CertificateChain
Initializes the certificate chain.
17 18 19 |
# File 'lib/sslyze/certificate_chain.rb', line 17 def initialize(node) @node = node end |
Instance Method Details
#each {|certificate| ... } ⇒ Enumerator
Enumerates over each certificate in the chain.
30 31 32 33 34 35 36 |
# File 'lib/sslyze/certificate_chain.rb', line 30 def each return enum_for(__method__) unless block_given? @node.search('certificate').each do |certificate| yield Certificate.new(certificate) end end |
#each_intermediate {|certificate| ... } ⇒ Enumerator
Enumerates over the intermediate certificates in the chain.
58 59 60 61 62 63 64 |
# File 'lib/sslyze/certificate_chain.rb', line 58 def each_intermediate return enum_for(__method__) unless block_given? @node.search('certificate[@position="intermediate"]').each do |certificate| yield Certificate.new(certificate) end end |
#intermediate ⇒ Array<Certificate>
The intermediate certificates.
73 74 75 |
# File 'lib/sslyze/certificate_chain.rb', line 73 def intermediate each_intermediate.to_a end |
#leaf ⇒ Certificate?
The leaf certificate in the chain.
43 44 45 46 47 |
# File 'lib/sslyze/certificate_chain.rb', line 43 def leaf @leaf ||= if (certificate = @node.at('certificate[@position="leaf"]')) Certificate.new(certificate) end end |
#root ⇒ Certificate?
The root certificate.
82 83 84 85 86 |
# File 'lib/sslyze/certificate_chain.rb', line 82 def root if (certificate = @node.at('certificate[@position="intermediate"]:last-child')) Certificate.new(certificate) end end |