class Certificate

Attributes

x509[R]
x509_chain[R]

Public Class Methods

new(fullchain_certificate) click to toggle source
# File lib/letsencrypt/cli/support/certificate.rb, line 8
def initialize(fullchain_certificate)
  fullchain_array = fullchain_certificate.strip.split("\n\n")
  @x509 = OpenSSL::X509::Certificate.new(fullchain_array.first)
  @x509_chain = fullchain_array[1..-1].map { |cert| OpenSSL::X509::Certificate.new(cert) }
end

Public Instance Methods

chain_to_pem() click to toggle source
# File lib/letsencrypt/cli/support/certificate.rb, line 14
def chain_to_pem
  x509_chain.map(&:to_pem).join("\n")
end
common_name() click to toggle source
# File lib/letsencrypt/cli/support/certificate.rb, line 26
def common_name
  x509.subject.to_a.find { |name, _, _| name == 'CN' }[1]
end
fullchain_to_pem() click to toggle source
# File lib/letsencrypt/cli/support/certificate.rb, line 22
def fullchain_to_pem
  x509_fullchain.map(&:to_pem).join("\n")
end
x509_fullchain() click to toggle source
# File lib/letsencrypt/cli/support/certificate.rb, line 18
def x509_fullchain
  [x509, *x509_chain]
end