• Chrome
  • Exact text checked with the real tool

NET::ERR_CERT_AUTHORITY_INVALID

Also seen in: Edge, Brave, Opera, Electron apps, Android WebView

In one sentence

Chrome could not link the site's certificate to a trusted root: it is self-signed, from a private or proxy CA your device does not trust, or from a distrusted CA.

Where you see it

As a full-page warning in Chrome, Edge and other Chromium browsers. The code is ERR_CERT_AUTHORITY_INVALID (−202) in Chromium’s network error list.

Your connection is not private
Attackers might be trying to steal your information from intranet.example.com (for example, passwords, messages, or credit cards). Learn more about this warning
NET::ERR_CERT_AUTHORITY_INVALID

Under Advanced:

This server could not prove that it is intranet.example.com; its security certificate is not trusted by your computer's operating system. This may be caused by a misconfiguration or an attacker intercepting your connection.

Edge words it slightly differently (“Your connection isn’t private”, “This server couldn’t prove that it’s …”), with the same code.

What it means

Chrome trusts a site’s certificate only if it can build a certificate chain to a root certificate in its trust store: the Chrome Root Store plus roots your organisation installed on the device. Here it could not. Either the certificate was not issued by a CA your device trusts, or the connection is being intercepted. Chrome cannot tell those apart, so it stops.

Likely causes

The certificate is self-signed or from a private CA

Typical for internal web apps, development servers, and the admin pages of routers, printers and storage boxes. Click Not secure in the address bar, open the certificate details and look at “Issued by”. A self-signed certificate shows the same name in “Issued to” and “Issued by”; a private CA shows your company’s CA name. From a terminal:

openssl s_client -connect intranet.example.com:443 -servername intranet.example.com -showcerts </dev/null 2>/dev/null | grep -E '^ [0-9]+ s:|^   i:'

Fix for IT: deploy the company root to managed devices (Group Policy or Intune on Windows, a configuration profile on macOS). Chrome and Edge use roots installed in the operating system:

# One Windows machine, as administrator
Import-Certificate -FilePath C:\certs\corp-root.cer -CertStoreLocation Cert:\LocalMachine\Root

On Linux, Chrome reads the user’s NSS database: certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "Corp Root CA" -i corp-root.pem (from the libnss3-tools package).

Fix for site owners: for anything public, use a certificate from a public CA, for example free and automated through ACME with Let’s Encrypt. For internal sites, issue certificates from the company CA whose root IT deploys, not self-signed ones.

A TLS-inspection product without its root

If many HTTPS sites fail on one device, a TLS-inspection proxy or antivirus product may be re-signing traffic with a root that is not installed on that device. Check “Issued by” on a public site such as www.google.com: if it names a security product or your company, ask IT to install that product’s root.

The CA is no longer trusted by Chrome

Browsers remove CAs that break the rules. For example, Chrome stopped trusting new Entrust TLS certificates (those first logged in Certificate Transparency after 11 November 2024). Certificates from a distrusted CA fail even though nothing changed on the server. Replace the certificate with one from a CA that browsers trust.

Rarely: a missing intermediate

Chrome can usually download a missing intermediate certificate itself, from the AIA address in the certificate. If that download is blocked, the error appears. Site owners should always serve the full chain: see verify error:num=21.

Check yours

Try it: Certificate decoderOpen the full tool

Runs in your browser. Nothing you paste is sent anywhere.

PEM text, several PEM blocks, or a .pem, .crt, .cer or .der file (drop it on the box). Certificates are public, so they are safe to paste.

Export the certificate from the browser’s certificate viewer, or copy it from openssl s_client -showcerts, and paste it. The decoder shows the issuer and whether the certificate is self-signed.

Learn why

In the gameLevel 12: Who do we trust?Registry of Roots, Keystone. In development

Early edition. Checked against the standards; an independent expert review is in progress. Found a mistake? Tell us.

Last reviewed Edition 0.9