class Acme::Client::ChainIdentifier

Public Class Methods

new(pem_certificate_chain) click to toggle source
# File lib/acme/client/chain_identifier.rb, line 3
def initialize(pem_certificate_chain)
  @pem_certificate_chain = pem_certificate_chain
end

Public Instance Methods

match_name?(name) click to toggle source
# File lib/acme/client/chain_identifier.rb, line 7
def match_name?(name)
  issuers.any? do |issuer|
    issuer.include?(name)
  end
end

Private Instance Methods

issuers() click to toggle source
# File lib/acme/client/chain_identifier.rb, line 15
def issuers
  x509_certificates.map(&:issuer).map(&:to_s)
end
splitted_pem_certificates() click to toggle source
# File lib/acme/client/chain_identifier.rb, line 23
def splitted_pem_certificates
  @pem_certificate_chain.each_line.slice_after(/END CERTIFICATE/).map(&:join)
end
x509_certificates() click to toggle source
# File lib/acme/client/chain_identifier.rb, line 19
def x509_certificates
  @x509_certificates ||= splitted_pem_certificates.map { |pem| OpenSSL::X509::Certificate.new(pem) }
end