Sha256: b926e0c3559127271f3f7018e3cff582574b3102b3500dcb148f2f922eabee69
Contents?: true
Size: 1.37 KB
Versions: 4
Compression:
Stored size: 1.37 KB
Contents
# A module for keeping track of all the certificates issued by the CA, ever # Maintains the file "$cadir/inventory.txt" module Puppet::SSLCertificates module Inventory # Add CERT to the inventory of issued certs in '$cadir/inventory.txt' # If no inventory exists yet, build an inventory and list all the # certificates that have been signed so far def self.add(cert) inited = false if FileTest.exists?(Puppet[:cert_inventory]) inited = true end Puppet.settings.write(:cert_inventory, "a") do |f| f.puts((inited ? nil : self.init).to_s + format(cert)) end end private def self.init inv = "# Inventory of signed certificates\n" inv += "# SERIAL NOT_BEFORE NOT_AFTER SUBJECT\n" Dir.glob(File::join(Puppet[:signeddir], "*.pem")) do |f| inv += format(OpenSSL::X509::Certificate.new(File::read(f))) + "\n" end return inv end def self.format(cert) iso = '%Y-%m-%dT%H:%M:%S%Z' return "0x%04x %s %s %s" % [cert.serial, cert.not_before.strftime(iso), cert.not_after.strftime(iso), cert.subject] end end end
Version data entries
4 entries across 4 versions & 1 rubygems