2 ms·
Hrm, this just made me think. Is it possible to provide two different root chains for a X509 certificate? I'm guessing not, but if so depending on the business
by snuxoll 10y ago
Hrm, this just made me think. Is it possible to provide two different root chains for a X509 certificate? I'm guessing not, but if so depending on the business it might not be a bad idea (especially with HSTS, pin both intermediate roots so if one is revoked you could rely on trust to your secondary to continue service without hoping users hit your site after you updated your rules but before the root was revoked or distrusted).
- geofft 10y agoYou can't do this with a certificate (a certificate is a digital signature, and signing with two different CA keys gives you two different signatures). I suspect it's possible to do this with two different certificates for the same server key, presenting the backup leaf certificate as one of the certificates in the "chain" - SSL clients tend to just take the entire list of certificates and find an order for them, because server operators / implementations don't reliably send them in the right order. I don't know what clients deal with this well. Usually you'll have enough lead time to configure your servers to send the other certificate, though. All you need to do is buy it in advance and have it ready to deploy. And yeah, with HSTS you can definitely pin multiple intermediate roots.
- snuxoll 10y agoI figured as much, my knowledge of X509 certs ends at knowing "generate a CSR, get it signed, install it" and operating a couple Dogtag CA's as part of FreeIPA. Having a secondary cert ready to be swapped out with an Ansible playbook (or whatever your tooling of choice is) and ensuring both intermediate roots are pinned seems to be the best way to handle this then. Good to know!
- toast0 10y agoThe TLS specs don't allow for that, each certificate (after the first) must have signed the previous certificate. Many client libraries are forgiving of chain issues, but not all, so it's going to get really nasty, really fast.