blob: a0e600291cb510d32d328221711fdb2a1f834c98 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
require 'puppet/ssl/base'
# Manage certificates themselves. This class has no
# 'generate' method because the CA is responsible
# for turning CSRs into certificates; we can only
# retrieve them from the CA (or not, as is often
# the case).
class Puppet::SSL::Certificate < Puppet::SSL::Base
# This is defined from the base class
wraps OpenSSL::X509::Certificate
extend Puppet::Indirector
indirects :certificate, :terminus_class => :file
# Convert a string into an instance.
def self.from_s(string)
instance = wrapped_class.new(string)
name = instance.subject.to_s.sub(/\/CN=/i, '').downcase
result = new(name)
result.content = instance
result
end
# Because of how the format handler class is included, this
# can't be in the base class.
def self.supported_formats
[:s]
end
def expiration
return nil unless content
content.not_after
end
end
|