# File lib/puppet/sslcertificates/certificate.rb, line 139
139:     def mkcsr
140:         unless defined? @key and @key
141:             self.getkey
142:         end
143: 
144:         name = OpenSSL::X509::Name.new self.subject
145: 
146:         @csr = OpenSSL::X509::Request.new
147:         @csr.version = 0
148:         @csr.subject = name
149:         @csr.public_key = @key.public_key
150:         @csr.sign(@key, OpenSSL::Digest::SHA1.new)
151: 
152:         #File.open(@csrfile, "w") { |f|
153:         #    f << @csr.to_pem
154:         #}
155: 
156:         unless @csr.verify(@key.public_key)
157:             raise Puppet::Error, "CSR sign verification failed"
158:         end
159: 
160:         return @csr
161:     end