class Net::Openvpn::Generators::Keys::Authority

Public Class Methods

exist?() click to toggle source
# File lib/net/openvpn/generators/keys/authority.rb, line 31
def self.exist?
  Authority.new.exist?
end
new(**props) click to toggle source
Calls superclass method
# File lib/net/openvpn/generators/keys/authority.rb, line 7
def initialize(**props)
  super(nil, props)
end

Public Instance Methods

filepaths() click to toggle source
# File lib/net/openvpn/generators/keys/authority.rb, line 23
def filepaths
  [
    "#{@props[:key_dir]}/ca.key",
    "#{@props[:key_dir]}/ca.crt",
    "#{@props[:key_dir]}/dh#{@props[:key_size]}.pem"
  ]
end
generate() click to toggle source
# File lib/net/openvpn/generators/keys/authority.rb, line 11
def generate
  @key_dir.exist? or raise Errors::KeyGeneration, "Key directory has not been generated yet"
  !exist?         or raise Errors::KeyGeneration, "Authority already exists!"

  FileUtils.cd(@props[:easy_rsa]) do
    system "#{cli_prop_vars} ./pkitool --initca"
    system "#{cli_prop_vars} ./build-dh"
  end

  true
end