2

Looking at LetsEncrypt FAQ page, they have clearly stated that email encryption and code signing require a different type of certificate and therefore they are not supported by LetsEncrypt.

My understanding is that https and S/MIME both require X.509 certificates. What is the difference between certificates these two technologies require?

Meisam Emamjome
  • 508
  • 5
  • 15
  • The usage flags (i.e. a few bits of data in the certificate). But the reason for the usage flags, and the reason Let's encrypt don't sign email CSR is because the liability and operational controls are completely different - not the technology. – symcbean Apr 02 '19 at 11:33

1 Answers1

3

Among other things (like the encryption key), an X.509 certificate also specifies what it may be used for. X.509 certificates for HTTPS and S/MIME usage basically have different usages.

The structure of an X.509 certificate is fairly complex. Its possible usage depends on attributes and extensions within the certificate, and require that specific combinations of them with specific values must be present.

For example, an S/MIME certificate, requires a Key Usage attribute with something like Encrypt, Verify, Wrap, Derive, a Key Usage extension that must have the Critical attribute set to Yes and include a Usage attribute with Key Encipherment plus in the Extended Key Usage extension (sic!) it should list the Purpose attribute value Email Protection.

Note that Key Usage extension Data Encipherment is not required, because in S/MIME, the data contents are encrypted by a random symmetric key which then is encrypted with the private key from the certificate. This is called hybrid encryption and it is done for performance and scalability reasons.

The certificate requirements even extend into the certificate chain, meaning that the certificate must be signed by another certificate that has been issued to sign certificates for that usage.


Note that the above example may not be 100% correct, because the subject is so complex, and I don't fully understand every aspect of it myself. I found this quote which I think describes the situation fairly well:

I think a lot of purists would rather have PKI be useless to anyone in any practical terms than to have it made simple enough to use, but potentially "flawed". — Chris Zimman


Resources that helped me:

Community
  • 1
  • 1
not2savvy
  • 2,902
  • 3
  • 22
  • 37