module Net::Openvpn::Generators::Keys::Properties

Public Class Methods

default() click to toggle source

Returns the default set of properties as per the easy-rsa ‘vars’ script

# File lib/net/openvpn/generators/keys/properties.rb, line 17
def default
  props = {
    easy_rsa: "/usr/share/easy-rsa",
    openssl: "openssl",
    pkcs11tool: "pkcs11-tool",
    grep: "grep",
    key_dir: "#{Openvpn.basepath}/keys",
    key_dir_owner: "root",
    key_dir_group: "root",
    key_dir_permission: 0700,
    pkcs11_module_path: "dummy",
    pkcs11_pin: "dummy",
    key_size: 1024,
    ca_expire: 3650,
    key_expire: 3650,
    key_country: "US",
    key_province: "CA",
    key_city: "SanFrancisco",
    key_org: "Fort-Funston",
    key_email: "me@myhost.mydomain",
    key_cn: "changeme",
    key_name: "changeme",
    key_ou: "changeme",
    pkcs11_module_path: "changeme",
    pkcs11_pin: 1234
  }

  props[:key_config] = "#{props[:easy_rsa]}/openssl-1.0.0.cnf"
  props[:key_index]  = "#{props[:key_dir]}/index.txt"

  props
end
Also aliased as: defaults
defaults()
Alias for: default
to_cli_vars(props) click to toggle source

Creates a list of variables to preceed a bash command

# File lib/net/openvpn/generators/keys/properties.rb, line 59
def to_cli_vars(props)
  string = ""
  props.each do |key, value|
    prop = key.to_s.upcase
    string+= "#{prop}=\"#{value}\" "
  end
  "export #{string}; "
end
validate!(props) click to toggle source

Ensures that all the required properties are available to stop the easy-rsa scripts having a cry

# File lib/net/openvpn/generators/keys/properties.rb, line 54
def validate!(props)

end
yaml() click to toggle source

Returns the properties loaded from a YAML file located in /etc/openvpn/props.yml

# File lib/net/openvpn/generators/keys/properties.rb, line 10
def yaml
  return {} unless File.exist? Openvpn.basepath "props.yml"
  YAML.load(File.read(Openvpn.basepath "props.yml"))
end