Have something changed recently, lets encrypt certificates that are issued by Lets Encrypt Authority X3 doesn’t seem to be valid in Mozilla Firefox. It has worked with certificates that I have requested earlier that was issued by Lets Encrypt Authority X1.
Here’s the error from Mozilla Firefox (45.0.1) (It works fine in other browsers).
I can understand that for email addresses, but for domains? I guess your domain will be known to bots anyway, since all certificates are logged to CT and that’s publicly readable, even if your domain appears nowhere else.
Your site is sending the X1 intermediate certificate with a certificate signed by the X3 intermediate.
Browsers that have not previously visited a site using the X3 intermediate certificate won’t have it cached locally and will fail to build the certificate chain that leads back to a trusted root certificate. That’s why it’s working in some browsers, and not working in others.
I’m not familiar with ACMESharp and not sure if this is a bug or not. Anyway, you can find the X3 intermediate certificate here.
FIREFOX 45.1 ERROR www.xxx.xxx uses an invalid security certificate. The certificate is not trusted because the issuer certificate is unknown. The server might not be sending the appropriate intermediate certificates. An additional root certificate may need to be imported. Error code: SEC_ERROR_UNKNOWN_ISSUER
CHROME OK
SAFARI : UNTRUSTED CERTIFICATE
You’ll need to provide more details about your setup. What web server are you using? Which client did you use? How is your web server configured (certificate paths, etc.)?
Try running SSL Labs on your domain and see if it shows certificate chain errors.
I just activated Let’s Encrypt on my domain hosted on dreamhost.com
It’s an automated process and I don’t know what’s going on under the hood.
But I activated another domain last month and everything was fine, the only difference I’ve noticed between last month and today is in the issuer attribute, the certificate path is the same.
Last Month certificate:
Issuer: CN = Let’s Encrypt Authority X1
Certificate Path: DST Root CA X3/Let’s Encrypt Authority X1
Please run SSL Labs against your domain. If the site reports certificate chain errors, then it looks like dreamhost has hardcoded the intermediate certificate, which is a bad idea for exactly this reason. I’m not familiar with their control panel, but if they don’t offer a way to change the intermediate certificate through it, you probably can’t fix this on your own and I’d recommend raising a ticket with them.
Dreamhost.com does probably hardcode the certificate chain, if everything is automatic and you can’t do anything but activate / deactivate it, you should probably reach out to their support to correct the issue.
Maybe it is me noobing around, but I’m just trying to figure out where things go wrong in libraries I don’t own.
But as far as I can see the certificate response I get back from the ACME servers have the X1 intermediate certificate. Is that really how it is supposed to be?
That link leads to your certificate, not the intermediate certificate. The intermediate certificate is linked as part of the response header (last line):
I took a quick look at the ACMESharp source, and couldn’t find any hard-coded intermediate certificates and there is some code that downloads the rel=“up” link leading to intermediate certificates, so it looks like their implementation is correct. It’s possible there’s some non-obvious bug somewhere, so I’d suggest creating an issue anyway.
I had the same problem yesterday/today. The certificat chain I imported to the Microsoft Server has been ok. The server certificate is incuded as well as the Let’s Encrypt Authority X3 certificate.
As long as the Let’s Encrypt Authority X1 certificate is in the Certificate Store of my server the IIS delivers (in the chain as intermediate CA) the X1 certificate instead of the X3 certificate.
I had to remove the X1 certificate from the certificate store on my server. Now, it delivers the correct X3 certificate.
I analyzed the certificates X1 and X3 and found the following:
Both certificates have the same “X509v3 Subject Key Identifiers”: A8:4A:6A:63:04:7D:DD:BA:E6:D1:39:B7:A6:45:65:EF:F3:A8:EC:A1
You can easily verify that by using openSSL command for both certificates:
openssl x509 -in lets-encrypt-x1-cross-signed.cer -text
openssl x509 -in lets-encrypt-x3-cross-signed.cer -text
Because my Letsencrypt certificate references to this keyId, I assume, the IIS has problems to distinguish between both certificates: X509v3 Authority Key Identifier: keyid:A8:4A:6A:63:04:7D:DD:BA:E6:D1:39:B7:A6:45:65:EF:F3:A8:EC:A1
Hope this helps to find the problem.