0

I have created a CA root certificate and a device certificate to go on my device signed by the CA certificate.

My question is as follows:

Can you make the device certificate last for 30 years, and the root certificate only 20 years, but just create a new root certificate based on the same private key, which would last an additional 20 years?

Would this allow the same old device certificate to continue working with the new root certificate, or would it be rejected?

I appreciate this question might be a bit odd, and if its not clear let me know.

Thanks

  • I would say that it depends on client/OS implementation. For example, given a regular, well-known CA, if your OS remove it from its trusted certificates as soon as it expires, then your certificates will become non-valid because issuer won't be trusted anymore. If the client (browser/dedicated app/whatever) only check deeply the issued certificate but is more laxist on CA that signed it, then it may be ok. The key of really secure SSL/x509 is to check and respect every part of the security chain so, in my opinion, an expired CA may lead to expiration of every issued certificates... – binarym Oct 31 '19 at 14:16
1

Yes this is possible. The expiration of the issuer certificate is not part of the certificate itself. It is possible to renew the issuer CA and keep the issued certificate valid as long as the same key pair and subject and subject key identifier in the new issuer certificate gets used.

But note that creation or use of certificates with an expiration that much in the future is not recommended since this it is likely that the used keys sizes and/or algorithms are no longer safe enough after that long time.

  • I appreciate the advice about futureproofing, thanks – wolly981 Oct 31 '19 at 9:48
  • Proper validation of a certificate should include validating its chain, which includes validating each CA cert through to the root. If any cert in that chain is expired, validation should fail. What this answer suggests is doing an "Indiana Jones idol" style replacement of a CA cert with another CA cert that uses identical copies of some critical information such as the public key, subject name, authority key identifier, etc. In that case, the CA cert didn't so much "expire" before the device cert as much as it was "reincarnated." This only works as a technicality at best. – Lampshade Nov 13 '19 at 20:03
  • @Lampshade: Only the trust chain at the moment of verification is relevant for the verification and not the trust chain at the moment of creation. While it is more common to reissue leaf certificates with the same public key (which keeps public key pinning intact) it is not unusual to have multiple issuer CA certificates with the same public key (and subject) too - and any of these could be used then for chain verification. If the private key can still be considered secret and the algorithms are still safe it is not a problem to just create a new certificate with a new expiration but same key. – Steffen Ullrich Nov 13 '19 at 20:17
1

First of all, 20-30 years is an extremely long time for a certificate lifespan. Cryptography that supports X509 certificate chain today is very likely to become weak or even irrelevant in 20-30 years.

Secondly, there is a reason in a limited lifespan for a certificate, which is in key rotation. By reusing the same key to generate new device certificate, you are losing an opportunity to clear out any potential compromise/leak of the key that could have happened in these 20-30 years.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.