class Heroku::OpenSSL::CertificateRequest
Attributes
domain[RW]
key_size[RW]
self_signed[RW]
subject[RW]
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/heroku/open_ssl.rb, line 22 def initialize() @key_size = 2048 @self_signed = false super end
Public Instance Methods
generate()
click to toggle source
# File lib/heroku/open_ssl.rb, line 28 def generate if self_signed generate_self_signed_certificate else generate_csr end end
Private Instance Methods
generate_csr()
click to toggle source
# File lib/heroku/open_ssl.rb, line 46 def generate_csr keyfile = "#{domain}.key" csrfile = "#{domain}.csr" openssl_req_new(keyfile, csrfile) or raise GenericError, "Key and CSR generation failed: #{$?}" return Result.new(self, keyfile, csrfile, nil) end
generate_self_signed_certificate()
click to toggle source
# File lib/heroku/open_ssl.rb, line 55 def generate_self_signed_certificate keyfile = "#{domain}.key" crtfile = "#{domain}.crt" openssl_req_new(keyfile, crtfile, "-x509") or raise GenericError, "Key and self-signed certificate generation failed: #{$?}" return Result.new(self, keyfile, nil, crtfile) end
openssl_req_new(keyfile, outfile, *args)
click to toggle source
# File lib/heroku/open_ssl.rb, line 64 def openssl_req_new(keyfile, outfile, *args) Heroku::OpenSSL.ensure_openssl_installed! Heroku::OpenSSL.openssl("req", "-new", "-newkey", "rsa:#{key_size}", "-nodes", "-keyout", keyfile, "-out", outfile, "-subj", subject, *args) end