1

For use with TLS, I have a CD-issued certificate for *.mycompany.com (cert1). Understandably, I do not want to distribute the private key very widely. What I'd like to do is this:

  1. Create another certificate for everyday use for *.mycompany.com (cert2) and sign it with the private key from cert1.
  2. Put cert1 on a memory stick in a safe and destroy any other copies of its private key.
  3. Create a certificate for blog.mycompany.com and sign it with cert2.
  4. Create a certificate for bank.mycompany.com and sign it with cert2.

I think the motivation behind this is pretty clear: I don't want the people running the WordPress server at blog.mycompany.com (as diligent as they might be) to be able to impersonate bank.mycompany.com, or for a breach of blog.mycompany.com to affect bank.mycompany.com. I also want to be able to rotate cert2 (have cert3, cert4, etc., signed with cert1 over time) to mitigate the blast radius of a breach of cert2 -- and to be able to immediately revoke cert2 and issue new keys based on cert3 if such a breach is discovered. And I want to do this without having to go to a CA every time.

Basically, I want to create my own little PKI, with a CA-issued certificate as its root. I only want to sign certs for domains that are children of my domain. And this is for public use - I can't add trusted certificates to clients. I will obviously include the entire certificate chain for TLS.

Is this possible?

  • While the other question seems to care about client certificates the answer affects also your use case: since you have no CA certificate but only a leaf certificate you cannot use it to create more certificates from it. – Steffen Ullrich Mar 10 '17 at 11:33

0 Answers0