class Net::Openvpn::Generators::Keys::Server

Public Class Methods

new(name, **props) click to toggle source
# File lib/net/openvpn/generators/keys/server.rb, line 7
def initialize(name, **props)
  super(name, props)
end

Public Instance Methods

certificate() click to toggle source
# File lib/net/openvpn/generators/keys/server.rb, line 31
def certificate
  "#{@props[:key_dir]}/#{@name}.crt"
end
filepaths() click to toggle source

Returns an array containing the paths to the generated keys

# File lib/net/openvpn/generators/keys/server.rb, line 27
def filepaths
  [ key, certificate ]
end
generate() click to toggle source
# File lib/net/openvpn/generators/keys/server.rb, line 11
def generate
  @key_dir.exist?  or raise Errors::KeyGeneration, "Key directory has not been generated yet"
  Authority.exist? or raise Errors::KeyGeneration, "Certificate Authority has not been created"
  
  revoke! if valid?

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

  exist? or raise Openvpn::Errors::KeyGeneration, "Keys do not exist"
  valid? or raise Openvpn::Errors::KeyGeneration, "keys are not valid"

end
key() click to toggle source
# File lib/net/openvpn/generators/keys/server.rb, line 35
def key
  "#{@props[:key_dir]}/#{@name}.key"
end