CA: Difference between revisions
(Changed "problematic practices" to "potentially problematic practices") |
(→Policy: Added links Policies) |
||
| (230 intermediate revisions by 7 users not shown) | |||
| Line 1: | Line 1: | ||
= | __NOTOC__ | ||
= Mozilla's CA Certificate Program = | |||
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 == | |||
=== | === 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: | * [[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: | ** 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: | |||
* [[CA: | * [[CA/Updating_Root_Store_Policy|Process for updating the Root Store Policy]] | ||
* [[CA: | ** [https://github.com/mozilla/pkipolicy/issues Root Store Policy Issue Tracker] | ||
* [[CA: | ** [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 == | |||
* [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_Certificates|Included CA Certificates]] (Roots) | |||
* [[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]] | |||
* [[NSS:Release_Versions|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. | |||
== Program Administration == | |||
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/Certificate_Change_Requests|Certificate Change Requests]] as tracked in the CCADB | |||
* [[CA/Incident_Dashboard|Incident and Compliance Dashboard]] | |||
* [[CA/Maintenance_and_Enforcement#Issues_Lists|CA Issues Lists]] | |||
* [[CA/CCADB_Dashboard|Dashboard of CCADB Enhancement Requests]] | |||
** [[CA/Email_templates|Email Templates used by CCADB]] | |||
'''crt.sh''' | |||
* [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/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 == | |||
* [https://ccadb.org/cas/ CCADB Login] | |||
* [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/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/Prioritization|Prioritization Criteria for Processing Root Inclusion Requests]] | |||
* [[CA/Application_Process|Application Process for Mozilla's Root Program]] | |||
** [[CA/Information_Checklist|CA Information Checklist]] | |||
** [[CA/Quantifying_Value|Quantifying Value: Information Expected of New Applicants]] | |||
** [[CA/Compliance_Self-Assessment|Compliance Self Assessment]] | |||
*** [[CA/CPS_Review|Previous reviews of CP/CPS documents]] | |||
* [[CA/Subordinate_CA_Checklist|Subordinate CA Information Checklist]] | |||
* [[CA/External_Sub_CAs|Approval Process for Externally Operated Subordinate CAs]] | |||
* [[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. | |||
=== Root Removal and Other Root Changes === | |||
* [[CA/Certificate_Change_Process|Change or Remove an Included Root Certificate]] | |||
* [[CA/Root_CA_Lifecycles|Root CA Lifecycles]] | |||
=== Revocation === | |||
* [[CA/Revocation_Reasons|Revocation Reasons for TLS Server Certificates]] | |||
** [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 | |||
* [[CA/EV_Processing_for_CAs | How Firefox Processes EV Certificates]] | |||
* [[CA/Revocation_Checking_in_Firefox|How Firefox Performs Revocation Checking]] | |||
== 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]] | |||
* [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://certificate.revocationcheck.com/ Certificate Revocation Checker] (also checks CRL and OCSP server quality and compliance) | |||
** [[CA:TestErrors|Explanation of errors encountered during certificate testing]] | |||
=== Certificate Linters === | |||
* [https://github.com/pkimetal/pkimetal PKI Meta-Linter] Access multiple linters via a single REST API call | |||
* [https://github.com/digicert/pkilint PKI Lint Tool for TLS & S/MIME] - GitHub | |||
* [https://github.com/certlint/certlint BR Lint Certificate Test] - GitHub | |||
* [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 == | |||
* [[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/04/15/common-ca-database-ccadb/ What is the Common CA Database (CCADB)?] | |||
* [[CA/FAQ|FAQ About Certificates and CAs]] | |||
* [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=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]) | |||
'''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]] | |||
== Discussion Forums == | |||
The following public forums are relevant to CA evaluation and related issues. | |||
===== CCADB ===== | |||
* '''[https://groups.google.com/a/ccadb.org/g/public CCADB Public mailing list''' is used to conduct a six-week public discussion of CA root inclusion requests and to discuss important lessons learned from CA incident reports. See https://www.ccadb.org/cas/public-group for more information. | |||
===== MDSP ===== | |||
* '''[https://groups.google.com/a/mozilla.org/g/dev-security-policy 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 [[CA/Policy_Participants|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 ===== | |||
* [https://groups.google.com/a/mozilla.org/g/dev-tech-crypto Mozilla's dev-tech-crypto] mailing list is used for discussions of the [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS NSS] cryptographic library used in Firefox and other Mozilla-based products, as well as the [https://www.mozilla.org/projects/security/pki/psm/ PSM] module that implements higher-level security protocols for Firefox. | |||
* For other discussions of Mozilla security issues: | |||
** [https://discourse.mozilla.org/c/security/ Mozilla's Security Web forum] is a place to discuss information security work in the open source space, where Mozilla is empowering users to build and curate a Healthy Internet. | |||
** [https://discourse.mozilla.org/tags/c/firefox-development/privacy-and-security Mozilla's privacy-and-security forum] is a place to discuss issues and questions specific to privacy and security. | |||
** [https://chat.mozilla.org/#/room/#security:mozilla.org chat on Matrix] may also be used | |||
Latest revision as of 17:14, 23 October 2025
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
- Root Store Policy (current stable version: 3.0)
- Root Store Policy Archive
- Blog Posts Regarding Policy Updates (MRSP v.3.0, MRSP v.2.9, MRSP v.2.8, MRSP v.2.7.1, 398-day validity periods, MRSP v.2.7, MRSP v.2.6, MRSP v.2.5, MRSP v.2.4, MRSP v.2.2)
- CA Communications and their responses. Such communications may also set policy in advance of it being included in the Root Store Policy.
- Process for updating the Root Store Policy
- Root Store Policy Issue Tracker
- Issues for next version (3.1) of Root Store Policy (will become the next version)
CCADB
Common CA Database (CCADB)
Certificate Transparency
Lists of CAs and Certificates
- Data Usage Terms
- Included CAs (in the Root Program and in Firefox)
- Included CA Certificates (Roots)
- Intermediate Certificates
- Removed CA Certificates
- NSS Release Versions - shows in which version of Mozilla products each root certificate was first available
- Additional Trust Policies - describes trust policies enforced by PSM in Firefox and Thunderbird, but not represented in the NSS root store.
Program Administration
Most information relating to the administration of our program is stored either in Bugzilla or in the Common CA Database.
- Bugzilla Bug Triage Process - also lists whiteboard tags
- Certificate Change Request Dashboard - tracks applications and trust changes through the process in Bugzilla
- Certificate Change Requests as tracked in the CCADB
- Incident and Compliance Dashboard
- CA Issues Lists
- Dashboard of CCADB Enhancement Requests
crt.sh
- Disclosure status of all certificates known to CT
- Problematic certificates issued in the past week known to CT
- Test Websites for Roots enabled with Mozilla's websites trust bit
- Mozilla's OneCRL
Information for Auditors
- CCADB information for Auditors
- Audit Statement Requirements
- Audit Letter Validation in CCADB
- Auditor Qualifications
- Auditor Compliance Dashboard
- Guidance on doing Baseline Requirements audits
- Transition guidance for auditing to the S/MIME BRs
- Mistakes we have seen auditors make and their consequences
Information for CAs
- CCADB Login
- List of CAA Identifiers (used to restrict issuance of certificates to specific CAs via a DNS Certification Authority Authorization Resource Record)
Compliance
- Forbidden or Problematic CA Practices
- Required or Recommended CA Practices
- Maintenance and Enforcement
- Responding to an Incident (such as a misissuance)
- Lessons Learned - common compliance issues and proactive measures to prevent them
- Disclosing a Vulnerability or Security Incident
Root Inclusion
- Prioritization Criteria for Processing Root Inclusion Requests
- Application Process for Mozilla's Root Program
- Subordinate CA Information Checklist
- Approval Process for Externally Operated Subordinate CAs
- 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.
Root Removal and Other Root Changes
Revocation
- Revocation Reasons for TLS Server Certificates
- Delayed Revocation Incidents
- Guidance for Complying with MRSP 6.1.3 - Mass Revocation Planning
How Firefox Works
- How Firefox Performs Certificate Verification and path construction
- How Firefox Processes EV Certificates
- How Firefox Performs Revocation Checking
Tools to Check Certificates
- SSL Labs Server Quality Checker
- Mozilla SSL Server Quality Checker
- EV Readiness Test
- Certificate Viewer -- can also be installed/run locally (see ReadMe)
- Certificate Revocation Checker (also checks CRL and OCSP server quality and compliance)
Certificate Linters
- PKI Meta-Linter Access multiple linters via a single REST API call
- PKI Lint Tool for TLS & S/MIME - GitHub
- BR Lint Certificate Test - GitHub
- ZLint - Certificate Test of Mozilla's and others' requirements - GitHub
- X.509 Lint Certificate Test - GitHub
Information for the Public
- Glossary of CA and Certificate Terminology
- Why Does Mozilla Maintain Our Own Root Certificate Store?
- What is the Common CA Database (CCADB)?
- FAQ About Certificates and CAs
- List of CA problem reporting mechanisms (email, etc.) (use this to report a certificate problem directly to the CA)
- Report an Incident to Mozilla (be sure to click the "Security" checkbox if it is a security-sensitive incident)
Configuring Firefox
Discussion Forums
The following public forums are relevant to CA evaluation and related issues.
CCADB
- [https://groups.google.com/a/ccadb.org/g/public CCADB Public mailing list is used to conduct a six-week public discussion of CA root inclusion requests and to discuss important lessons learned from CA incident reports. See https://www.ccadb.org/cas/public-group for more information.
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:
- Mozilla's Security Web forum is a place to discuss information security work in the open source space, where Mozilla is empowering users to build and curate a Healthy Internet.
- Mozilla's privacy-and-security forum is a place to discuss issues and questions specific to privacy and security.
- chat on Matrix may also be used