Class: Certgen::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/certgen/generator.rb

Constant Summary collapse

LETS_ENCRYPT_DIRECTORY =
"https://acme-v02.api.letsencrypt.org/directory"
ACCOUNT_KEY_PATH =
File.expand_path("~/.certgen/acme_account.key")

Instance Method Summary collapse

Constructor Details

#initialize(domain:, email:, staging: false) ⇒ Generator

Returns a new instance of Generator.



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/certgen/generator.rb', line 13

def initialize(domain:, email:, staging: false)
  @input_domain = domain
  @email = email
  @staging = staging
  @directory_url = staging ?
    "https://acme-staging-v02.api.letsencrypt.org/directory" :
    "https://acme-v02.api.letsencrypt.org/directory"
  @base_domain = domain.sub(/^www\./, "")
  @domains = [@base_domain, "www.#{@base_domain}"].uniq
  @output_dir = File.expand_path("~/.ssl_output/#{@base_domain}")
end

Instance Method Details

#runObject



25
26
27
28
29
30
31
32
33
34
# File 'lib/certgen/generator.rb', line 25

def run
  
  setup_client
  create_output_directory
  order_certificate
  verify_dns_challenges
  finalize_certificate
  save_certificate_files
  notify_user
end