Setting Up Certificate Authorities (CAs) in Firefox

The template "Enterprise" does not exist or has no approved revision.

If your organization uses private certificate authorities (CAs) to issue certificates for your internal servers, browsers such as Firefox might display errors unless you configure them to recognize these private certificates. This should be done early on, so your users won’t have trouble accessing websites.

You can add these CA certificates using one of the following methods.

Using policies to import CA certificates (recommended)

Starting with Firefox version 64, an enterprise policy can be used to add CA certificates to Firefox.

  • Setting the ImportEnterpriseRoots key to true will cause Firefox to trust root certificates. We recommend this option to add trust for a private PKI to Firefox. It is equivalent to setting the security.enterprise_roots.enabled preference as described in the Built-in Windows and macOS Support section below.
  • The Install key by default will search for certificates in the locations listed below. Starting in Firefox 65, you can specify a fully qualified path (see cert3.der and cert4.pem in this example). If Firefox does not find something at your fully qualified path, it will search the default directories:
    • Windows
      • %USERPROFILE%\AppData\Local\Mozilla\Certificates
      • %USERPROFILE%\AppData\Roaming\Mozilla\Certificates
    • macOS
      • /Library/Application Support/Mozilla/Certificates
      • ~/Library/Application Support/Mozilla/Certificates
    • Linux
      • /usr/lib/mozilla/certificates
      • /usr/lib64/mozilla/certificates

Using built-in Windows and macOS support

Setting the security.enterprise_roots.enabled preference to true in the about:config page will enable the Windows and macOS enterprise root support.

Windows Enterprise Support

Starting with version 49, Firefox can be configured to automatically search for and import CAs that have been added to the Windows certificate store by a user or administrator.

  1. Type about:config in the address bar and press EnterReturn.
    A warning page may appear. Click Accept the Risk and Continue to go to the about:config page.
  2. Search for the security.enterprise_roots.enabled preference.
  3. Click the Toggle Fx71aboutconfig-ToggleButton button next to this preference to change its value to true.
  4. Restart Firefox.

Firefox will inspect the HKLM\SOFTWARE\Microsoft\SystemCertificates registry location (corresponding to the API flag CERT_SYSTEM_STORE_LOCAL_MACHINE) for CAs that are trusted to issue certificates for TLS web server authentication. Any such CAs will be imported and trusted by Firefox, although they may not appear in Firefox's certificate manager. Administration of these CAs should occur using built-in Windows tools or other third party utilities.

Firefox version 52: Firefox will also search the registry locations HKLM\SOFTWARE\Policies\Microsoft\SystemCertificates\Root\Certificates and HKLM\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates (corresponding to the API flags CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY and CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE, respectively).

Note: This setting only imports certificates from the Windows Trusted Root Certification Authorities store, not corresponding Intermediate Certification Authorities store. See bug 1473573. If you are experiencing unknown issuer errors even after enabling this feature, try configuring your TLS server to include the necessary intermediate certificates in the TLS handshake.

macOS Enterprise Support

Starting with Firefox 63, this feature also works for macOS by importing roots found in the macOS system keychain.

Linux

Using p11-kit-trust.so on Linux

Certificates can be programmatically imported by using p11-kit-trust.so from p11-kit (note that some distributions, such as Red Hat-based ones, already do this by default by shipping p11-kit-trust.so as libnsscbki.so).

This can be done by setting the SecurityDevices policy in /etc/firefox/policies/policies.json' and adding an entry pointing to p11-kit-trust.sos location in the system, by manually adding it via the “Security Devices” manager in Preferences, or by using the modutil utility.

Preload the Certificate Databases (new profiles only)

Some people create a new profile in Firefox, manually install the certificates they need, and then distribute the various db files (cert9.db, key4.db and secmod.db) into new profiles using this method. This is not the recommended approach, and this method only works for new profiles.

Certutil

You can use certutil to update the Firefox certificate databases from the command line. Check the Microsoft support site for more information.

Was this article helpful?

Please wait...

These fine people helped write this article:

Illustration of hands

Volunteer

Grow and share your expertise with others. Answer questions and improve our knowledge base.

Learn More