Search code examples
sslpuppetcapkix

Puppet cacert vs localcacert?


I'm trying to fix an issue related to an expired ca certificate.

I replaced a the certificate located at /etc/puppetlabs/puppet/ssl/ca/ca_crt.pem (with these instructions).

Then restarted puppet-server, but agents still see an expired certificate.

I noticed there is also a value localcacert which points to a slightly different path etc/puppetlabs/puppet/ssl/certs/ca.pem.

I see this little snippet on Puppet documentation:

Where each client stores the CA certificate.

Default: $certdir/ca.pem

I'm confused by this. The description makes it sound like a folder where clients store certificates, yet the value is a single pem file.

Can anyone clarify the difference between these two ca pem files?

If I update one can I just overwrite the other with my new pem?


Solution

  • Can anyone clarify the difference between these two ca pem files?

    The cacert setting is relevant only to the master. It specifies the location of the certificate with which the master's hosted CA will sign communications.

    The localcacert setting specifies the location of the client's copy of the CA certificate (containing the public key, not the private one). This is what machines will use to verify certificates signed by the CA.

    In both cases, you should not read too much into the word "location". These settings designate certificate files, not directories.