Sha256: 18163256c7ce5c8b60d7fe4054ec880b2dcd1cc87cdf38b142325e95478fd54c

Contents?: true

Size: 615 Bytes

Versions: 14

Compression:

Stored size: 615 Bytes

Contents

class Acme::Client
  class ChainIdentifier
    def initialize(pem_certificate_chain)
      @pem_certificate_chain = pem_certificate_chain
    end

    def match_name?(name)
      issuers.any? do |issuer|
        issuer.include?(name)
      end
    end

    private

    def issuers
      x509_certificates.map(&:issuer).map(&:to_s)
    end

    def x509_certificates
      @x509_certificates ||= splitted_pem_certificates.map { |pem| OpenSSL::X509::Certificate.new(pem) }
    end

    def splitted_pem_certificates
      @pem_certificate_chain.each_line.slice_after(/END CERTIFICATE/).map(&:join)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
acme-client-2.0.20 lib/acme/client/chain_identifier.rb
acme-client-2.0.19 lib/acme/client/chain_identifier.rb
acme-client-2.0.18 lib/acme/client/chain_identifier.rb
acme-client-2.0.17 lib/acme/client/chain_identifier.rb
acme-client-2.0.16 lib/acme/client/chain_identifier.rb
acme-client-2.0.15 lib/acme/client/chain_identifier.rb
acme-client-2.0.14 lib/acme/client/chain_identifier.rb
acme-client-2.0.13 lib/acme/client/chain_identifier.rb
acme-client-2.0.12 lib/acme/client/chain_identifier.rb
acme-client-2.0.11 lib/acme/client/chain_identifier.rb
acme-client-2.0.10 lib/acme/client/chain_identifier.rb
acme-client-2.0.9 lib/acme/client/chain_identifier.rb
acme-client-2.0.8 lib/acme/client/chain_identifier.rb
acme-client-2.0.7 lib/acme/client/chain_identifier.rb