Problem with Let's Encrypt root certificate?

Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. https://crt.sh/?q=example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is:
girlsinscience.ca
I ran this command:
Mostly we are having no trouble with certbot issued SSL Certs on several domains.
However we have two reports that users experienced browser error ‘NET: ERR_CERT_AUTHORITY_INVALID’.
Most ssl checkers come back clean but when we went to https://www.sslchecker.com and entered girlsinscience.ca it doesn’t recognize the chain of authority since it says the root cert is missing.

I see there is a Chain of Trust documentation page but it’s too technical to tell me why I am getting this error and what if anything can be done about it. My guess is that this checker makes assumptions that Let’s Encrypt has deliberately decided not to implement. And that perhaps that occasionally is true for other implementations like browsers. Or maybe something was temporarily inavailable when the chain of trust was being checked.

Do I need to worry or do anything?

It produced this output:

My web server is (include version):
Apache 2.2

The operating system my web server runs on is (include version):
Ubuntu 16.04.6 LTS

My hosting provider, if applicable, is:

I can login to a root shell on my machine (yes or no, or I don’t know):
yes

I’m using a control panel to manage my site (no, or provide the name and version of the control panel):
no

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you’re using Certbot):
0.31.0

That SSL Checker website seems to be, well, misleading. Any correctly configured website, including their own, will show “root” with a red ring around it.

It’s not about the CA itself, it’s about your web server configuration. A correctly-configured web server will send your website’s certificate and the CA’s intermediate certificate(s). Sending the root certificate is a waste of bandwidth: Clients trust root certificates because they have them in a file saying “trust me”! It’s useless for a website to send it. Either the client already has it, and sending it is wasteful, or it won’t trust your website, and sending it is pointless.

If you want to compare a different SSL checker, try SSL Labs:

https://www.ssllabs.com/ssltest/analyze.html?d=girlsinscience.ca&hideResults=on

Do they have any more information? What certificate(s) are they seeing? It looks like your website is correctly configured. It seems more likely to be a misconfiguration on their end – broken antivirus software, an OS that hasn’t been updated in a decade, or an MITM attack.

1 Like

Hi @JoeMurray

sure that these users don’t use the www version? Checking your domain - https://check-your-website.server-daten.de/?q=girlsinscience.ca

The certificate:

CN=girlsinscience.ca
	08.11.2019
	06.02.2020
expires in 89 days	girlsinscience.ca - 1 entry

has only the non-www version. But there is a www DNS entry.

Host T IP-Address is auth. ∑ Queries ∑ Timeout
girlsinscience.ca A 74.50.55.76 Dallas/Texas/United States (US) - TierPoint, LLC No Hostname found yes 1 0
AAAA yes
www.girlsinscience.ca A 74.50.55.76 Dallas/Texas/United States (US) - TierPoint, LLC No Hostname found yes 1 0
AAAA yes

So two options:

  • remove the dns www entry (or, better)
  • create one certificate with both domain names and use that.

The chain

Chain (complete)	
	1	CN=girlsinscience.ca
	2	CN=Let's Encrypt Authority X3, O=Let's Encrypt, C=US

is correct. A server shouldn’t send the root certificate.

PS: There are some users, they add always www. And other users - they add never www. A website should always handle both versions correct: Two dns entries, one certificate with both domain names, correct redirects.

3 Likes