CA: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Added bullet point for https://wiki.mozilla.org/CA/Root_Inclusion_Considerations)
(→‎Lists of CAs and Certificates: Changed hyperlink to #Root_Cert_Inclusions_into_Mozilla_Product_Releases)
(42 intermediate revisions by 2 users not shown)
Line 3: Line 3:


Mozilla’s CA Certificate Program governs inclusion of root [https://developer.mozilla.org/en-US/docs/Mozilla/Security/x509_Certificates certificates] in [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS Network Security Services (NSS),] a set of open source libraries designed to support cross-platform development of security-enabled client and server applications. The NSS root certificate store is not only used in Mozilla products such as the Firefox browser, but is also used by other companies in a variety of products. The program is overseen by the module owner and peers of the [[Modules/Activities#CA_Certificates|CA Certificates Module]];  the policy itself is overseen by the module owner and peers of the [[Modules/Activities#Mozilla_CA_Certificate_Policy|CA Certificate Policy Module]].
Mozilla’s CA Certificate Program governs inclusion of root [https://developer.mozilla.org/en-US/docs/Mozilla/Security/x509_Certificates certificates] in [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS Network Security Services (NSS),] a set of open source libraries designed to support cross-platform development of security-enabled client and server applications. The NSS root certificate store is not only used in Mozilla products such as the Firefox browser, but is also used by other companies in a variety of products. The program is overseen by the module owner and peers of the [[Modules/Activities#CA_Certificates|CA Certificates Module]];  the policy itself is overseen by the module owner and peers of the [[Modules/Activities#Mozilla_CA_Certificate_Policy|CA Certificate Policy Module]].
Here are a few blog posts that describe the Mozilla CA Certificate Program in further detail:
* [https://blog.mozilla.org/security/2019/02/14/why-does-mozilla-maintain-our-own-root-certificate-store/ Why Does Mozilla Maintain a Root Store?]
* [https://blog.mozilla.org/security/2021/05/10/beware-of-applications-misusing-root-stores/ How to use Mozilla's Root Store properly]


== Policy ==
== Policy ==


* [https://www.mozilla.org/projects/security/certs/policy/ Root Store Policy] (current stable version: 2.8)
=== MRSP ===
'''Mozilla Root Store Policy'''
* [https://www.mozilla.org/projects/security/certs/policy/ Root Store Policy] (current stable version: 3.0)
 
* [[CA/Root_Store_Policy_Archive|Root Store Policy Archive]]
** Blog Posts Regarding Policy Updates  ([https://blog.mozilla.org/security/2025/03/12/enhancing-ca-practices-key-updates-in-mozilla-root-store-policy-v3-0/ MRSP v.3.0], [https://blog.mozilla.org/security/2023/09/13/version-2-9-of-the-mozilla-root-store-policy/ MRSP v.2.9], [https://blog.mozilla.org/security/2022/05/23/upgrading-mrsp-to-v-2-8/ MRSP v.2.8], [https://blog.mozilla.org/security/2021/04/26/mrsp-v-2-7-1/ MRSP v.2.7.1], [https://blog.mozilla.org/security/2020/07/09/reducing-tls-certificate-lifespans-to-398-days/ 398-day validity periods], [https://blog.mozilla.org/security/2019/12/11/announcing-version-2-7-of-the-mozilla-root-store-policy/ MRSP v.2.7], [https://blog.mozilla.org/security/2018/07/02/root-store-policy-updated/ MRSP v.2.6], [https://blog.mozilla.org/security/2017/09/07/mozilla-releases-version-2-5-root-store-policy/ MRSP v.2.5], [https://blog.mozilla.org/security/2017/04/04/mozilla-releases-version-2-4-ca-certificate-policy/ MRSP v.2.4], [https://blog.mozilla.org/security/2013/07/31/announcing-version-2-2-of-mozillas-ca-certificate-policy/ MRSP v.2.2])
 
* [[CA/Communications | CA Communications]] and their responses. Such communications may also set policy in advance of it being included in the Root Store Policy.
* [[CA/Communications | CA Communications]] and their responses. Such communications may also set policy in advance of it being included in the Root Store Policy.
* [[CA/Root_Store_Policy_Archive|Root Store Policy Archive]]
** Blog Posts Regarding CA Communications ([https://blog.mozilla.org/security/2020/05/08/may-2020-ca-communication/ May 2020], [https://blog.mozilla.org/security/2020/01/13/january-2020-ca-communication/ Jan. 2020], [https://blog.mozilla.org/security/2018/09/17/september-2018-ca-communication/ Sept. 2018], [https://blog.mozilla.org/security/2017/11/16/november-2017-ca-communication/ Nov. 2017], [https://blog.mozilla.org/security/2016/03/29/march-2016-ca-communication/ Mar. 2016], [https://blog.mozilla.org/security/2015/05/12/may-2015-ca-communication/ May 2015])
 
* [[CA/Updating_Root_Store_Policy|Process for updating the Root Store Policy]]
* [[CA/Updating_Root_Store_Policy|Process for updating the Root Store Policy]]
** [https://github.com/mozilla/pkipolicy/issues Root Store Policy Issue Tracker]
** [https://github.com/mozilla/pkipolicy/issues Root Store Policy Issue Tracker]
** [https://github.com/mozilla/pkipolicy/blob/master/rootstore/policy.md Latest draft of Root Store Policy] (will become the next version)
** [https://github.com/mozilla/pkipolicy/labels/3.1 Issues for next version (3.1) of Root Store Policy] (will become the next version)
 
=== CCADB ===
'''Common CA Database (CCADB)'''
* [https://www.ccadb.org/policy CCADB Policy]
* [https://www.ccadb.org/cas/incident-report Incident Reporting Guidelines]
 
=== Certificate Transparency ===
* [[SecurityEngineering/Certificate_Transparency#CT_Policy | Certificate Transparency Policy]]
* [[SecurityEngineering/Certificate_Transparency#CT_Log_Policy | Certificate Transparency Log Policy]]


== Lists of CAs and Certificates ==
== Lists of CAs and Certificates ==
* [https://www.ccadb.org/rootstores/usage#ccadb-data-usage-terms Data Usage Terms]
* [https://www.ccadb.org/rootstores/usage#ccadb-data-usage-terms Data Usage Terms]
* [[CA/Included_CAs|Included CAs]] (in the Root Program and in Firefox)
* [[CA/Included_CAs|Included CA Operators]] (in the Root Program and in Firefox)
* [[CA/Included_Certificates|Included CA Certificates]]
* [[CA/Included_Certificates|Included CA Certificates]] (Roots)
* [[CA/Intermediate_Certificates|Intermediate Certificates]]
* [[CA/Intermediate_Certificates|Intermediate Certificates]]
** [https://blog.mozilla.org/security/2021/12/09/improved-quality-of-intermediate-certificates-with-enhanced-oversight-and-automation/ Improving the Quality of Publicly Trusted Intermediate CA Certificates with Enhanced Oversight and Automation]
** [https://blog.mozilla.org/security/2020/11/13/preloading-intermediate-ca-certificates-into-firefox/ Preloading Intermediate CA Certificates into Firefox]
* [[CA/Removed_Certificates|Removed CA Certificates]]
* [[CA/Removed_Certificates|Removed CA Certificates]]
* [[NSS:Release_Versions|NSS Release Versions]] - shows in which version of Mozilla products each root certificate was first available
* [[NSS:Release_Versions#Root_Cert_Inclusions_into_Mozilla_Product_Releases|NSS Release Versions]] - shows in which version of Mozilla products each root certificate was first available
* [[CA/Additional_Trust_Changes| Additional Trust Policies ]] - describes trust policies enforced by PSM in Firefox and Thunderbird, but not represented in the NSS root store.
* [[CA/Additional_Trust_Changes| Additional Trust Policies ]] - describes trust policies enforced by PSM in Firefox and Thunderbird, but not represented in the NSS root store.


Line 25: Line 47:


Most information relating to the administration of our program is stored either in [https://bugzilla.mozilla.org/ Bugzilla] or in the [https://ccadb.org/ Common CA Database].
Most information relating to the administration of our program is stored either in [https://bugzilla.mozilla.org/ Bugzilla] or in the [https://ccadb.org/ Common CA Database].
 
* [[CA/Bug_Triage|Bugzilla Bug Triage Process]] - also lists whiteboard tags
* [[CA/Dashboard|Certificate Change Request Dashboard]] - tracks applications and trust changes through the process in Bugzilla
* [[CA/Dashboard|Certificate Change Request Dashboard]] - tracks inclusion requests and other trust changes in Bugzilla
** [[CA/Prioritization|Certificate Change Prioritization]]
* [[CA/Certificate_Change_Requests|Inclusion Requests]] as tracked in the CCADB
* [[CA/Certificate_Change_Requests|Certificate Change Requests]] as tracked in the CCADB
* [[CA/Incident_Dashboard|Incident and Compliance Dashboard]]
* [[CA/Incident_Dashboard|Incident and Compliance Dashboard]]
* [[CA/CCADB_Dashboard|CCADB Dashboard]]
* [[CA/Maintenance_and_Enforcement#Issues_Lists|CA Issues Lists]]
* [[CA/Bug_Triage|Bugzilla Bug Triage Process]]
* [[CA/CCADB_Dashboard|Dashboard of CCADB Enhancement Requests]]
* [[CA/Email_templates|Email Templates used by CCADB]]
** [[CA/Email_templates|Email Templates used by CCADB]]


====crt.sh====
'''crt.sh'''


* [https://crt.sh/mozilla-disclosures Disclosure status of all certificates known to CT]
* [https://crt.sh/mozilla-disclosures Disclosure status of all certificates known to CT]
* [https://crt.sh/?cablint=issues Problematic certificates issued in the past week known to CT]
* [https://crt.sh/?cablint=issues Problematic certificates issued in the past week known to CT]
* [https://crt.sh/test-websites?trustedBy=Mozilla Test Websites] for Roots enabled with Mozilla's websites trust bit
* [https://crt.sh/mozilla-onecrl Mozilla's OneCRL]
== Information for Auditors ==
* [https://www.ccadb.org/auditors CCADB information for Auditors]
* [[CA/Audit_Statements|Audit Statement Requirements]]
* [https://www.ccadb.org/cas/alv Audit Letter Validation in CCADB]
* [[CA/Audit_Statements#Auditor_Qualifications|Auditor Qualifications]]
* [[CA/Auditor_Compliance|Auditor Compliance Dashboard]]
* [[CA/BR_Audit_Guidance|Guidance on doing Baseline Requirements audits]]
* [[CA/Transition_SMIME_BRs|Transition guidance for auditing to the S/MIME BRs]]
* [[CA/Auditor_Mistakes|Mistakes we have seen auditors make]] and their consequences


== Information for CAs ==
== Information for CAs ==
* [https://ccadb.org/cas/ CCADB Login]
* [https://ccadb.org/cas/ CCADB Login]
* [[CA/Audit_Statements|Audit_Statements]]
* [https://ccadb.my.salesforce-sites.com/mozilla/CAAIdentifiersReport List of CAA Identifiers] (used to restrict issuance of certificates to specific CAs via a [https://tools.ietf.org/html/rfc6844 DNS Certification Authority Authorization Resource Record])
 
=== Compliance ===
* [[CA/Forbidden_or_Problematic_Practices|Forbidden or Problematic CA Practices]]
* [[CA/Required_or_Recommended_Practices|Required or Recommended CA Practices]]
* [[CA/Maintenance_and_Enforcement|Maintenance and Enforcement]]
* [[CA/Responding_To_An_Incident|Responding to an Incident]] (such as a misissuance)
* [[CA/Responding_To_An_Incident|Responding to an Incident]] (such as a misissuance)
* [[CA/Lessons_Learned| Lessons Learned]] - common compliance issues and proactive measures to prevent them
* [[CA/Vulnerability_Disclosure|Disclosing a Vulnerability or Security Incident]]
=== Root Inclusion ===
* [[CA/Root_Inclusion_Overview|Root Inclusion Overview]] '''<span style="color:red;">(New)</span>'''
* [[CA/Prioritization|Prioritization Criteria for Processing Root Inclusion Requests]]
* [[CA/Application_Process|Application Process for Mozilla's Root Program]]
* [[CA/Application_Process|Application Process for Mozilla's Root Program]]
** [[CA/Quantifying_Value|Quantifying Value: Information Expected of New Applicants]]
* [[CA/Information_Checklist|CA Information Checklist]]
** [[CA/Compliance_Self-Assessment|Compliance Self Assessment]]
* [[CA/Quantifying_Value|Quantifying Value: Information Expected of New Applicants]]
*** [[CA/CPS_Review|Previous reviews of CP/CPS documents]]
* [[CA/Root_Inclusion_Considerations|Root Inclusion Considerations]] -- Additional criteria to consider in adding or removing a root certificate
** [[CA/Information_Checklist|CA Information Checklist]]
* [[CA/Compliance_Self-Assessment|Compliance Self Assessment]]
** [[CA/Subordinate_CA_Checklist|Subordinate CA Information Checklist]]
* [[CA/CPS_Review|Previous reviews of CP/CPS documents]]
* [[CA/External_Sub_CAs|Approval Process for Externally Operated Subordinate CAs]]  
* [[CA/Dashboard|Inclusion Requests - Bugzilla Dashboard]]
 
=== Subordinate CAs ===
* [[CA/Subordinate_CA_Checklist|Subordinate CA Information Checklist]]
* [[CA/External_Sub_CAs|Approval Process for Externally Operated Subordinate CAs]]
 
=== Root Removal and Other Root Changes ===
* [[CA/Certificate_Change_Process|Change or Remove an Included Root Certificate]]
* [[CA/Certificate_Change_Process|Change or Remove an Included Root Certificate]]
* [[CA/Root_CA_Lifecycles|Root CA Lifecycles (Draft)]]
* [[CA/Root_CA_Lifecycles|Root CA Lifecycles]]
* [[CA/Required_or_Recommended_Practices|Required or Recommended CA Practices]]
 
* [[CA/Root_Inclusion_Considerations|Root Inclusion Considerations]] -- This page is intended to be used as a tool for identifying when a CA Operator's root inclusion request should be denied, or when a CA's root certificate should be removed from Mozilla's root store.
=== Revocation ===
** [[CA/Forbidden_or_Problematic_Practices|Forbidden or Problematic CA Practices]]
* [[CA/Revocation_Reasons|Revocation Reasons for TLS Server Certificates]]
** [[CA/Maintenance_and_Enforcement|Maintenance and Enforcement]]
** [https://blog.mozilla.org/security/2022/05/16/revocation-reason-codes-for-tls-server-certificates/ Revocation Reasons Blog Post]
* [[CA/Responding_To_An_Incident#Revocation|Delayed Revocation Incidents]]
* [[CA/Mass_Revocation_Events|Guidance for Complying with MRSP 6.1.3 - Mass Revocation Planning]]
 
== How Firefox Works ==
* [[SecurityEngineering/Certificate_Verification|How Firefox Performs Certificate Verification]] and path construction  
* [[SecurityEngineering/Certificate_Verification|How Firefox Performs Certificate Verification]] and path construction  
* [[CA/EV_Processing_for_CAs | How Firefox Processes EV Certificates]]
* [[CA/EV_Processing_for_CAs | How Firefox Processes EV Certificates]]
* Revocation
* [[CA/Revocation_Checking_in_Firefox|How Firefox Performs Revocation Checking]]
** [[CA/Revocation_Checking_in_Firefox|How Firefox Performs Revocation Checking]]
 
** [[CA/Revocation_Reasons|Revocation Reasons for TLS Server Certificates]]
== Tools to Check Certificates ==
* [https://www.ssllabs.com/ssltest/analyze.html SSL Labs Server Quality Checker]
* [https://observatory.mozilla.org/ Mozilla SSL Server Quality Checker]
* [[PSM:EV_Testing_Easy_Version|EV Readiness Test]]
* [[PSM:EV_Testing_Easy_Version|EV Readiness Test]]
* [https://github.com/certlint/certlint BR Lint Certificate Test] - source code download
* [https://certviewer-dot-ccadb-231121.appspot.com/certviewer Certificate Viewer] -- can also be installed/run locally (see [https://github.com/mozilla/CCADB-Tools/tree/master/certViewer ReadMe])
* [https://github.com/zmap/zlint ZLint - Certificate Test of Mozilla's and others' requirements] - source code download
* [https://certificate.revocationcheck.com/ Certificate Revocation Checker] (also checks CRL and OCSP server quality and compliance)
* [https://github.com/kroeckx/x509lint X.509 Lint Certificate Test] - source code download
** [[CA:TestErrors|Explanation of errors encountered during certificate testing]]
* [[CA:TestErrors|Common Test Errors]]


== Information for Auditors ==
=== Certificate Linters ===
* [[CA/Audit_Statements#Auditor_Qualifications|Auditor Qualifications]]
* [https://github.com/pkimetal/pkimetal PKI Meta-Linter] Access multiple linters via a single REST API call
* [[CA/Auditor_Compliance|Auditor Compliance Dashboard]]
* [https://github.com/digicert/pkilint PKI Lint Tool for TLS & S/MIME] - GitHub
* [[CA/BR_Audit_Guidance|Guidance on doing Baseline Requirements audits]]
* [https://github.com/certlint/certlint BR Lint Certificate Test] - GitHub
* [[CA/Auditor_Mistakes|Mistakes we have seen auditors make]] and their consequences
* [https://github.com/zmap/zlint ZLint - Certificate Test of Mozilla's and others' requirements] - GitHub
* [https://github.com/kroeckx/x509lint X.509 Lint Certificate Test] - GitHub


== Information for the Public ==
== Information for the Public ==
* [[CA/Terminology|Glossary of CA and Certificate Terminology]]
* [https://blog.mozilla.org/security/2019/02/14/why-does-mozilla-maintain-our-own-root-certificate-store/ Why Does Mozilla Maintain Our Own Root Certificate Store?]
* [https://blog.mozilla.org/security/2019/02/14/why-does-mozilla-maintain-our-own-root-certificate-store/ Why Does Mozilla Maintain Our Own Root Certificate Store?]
* [https://blog.mozilla.org/security/2019/04/15/common-ca-database-ccadb/ What is the Common CA Database (CCADB)?]
* [https://blog.mozilla.org/security/2019/04/15/common-ca-database-ccadb/ What is the Common CA Database (CCADB)?]
* [[CA/FAQ|FAQ About Certificates and CAs]]
* [[CA/FAQ|FAQ About Certificates and CAs]]
* [https://ccadb-public.secure.force.com/mozilla/ProblemReportingMechanismsReport List of CA problem reporting mechanisms (email, etc.)] (use this to report a certificate problem directly to the CA)
* [https://ccadb.my.salesforce-sites.com/mozilla/ProblemReportingMechanismsReport List of CA problem reporting mechanisms (email, etc.)] (use this to report a certificate problem directly to the CA)
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=NSS&component=CA%20Certificate%20Compliance Report an Incident to Mozilla] (be sure to click the "Security" checkbox if it is a [https://www.mozilla.org/en-US/security/#For_Developers security-sensitive incident])
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=CA%20Program&component=CA%20Certificate%20Compliance Report an Incident to Mozilla] (be sure to click the "Security" checkbox if it is a [https://www.mozilla.org/en-US/security/#For_Developers security-sensitive incident])
* [[CA/Terminology|Glossary of CA and Certificate Terminology]]
 
'''Configuring Firefox'''
* [[CA/AddRootToFirefox|How to install your own root certificate in Firefox]]
** [[CA/Changing_Trust_Settings#Trusting_an_Additional_Root_Certificate|Manually import a root certificate into Firefox]]
* [[CA/Changing_Trust_Settings|Changing Certificate Trust Settings in Firefox]]
* [[CA/Changing_Trust_Settings|Changing Certificate Trust Settings in Firefox]]
** [[CA/Changing_Trust_Settings#Trusting_an_Additional_Root_Certificate|Manually import a root certificate into Firefox]]
 
* [https://tls-observatory.services.mozilla.com/static/certsplainer.html Mozilla's Certificate Explainer]
* [https://www.ssllabs.com/ssltest/analyze.html Qualys SSL Server Quality Checker]
* [https://observatory.mozilla.org/ Mozilla SSL Server Quality Checker]
* [[CA/Revocation_Checking_in_Firefox|How Firefox performs revocation checking]]
* [https://certificate.revocationcheck.com/ Certificate Revocation Checker] (also checks CRL and OCSP server quality and compliance)
* [https://ccadb-public.secure.force.com/mozilla/CAAIdentifiersReport List of CAA Identifiers] (used to restrict issuance of certificates to specific CAs via a [https://tools.ietf.org/html/rfc6844 DNS Certification Authority Authorization Resource Record])
* [[CA/AddRootToFirefox|How to install your own root certificate in Firefox]]


== Discussion Forums ==
== Discussion Forums ==

Revision as of 01:50, 16 April 2026

Mozilla's CA Certificate Program

Mozilla’s CA Certificate Program governs inclusion of root certificates in Network Security Services (NSS), a set of open source libraries designed to support cross-platform development of security-enabled client and server applications. The NSS root certificate store is not only used in Mozilla products such as the Firefox browser, but is also used by other companies in a variety of products. The program is overseen by the module owner and peers of the CA Certificates Module; the policy itself is overseen by the module owner and peers of the CA Certificate Policy Module. Here are a few blog posts that describe the Mozilla CA Certificate Program in further detail:


Policy

MRSP

Mozilla Root Store Policy

CCADB

Common CA Database (CCADB)

Certificate Transparency

Lists of CAs and Certificates

Program Administration

Most information relating to the administration of our program is stored either in Bugzilla or in the Common CA Database.

crt.sh

Information for Auditors

Information for CAs

Compliance

Root Inclusion

Subordinate CAs

Root Removal and Other Root Changes

Revocation

How Firefox Works

Tools to Check Certificates

Certificate Linters

Information for the Public

Configuring Firefox


Discussion Forums

The following public forums are relevant to CA evaluation and related issues.

CCADB
MDSP
  • Mozilla's dev-security-policy (MDSP) mailing list is used for discussions of Mozilla policies related to security in general and CAs in particular, and for wider discussions about the WebPKI. If you are a regular participant in MDSP, then please add your name to the Policy Participants page.
Other MDSP Mail Archives
  • New MDSP Messages (since August 2021)

(HTML): https://www.mail-archive.com/dev-security-policy@mozilla.org/

(RSS): https://www.mail-archive.com/dev-security-policy@mozilla.org/maillist.xml

  • Old MDSP Messages (until April 2021)

(HTML): https://www.mail-archive.com/dev-security-policy@lists.mozilla.org/

(RSS): https://www.mail-archive.com/dev-security-policy@lists.mozilla.org/maillist.xml

Other Forums
  • Mozilla's dev-tech-crypto mailing list is used for discussions of the NSS cryptographic library used in Firefox and other Mozilla-based products, as well as the PSM module that implements higher-level security protocols for Firefox.
  • For other discussions of Mozilla security issues: