On Mon, Jul 12, 2010 at 5:41 AM, Bryan Kearney <[email protected]> wrote:
>
> On 07/09/2010 07:16 PM, Al Tobey wrote:
>>
>> I've been working on setting up a puppet deployment using an external CA
>> that signs certs for my puppet masters rather than using the internal
>> self-signed certs. Along the way, I wanted to try having the
>> certificate chain available on the agents so I added the
>> "localcacertdir" option to puppet. localcacertdir points at a
>> directory with all the required certs in it with the hash symlinks set
>> up as openssl likes them (see openssl x509 -hash). I later found that
>> this option is not necessary for normal operation once the CRL checks
>> are relaxed a bit with the next patch, and am sending it here in case
>> somebody else will find use for it.
>
> What would this directory look like? I have a similar goal (external
> Certificate management) and I have not run across a standard layout. I am by
> no means an openssl expert though :)
It's just a plain flat directory with all of the certificates in their
own files (or bundles). After adding any certs you just need to run
cacertdir_rehash (that's what it's called on RHEL - other distros name
it differently). It's just a shellscript that does:
cd $DIR
for $cert in *
do
hash=`openssl x509 -hash -noout -in $cert` && ln -sf $cert $hash.0
done
>>
>> The second patch relaxes the CRL checking flags sent to openssl so that
>> verification can succeed even if all of the CRL's in the certificate
>> chain are not available. With this option enabled (default is disabled
>> to match current behavior), only the first certificate in the chain's
>> CRL (the puppet master's CA cert) is verified. This makes my setup
>> work well enough for me to move forward, although the correct solution
>> is to distribute the entire CRL chain and have puppet use it. I'm
>> still learning the internals of puppet and ruby at the same time so that
>> will have to wait for another day.
>>
>
> What is the value of distributing the CRLs as opposed to the server doing it?
> Is this a performance thing?
This patch requires the server to distribute the CRL's. The change
it makes is to relax the CRL checking so it only checks the first
cert. So when I said "distribute the whole CRL chain," what I meant
was that it'd be nice if Puppet could push CRL's for multiple
certificates rather than just the current master's certificate. OCSP
might be the only sane thing to do in these cases.
-Al
--
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en.