diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/openssl/manifests/init.pp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/modules/openssl/manifests/init.pp b/modules/openssl/manifests/init.pp index 5399e969..b1800a54 100644 --- a/modules/openssl/manifests/init.pp +++ b/modules/openssl/manifests/init.pp @@ -15,4 +15,29 @@ class openssl { require => Package['openssl'] } } + + define self_signed_splitted_cert($filename = '', + $directory = '/etc/certs', + $owner = "root", + $group = 'root', + $mode = '600') { + include openssl::base + + $crt_file = "$filename.crt" + $key_file = "$filename.key" + exec { "openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout $key_file -out $crt_file -subj '/CN=$name'": + cwd => "$directory", + creates => "$directory/$key_file", + require => Package['openssl'], + before => [ File["$directory/$key_file"], + File["$directory/$crt_file"]] + } + + file { ["$directory/$key_file","$directory/$crt_file"]: + owner => $owner, + group => $group, + mode => $mode + } + } + } |