summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-03-07 15:38:41 -0700
committerLuke Kanies <luke@madstop.com>2008-04-15 21:34:03 -0500
commit3970818881b1f9e108ff6b06d2bc36698a3219d9 (patch)
tree89d252647e7038641b639faa78206defd4724aa9 /lib
parent4ca6fd3e476dbc582ebc69f5fdf9709a8703613b (diff)
downloadpuppet-3970818881b1f9e108ff6b06d2bc36698a3219d9.tar.gz
puppet-3970818881b1f9e108ff6b06d2bc36698a3219d9.tar.xz
puppet-3970818881b1f9e108ff6b06d2bc36698a3219d9.zip
Finished the certificate request wrapper class.
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/ssl/certificate_request.rb27
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