- Firefox
- Exact text checked with the real tool
SEC_ERROR_UNKNOWN_ISSUER
Also seen in: Thunderbird, other NSS-based applications
In one sentence
Firefox could not link the site's certificate to a trusted root: an unknown private or proxy CA, a self-signed certificate, or a missing intermediate.
Where you see it
As a full-page warning in Firefox. Recent versions title the page “Warning: Security Risk” and show:
Be careful. Something doesn’t look right.
Firefox spotted a potentially serious security issue with intranet.example.com. Someone pretending to be the site could try to steal things like credit card info, passwords, or emails.
Under Advanced:
There’s an issue with the site’s certificate. It’s possible that a bad actor is trying to impersonate the site. Sites use certificates issued by a certificate authority to prove they’re really who they say they are. Firefox doesn’t trust this site because we can’t tell who issued the certificate, it’s self-signed, or the site isn’t sending intermediate certificates we trust.
...
Error Code: SEC_ERROR_UNKNOWN_ISSUER
Older versions show the same code on a page titled “Warning: Potential Security Risk Ahead”, with: “Websites prove their identity via certificates. Firefox does not trust intranet.example.com because its certificate issuer is unknown, the certificate is self-signed, or the server is not sending the correct intermediate certificates.” The texts are in Firefox’s certificate error strings. For a single self-signed certificate, Firefox uses a separate code, MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT.
What it means
Firefox needs a certificate chain from the site’s certificate to a root certificate it trusts. It could not find the certificate of whoever issued one of the certificates, so it cannot tell whether the site is genuine. Firefox keeps its own list of trusted roots from Mozilla’s root program. On Windows, macOS and Android it also trusts, by default, roots that users or administrators added to the operating system; on Linux it usually keeps its own separate store. So a site can work in Chrome and fail in Firefox.
Likely causes
A private CA that Firefox does not know
Internal sites often use a company CA. Firefox on Windows and macOS normally trusts a root that IT added to the operating system, but not if that option has been turned off, and Firefox on Linux usually does not see it. Click View the site’s certificate on the warning page and look at the issuer. 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: make Firefox trust the roots from the operating system with the enterprise policy ImportEnterpriseRoots, or install the root with the Certificates → Install policy. Both are described in Mozilla’s policy templates. For one machine on Windows or macOS, check that the option to trust third-party root certificates from the operating system is on under Settings → Privacy & Security → Certificates (the security.enterprise_roots.enabled preference; see Mozilla support), or import the root under Settings → Privacy & Security → Certificates → View Certificates → Authorities.
Antivirus or a TLS-inspection proxy
If many sites fail at once, a TLS-inspection proxy or an antivirus product that scans HTTPS is re-signing traffic with its own root. Firefox’s own text mentions this. Check the issuer on a public site; if it names a security product, either let IT deploy that root to Firefox as above, or switch off HTTPS scanning in the antivirus product.
The server leaves out an intermediate
Unlike Chrome and Edge, Firefox does not download missing intermediates. For public CAs, desktop Firefox ships a preloaded list of known intermediates, so the mistake often stays hidden; for private CAs it does not, and the site fails. Count what the server sends:
openssl s_client -connect intranet.example.com:443 -servername intranet.example.com -showcerts </dev/null 2>/dev/null | grep -c 'BEGIN CERTIFICATE'
Fix for site owners: serve the certificate followed by its intermediate certificate (fullchain.pem in nginx, SSLCertificateFile with the chain in Apache, the intermediate store on IIS). See verify error:num=21.
A self-signed certificate
Development servers and device admin pages often use a self-signed certificate (MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT). Replace it with a certificate from your company CA or, for public sites, from a public CA such as Let’s Encrypt.
Check yours
Paste the site’s certificate (from View the site’s certificate → download PEM, or from openssl s_client -showcerts). The decoder shows the issuer and whether the certificate is self-signed.
Learn why
- Who do we trust? CAs, trust stores and self-signed certificates: why Firefox has its own root store.
- Certificate chains and path validation: AIA fetching versus preloaded intermediates.
- Chrome’s version of this error: NET::ERR_CERT_AUTHORITY_INVALID.
- See also: MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT, when the site’s certificate is self-signed.
Early edition. Checked against the standards; an independent expert review is in progress. Found a mistake? Tell us.