diff options
Diffstat (limited to 'lib/puppet/ssl/certificate_request.rb')
-rw-r--r-- | lib/puppet/ssl/certificate_request.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/puppet/ssl/certificate_request.rb b/lib/puppet/ssl/certificate_request.rb new file mode 100644 index 000000000..ce3aff477 --- /dev/null +++ b/lib/puppet/ssl/certificate_request.rb @@ -0,0 +1,27 @@ +require 'puppet/ssl' + +# This constant just exists for us to use for adding our request terminii. +class Puppet::SSL::CertificateRequest # :nodoc: + extend Puppet::Indirector + + indirects :certificate_request #, :terminus_class => :file + + attr_reader :name, :content + + # How to create a certificate request with our system defaults. + def generate(key) + Puppet.info "Creating a new SSL certificate request for %s" % name + + csr = OpenSSL::X509::Request.new + csr.version = 0 + csr.subject = OpenSSL::X509::Name.new([["CN", name]]) + csr.public_key = key.public_key + csr.sign(key, OpenSSL::Digest::MD5.new) + + @content = csr + end + + def initialize(name) + @name = name + end +end |