Sha256: 2905d5b5d6d224c16c3c33cafbfd934a53a896cd88b78e0c706289884c785e4a

Contents?: true

Size: 1.21 KB

Versions: 3

Compression:

Stored size: 1.21 KB

Contents

require 'sslyze/certificate_chain'
require 'sslyze/certificate_validation'
require 'sslyze/ocsp_response'

module SSLyze
  #
  # Represents the `<certinfo>` element.
  #
  class CertInfo

    #
    # Initializes the cert info.
    #
    # @param [Nokogiri::XML::Node] node
    #   The `<certinfo>` element.
    #
    def initialize(node)
      @node = node
    end

    #
    # Certificate chain.
    #
    # @return [CertificateChain, nil]
    #
    def chain
      @chain ||= if (cert_chain = @node.at('certificateChain'))
                   CertificateChain.new(cert_chain)
                 end
    end

    #
    # Certificate validation information.
    #
    # @return [CertificateValidation, nil]
    #
    def validation
      @validation ||= if (node = @node.at('certificateValidation'))
                        CertificateValidation.new(node)
                      end
    end

    #
    # OCSP response stapling information.
    #
    # @return [OCSPResponse, nil]
    #
    def ocsp_response
      @ocsp_response ||= if (ocsp_response = @node.at('ocspStapling/ocspResponse'))
                           OCSPResponse.new(ocsp_response)
                         end
    end

    alias ocsp_stapling ocsp_response

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby-sslyze-0.2.1 lib/sslyze/cert_info.rb
ruby-sslyze-0.2.0 lib/sslyze/cert_info.rb
ruby-sslyze-0.1.1 lib/sslyze/cert_info.rb