HomeWeb & Server IssuesHow to Fix ERR_CERT_AUTHORITY_INVALID in Chrome: A Comprehensive Guide

How to Fix ERR_CERT_AUTHORITY_INVALID in Chrome: A Comprehensive Guide

How to Fix ERR_CERT_AUTHORITY_INVALID in Chrome: A Comprehensive Guide

When you attempt to navigate to a local development server or an internal company portal, encountering a screen that abruptly halts your progress with a security warning can be frustrating. The ERR_CERT_AUTHORITY_INVALID error in Google Chrome is a clear signal that the browser does not recognize the issuer of the SSL/TLS certificate presented by the server. While this is a critical security feature designed to protect users from malicious actors, it frequently triggers false positives when dealing with internal infrastructure or local development environments that utilize self-signed certificates.

Understanding the mechanism behind this error requires a basic grasp of Public Key Infrastructure. Browsers like Chrome maintain a list of trusted Certificate Authorities (CAs) that have been vetted for security. When a website provides a certificate signed by an entity not on this pre-approved list—which is the case for virtually all self-signed certificates—the browser assumes the connection is compromised. Resolving this issue involves explicitly telling your operating system or browser to trust the specific issuer, thereby bridging the gap between your local environment and the security protocols enforced by Chrome.

This guide aims to demystify the process of manual certificate management. By following the steps outlined below, you will learn how to identify the source of the certificate, export it, and install it within your system trust store. This approach effectively silences the error while maintaining the integrity of your local development workflow, provided that you only apply these fixes to services you control and trust implicitly.

Understanding the Root Cause of Certificate Errors

What Triggers the ERR_CERT_AUTHORITY_INVALID Warning

The primary driver of this warning is a mismatch between the certificate presented by the web server and the root certificate store of your operating system. Every time you establish an HTTPS connection, the server sends its certificate chain. Chrome checks the signature of the certificate against a list of trusted root CAs stored locally on your computer. If the signature cannot be traced back to a trusted root, the chain is deemed broken.

Self-signed certificates are generated by the server owner rather than a third-party authority like DigiCert or Let's Encrypt. Because these certificates are not validated by a public entity, they lack the third-party guarantee of identity. In internal enterprise environments, administrators often generate their own internal CAs to sign certificates for internal services. If the client machine is not configured to trust this internal CA, the browser will consistently flag the connection as insecure.

The Risks of Bypassing Security Protocols

It is important to acknowledge that manually trusting a certificate is a privilege that should be exercised with caution. By adding a root certificate to your trusted store, you are telling your computer to accept any certificate signed by that specific entity as valid. If the private key of that root certificate were ever compromised, an attacker could theoretically intercept and decrypt traffic to any site signed by it.

Consequently, you should never import a root certificate from an unknown source or a public website that you do not manage. This process is intended solely for local development environments, internal staging servers, or company-owned private networks. If you encounter this error on a public-facing website that you do not own, you should refrain from manually trusting the certificate, as the error might indeed indicate a legitimate man-in-the-middle attack.

Exporting the Self-Signed Certificate

How to Extract the Certificate from Chrome

Before you can trust a certificate, you must first obtain the file. Navigate to the website causing the error in Chrome. Click on the Not Secure icon located to the left of the URL in the address bar. From the dropdown menu, select Certificate is not valid. A window will appear displaying the certificate details, including the issuer and expiration date.

Navigate to the Details tab within this window. You will see a button labeled Export or Copy to File. Choose the format that is most compatible with your operating system, typically Base-64 encoded X.509 (.CER or .PEM). Save this file to a known location on your local drive, such as your desktop or a dedicated directory for security certificates. This file serves as the digital fingerprint that your system needs to recognize the server.

Identifying the Correct Certificate Chain

Sometimes, the error is caused by an intermediate certificate that is missing from the chain. In the Certificate Viewer, check the Certification Path tab. If you see a multi-level hierarchy, ensure that you are exporting the top-level root certificate. Trusting only the leaf certificate—the one specific to the domain—is often insufficient because the browser will still fail to validate the chain of trust.

If you are working with a complex development setup, such as Docker containers or Kubernetes clusters, you may need to retrieve the certificate directly from the server's filesystem. Using OpenSSL commands, you can extract the public certificate from the server and transfer it to your local machine. Ensure the file extension matches the requirements of your operating system's certificate manager to avoid import failures.

A dialog box showing the details and path of an SSL certificate in a web browser.
A screenshot demonstrating the certificate viewer window where users can inspect and export root certificates.

Installing Certificates on Windows Systems

Using the Microsoft Management Console (MMC)

Windows handles certificates through the Certificate Store, which can be managed via the MMC. Press the Windows key + R, type mmc, and press Enter. In the console, go to File, then Add/Remove Snap-in. Select Certificates, click Add, and choose Computer Account. Finish the wizard and return to the main console window.

Expand the Certificates (Local Computer) folder and navigate to Trusted Root Certification Authorities. Right-click on the Certificates folder, select All Tasks, and then Import. Follow the Certificate Import Wizard to locate the .CER file you exported earlier. Ensure that you place the certificate in the Trusted Root Certification Authorities store, as placing it elsewhere will not prevent the error from appearing in Chrome.

Verifying the Trust Status

After the import is complete, refresh the Chrome browser by closing and reopening it. Navigate back to the website. If the steps were followed correctly, the Not Secure warning should disappear, and you should see a padlock icon indicating a secure connection. If the error persists, check the MMC again to verify that the certificate is listed under the Trusted Root Certification Authorities node.

It is worth noting that some versions of Chrome may require a full restart of the browser process to clear the internal certificate cache. If a simple refresh does not work, use the Task Manager to ensure all Chrome instances are closed before attempting to access the site again.

Configuring macOS and Linux Environments

Adding Certificates to macOS Keychain Access

On macOS, the process involves the Keychain Access utility. Open Keychain Access and select the System keychain. Drag and drop your exported .CER file into the list of certificates. Once added, double-click the certificate entry. Expand the Trust section and change the setting for When using this certificate to Always Trust.

You may be prompted to enter your administrator password to authorize this change. After updating the trust settings, Chrome should immediately recognize the certificate as valid. Because macOS integrates tightly with the system keychain, this change typically propagates across all browsers and system services, including terminal-based tools like curl or wget.

Updating Trust Stores on Linux Distributions

Linux distributions vary in how they manage system-wide certificates. For Debian-based systems like Ubuntu, you must copy your certificate to the /usr/local/share/ca-certificates/ directory. After placing the file there, run the command sudo update-ca-certificates in your terminal. This updates the bundle of trusted CAs and makes the certificate available to the entire system.

For Fedora or RHEL-based systems, the directory is usually /etc/pki/ca-trust/source/anchors/. After copying the file, execute update-ca-trust to apply the changes. Keep in mind that some applications, such as Firefox or specific Java runtimes, maintain their own private certificate stores. You may need to manually import the certificate into those applications if they do not adhere to the system-wide store.

Troubleshooting Common Import Failures

Common Errors During Certificate Installation

If the import wizard reports that the certificate is invalid or corrupted, verify the encoding of the file. Certificates exported as binary DER format might not be recognized by tools expecting PEM format. You can often convert these formats using OpenSSL: openssl x509 -inform der -in certificate.der -out certificate.pem. Ensuring the correct file format is a frequent resolution for import failures.

Another common issue involves an expired certificate. Even if you manually trust a certificate, if the expiration date has passed, Chrome will still flag it as invalid. Check the validity period in the certificate details. If it has expired, you must regenerate the certificate on the server side before repeating the installation process on your local machine.

Clearing the Browser Cache and State

Sometimes, Chrome retains cached information about the previous failed connection. If you have successfully imported the root certificate but still see the error, try clearing your browser's SSL state. This can be done in Windows by opening the Internet Properties control panel, going to the Content tab, and clicking Clear SSL State. This forces the browser to re-evaluate the certificate chain upon the next request.

If the issue remains, test the site in an Incognito window. Incognito mode uses a separate storage profile and is an excellent way to determine if the error is caused by cached data or a persistent configuration issue in your standard user profile. If the site works in Incognito, clearing your site data and cookies for that specific domain should resolve the problem.

Conclusion

Fixing the ERR_CERT_AUTHORITY_INVALID error is a manageable task that requires a systematic approach to certificate management. By exporting the self-signed certificate and importing it into your operating system’s trusted root store, you effectively whitelist your internal services and restore seamless browser functionality. While this process is highly effective for development and private network environments, it is imperative to maintain security awareness by only trusting certificates you have generated yourself, ensuring that your local environment remains both efficient and secure.

Frequently Asked Questions

Why does Chrome still show the error after I imported the certificate?

The most common reason is that the certificate was imported into the wrong store. Ensure it is explicitly placed in the Trusted Root Certification Authorities store. If it is in the Intermediate or Personal store, Chrome will not consider it a root of trust.

Is it safe to trust self-signed certificates for public websites?

No, it is highly insecure. Public websites should use certificates issued by a trusted, publicly recognized Certificate Authority. If a public site is showing this error, it is likely a misconfiguration or an active security threat; you should avoid entering sensitive data on such pages.

Does this fix work for other browsers like Firefox or Edge?

Edge typically uses the Windows system store, so the Windows steps provided will work. Firefox, however, uses its own internal certificate manager. You will need to import the certificate specifically into the Firefox settings under Privacy & Security > Certificates > View Certificates > Authorities.

Can I automate the deployment of these certificates?

Yes, in enterprise environments, IT administrators use Group Policy Objects (GPO) in Windows or configuration management tools like Ansible, Chef, or Puppet on Linux to push trusted root certificates to all client machines automatically, eliminating the need for manual intervention.

References

  • Google Chrome Help: Manage Certificates and SSL Settings
  • Microsoft Learn: Certificate Stores and Trusted Root Authorities
  • OpenSSL Documentation: Certificate Management and Conversion
  • Apple Support: Keychain Access User Guide
#fix ssl error#chrome certificate authority#self-signed root certificate#browser security settings
Jessica J.
About the Author

Jessica J.

Jessica J. is a senior technical editor and systems specialist on the BugResolver editorial board.

RELATED GUIDES