CA/Changing Trust Settings: Difference between revisions

m
Protected "CA/Changing Trust Settings" ([Edit=Allow confirmed users only] (indefinite) [Move=Allow confirmed users only] (indefinite))
(Replace a bunch of "trusted" with "built-in" - hopefully less confusing.)
m (Protected "CA/Changing Trust Settings" ([Edit=Allow confirmed users only] (indefinite) [Move=Allow confirmed users only] (indefinite)))
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= How To Override Default Root Certificate Settings =
This page describes how to change the default root certificate trust settings in Mozilla products, including Firefox and Thunderbird.


This page describes how to override the default root certificate settings in Mozilla products, including Firefox and Thunderbird.
If you are seeing "Your connection is not secure" errors and you don't know why, visit [https://support.mozilla.org/en-US/kb/what-does-your-connection-is-not-secure-mean this support page].


See the [[CA:Root_Change_Process|Root Change Process]] if you are looking for instructions for changing default root certificates in Mozilla products.
Some browsers only display the root certificates that the user has actually used, and dynamically download new ones on demand. However, Mozilla believes it is important for users to know the root certificates that could be used, so the full set of certificates is always shown. This also allows you to edit the trust bits for any root certificates that you do not want to use.


When distributing binary and source code versions of Firefox, Thunderbird, and other Mozilla-related software products the Mozilla Foundation and its wholly-owned subsidiary the Mozilla Corporation include with such software a default set of X.509v3 certificates for various Certification Authorities (CAs). The certificates included by default have their "trust bits" set for various purposes, so that the software in question can use the CA certificates to verify certificates for SSL servers, S/MIME email users, and digitally-signed code objects without having to ask users for further permission or information.
== Important Warnings ==


CAs apply to have their root certificates included by default in Mozilla products by following the [http://www.mozilla.org/projects/security/certs/policy/ Mozilla CA Certificate Policy] and applying for inclusion as per [[CA:How_to_apply|CA:How_to_apply]].
Following instructions on this page may negatively affect your security and/or your browsing experience.


Users of Mozilla products may override the default root certificate settings by either deleting the root certificate or by changing the trust bit settings of a root certificate. The sections below describe how to make these changes, and how the software responds to such changes.
If you turn off the websites trust bit of a commonly used root certificate, you may get an "Your connection is not secure" error when you navigate to one or more popular websites. Bypassing such errors can be a security risk unless you know what you are doing. Therefore, it is strongly recommended that you '''note which root certificate you modify''', so that you can turn the trust bit back on if the change negatively impacts your browsing experience.


'''Important:''' If you change the trust bits of a root certificate, that change will be permanent (can only be changed again by you) and will not be affected by upgrading to newer versions of the software.
If you change the trust bits of a root certificate or add or delete roots, that change will be will '''not''' be affected by upgrading to newer versions of the software. It can only be changed again by you.


'''Important:''' Deleting a root certificate that is in the default root store is equivalent to turning off all of the trust bits for that root. Therefore, even though the root certificate will re-appear in the Certificate Manager, it will be treated as though you changed the trust bits of that root certificate to turn them all off.
Deleting a root certificate that is in the default root store is equivalent to turning off all of the trust bits for that root. Therefore, '''even though the root certificate will re-appear in the Certificate Manager''', it will be treated as though you changed the trust bits of that root certificate to turn them all off.


== Changing Root Certificate Trust Bit Settings ==
== Trusting an Additional Root Certificate ==


Root certificates that are included by default have their "trust bits" set for various purposes, so that the software in question can use the CA certificates to verify certificates for SSL servers, S/MIME email users, and digitally-signed code objects without having to ask users for further permission or information.  
The following describes how to manually import a root certificate into your installation of Firefox or other Mozilla products.


The following describes how to change these settings in your installation of Firefox and Thunderbird.
'''Important:''' This change will be permanent, such that it can only be changed again by you. This change will not be affected by upgrading to newer versions of Mozilla software.
'''Caution:''' If you turn off the websites trust bit of a commonly used root certificate, you may get an "Untrusted Connection" error when you navigate to a website that you regularly use. Therefore, it is strongly recommended that you note which root certificate you modify, so that you can turn the trust bit back on if the change negatively impacts your browsing experience.
[[Firefox]]
# Open the '''Options/Preferences''' window:
# Open the '''Options/Preferences''' window:
#* On Windows: Pull down the '''Tools''' menu and select '''Options…'''
#* On Windows: Pull down the '''Tools''' menu and select '''Options…'''
#* On Mac: Pull down the '''Firefox''' menu and select '''Preferences...'''
#* On Mac: Pull down the '''Firefox''' menu and select '''Preferences...'''
#* On Linux: Pull down the '''Edit''' menu and select '''Preferences'''
#* On Linux: Pull down the '''Edit''' menu and select '''Preferences'''
# Select '''Advanced'''
# Select '''Privacy & Security'''
# Select '''Encryption'''
# Scroll down to the '''Certificates''' section
# Click on '''View Certificates''' to open the '''Certificate Manager'''
# Click on '''View Certificates..''' to open the '''Certificate Manager'''
# Select '''Authorities'''
# Select '''Authorities''' tab
#* Note: The root certificates with "Builtin Object Token" as the Security Device are the root certificates that are included by default in Mozilla products.
#* Note: The root certificates with "Builtin Object Token" as the Security Device are the root certificates that are included by default in Mozilla products.
# Select the Root Certificate that you want to change
# Click on '''Import...'''
# Click on '''Edit...'''
# Select the file of the Root Certificate that you want to import
# Select/Unselect the check-boxes indicating the trust bits, then click on '''OK'''
# Select/Unselect the check-boxes indicating the trust bits, then click on '''OK'''
# Click on '''OK''' in the '''Certificate Manager'''
# Click on '''OK''' in the '''Certificate Manager'''
# Close the '''Options/Preferences''' window
# Close the '''Options/Preferences''' tab
# Close and restart Firefox


== Changing Root Certificate Trust Settings ==


[[Thunderbird]]
To change the trust settings for root certificates in your installation of Firefox or other Mozilla products, follow the instructions above, except when you are in the Authorities tab of the Certificate Manager:
# Open the '''Options/Preferences''' window:
#* On Windows: Pull down the '''Tools''' menu and select '''Options…'''
#* On Mac: Pull down the '''Thunderbird''' menu and select '''Preferences...'''
#* On Linux: Pull down the '''Edit''' menu and select '''Preferences'''
# Select '''Advanced'''
# Select '''Certificates'''
# Click on '''View Certificates''' to open the '''Certificate Manager'''
# Select '''Authorities'''
#* Note: The root certificates with "Builtin Object Token" as the Security Device are the root certificates that are included by default in Mozilla products.
# Select the Root Certificate that you want to change
# Click on '''Edit...'''
# Select/Unselect the check-boxes indicating the trust bits, then click on '''OK'''
# Click on '''OK''' in the '''Certificate Manager'''
# Close the '''Options/Preferences''' window
# Close and restart Thunderbird


[[SeaMonkey]]
# Open the '''Preferences''' window:
#* On Windows: Pull down the '''Edit''' menu and select '''Preferences'''
#* On Mac: Pull down the '''SeaMonkey''' menu and select '''Preferences...'''
#* On Linux: Pull down the '''Edit''' menu and select '''Preferences'''
# Select '''Privacy & Security'''
# Select '''Certificates'''
# Click on '''Manage Certificates''' to open the '''Certificate Manager'''
# Select '''Authorities'''
#* Note: The root certificates with "Builtin Object Token" as the Security Device are the root certificates that are included by default in Mozilla products.
# Select the Root Certificate that you want to change
# Select the Root Certificate that you want to change
# Click on '''Edit...'''
# Click on '''Edit Trust...'''
# Select/Unselect the check-boxes indicating the trust bits, then click on '''OK'''
# Select/Unselect the check-boxes indicating the trust bits, then click on '''OK'''
# Click on '''OK''' in the '''Certificate Manager'''
# Close the '''Preferences''' window
# Close and restart SeaMonkey


==  Deleting a Root Certificate ==
Close and restart Firefox


When distributing binary and source code versions of Firefox, Thunderbird, and other Mozilla-related software products the Mozilla Foundation and its wholly-owned subsidiary the Mozilla Corporation include with such software a default set of X.509v3 certificates for various Certification Authorities (CAs).
== Deleting a Root Certificate ==


The following describes how to delete a root certificate from your current instance of Firefox and Thunderbird.
To delete a root certificate from your current instance of Firefox or other Mozilla products, follow the instructions above, except when you are in the Authorities tab of the Certificate Manager:


'''Important:''' Deleting a root certificate that is in the default root store is equivalent to turning off all of the trust bits for that root. Therefore, even though the root certificate will re-appear in the Certificate Manager, it will be treated as though you changed the trust bits of that root certificate to turn them all off.
'''Important:''' This change will have a permanent affect, such that the trust bits for the root certificate can only be changed again by you. This change will not be affected by upgrading to newer versions of Mozilla software.
'''Caution:''' It is strongly recommended that you note which root certificate you modify, so that you can turn the trust bits back on if the change negatively impacts your browsing experience.
[[Firefox]]
# Open the '''Options/Preferences''' window:
#* On Windows: Pull down the '''Tools''' menu and select '''Options…'''
#* On Mac: Pull down the '''Firefox''' menu and select '''Preferences...'''
#* On Linux: Pull down the '''Edit''' menu and select '''Preferences'''
# Select '''Advanced'''
# Select '''Encryption'''
# Click on '''View Certificates''' to open the '''Certificate Manager'''
# Select '''Authorities'''
#* Note: The root certificates with "Builtin Object Token" as the Security Device are the root certificates that are included by default in Mozilla products.
# Select the Root Certificate that you want to delete
# Select the Root Certificate that you want to delete
# Click on '''Delete...'''
# Click on '''Delete or Distrust...'''
# If you are sure you want to delete that root certificate, click on '''OK'''
# If you are sure you want to delete that root certificate, click on '''OK'''
# Click on '''OK''' in the '''Certificate Manager'''
# Close the '''Options/Preferences''' window


Close and restart Firefox
== Restoring the Default Trust Settings for All Root Certificates ==
* [https://support.mozilla.org/en-US/kb/refresh-firefox-reset-add-ons-and-settings Refresh Firefox button] -- Recommended way to restore the security certificate settings.
* [https://support.mozilla.org/en-US/kb/what-does-your-connection-is-not-secure-mean#w_corrupted-certificate-store Manually restore the security certificate settings] -- only perform as last resort.


[[Thunderbird]]
== Restoring the Default Trust Settings for a Single Root Certificate ==
# Open the '''Options/Preferences''' window:
#* On Windows: Pull down the '''Tools''' menu and select '''Options…'''
#* On Mac: Pull down the '''Thunderbird''' menu and select '''Preferences...'''
#* On Linux: Pull down the '''Edit''' menu and select '''Preferences'''
# Select '''Advanced'''
# Select '''Certificates'''
# Click on '''View Certificates''' to open the '''Certificate Manager'''
# Select '''Authorities'''
#* Note: The root certificates with "Builtin Object Token" as the Security Device are the root certificates that are included by default in Mozilla products.
# Select the Root Certificate that you want to delete
# Click on '''Delete...'''
# If you are sure you want to delete that root certificate, click on '''OK'''
# Click on '''OK''' in the '''Certificate Manager'''
# Close the '''Options/Preferences''' window


If you want the cert to again respect any updates Mozilla makes to the default root store, this is extremely difficult. It is far easier to reset the entire store using the instructions above.


[[SeaMonkey]]
== Deeply Geeky Certificate Database Information ==
# Open the '''Preferences''' window:
#* On Windows: Pull down the '''Edit''' menu and select '''Preferences'''
#* On Mac: Pull down the '''SeaMonkey''' menu and select '''Preferences...'''
#* On Linux: Pull down the '''Edit''' menu and select '''Preferences'''
# Select '''Privacy & Security'''
# Select '''Certificates'''
# Click on '''Manage Certificates''' to open the '''Certificate Manager'''
# Select '''Authorities'''
#* Note: The root certificates with "Builtin Object Token" as the Security Device are the root certificates that are included by default in Mozilla products.
# Select the Root Certificate that you want to delete
# Click on '''Delete...'''
# If you are sure you want to delete that root certificate, click on '''OK'''
# Click on '''OK''' in the '''Certificate Manager'''
# Close the '''Preferences''' window


== How Mozilla Products Respond to User Changes of Root Certificates ==
=== How Mozilla Products Respond to User Changes of Root Certificates ===


The following explains how Mozilla products behave when users change or delete root certificates.
The following explains how Mozilla products behave when users change or delete root certificates.
Line 165: Line 88:
If you delete a cert in your database that is also in the built-in list, it may appear to be completely gone, until you restart your program, at which point it will reappear, because it never left the built-in root list. However, the trust bits will be turned off for the root.
If you delete a cert in your database that is also in the built-in list, it may appear to be completely gone, until you restart your program, at which point it will reappear, because it never left the built-in root list. However, the trust bits will be turned off for the root.


If you edit the trust on a cert in the root list, taking away (say) one of the 3 trust flags, but leaving the other two, then that cert and the two trust bits will be in your cert DB.  After that, if Mozilla removes that cert completely from the built-in list, it will remain in your cert DB with those two trust flags.  Mozilla's changes to the built-in list never affect your databases.  Your databases contain what YOU put there. They're your changes, your responsibility.
If you edit the trust on a cert in the root list, taking away (say) one of the 2 trust flags, but leaving the other one, then that cert and the single trust bit will be in your cert DB.  After that, if Mozilla removes that cert completely from the built-in list, it will remain in your cert DB with the remaining trust flag.  Mozilla's changes to the built-in list never affect your databases.  Your databases contain what YOU put there. They're your changes, your responsibility.


In conclusion, the changes Mozilla makes to Mozilla's read-only list of built-in root certs affect only those certs that do not also appear in your cert DB.  When you cause copies of any of those certs to appear in your cert DB, then you have taken control of the trust for those copies, and changes made by Mozilla thereafter to those certs will not affect you.
In conclusion, the changes Mozilla makes to Mozilla's read-only list of built-in root certs affect only those certs that do not also appear in your cert DB.  When you cause copies of any of those certs to appear in your cert DB, then you have taken control of the trust for those copies, and changes made by Mozilla thereafter to those certs will not affect you.


= How To Restore Default Root Certificate Settings =
=== Restoring the Default Trust Bits for a Single Built-In Root Certificate ===


The changes that you make to security certificate settings are stored in a profile file named cert8.db.  
If you have edited the trust bits of a built-in root certificate, causing it to be copied to your personal database, you may wish to delete the copy from your database so that the default trust bits are again used.  (Simply editing the trust bits to match the defaults would not give you the benefit of any updates Mozilla may later make to the defaults.)  There is currently no UI to do this ({{bug|558222}}), but you can use the NSS <code>certutil</code> command-line tool.  <code>certutil</code> does not ship with Mozilla products, and [https://groups.google.com/group/mozilla.dev.tech.crypto/browse_thread/thread/94d05b904280b6ed NSS itself does not have official binary releases at this time], but you can build <code>certutil</code> from source, or your OS distribution may include it (Fedora: <code>nss-tools</code>, Debian/Ubuntu: <code>libnss3-tools</code>).


Relevant Firefox Help articles:
To delete a certificate from your personal database:
* [http://support.mozilla.com/en-US/kb/profiles About Profiles]
**Security certificate settings: The cert8.db file stores all your security certificate settings and any SSL certificates you have imported into Firefox.
* [http://support.mozilla.com/en-US/kb/Backing%20up%20your%20information Backing Up Your Profile Information]
* [http://support.mozilla.com/en-US/kb/Recovering%20important%20data%20from%20an%20old%20profile Recovering Your Profile Information]


To restore the default Root Certificate Settings:
# Note the Certificate Name as shown in the Certificate Manager.
# [https://support.mozilla.com/en-US/kb/profiles#w_how-do-i-find-my-profile Locate your profile].
# Shut down the Mozilla application.
# Run: <syntaxhighlight lang="bash"># for older Mozilla products, leave off the `sql:` part
certutil -d sql:PROFILE_DIR -D -n CERT_NAME</syntaxhighlight> substituting <tt>PROFILE_DIR</tt> with the path of your profile directory and <tt>CERT_NAME</tt> with the certificate name.
# Restart the Mozilla application.


# Locate the cert8.db file as described in [http://support.mozilla.com/en-US/kb/Backing%20up%20your%20information Backing Up Your Profile Information.]
=== Listing All Non-Default Root Certificate Settings ===
# Shut down Firefox
# Move the cert8.db file into a different folder/directory.
# Restart Firefox


== Restoring the Default Trust Bits for a Single Built-In Root Certificate ==
There is currently no UI to list all built-in root certificates for which you have overridden the default trust settings ({{bug|545498}}).  However, you can use the <code>certutil</code> tool described in the previous section to list all the certificates in your personal database, which includes built-in root certificates whose trust you have changed along with added root certificates and many other kinds of certificates.


If you have edited the trust bits of a built-in root certificate, causing it to be copied to your personal database, you may wish to delete the copy from your database so that the default trust bits are again used.  (Simply editing the trust bits to match the defaults would not give you the benefit of any updates Mozilla may later make to the defaults.)  There is currently no UI to do this ({{bug|558222}}), but you can use the NSS <code>certutil</code> command-line tool. <code>certutil</code> does not ship with Mozilla products, and [https://groups.google.com/group/mozilla.dev.tech.crypto/browse_thread/thread/94d05b904280b6ed NSS itself does not have official binary releases at this time], but you can build <code>certutil</code> from source, or your OS distribution may include it (Fedora: <code>nss-tools</code>, Debian/Ubuntu: <code>libnss3-tools</code>).
Run this command (doing it while the Mozilla application is running is probably unsupported but does not seem to cause problems in practice):
 
<syntaxhighlight lang="bash">
# for older Mozilla products, leave off the 'sql:' part
certutil -d sql:PROFILE_DIR -L
</syntaxhighlight>
 
where <tt>PROFILE_DIR</tt> is the path to your profile as noted above.
 
Root certificates will have trust fields of <code>c</code>, indicating a disabled trust bit, or <code>CT</code> or <code>C</code>, indicating an enabled trust bit.  For example:
 
<pre>
Certificate Nickname                                        Trust Attributes
                                                            SSL,S/MIME,JAR/XPI


To delete a certificate from your personal database:
My Favorite CA                                              CT,c,c
<ol>
Wiretaps R Us CA                                            c,c,c
<li>Note the Certificate Name as shown in the Certificate Manager.</li>
</pre>
<li>[https://support.mozilla.com/en-US/kb/profiles#w_how-do-i-find-my-profile Locate your profile].</li>
<li>Shut down the Mozilla application.</li>
<li>Run:</li></ol>
<!-- Terrible hack, but there seems to be no way to get a "pre" block with markup inside a list. -->
certutil -d ''PROFILE_DIR'' -D -n ''CERT_NAME''
<ol start="5">substituting the path of your profile directory and the certificate name.
<li>Restart the Mozilla application.</li>
</ol>
Account confirmers, Anti-spam team, Bureaucrats, canmove, Confirmed users, Interface administrators, Module owners and peers, smwadministrator, smwcurator, Administrators, MozillaWiki team, Widget editors
8,312

edits