8 package { 'ca-certificates':
12 if has_role('insecure_ssl') {
13 $extra_ssl_certs_flags = ' --default'
14 $ssl_certs_config = 'puppet:///modules/ssl/ca-certificates-global.conf'
16 $extra_ssl_certs_flags = ''
17 $ssl_certs_config = 'puppet:///modules/ssl/ca-certificates.conf'
20 file { '/etc/ssl/README':
22 source => 'puppet:///modules/ssl/README',
24 file { '/etc/ca-certificates.conf':
25 source => $ssl_certs_config,
26 notify => Exec['refresh_normal_hashes'],
28 file { '/etc/ca-certificates-debian.conf':
30 source => 'puppet:///modules/ssl/ca-certificates.conf',
31 notify => Exec['refresh_ca_debian_hashes'],
33 file { '/etc/ca-certificates-global.conf':
34 source => 'puppet:///modules/ssl/ca-certificates-global.conf',
35 notify => Exec['refresh_ca_global_hashes'],
38 file { '/etc/ssl/certs/ssl-cert-snakeoil.pem':
40 notify => Exec['refresh_normal_hashes'],
42 file { '/etc/ssl/private/ssl-cert-snakeoil.key':
46 file { '/etc/ssl/servicecerts':
50 file { '/usr/local/share/ca-certificates/debian.org':
55 notify => [ Exec['refresh_normal_hashes'], Exec['refresh_ca_global_hashes'] ],
57 file { '/etc/ssl/certs/README':
60 file { '/etc/ssl/ca-debian':
64 file { '/etc/ssl/ca-debian/README':
67 file { '/etc/ssl/ca-global':
71 file { '/etc/ssl/ca-global/README':
74 file { '/etc/ssl/debian':
76 source => 'puppet:///files/empty/',
77 mode => '0644', # this works; otherwise all files are +x
82 file { '/etc/ssl/debian/certs':
86 file { '/etc/ssl/debian/crls':
90 file { '/etc/ssl/debian/certs/thishost.crt':
91 content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_clientcerts_dir"]) + "/" + @fqdn + ".client.crt") %>'),
92 notify => Exec['refresh_debian_hashes'],
94 file { '/etc/ssl/debian/certs/ca.crt':
95 content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_clientcerts_dir"]) + "/ca.crt") %>'),
96 notify => Exec['refresh_debian_hashes'],
98 file { '/etc/ssl/debian/crls/ca.crl':
99 content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_clientcerts_dir"]) + "/ca.crl") %>'),
101 file { '/etc/ssl/debian/certs/thishost-server.crt':
102 content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_certs_dir"]) + "/" + @fqdn + ".crt") %>'),
103 notify => Exec['refresh_debian_hashes'],
106 file { '/etc/ssl/debian/keys/thishost.key':
109 file { '/etc/ssl/debian/keys/thishost-server.key':
112 file { '/etc/ssl/debian/keys':
116 file { '/etc/ssl/private/thishost.key':
117 content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_clientcerts_dir"]) + "/" + @fqdn + ".key") %>'),
120 require => Package['ssl-cert'],
122 file { '/etc/ssl/private/thishost-server.key':
123 content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_certs_dir"]) + "/" + @fqdn + ".key") %>'),
126 require => Package['ssl-cert'],
129 $updatecacertsdsa = '/usr/local/sbin/update-ca-certificates-dsa'
130 if (versioncmp($::lsbmajdistrelease, '9') >= 0) {
131 file { $updatecacertsdsa:
134 $updatecacerts = '/usr/sbin/update-ca-certificates'
136 file { $updatecacertsdsa:
138 source => 'puppet:///modules/ssl/update-ca-certificates-dsa',
140 $updatecacerts = $updatecacertsdsa
143 file { '/etc/apt/apt.conf.d/local-ssl-ca-global':
145 content => template('ssl/local-ssl-ca-global.erb'),
149 exec { 'refresh_debian_hashes':
150 command => 'c_rehash /etc/ssl/debian/certs',
152 require => Package['openssl'],
155 exec { 'refresh_normal_hashes':
156 # NOTE 1: always use update-ca-certificates to manage hashes in
157 # /etc/ssl/certs otherwise /etc/ssl/ca-certificates.crt will
158 # get a hash overriding the hash that would have been generated
159 # for another certificate ... which is problem, comrade
160 # NOTE 2: always ask update-ca-certificates to freshen (-f) the links
161 command => "/usr/sbin/update-ca-certificates --fresh${extra_ssl_certs_flags}",
163 require => Package['ca-certificates'],
165 exec { 'refresh_ca_debian_hashes':
166 command => "${updatecacerts} --fresh --certsconf /etc/ca-certificates-debian.conf --localcertsdir /dev/null --etccertsdir /etc/ssl/ca-debian --hooksdir /dev/null",
169 Package['ca-certificates'],
170 File['/etc/ssl/ca-debian'],
171 File['/etc/ca-certificates-debian.conf'],
172 File[$updatecacertsdsa],
175 exec { 'refresh_ca_global_hashes':
176 command => "${updatecacerts} --fresh --default --certsconf /etc/ca-certificates-global.conf --etccertsdir /etc/ssl/ca-global --hooksdir /dev/null",
179 Package['ca-certificates'],
180 File['/etc/ssl/ca-global'],
181 File['/etc/ca-certificates-global.conf'],
182 File[$updatecacertsdsa],