SSL Generators and security

Even as the author of a website ACME client that was created to replace ZeroSSL and SSLforfree (and does use its own ACME account key when generating all certificates), I would be remiss in not referencing the following excellent analysis:

My client ONLY accepts CSRs as I do not believe it realistic for anyone to (continually) review locally-operating code to ensure that private keys are not stolen. Honestly though, how many people (@_az and @Osiris here aside) actually review any client's code before using it? At least with restriction to a CSR, the client has zero exposure to your private keys. Trust lines...

The explicit risks of using someone else's ACME account key:

  • Potentially not receiving email reminders (does the CSR email override here, @_az, outside of the email for the ACME account being updated?)
  • Granting carte blanche to the ACME account key holder to generate additional certificates for any authorized domain names within 30 days (This is usually the case)
  • Granting carte blanche to the ACME account key holder to revoke any generated certificates (I believe this does not require reauthorization, but audit me here please, @_az)

A reasonable concern. :slightly_smiling_face:

The CA signature enables verification of the authenticity of a certificate to prevent tampering or spoofing.

If you don't trust an ACME client with handling your certificate, you can always:

  1. Download your certificate:
    https://crt.sh
  2. Download the CA intermediate certificate:
    https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem
  3. Append the intermediate certificate to your certificate to create fullchain.pem.
5 Likes