Puppet Function: cfweb::certinfo

Defined in:
functions/certinfo.pp
Function type:
Puppet Language

Overview

cfweb::certinfo(String[1] $cert_name)Hash

Parameters:

  • cert_name (String[1])

Returns:

  • (Hash)


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'functions/certinfo.pp', line 6

function cfweb::certinfo(String[1] $cert_name) >> Hash {
    if $cert_name == 'default' {
        $cert = {}
        $cert_name_act = $cert_name
        $def_key_name = $cfweb::pki::rsa_key_name
    } elsif $cert_name == 'defaultec' {
        $cert = {}
        $cert_name_act = $cert_name
        $def_key_name = $cfweb::pki::ecc_key_name
    } elsif $cert_name =~ /^auto(ec)?#/ {
        $cert_source = pick_default(
            getparam(Cfweb::Pki::Cert[$cert_name], 'cert_source'),
            $cfweb::pki::cert_source
        )

        $cn1 = $cert_name.regsubst(/^auto(ec)?#/, '')

        if $cert_name =~ /^autoec#/ {
            $cn2 = '_ecc'
            $def_key_name = $cfweb::pki::ecc_key_name
        } else {
            $cn2 = ''
            $def_key_name = $cfweb::pki::rsa_key_name
        }

        $cert_name_act = "${cn1}${cn2}"
        $cert = {
            cert_source => $cert_source
        }
    } else {
        $cert = $cfweb::global::certs[$cert_name]
        $cert_name_act = $cert_name
        $def_key_name = $cfweb::pki::rsa_key_name
    }

    if !$cert {
        fail("Please make sure Cfweb::Pki::Cert[${cert_name}] is defined")
    }

    $crt_file = "${cfweb::pki::cert_dir}/${cert_name_act}.crt"

    if $cert['cert_source'] {
        $trusted_file = "${crt_file}.trusted"
    } else {
        $trusted_file = undef
    }

    $key_name = pick($cert['key_name'], $def_key_name)

    ({
        cert_name    => $cert_name,
        key_file     => "${cfweb::pki::key_dir}/${key_name}.key",
        crt_file     => $crt_file,
        trusted_file => $trusted_file,
    })
}