Certification Practice Statement (CPS)
WARNING:
The
proper policy document is located on
the CAcert website .
This document is a working
draft
to
include future revisions only, and is currently
only relevant
for the [policy] group.
Suggested additions in BLUE.
Michael
Tänzer 20111113: CPS #7.1.2 "Certificate Extensions"
adjustments
Ulrich Schroeter 20130309: several minor fixes
according to PoP
2.5 and Bug
#1131
Aleš Kastner, Kim Nilsson - 20240624: changes based on the „Person“ – „Client“ – „Server“ model with RSA & ECC encrypting by Dirk Astrath and Jan Dittberner.
Reviewed by CAcert Policy Group (Grégoire Sandré, Lambert Hofstra, Bernhard Fröhlich) - 202504 to 202512.
A special page has been created on the CAcert Wiki for technical parameters that may change over time, such as hashing and other algorithms, or rules for creating certification authorities: CPS Rules & Conditions.
20111113 changes are still incorporated in the revision on main website but not in the svn revision, so therefore copied over CPS revision from CAcert main website to SVN policy working directory as source of changes
header reformated to reflect new header style
http to https fixes
full url fixes
wiki.cacert.org/wiki/ to wiki.cacert.org/ fixes
wiki redirects to redirected link fixes
img src images/ fixes
.php to .html fixes per Bug #1131
replace all NRP-DaL references with text Root Distribution License and RootDistributionLicense.html link
fix of ~65 html errors and ~14 html warnings
Name |
CAcert CPS and CP COD6 |
Status |
DRAFT p20091108, ver. 2024, 2025, 2026 – WIP (Work In Progress) |
Caveat |
This document is already on the main website in DRAFT. P20111113. |
Creation date |
20060726 |
Changes |
p20111113, 20130309, 20240612-30 |
Licence |
CERTIFICATE LIFE-CYCLE OPERATIONAL REQUIREMENTS
Appendix A: RSAEnd Certificate Patterns
Appendix B: ECC Root CA Certificate
This document is the Certification Practice Statement (CPS) of CAcert, the Community Certification Authority (CA). It describes rules and procedures used by CAcert for operating its CA, and applies to all CAcert PKI Participants, including Assurers, Members, and CAcert itself.
This document is the Certification Practice Statement (CPS) of CAcert. The CPS also fulfills the role of the Certificate Policy (CP) for each class of certificate.
This document is COD6 under CAcert Official Documents numbering scheme.
The document is structured according to Chokhani, et al, RFC3647, chapter 4. All headings derive from that Chapter.
It has been improved and reviewed (or will be reviewed) to meet or exceed the criteria of the Certificate Authority Review Checklist from David E. Ross ("DRC") and Mozilla Foundation's CA policy.
It has been improved and reviewed to meet the criteria of the CA/Browser Forum (https://cabforum.org/)
OID assigned to this document: 1.3.6.1.4.1.18506.4.4.x (x=approved Version) (iana.org and OID Allocation - CAcert Wiki)
.x will change to .1 in the first approved instance, .2 proposed for this document.
© CAcert Inc. 2006-2009-2013-2024-2025-2026.
Issued under the CAcert document licence policy, as and when made policy. See PolicyDrafts/DocumentLicence.
The cited page discusses 2 options: CCau Attribute-Share-alike and GNU Free Document License. Refer to that.
Note that the noun Licence in Australian English has two Cs. The verb License is spelt the same way as American English.
Earlier notes were written by Christian Barmala in a document placed under GNU Free Document License and under FSF copyright. However this clashed with the control provisions of Configuration-Control Specification (COD2) within Audit criteria.
In this document (HTML version):
green text refers to questions that seek answers,
red text refers to probably audit fails or serious errors.
Blue, yellow emphasized text refers to changes written after the document got seriously reviewed.
None is to be considered a part of the policy, and they should disappear in the DRAFT and must disappear in the POLICY.
No coloured text is to be considered part of the policy, and they should disappear in the DRAFT and must disappear in the POLICY.
The CPS is an authoritive document, and rules other documents except where explicitly deferred to. See also 1.5.1 Organisation Administering the Document.
(PKI = Public Key Infrastructure)
The CA is legally operated by CAcert Incorporated, an Association registered in 2002 in New South Wales, Australia, on behalf of the wider Community of Members of CAcert. The Association details are at the CAcert wiki.
2021: the CAcert Incorporated was moved to Geneva, Switzerland.
CAcert is a Community formed of Members who agree to the CAcert Community Agreement. The CA is technically operated by the Community, under the direction of the Board of CAcert Incorporated. (The Members of the Community are not to be confused with the Association Members, which latter are not referred to anywhere in this CPS.)
CAcert does not issue certificates to external intermediate CAs under the present CPS.
Registration Authorities (RAs) are controlled under Assurance Policy (COD13).
CAcert issues certificates to Members only. Such Members then become Subscribers, and must have accounts on the CAcert WoT (www.cacert.org).
A relying party is a Member, having agreed to the CAcert Community Agreement (COD9), who, in the act of using a CAcert certificate, makes a decision on the basis of that certificate.
Member. Membership of the Community is as defined in the COD9. Only Members may RELY or may become Subscribers. Membership is free.
Assurer. An experienced & assured Member who is authorized to assure other Members, i.e. check their identity documents. See 1.6.
Arbitrator. A senior and experienced Member of the CAcert Community who resolves disputes between Members, including ones of certificate reliance, under Dispute Resolution Policy (COD7).
Vendor. Software suppliers who integrate the root certificates of CAcert into their software also assume a proxy role of Relying Parties, and are subject to another licence.
Non-Related Persons (NRPs). These are users of browsers and similar software who are unaware of the CAcert certificates they may use, and are unaware of the ramifications of usage. Their relationship with CAcert is described by the Root Distribution License (COD14). No other rights nor relationship is implied or offered.
CAcert serves as issuer of certificates for individuals, businesses, governments, charities, associations, churches, schools, non-governmental organisations or other groups. CAcert certificates are intended for low-cost community applications especially where volunteers can become Assurers and help CAcert to help the Community.
Types of certificates and their appropriate and corresponding applications are defined in 1.4.1. Prohibited applications are defined in 1.4.2. Specialist uses may be agreed by contract or within a specific environment, as described in 1.4.4. Note also the unreliable applications in 1.4.3 and risks, liabilities and obligations in 9.
Type |
Appropriate Certificate uses |
||
General |
Protocol |
Description |
Comments |
|---|---|---|---|
Server |
TLS *) |
Server authentication and link encryption |
Encryption of flows between web and else (e.g. SMTPS) client and server and server authentication |
embedded |
Embedded server authentication and link encryption |
IPSec, Kerberos, XMPP servers (IM-servers) |
|
Person |
S/MIME |
email encryption |
"digital signatures" employed in S/MIME are not legal / human signatures, but instead enable the encryption mode of S/MIME |
"Digital Signing" |
for human signing over documents |
Only within a wider application and rules such as by separate policy, as agreed by contract, etc. See 1.4.4. |
|
Client |
TLS |
web based signature applications |
the certificate authenticates only. See 1.4.3. |
TLS |
client authentication |
the nodes must be secure |
|
Code |
Authenticode, ElfSign, Java |
Code Signing |
Signatures on packages are evidence of their Membership and indicative of Identity |
PGP |
OpenPGP |
Key Signing |
Signatures on Member Keys are evidence of their Membership and indicative of Identity |
Special |
X.509 |
OCSP, Timestamping |
Only available to CAcert Systems Administrators, as controlled by Security Policy |
Table 1.4. Types of Certificate
About the recent expiration times of CAcert certificates, please consult the CAcert Wiki article CPS Rules & Conditions.
General uses.
CAcert server certificates can be used to enable encryption protection and authentication of servers over TLS. Suitable applications include, but is not limited to, web, webmail and chat forums.
CAcert server certificates can be used to enable encryption and authentication of embedded protocols such as IPsec or XMPP servers (IM-Servers).
CAcert person certificates can be used to enable encryption protection in email clients. (See 1.4.3 for caveat on signatures.)
CAcert person certificates can be used for human signing over documents
Time stamping can be used to attach a time record to a digital document.
CAcert client certificates can be used to replace password-based authentication to web servers.
CAcert person and client certificates can be used in web-based authentication applications.
CAcert code signing person certificates can be used to sign code for distribution to other people.
OpenPGP keys with CAcert signatures can be used to encrypt and sign files and emails, using software compatible with OpenPGP.
CAcert certificates are not designed, intended, or authorised for the following applications:
Use or resale as control equipment in hazardous circumstances or for uses requiring fail-safe performance where failure could lead directly to death, personal injury, or severe environmental damage such as, but not limited to: the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control systems, or weapons control systems.
CAcert certificates are not designed nor intended for use in the following applications, and may not be reliable enough for these applications:
Signing
within Protocols.
Digital
signatures made by CAcert certificates carry NO
default legal meaning
or
human being related.
See 9.15.1. The legal meaning of CAcert
certificates is defined by local regulations (e.g. eidas in European
Union).
Certificates in S/MIME can provide some legal levels
of authentication of the user (email sender) but is related to the
way the certificate is delivered and used in the tools. For eIDAS, a
digital signature cannot be refused as a proof by the simple fact it
is only “Simple”. “Signing within protocols” must be
coherent with “non-repudiation”. More about legal acts
concerning electronic signatures see 9.15.1.
Non-repudiation applications. Non-repudiation is not to be implied from use of CAcert certificates. Rather, certificates may provide support or evidence of actions, but that evidence is testable in any dispute.
Ecommerce applications. Financial transactions or payments or valuable e-commerce.
Use of anonymous certificates in any application that requires or expects identity.
By contract or within a specific environment (e.g. internal to a company), CAcert Members are permitted to use Certificates for higher security, customised or experimental applications. Any such usage, however, is limited to such entities and these entities take on the whole responsible for any harm or liability caused by such usage.
Digital signing applications. CAcert client certificates may be used by Assured Members in applications that provide or support the human signing of documents (known here as "digital signing"). This must be part of a wider framework and set of rules. Usage and reliance must be documented either under a separate CAcert digital signing policy or other external regime agreed by the parties.
Named Certificates. Assured Members may be issued certificates with their verified names in the certificate. In this role, CAcert operates and supports a network of Assurers who verify the identity of the Members. All Names are verified, either by Assurance or another defined method under policy (c. f. Organisations).
Anonymous Certificates. Members can be issued certificates that are anonymous, which is defined as the certificate with no Name included, or a shared name such as "Community Member". These may be considered to be somewhere between Named certificates and self-signed certificates. They have serial numbers in them which is ultimately traceable via dispute to a Member, but reliance is undefined. In this role, CAcert provides the infrastructure, saving the Members from managing a difficult and messy process in order to get manufactured certificates.
Pseudonymous Certificates. Note that CAcert does not currently issue pseudonymous certificates, being those with a name chosen by the Member and not verifiable according to documents.
Advanced Certificates. Members who are as yet unassured are not permitted to create advanced forms such as wildcard.
Roots. The (new) CAcert root layout is as below. These roots are pending Audit, and will be submitted to vendors via the (Top-level) Root.
(Top-level) Root. Used to sign on-line CAcert Subordinate CA certificates only. This Root is kept offline.
Unassured Member Subordinate CA certificates. For Community Members who are new and unassured (some restrictions exist). Reliance is undefined. (Replacement for the Class 1 root, matches "Domain Validation" type.)
Assured Member Subordinate CA certificates. Only available for Assured individual Members, intended to sign certificates with Names. Suitable for Reliance under this and other policies. Approximates the type known as Individual Validation.
Organisation Subordinate CA certificates. Only available for Assured Organisation Members. Suitable for Reliance under this and other policies. Approximates the type known as Organisational Validation.
Note: Please see 1.6 for definitions of Unassured Member, Assured Member, Assurer, and Organization Assurer.
Level of Assurance |
||||||
Members † |
Assured Members |
Assurers |
|
|||
Class of Root |
Anon |
Name |
Anon |
Name |
Name+Anon |
Remarks |
Root CA certificate Top level root |
• |
• |
• |
• |
• |
Signs other CAcert Subordinate CA certificates only. |
Person-unassured |
✔ |
✘ |
✔ |
✔ |
✔ |
† For
Members meeting basic checks in 4.2.2 |
Client-unassured |
✔ |
✘ |
✔ |
✔ |
✔ |
† For
Members meeting basic checks in 4.2.2 |
Server-unassured |
✔ |
✘ |
✔ |
✔ |
✔ |
† For
Members meeting basic checks in 4.2.2 |
Person-assured |
✘ |
✘ |
✔ |
✔ |
✔ |
Assured
Members only. |
Client-assured |
✘ |
✘ |
✔ |
✔ |
✔ |
Assured
Members only. |
Server-assured |
✘ |
✘ |
✔ |
✔ |
✔ |
Assured
Members only. |
Person-organisation |
✘ |
✘ |
✔ |
✔ |
✔ |
Assured
Organisation Members only. |
Client-organisation |
✘ |
✘ |
✔ |
✔ |
✔ |
Assured
Organisation Members only. |
Server-organisation |
✘ |
✘ |
✔ |
✔ |
✔ |
Assured
Organisation Members only. |
Expiry of Certificates |
~6 months |
~12
months |
||||
Types |
Person, Client, Server |
wildcard, subjectAltName |
code-signing |
(Inclusive to the left.) |
||
Table 1.4.5.b Certificate under Audit Roots
Fig. 1.4.1 shows the certificate tree and the Root paths of length = 3
See 1.2 Document Name and Identification for general scope of this document.
This document is administered by the policy group of the CAcert Community under Policy on Policy (COD1).
For questions including about this document:
Join the policy group, by means of the discussion forum at lists.cacert.org.
Send email to < support AT cacert DOT org >
IRC: irc.cacert.org #CAcert (ssl port 7000 (ircs:))
IRC via HTTPS: https://irc.cacert.org/
This CPS and all other policy documents are managed by the policy group, which is a group of Members of the Community found at policy forum. See discussion forums above.
CPS is controlled and updated according to the Policy on Policy (COD1) which is part of Configuration-Control Specification (COD2).
In brief, the policy forum prepares and discusses. After a last call, the document moves to DRAFT status for a defined period. If no challenges have been received in the defined period, it moves to POLICY status. The process is modelled after some elements of the RFC process by the IETF.
As per above.
Certificate. A certificate is a piece of cryptographic data used to validate certain statements, especially those of identity and membership.
Root CA certificate - the main certificate of a CA (Main Root, top level Root).
Subordinate CA certificate (Subroot, intermediate CA certificate).
Issuer DN - Distinguished Name of the issuer authority.
Subject DN - Distinguished Name of the subject, for which the certificate is issued.
CAcert. CAcert is a Community certificate authority as defined under 1.2 Identification.
Member. Everyone who agrees to the CAcert Community Agreement (COD9). This generally implies having an account registered at CAcert and making use of CAcert's data, programs or services. A Member may be an individual ("natural person") or an organisation (sometimes, "legal person"). CAcert keeps some Member's personal data, see Data Protection Declaration.
Community. The group of Members who agrees to the CAcert Community Agreement (COD9) or equivalent agreements.
Assurance.
The
process of verification of Member's credibility, see COD13
Assurance Policy. The subject of an assurance is a Member –
Assuree -, who wants to be assured.
Assurance
points. An
assurer
may give an amount of 0 to 35 points to an Assuree. That amount
depends on the Assurer's experience, and the quality of the Assuree's
documents inspected by the Assurer during assurance, see COD13
Assurance Policy and Assurer
Handbook.
Unassured
Member.
A Member who has not yet been assured,
or
who is assured with 0-49 APs (COD13
Assurance Policy #2.3).
Unassured
Member is
a member of the CAcert community who has <50 APs (COD13 Assurance
Policy #2.3) (in terms of COD13 Assurance Policy: Prospective Member
with created account + Member).
Subscriber. A Member who requests and receives a certificate.
Assured
Member.
A Member whose identity has been sufficiently verified by Assurers or
other approved methods under Assurance Policy,
and
received at least 50 APs (COD13
Assurance Policy #2.3).
Assured
Member
is
a member of the CAcert community who has 50+ APs (COD13 Assurance
Policy #2.3) (in terms of COD13 Assurance Policy: Assured Member +
Prospective Assurer + Assurer).
Assurer. An Assured Member who is authorised under Assurance Policy to verify the identity of other Members, i.e. a Member which have 100+ APs and has passed the Assurer Challenge exam.
Name. As defined in the Assurance Policy (COD13), to describe a name of a Member that is verified by the Assurance process.
Organisation Administrator. ("O-Admin") An Assurer who is authorised to act for an Organisation. The O-Admin is authorised by an organisation to vouch for the identity of other users of the organisation.
Organisation Assurer. An Assurer who is authorised to conduct assurances on organisations.
Non-Related Persons. ("NRPs") are general users of browsers and similar software. The NRPs are generally unaware of CAcert or the certificates that they may use, and are unaware of the ramifications of usage. They are not permitted to RELY, but may USE, under the Root Distribution License (COD14).
Public
Key Infrastructure (PKI). A
set of technologies, policies, standards, and procedures that
enable:
• Management of digital certificates (issuance,
distribution, revocation).
• Use of asymmetric cryptography
(public/private key pairs).
• Ensuring the trustworthiness of
communication (identity verification, integrity,
confidentiality).
Defined e.g. in RFC
5280.
Reliance. An industry term referring to the act of making a decision, including taking a risk, which decision is in part or in whole informed or on the basis of the contents of a certificate.
Relying Party. An industry term refering to someone who relies (that is, makes decisions or takes risks) in part or in whole on a certificate.
Subscriber Naming. The term used in this CPS to describe all naming data within a certificate. Approximately similar terms from Industry such as "Subject naming" and "Distinguished Name" are not used here.
Verification. An industry term referring to the act of checking and controlling the accuracy and utility of a single claim.
Validation. An industry term referring to the process of inspecting and verifying the information and subsidiary claims behind a claim.
Usage. The event of allowing a certificate to participate in a protocol, as decided and facilitated by a user's software. Generally, Usage does not require significant input, if any, on the part of the user. This defers all decisions to the user software, thus elevating the software as user's only and complete Validation Authority or Agent.
CAcert Relying Party. CAcert Members who make decisions based in part or in whole on a certificate issued by CAcert. Only CAcert Members are permitted to Rely on CAcert certificates, subject to the CAcert Community Agreement.
Vendors. Non-members who distribute CAcert's root or intermediate certificates in any way, including but not limited to delivering these certificates with their products, e.g. browsers, mailers or servers. Vendors are covered under a separate licence. As of the moment, this licence is not written.
Configuration-Control Specification "CCS". The audit criteria that controls this CPS. The CCS is documented in COD2, itself a controlled document under CCS.
CAcert Official Document (COD – CAcert - Policies). Controlled Documents that are part of the CCS.
Abbreviations:
CA (Certification Authority)
OCSP (On-line Certificate Status Protocol) - the protocol and server giving the quick informaton about revoked certificates based on their serial numbers
CSR (Certificate Signing Request) - user's utilities, as OpenSSL, XCA, and others, generate pairs of keys; one key of each pair is claimed as the private key and saved on user's machine; the other key with some added information about the user is usually given the PEM (Base64 coded) format and serves as CSR, the request to issue a certificate
WoT (Web of Trust) -
CRL (Certificate Revoke List) - the list of revoked certificates
AP (Assurance Points) - points a member can collect by means of assurance appointments or TIP
RSA: Rivest–Shamir–Adleman cryptography, developed 1978; a key pair can be generated using the original RSA method
ECC: Elliptic Curve Cryptography - gives greater cryptographic strength then RSA at equivalent key size, developed 1985; a key pair can be generated using the ECC method
DN: Distinguished Name
X.509: an International Telecommunication Union (ITU) standard defining the format of public key certificates
X.509v3: the certificate standard X.509, version 3
FQDN: Fully Qualified Domain Name, e.g. a website name including domain
EKU: Extended Key Usage, attribute suite in certificates
msEFS: (EKU attribute) Encrypted File System by Microsoft
msCGS: (EKU attribute) Server Gated Cryptography, an extension for SSL/TLS certificates that allows older browsers with 40-bit encryption to upgrade to 128-bit encryption. By Microsoft.
nsCGS: (EKU attribute) Server Gated Cryptography, an extension for SSL/TLS certificates that allows older browsers with 40-bit encryption to upgrade to 128-bit encryption. By Netscape.
CAcert related abbreviations:
COD#: CAcert official Documents, numbered. Numbers 4, 10, 12 do not exist anymore. The remaining ones are:
COD1: PoP – Policy on Policies
COD2: CCS – Configuration-Control Specification
COD3: COD – Documents Policy
COD5: PP – Privacy Policy
COD6: CPS – Certification Practice Statement (this document)
COD7: DRP – Dispute Resolution Policy
COD8: SP – Security Policy
COD9: CCA – CAcert Community Agreement
COD11: OAP – Organization Assurance Policy
COD13: AP – Assurance Policy
COD14: RDL – Root Distribution License
DRC: David Ross Criteria – (rossde.com) are not longer maintained and common industrial standards should be followed. See Escrow And Recovery - CAcert Wiki and CPS Rules and Conditions - CAcert Wiki.
CAcert stores and manages certificates issued by itself only and related information of users for management purpose including information for assurance purpose managed under the Assurance policy (COD13).
Certificates information are stored within its infrastructure. Hosting information of CACert infrastructure is define in COD8.
CAcert also stores and manages its CA's’ private keys.
CAcert also stores and manages a database of certificate revocations (see 1.4.5).
CAcert stores information about certificates and stores CA privates: this has to be coherent with RFC3647 4.2.
CAcert makes publicly available:
A repository of CRLs. An OCSP responder is in operation.
The Root CA certificate and Subordinate CA certificates.
CAcert allows members and organizations to retrieve the certificates issued for their own usage and related information.
If members and orgs want to publish their certificates or not, they are free to do it. By default, a CAcert signed cert is not a public information.
Root CA Certificate, Subordinate CA Certificates, and CRLs, are made available on issuance.
The
Certification Policy Statement as defined in this document (see
1.5).
Publication of policies related
to the management of CAcert repositories are managed following the
common policy of management of policies (see COD1).
Control
access on the component of the CAcert PKI and managed objects is
defined by the Security Policy - COD8
and
the Security Manual
- CAcert Wiki.
For the recent state of the certificate properties, please consult the CAcert Wiki article CPS Rules & Conditions
All
strings should be coded as UTF-8.
Person Certificates. The Subscriber Naming consists of:
subjectAltName= One, or more, of the Subscriber's verified email addresses, in rfc5322 format (RFC5322, 3.4.1).
A version for SSO hash type. Please see the Wiki article CPS Rules & Conditions for the recent state.
CN= The common name takes its value from one of:
For all Members, the string "CAcert WoT Member" shell be used for anonymous certificates.
For individual Members, a Name of the Subscriber, as Assured under Assurance Policy.
For
Organisation Members, an organisation-chosen
name, as verified under OAP.
See also the Wiki article mentioned above.
O-Admin must verify CN and subjectAltName as per p20081016. (Note: even if RFC5280 does not require CN)
Client Certificates. The Subscriber Naming consists of:
CN= The common name is the FQDN of a website where is to connect to, e.g. for the purpose of authentication to a web application.
subjectAltName= Additional host/website FQDN names
All other fields are optional and must either match the CN or they must be empty
Individual Server Certificates. The Subscriber Naming consists of:
CN= The common name is the host name out of a domain for which the Member is a domain master.
subjectAltName= Additional host names for which the Member is a domain master may be added to permit the certificate to serve multiple domains on one IP number.
All other fields are optional and must either match the CN or they must be empty
Certificates for Organisations. In addition to the above, the following applies:
OU= organizationalUnitName (set by O-Admin, must be verified by O-Admin).
O= organizationName is the fixed name of the Organisation.
L= localityName
ST= stateOrProvinceName
C= countryName
contact= EMail Address of Contact.
Except for the OU and CN, fields are taken from the Member's account and are as verified by the Organisation Assurance process. Other Subscriber information that is collected and/or retained does not go into the certificate.
Each Member's Name (CN= field) is assured under the Assurance Policy (COD13) or subsidiary policies (such as Organisation Assurance Policy). Refer to those documents for meanings and variations.
Anonymous
certificates have the same subject
field
common name. See 1.4.5..
Email addresses are verified according to 4.2.2.
See 1.4.5 Roots and Names.
Interpretation of Names is controlled by the Assurance Policy, is administered by means of the Member's account, and is subject to change by the Arbitrator. Changes to the interpretation by means of Arbitration should be expected as fraud (e.g., phishing) may move too quickly for policies to fully document rules.
Uniqueness of Names within certificates is not guaranteed. Each certificate has a unique serial number which maps to a unique account, and thus maps to a unique Member. See the Assurance Statement within Assurance Policy (COD13).
Domain names and email address can only be registered to one Member.
Organisation Assurance Policy (COD11) controls issues such as trademarks where applicable. A trademark can be disputed by filing a dispute. See 9.13.
Identity verification is controlled by the Assurance Policy (COD13). The reader is refered to the Assurance Policy, the following is representative and brief only.
CAcert
does not store private keys outside CAs’ ones.
CAcert
CAs private keys are owned by CAcert. Proof of CAcert ownership is
being electronically signed by a CAcert CA private key managed
following the Security Policy - COD8.
Agreement. An Internet user becomes a Member by agreeing to the CAcert Community Agreement (COD9) and registering an account on the online website. During the registration process Members are asked to supply information about themselves:
A valid working email.
Full Name and Date of Birth such as is found on Identity documents.
Personal Questions used only for Password Retrieval.
The online account establishes the method of authentication for all service requests such as certificates.
Assurance. Each Member can be assured according to Assurance Policy (COD13).
Certificates. Based on the total number of Assurance Points that a Member (Name) has, the Member can get different levels of certificates. See 1.4.5. See Table 3.2.b. When Members have 50 or more points, they become Assured Members and may then request certificates that state their Assured Name(s).
Assurance Points |
Level |
Service |
Comments |
|---|---|---|---|
0 |
Unassured Member |
Anonymous |
Certificates with no Name, under „-unassured“ Subordinate CA Root. Limited to ˇ~6 months expiry. |
1-49 |
Unassured Member |
Anonymous |
Certificates with no Name, under „-unassured“ Subordinate CA Root. Limited to ~6 months expiry. |
|
|
|
|
50-99 |
Assured Member |
Verified |
Certificates with Verified Name for S/MIME, web servers, "digital signing", under „-assured“/“-organization“ Subordinate CA Root. Expiry after ~12 months is available. |
100, and passed the Assurer Challenge test |
Assurer |
As an Assured Member, plus can request for issuing Code-signing certificates |
As an Assured Member, plus can assure other Members and can request for issuing Code-signing certificates |
Table 3.2.b - How Assurance Points are used in Certificates
Verification of organisations is delegated by the Assurance Policy to the Organisation Assurance Policy (COD11). The reader is refered to the Organisation Assurance Policy, the following is representative and brief only.
Organisations present special challenges. The Assurance process for Organisations is intended to permit the organisational Name to appear in certificates. The process relies heavily on the Individual process described above.
Organisation Assurance achieves the standard stated in the OAP, briefly presented here:
the organisation exists,
the organisation name is correct and consistent,
signing rights: requestor can sign on behalf of the organisation, and
the organisation has agreed to the terms of the CAcert Community Agreement (COD9), and is therefore subject to Arbitration.
All information in the certificate is verified, see Relying Party Statement, 4.5.2.
The authorisation to obtain a certificate is established as follows:
Addresses. The member claims authority over a domain or email address when adding the address, 4.1.2. (Control is tested by means described in 4.2.2.)
Individuals. The authority to participate as a Member is established by the CAcert Community Agreement (COD9). Assurances are requested by means of the signed CAP form.
Organisations. The authority for Organisation Assurance is established in the COAP form, as signed by an authorised representative of the organisation. The authority for the Organisation Administrator (O-Admin) is also established on the COAP form. See Organisation Assurance Policy.
CAcert does not currently issue certificates to subordinate CAs (except its own, see the table 1.4.5.b) or other PKIs. Other CAs may become Members, and are then subject to the same reliance provisions as all Members.
Certificate "re-keyings" are not offered nor supported. A new certificate with a new key has to be requested and issued instead.
Revoking
any Member issued cert can be done via the Member's account.
CAcert
CAs’ certificate revocation can only be done by the Critical
Team following a CAcert Inc. decision.
Note:
Revocation
of a certificate is not needed outside a key compromission or other
reasons to repudiate any usage that can be done with the private key
corresponding to a certificate.
For instance, expiration or
renewal of a certificate does not lead to any need of revocation. For
an e-signed document, this leads to revoke the validity of the
document which is still valid after the expiration of the signature
cert.
For the same reason, if a member cannot use a key for
“Certificate login” the support team will use the lost-password
procedure or file a dispute before envisaging a revocation of a cert
allowed for login.
The general life-cycle for a new certificate for an Individual Member is:
Member adds claim to an address (domain/email). (Person, Server)
System probes address for control. (Person; Server not for anonymous certificates)
Member creates key pair.
Member submits CSR with desired options (Anonymous Certificate, SSO, Root Certificate).
System validates and accepts CSR based on known information: claims, assurance, controls, technicalities.
System signs certificate.
System makes signed certificate available to Member.
Member accepts certificate.
With the current web application:
Member uses web application to generate key pair of a selected strength, i.e. the private key and the CSR containing the corresponding public key.
Member swaps to his/her account on the CAcert WoT, logs in, and goes to the member area for managing certificates.
Member adds claim to an address(es)/domain(s) from the account by mean of selection from the list of his/her approved ones. (Person, Server)
Member submits CSR generated by the web application, and more CSR options (Member’s Name in Certificate, SSO).
System validates and acepts the CSR.
System selects the proper Subordinate CA Root, and signs the certificate.
Member swaps back to the web application and submits the certificate just created/signed.
Member sets a password for the private key enciphering.
Web application assembles the PKCS12 format (encrypted private key + certificate + root path).
Web application makes the PKCS12 file available to the Member.
Member accepts and downloads the PKCS12 file, and installs it on his/her system/browser/Email client.
Members may submit certificate applications. On issuance of certificates, Members become Subscribers.
The Member can claim ownership or authorised control of a domain or email address on the online system. This is a necessary step towards issuing a certificate. There are these controls:
The claim of ownership or control is legally significant and may be referred to dispute resolution.
Each unique primary address can be handled by one account only.
When the Member makes the claim, the certificate application system automatically initiates the check of control, as below.
Members generate their own key-pairs, or use the web application. The CAcert Community Agreement (COD9) obliges the Member as responsible for security. See CCA 2.5, CPS (this document) 9.6.
The Certificate Signing Request (CSR) is prepared by the Member, or the web application, for presentation to the automated system. The acceptable format is PEM.
For recently valid important properties of CSR, like expiration time, reusing of key pair (certificate renewal), or hash algorithms, please consult the CAcert Wiki article CPS Rules & Conditions.
The CA's certificate application process is completely automated. Requests, approvals and rejections are handled by the website system. Each application should be processed in less than a minute.
Where certificates are requested for more than one purpose, the requirements for each purpose must be fulfilled.
The Member logs in to his/her account on the CAcert website and thereby authenticates himself/herself with username and passphrase or with his/her CAcert client-side digital certificate.
In principle, at least two controls are placed on each address.
Email-Ping. Email addresses are verified by means of an Email-Ping test:
The system generates a cookie (a random, hard-to-guess code) and formats it as a string.
The system sends the cookie to the Member in an Email as an URL link.
Once the Member receives the Email, s/he enters the cookie into the website, using the link from the Email.
The entry of the code verifies control of that email account.
Email Control. Email addresses for client certificates are verified by passing the following checks:
An Email-ping test is done on the email address.
Domain Control. Domains addresses for server certificates are verified by passing two of the following checks:
An Email-ping test is done on an email address chosen from whois or interpolated from the domain name.
The system generates a cookie which is then placed in DNS by the Member.
The system generates a cookie which is then placed in HTTP headers or a text file on the website by the Member.
Statement by at least 2 Assurers about ownership/control of the domain name.
The system generates a cookie which is then placed in whois registry information by the Member.
Notes:
Other methods can be added from time to time by CAcert.
Static cookies should remain for the duration of a certificate for occasional re-testing.
Dynamic tests can be repeated at a later time of CAcert's choosing.
Domain control checks may be extended to apply to email control in the future.
Only a singular Email-ping is implemented in the technical system.
The Member has options available:
Each Email address that is verified is available for Person Certificates.
Each Domain address that is verified is available for Server Certificates.
If the Member is unassured then only the -unassured Subordinate CA Root is available.
If the Member is Assured then both -assured and -unassured Subordinate CA Roots are available.
If a Member’s Name is assured then it may be put in a Person certificate or an OpenPGP signature.
For an individual Person certificate, the following is required:
The email address is claimed and added.
The email address is ping-tested.
For the Person-assured Subordinate CA Root, the Member must have at least fifty points of Assurance.
To include a Member’s Name, the Name must be assured to at least fifty points.
For a Server certificate, the following is required:
The domain is claimed and added.
The domain is checked twice as above.
For the Server-assured Subordinate CA Root, the Member must have at least fifty points of Assurance.
For a Client certificate, the following is required:
For the Client-assured Subordinate CA Root, the Member must have at least fifty points of Assurance.
Code-signing certificates are made available to Assurers only. They are processed in a similar manner to Person certificates.
Organisation Domains are handled under the Organisation Assurance Policy, (COD11.AU,COD11.EU, COD11.DE), and the Organisation Assurance Handbook.
Key Sizes. Members may request keys of any size permitted by the key algorithm. Many older hardware devices require small keys.
Algorithms.
Currently supported algorithms are defined in CPS Rules & Conditions.
Process for Certificates: All details in each certificate are verified by the website issuance system. Issuance is based on a 'template' system that selects profiles for certificate lifetime, size, algorithm.
The CSR is verified.
Data is extracted from CSR and verified:
Certificate is generated from template.
No data about the user is copied from CSR. That data is copied from the user’s account.
Certificate is signed.
Certificate is stored and a notification is mailed.
Process for OpenPGP key signatures: All details in each Sub-ID are verified by the website issuance system. Issuance is based on the configuration that selects the profile for signature lifetime, size, algorithm following the process:
The public key is verified.
Data is extracted from the key and verified (Name, Emails). Only the combinations of data in Table 4.3.1 are permitted.
OpenPGP Key Signature is generated.
Key Signature is applied to the key.
The signed key is stored and a notification is mailed.
|
Verified Name |
Unverified Name |
Empty Name |
Verified email |
✔ |
✘ |
✔ |
Unverified email |
✘ |
✘ |
✘ |
Empty email |
✔ |
✘ |
✘ |
Table
4.3.1. Permitted Data in Signed OpenPgp Keys
Once signed, the certificate is made available via the Member's account, and a notification is emailed to the Member. It is also archived internally.
There is no need for the Member to explicitly accept the certificate. In case the Member does not accept the certificate, the certificate can be revoked.
CAcert does not currently publish the issued certificates in any repository. See 2.2.
There are no external entities that are notified about issued certificates.
All Members (subscribers and relying parties) are obliged according to the CAcert Community Agreement (COD9) See especially 2.3 through 2.5.
Subscribers should use keys only for their proper purpose, as indicated by the certificate, or by wider agreement with others.
Relying parties (Members) may rely on the following.
Relying Party Statement Certificates
are issued to Members only. |
The following notes are in addition to the Relying Party Statement, and can be seen as limitations on it.
The term Verification as used in the Relying Party Statement means one of
Type |
How |
Authority |
remarks |
|---|---|---|---|
Assurance |
under CAcert Assurance Programme (CAP) |
Assurance Policy (COD13) |
only information assured to 50+ points under CAP is placed in the certificate |
Evaluation |
under automated domain and email checks |
this CPS |
see 4.2.2 |
Controlled |
programs or "profiles" that check the information within the CSR |
this CPS |
see 7.1 |
Members may rely. Relying parties are Members, and as such are bound by this CPS and the CAcert Community Agreement (COD9). The licence and permission to rely is not assignable.
Suppliers of Software. CAcert roots may be distributed in software, and those providers may enter into agreement with CAcert by means of the Third Party Vendor - Disclaimer and Licence (WIP).
NRPs may not rely. If not related to CAcert by means of an agreement that binds the parties to dispute resolution within CAcert's forum, a person is a Non-Related-Person (NRP). An NRP is not permitted to rely and is not a Relying Party. For more details, see the Root Distribution License (COD14).
Decision making. Reliance means taking a decision that is in part or in whole based on the information in the certificate. A Relying Party may incorporate the information in the certificate, and the implied information such as Membership, into her decision-making. In making a decision, a Relying Party should also:
include his/her own overall risk equation,
include the general limitations of the Assurance process, certificates, and wider security considerations,
make additional checks to provide more information,
consider any wider agreement with the other Member, and
use an appropriate protocol or custom of reliance (below).
Examining the Certificate. A Relying Party must make its own decision in using each certificate. It must examine the certificate, a process called validation. Certificate-related information includes, but is not limited to:
Name,
expiry time of certificate,
current certificate revocation list (CRL),
certificate chain and the validity check of the certificates in the chain,
issuer of certificate (CAcert),
Subordinate CA certificate is intended for reliance (-assured, -organisation)
purpose of certificate.
Keeping Records. Records should be kept, appropriate to the import of the decision. The certificate should be preserved. This should include sufficient evidence to establish who the parties are (especially, the certificate relied upon), to establish the transaction in question, and to establish the wider agreement that defines the act.
Wider Protocol. In principle, reliance will be part of a wider protocol (customary method in reaching and preserving agreement) that presents and preserves sufficient of the evidence for dispute resolution under CAcert's forum of Arbitration. The protocol should be agreed amongst the parties, and tuned to the needs. This CPS does not define any such protocol. In the absence of such a protocol, reliance will be weakened; a dispute without sufficient evidence may be dismissed by an Arbitrator.
As Compared to Usage. Reliance goes beyond Usage. The latter is limited to letting the software act as the total and only Validation Authority. When relying, the Member also augments the algorithmic processing of the software with his/her own checks of the business, technical and certificate aspect.
Roots and Naming. Where the -unassured Subordinate CA certificate is used, this Subscriber may be a new Member including one with zero points. Where the Name is not provided, this indicates it is not available. In these circumstances, reliance is not defined, and Relying parties should take more care. See Table 4.5.2.
Statements of Reliance for Members |
|||
Kind of Subordinate CA certificate |
Anonymous |
Named |
|
Unassured Member - unassured Sub CA cert |
Do not
rely. |
Do not
rely. Although the named Member has been Assured by CAcert,
reliance is not defined with -unassured Subordinate CA
certificate. |
|
Assured Member - assured Sub CA cert |
Do not rely on the Name (being available). The Member has been Assured by CAcert, but reliance is undefined. |
The Member named in the certificate has been Assured by CAcert. |
|
Table 4.5.2. Statements of Reliance
Software Agent. When relying on a certificate, relying parties should note that your software is responsible for the way it shows you the information in a certificate. If your software agent hides parts of the information, your sole remedy may be to choose another software agent.
Malware. When relying on a certificate, relying parties should note that platforms that are vulnerable to viruses or trojans or other weaknesses may not process any certificates properly and may give deceptive or fraudulent results. It is your responsibility to ensure you are using a platform that is secured according to the needs of the application.
In the event that an issue arises out of the Member's reliance, his/her sole avenue is to file dispute under DRP. See 9.13. For this purpose, the certificate (and other evidence) should be preserved.
Which person? Members may install certificates for other individuals or in servers, but the Member to whom the certificate is issued remains the responsible person. E.g., under Organisation Assurance, an organisation is issued a certificate for the use by individuals or servers within that organisation, but the Organisation is the responsible person.
Software Agent. If a Member is relying on a CAcert Root CA certificate embedded in the software as supplied by a vendor, the risks, liabilities and obligations of the Member do not automatically transfer to the vendor.
A certificate can be renewed at any time. The procedure of certificate renewal is the same as for the initial certificate issuance. The Member has to keep the private key corresponding to the original certificate. Members (users) are strongly discouraged to renew their certificates, esp. that of the type Server. For more recent information see the Wiki article CPS Rules & Conditions.
Certificate "re-keyings" are not offered nor supported. A new certificate with a new key has to be requested and issued instead.
Note:
Where a re-key would be used it is not required to revoke the old certificate. If you revoke a certificate used for signature, even if it is expired, this means that the key pair was compromised at some time before the revocation. So, if you keep a document for long time (and resign the document including the previous signatures), having one of the certificates revoked could lead to have doubts about the integrity the document or the signatory. So, you shall not revoke a certificate if not required by a good reason as a key compromission. Expiration or renewal are not good reasons to revoke a certificate.
Certificate "modifications" are not offered nor supported. A new certificate has to be requested and issued instead.
Certificates may be revoked under the following circumstances:
As initiated by the Subscriber through his/her online account.
As initiated in an emergency action by a support team member. Such action will immediately be referred to dispute resolution for ratification.
Under direction from the Arbitrator in a duly ordered ruling from a filed dispute.
As performed by a Support Engineer when deleting the Member’s account (outside a dispute to avoid revocation) .
These are the only four circumstances under which a revocation occurs.
See 4.9.1.
The Subscriber logs in to his/her online account through the website at https://www.cacert.org/ .
In any other event such as lost passwords or fraud, a dispute should be filed by email at < support AT cacert DOT org >
None.
The revocation is automated in the Web Interface for subscribers, and is handled generally in less than a minute.
A filed dispute that requests a revocation should be handled within a five business days, however the Arbitrator has discretion.
Each revoked certificate is recorded in the certificate revocation list (CRL). Relying Parties must check a certificate via the OCSP server, thus against the most recent CRL issued, in order to validate the certificate for the intended reliance.
A new CRL is issued after every certificate revocation.
The maximum latency between revocation and issuance of the CRL is 1 hour.
OCSP is available at http://ocsp.cacert.org/.
Relying parties must check up-to-date status before relying.
None.
Subscribers are obliged to revoke certificates at the earliest opportunity.
Suspension of certificates is not available.
Not applicable.
Not applicable.
Not applicable.
OCSP is available at http://ocsp.cacert.org/ .
OCSP is made available. No commitment.
No stipulation.
Certificates include expiry dates.
CAcert does not generate nor escrow subscriber private keys. Keys generated in a CSR by web-frontend/application or an utility are processed in user’s browser only and not transferred to CAcert.
Not applicable (see 4.12.1).
Refer to Security Policy (COD8)
Site location and construction – Security Policy 2.1
Physical access - Security Policy 2.3
Refer to Security Policy 2.1.2 (COD8)
Refer to Security Policy 2.1.4 (COD8)
Refer to Security Policy 2.1.4 (COD8)
Refer to Security Policy 4.3 (COD8)
No stipulation.
Refer to Security Policy 4.3 (COD8)
Technical teams:
User support personnel
Systems Administrators - critical and non-critical
Softare Developers
controllers of keys
Refer to Security Policy 9.1 (COD8)
Assurance:
Assurers
Any others authorised under COD13
Refer to Assurance Policy (COD13)
Governance:
Directors (members of the CAcert Inc. committee, or "Board")
Internal Auditor
Arbitrator
CAcert operates to the principles of four eyes and dual control. All important roles require a minimum of two persons. The people may be tasked to operate with an additional person observing (four eyes), or with two persons controlling (dual control).
All important roles are generally required to be assured at least to the level of Assurer, as per Assurance Policy (COD13).
Technical. Refer to Security Policy 9.1 (COD8).
Roles strive in general for separation of duties, either along the lines of four eyes principle or dual control.
Role |
Policy |
Comments |
Assurer |
Passes Challenge, Assured to 100+ points. |
|
Organisation Assurer |
Trained and tested by two supervising OAs. |
|
Technical |
Security Manual *) => COD8 |
Teams responsible for testing. |
Arbitrator |
Experienced Assurers. |
Table 5.3.1. Controls on Roles
Refer to Security Policy 9.1.3 (COD8).
See 5.3.1.
See 5.3.1.
No stipulation.
Any actions that are questionable - whether uncertain or grossly negligent - may be filed as a dispute. The Arbitrator has wide discretion in ruling on loss of points, retraining, or termination of access or status. Refer to Dispute Resolution Policy (COD7).
No stipulation.
Personnel is made aware of the online public documentation including this Statement (i.e. CPS) and where to find other online information which access is restricted to personnel or CAcert Inc. members.
Refer to Security Policy 4.2, 5 (COD8).
The standard retention period is 7 years. Once archived, records can only be obtained and verified by means of a filed dispute. Following types of records are archived:
Record |
Nature |
Exceptions |
Documentation |
Member |
username, primary and added addresses, security questions, Date of Birth |
resigned non-subscribers: 0 years. |
|
Assurance |
CAP forms |
"at
least 7 years." |
Assurance Policy 4.5 |
Organisation Assurance |
COAP forms |
as per subsidiary policies |
|
certificates and revocations |
for reliance |
7 years after termination |
§5.5 in this CPS |
critical roles |
background check worksheets |
under direct Arbitrator control |
Security Policy 9.1.3 |
Table 5.5. Documents and Retention
Refer to Security Policy 9.2 (COD8).
Refer to Security Policy 5, 6 (COD8). (Refer to 1.4 for limitations to service.)
In the event of operational termination, the Root CA certificate, all Subordinate CA certificates, and all private Member information will be secured. The Root CA Certificate and Subordinate CA certificates will be revoked. Member information will be securely destroyed.
When an Assurer desires to voluntarily terminates his/her responsibilities, he/she does this by filing a dispute, and then following the instructions of the Arbitrator.
If
an Assurer resigns, the process of termination his account is driven
by the arbitrary case a20141024.1.
None
can inherit an assurer role.
In the case of involuntary termination, the process is the same, outside that another party is filling the dispute request.
Subscribers generate their own Key Pairs. If the Web application is used (recommended), it generates Key Pairs following the Subscriber given parameter (key length).
There is no technical stipulation on how Subscribers generate and keep safe their private keys, however, CCA 2.5 provides for general security obligations. See 9.6. If the Web application is used, the output is a PKCS12-formated file with a private key encrypted by a password entered by Subscriber.
Members login to their online account. Public Keys are delivered by cut-and-pasting them into the appropriate window. Public Keys are delivered in signed-CSR form for X.509 and in self-signed form for OpenPGP. If the Web application is used, the X.509 certificate in signed-CSR form is also a part of the output PKCS12 file.
The CA root certificates are distributed by these means:
Published on the websites of CAcert, in both HTTP and HTTPS.
Included in Third-Party Software such as Browsers, Email-Clients. Such suppliers are subject to the 3rd Party Vendor Agreement.
Note: 3rd Party Vendor Agreement doesn’t exist and it’s only intended.
No limitation is placed on Subscriber key sizes.
CAcert X.509 root and intermediate keys are currently 4096 bits. X.509 Root and Subordinate CA certificates use RSA and sign with the SHA256 message digest algorithm. See 4.3.1.
OpenPGP Signing uses both RSA and DSA (1024 bits).
CAcert adds larger keys and hashes in line with general cryptographic trends, and as supported by major software suppliers.
See CPS Rules & Conditions for the recent state.
No stipulation.
The website controls the usage purposes that may be signed. This is effected by means of the 'template' system coherently with 1.4.5.
Subordinate CA certificate keys are stored on a single machine which acts as a Cryptographic Module, or signing server. It operates a single daemon for signing only. The signing server has these security features:
It is connected only by one dedicated (serial USB) link to the online account server. It is not connected to the network, nor to any internal LAN (ethernet), nor to a console switch.
The protocol over the dedicated link is a custom, simple request protocol that only handles certificate signing requests.
The daemon is designed not to reveal the key.
The daemon incorporates a dead-man switch that monitors the one webserver machine that requests access.
The daemon shuts down if a bad request is detected.
The daemon resides on an encrypted partition.
The signing server can only be (re)started with direct systems administration access.
Physical Access to the signing server is under dual control.
See 5. and the Security Policy 9.3.1.
For the recent state of the certificate properties, please consult the CAcert Wiki article CPS Rules & Conditions. This involves esp. Certificate operational periods (expiry times).
Subscriber certificates, including public keys, are stored in the database backing the online system. They are not made available in a public- or subscriber-accessible archive, see 2. They are backed-up by CAcert's normal backup procedure, but their availability is a subscriber responsibility.
The operational period of a certificate and its key pair depends on the Assurance status of the Member, see 1.4.5 and Assurance Policy (COD13).
The CAcert (top-level) Root certificate has a 30 year expiry. Subordinate CA certificates have 10 years, and are to be rolled over more quickly. The keysize of the root certificates are chosen in order to ensure an optimum security to CAcert Members based on current recommendations from the cryptographic community and maximum limits in generally available software. At time of writing this is 4096 bits.
No stipulation.
Refer to Security Policy.
Refer to Security Manual 7 "Software Development".
Refer to Security Manual 3.1 "Logical Security - Network".
The
signer gets its time information via a special command sent by the
signer client. The signer client machine has a set of NTP time
sources defined to keep its time synchronized. The signer uses its
system time to calculate timestamps for certificate
signatures.
Note: Here, the signer client machine
is the CAcert's WoT server.
Signer (the signing server) is
synchronized over the serial link by means of the standard Unix
timestamp message. The client sends the server time and the signer
synchronizes its own clock from that timestamp. So the signer server
will obtain the real time-of-day every time it is asked to issue a
certificate.
CAcert defines all the meanings, semantics and profiles applicable to issuance of certificates and signatures in its policies, handbooks and other documents. Meanings that may be written in external standards or documents or found in wider conventions are not incorporated, are not used by CAcert, and must not be implied by the Member or the Non-related Person.
Issued X.509 certificates are of v3 form. The form of the PGP signatures depends on several factors, therefore no stipulation.
Note: BOLD items come from user’s acounts.
Person certificates include the following extensions:
basicConstraints=CA:FALSE (critical)
keyUsage=digitalSignature,keyEncipherment,keyAgreement (critical)
extendedKeyUsage=emailProtection,clientAuth,msEFS,msSGC,nsSGC
authorityInfoAccess = OCSP;URI:http://ocsp.cacert.org
crlDistributionPoints=URI:<crlUri> where <crlUri> is replaced with the URI where the certificate revocation list relating to the certificate is found
subjectAltName=(as per 3.1.1.).
subject DN may contain the user’s personal name(s) in CN=
Client Certificates Adobe Signing extensions (for documents, the Person certificates don’t need the codeSigning attribute)
SubjectAltName should become critical if DN is removed https://tools.ietf.org/html/rfc5280#section-4.2.1.6
Client certificates include the following extensions:
basicConstraints=CA:FALSE (critical)
keyUsage=digitalSignature,keyEncipherment,keyAgreement (critical)
extendedKeyUsage=TLS Web Client Authentication (1.3.6.1.5.5.7.3.2),msSGC,nsSGC
authorityInfoAccess = OCSP;URI:http://ocsp.cacert.org
crlDistributionPoints=URI:<crlUri> where <crlUri> is replaced with the URI where the certificate revocation list relating to the certificate is found
subjectAltName=(as per 3.1.1.).
Server certificates include the following extensions:
basicConstraints=CA:FALSE (critical)
keyUsage=digitalSignature,keyEncipherment,keyAgreement (critical)
extendedKeyUsage=clientAuth,serverAuth,nsSGC,msSGC
authorityInfoAccess = OCSP;URI:http://ocsp.cacert.org
crlDistributionPoints=URI:<crlUri> where <crlUri> is replaced with the URI where the certificate revocation list relating to the certificate is found
subjectAltName=(as per 3.1.1.).
Person Code-Signing certificates include the following extensions:
basicConstraints=CA:FALSE (critical)
keyUsage=digitalSignature,keyEncipherment,keyAgreement (critical)
extendedKeyUsage=emailProtection,clientAuth,codeSigning,msCodeInd,msCodeCom,msEFS,msSGC,nsSGC
authorityInfoAccess = OCSP;URI:http://ocsp.cacert.org
crlDistributionPoints=URI:<crlUri> where <crlUri> is replaced with the URI where the certificate revocation list relating to the certificate is found
subjectAltName=(as per 3.1.1.); as an primary / secondary Email address, represents no problem.
subject DN may contain the user’s personal name(s) in CN=
All,
more detailed certificate patterns can be seen in the [Appendix
A](#Appendix%20A).
All more detailed certificate patterns can be
seen in the Appendix A.
OpenPGP key signatures currently do not include extensions. In the future, a serial number might be included as an extension.
No stipulation.
Refer to 3.1.1.
Refer to 3.1.1.
The following OIDs are defined and should be incorporated into certificates:
OID |
Type/Meaning |
Comment |
1.3.6.1.4.1.18506. 4.4.2 |
Certification Practice Statement |
This present document |
1.3.6.1.5.5.7.48.2 |
CA Issuer |
|
1.3.6.1.5.5.7.48.1 |
OCSP |
|
1.3.6.1.5.5.7.3.9 |
OCSP Signing |
|
1.3.6.1.5.5.7.3.1 |
TLS Web Server Authentication |
Server |
1.3.6.1.5.5.7.3.2 |
TLS Web Client Authentication |
Person, Client |
1.3.6.1.5.5.7.3.4 |
Email protection |
Person |
1.3.6.1.5.5.7.3.3 |
Code signing |
Person, on request only |
1.3.132.0.35 |
secp521r1 (P-521) |
ECC curve |
1.2.840.10045.2.1 |
id-ecPublicKey |
Public Key Algorithm |
Versions are defined by additional numbers appended such as .1.
No stipulation.
No stipulation.
No stipulation.
CRLs are created in X.509 v2 format.
No extensions.
The OCSP responder operates in Version 1.
No stipulation.
For the recent state of the certificate properties, please consult the CAcert Wiki article CPS Rules & Conditions for every field marked “(*)”. This rule is valid for all types of certificates whose examples/patterns are described in the following parts of this document, see the paragraphs below and in the Appendixes A, B.
These include:
root CA certificates
subordinate CA certificates
patterns for user certificates issuing
for RSA and ECC trees of certificates
L=Genève PostalCode=1208 STREET=Clos Belmont 2 |
(Location) |
O=CAcert Inc. |
(Organization) |
C=CH |
(Country) |
CN=CAcert {Root|PersonA|PersonU|ClientA|ClientU|ServerA|ServerU} CA <year> |
(Common Name) |
OU=https://www.cacert.org |
(Org.Unit) |
(Note: OU for CAcert was used in old certificates, but it is considered deprecated now.)
7.4.2. Root CA certificate – RSA encrypting
ECC encrypting see Appendix B: ECC Root CA Certificate)
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes (CAB recommendation) (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: (sha256) implied by the signature algorithm
Issuer DN: C=<country>,L=<Location>,O=<organization>,CN=<Common_Name> (see above)
Validity (Not Before & Not After), Duration = ~20 years (CAB recommendation) (*)
Subject DN: as this is the Root CA, this item is equal to the Issuer DN item
Subject Public Key Info
Public Key Algorithm: RSAEncryption (implied by the public key)
RSA Public-Key: (4096 bit), then the Modulus value, Exponent 65537 (0x10001)
Public Key Parameters: 05 00 (NULL)
X509v3 Extensions
X509v3 Key Usage (critical)
Certificate (only subordinate CA certificates) Signing, CRL Signing; Offline CRL Signing
X509v3 Basic Constraints (critical)
Certificate of a CA: true
Path length restriction: none
X509v3 Subject Key Identifier (20 Byte ID)
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
(fingerprint depends on the used hash algorithm, a certificate's TBSCertificate structure can be hashed/fingerprinted using any hash algorithm. 20 Bytes is what a SHA1 hash produces, it can be longer or shorter for other algorithms and is not directly included in the certificate)
7.4.3. Subordinate CA certificates – RSA encrypting
(ECC encrypting see Appendix B: ECC Root CA Certificate)
There are 2 sets suggested per 3 Subordinate CA certificates each. The 1st set is used for CAcert assured members, the 2nd set is used for CAcert members who are unassured yet.
A Member status is classified as follows (APs, see COD13 - Assurance Policy #2.3):
Status unassured: 0 to 49 Assurance Points (APs).
Status assured: 50 to 100+ APs.
Status Assurer: 100+ APs and the Assurer Challenge test passed.
(Some differences can also be done for an user having the Assurer status.)
Set #1: 3 subordinate CA certificates for issuing certs for assured members:
(1) Person-assured; (2) Client-assured; (3) Server-assured
Set #1a: 3 subordinate CA certificates for issuing certs for organizations:
These are basically identical to the set #1, only differ in their Subject DN there are parameters L=, O=, C=, CN=, and OU= concerning the organization which the subordinate CA certificate is issued for.
Set #2: 3 subordinate CA certificates for issuing certs for unassured members:
(1) Person-unassured; (2) Client-unassured; (3) Server-unassured
Every set consists of 3 Subordinate CA certs: Person, Client, and Server.
"Person" is designed for real people. It provides person name, Email address(es) as SAN, and possibly the document/code signing ability. SAN are possible.
"Client" is designed to be used for machines that act as a client and need to authenticate to other systems, client certificates contain SAN DNS names and may contain a single host name in the Subject DN Common Name (CN) field. SAN are possible.
"Server" is designed to be used for machines that need to authenticate to relying parties, server certificates contain SAN DNS names and may contain a single host name in the Subject DN Common Name (CN) field. SAN are possible.
7.4.3.1. "Person-assured" & "Person-unassured Subordinate CA certificates (Subroots, Intermediate Roots)
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: sha256
Issuer DN: C=<Country>,L=<Location>,O=<Organization>,CN=<Common_Name>; if org., OU=<Org.Unit>
Validity (Not Before & Not After), Duration = ~5 years (*)
Subject DN (if the Organization Assurer, see the comment to the Set #1a above):
C= (see 7.4.1. above)
L= (see 7.4.1. above)
O= (see 7.4.1. above)
for "Person-assured": CN=CAcert Person-assured CA <year>
for "Person-unassured": CN=CAcert Person-unassured CA <year>
Subject Public Key Info
Public Key Algorithm: RSAEncryption
RSA Public-Key: (3072 bit), then the Modulus value, Exponent 65537 (0x10001)
Public Key Parameters: 05 00 (i.e. NULL, see RFC 4055 # 1.2)
X509v3 Extensions
X509v3 Key Usage (critical)
General Subordinate CA certificate purposes:
Digital Signature, Certificate Signing, CRL Signing
X509v3 Extended Key Usage:
TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)
Code signing (1.3.6.1.5.5.7.3.3) (for "Person-assured" only)
Email protection (1.3.6.1.5.5.7.3.4)
OCSP signing (1.3.6.1.5.5.7.3.9)
X509v3 Basic Constraints: critical
CA:TRUE, pathlen:0
X509v3 Subject Key Identifier: (20 Byte ID)
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the Root CA certificate)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:https://www.cacert.org/certs/rsa_root_<year>.crt (Root CA cert. file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/<CRL_file>:
for "Person-assured": rsa_personA_<year>.crl
for "Person-unassured": rsa_personU_<year>.crl
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
7.4.3.2. "Client-assured" & "Client-unassured" Subordinate CA certificates
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: sha256
Issuer DN: C=<country>,L=<Location>,O=<Organization>,CN=<Common_Name>,OU=<Org.Unit>
Validity (Not Before & Not After), Duration = ~5 years (*)
Subject DN (if the Organization Assurer, see the comment to the Set #1a above):
C= (see 7.4.1. above)
L= (see 7.4.1. above)
O= (see 7.4.1. above)
for "Client-assured": CN=CAcert Client-assured CA <year>
for "Client-unassured": CN=CAcert Client-unassured CA <year>
Subject Public Key Info
Public Key Algorithm: RSAEncryption
RSA Public-Key: (3072 bit), then the Modulus value, Exponent 65537 (0x10001)
Public Key Parameters: 05 00 (NULL)
X509v3 Extensions
X509v3 Key Usage (critical)
General Subordinate CA certificate purposes:
Digital Signature, Certificate Signig, CRL Signing
X509v3 Extended Key Usage:
TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)
OCSP Signing (1.3.6.1.5.5.7.3.9)
X509v3 Basic Constraints: critical
CA:TRUE, pathlen:0
X509v3 Subject Key Identifier: (20 Byte ID)
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the Root CA certificate)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:https://www.cacert.org/certs/rsa_root_<year>.crt (Root CA cert. file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/<CRL_file>:
for "Client-assured": rsa_clientA_<year>.crl
for "Client-unassured": rsa_clientU_<year>.crl
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
7.4.3.3. "Server-assured" & "Server-unassured" Subordinate CA certificates
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: sha256
Issuer DN: C=<Country>,L=<Location>,O=<Organization>,CN=<Common_Name>,OU=<Org.Unit>
Validity (Not Before & Not After), Duration = ~5 years (*)
Subject DN (derived from Issuer, varies in Subject: CN=name-reflecting-purpose)
(if the Organization Assurer, see the comment to the Set #1a above)
C= (see 7.4.1. above)
L= (see 7.4.1. above)
O= (see 7.4.1. above)
for "Server-assured": CN=CAcert Server-assured CA <year>
for "Server-unassured": CN=CAcert Server-unassured CA <year>
Subject Public Key Info
Public Key Algorithm: RSAEncryption
RSA Public-Key: (3072 bit), then the Modulus value, Exponent 65537 (0x10001)
Public Key Parameters: 05 00 (= NULL)
X509v3 Extensions
X509v3 Key Usage (critical)
General Subordinate CA certificate purposes:
Digital Signature, Certificate Signing, CRL Signing
X509v3 Extended Key Usage:
TLS Web Server Authentication (1.3.6.1.5.5.7.3.1)
OCSP Signing (1.3.6.1.5.5.7.3.9)
X509v3 Basic Constraints: critical
CA:TRUE, pathlen:0
X509v3 Subject Key Identifier: (20 Byte ID)
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the Root CA certificate)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:https://www.cacert.org/certs/rsa_root_<year>.crt (Root CA cert. file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/<CRL_file>:
for "Server-assured": rsa_serverA_<year>.crl
for "Server-unassured": rsa_serverU_<year>.crl
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
There are two major threads of assessment:
Systems Audit. Analyses the CA for business and operations security. This is conducted in two phases: documents for compliance with criteria, and operations for compliance with documentation.
Code Audit. Analyses the source code. This is conducted at two levels: Security concepts at the web applications level, and source code security and bugs review.
See the Audit page at wiki.cacert.org/Audit/ for more information.
The first audits started in late 2005, and since then, assessments have been an ongoing task. Even when completed, they are expected to be permanent features.
Systems Audit. The first phase of the first audit is nearing completion. The second phase starts in earnest when documentation is in effect, at least as DRAFT under PoP. As the second phase is dependent on this CPS and the Security Policy, they should be in effect as DRAFT at least before the first audit is completed. Only prior and completed audits can be reported here.
Code Audit. A complete review of entire source code has not yet been completed.
Systems Auditors. CAcert uses business systems auditors with broad experience across the full range of business, information systems and security fields. In selecting a business systems auditor, CAcert looks for experience that includes but is not limited to cryptography, PKI, governance, auditing, compliance and regulatory environments, business strategy, software engineering, networks, law (including multi-jurisdictional issues), identity systems, fraud, IT management.
Code Auditors. See Security Policy, sections 7, 9.1.
Specific internal restrictions on audit personnel:
Must be Assured by CAcert Assurers and must be background checked.
Must not have been active in any (other) role in CAcert. Specifically, must not be an Assurer, a member of the association, or in any other defined role or office.
Although the Auditor may be expected to undertake various of the activities (Assurance, Training) during the process of the audit, any results are frozen until resignation as auditor is effected.
The Auditor is required to declare to CAcert all potential conflicts of interest on an ongoing basis.
Specific external restrictions on audit personnel:
Should have a verifiable and lengthy history in user privacy and user security.
Must not have worked for a competitive organisation.
Must not have worked for national security, intelligence, LEO or similar agencies.
An Auditor may convene an audit team. The same restrictions apply in general to all members of the team, but may be varied. Any deviations must be documented and approved by the CAcert Inc. Board.
Systems Audits are generally conducted to criteria. CAcert requires that the criteria are open:
Published. The criteria must be reviewable by all interested parties.
Understandable. They should be understandable, in that they provide the sufficient information in a readable form for interested parties to follow the gist and importance. (Arcane security criteria may stretch this requirement.)
Complete. There must be sufficent background information that the whole story is there. Especially, criteria that refer to undocumented practices or conventions deliberately kept secret must be avoided.
Applicable. The criteria should relate directly and unambiguously to a need of the identified interested parties (Members, Relying Parties, Subscribers, Assurers).
See CPS Rules and Conditions - CAcert Wiki, chapter "Criteria for establishing and operating certification authorities (CA)", for the current criteria.
See the current Audit Done list for work completed, and Audit Todo list for work in progress.
Auditor may issue directives instructing changes, where essential to audit success or other extreme situations. Directives should be grounded on criteria, on established minimum or safe practices, or clearly described logic. Adequate discussion with Community (e.g., CAcert Inc. Board and with Policy Group) should precede any directive. They should be presented to the same standard as the criteria, above.
The AuditDirectives documents issued directives and actions.
Current and past Audit information is available at wiki.CAcert.org/Audit/. CAcert runs an open disclosure policy and Audit is no exception.
This CPS and other documents are subject to the process in Policy on Policy (COD1). Audits cover the overall processes more than any one document, and documents may vary even as Audit reports are delivered.
The current fees structure is posted at Wiki Price. Changes to the fees structure will be announced from time to time on the CAcert blog. CAcert retains the right to charge fees for services. All fees are non-refundable.
Financial risks are dealt with primarily by the Dispute Resolution Policy (COD7).
No stipulation.
No stipulation.
No stipulation.
CAcert has a policy of transparency and openness. The default posture is that information is public to the extent possible, unless covered by specific policy provisions (for example, passwords) or rulings by Arbitrator.
Privacy is covered by the CAcert Community Agreement (COD9), the Privacy Policy (COD5), and the Data Protection Declaration for Users in EU & EEA - CAcert Wiki.
No stipulation.
Member's Date of Birth and "Lost Password" questions are treated as fully private.
To the extent that information is put into an issued certificate, that information is not deemed private, as it is expected to be published by the Member as part of routine use of the certificate. Such information generally includes Names, domains, email addresses, and certificate serial numbers.
Under Assurance Policy (COD13) the Member's status (as Assured, Assurer, etc) is available to other Members.
Information placed in forums outside the online system (wiki, blogs, policies, etc) is not deemed private, and is generally deemed to be published as contributions by Members. See CAcert Community Agreement 1.3 (COD9).
CAcert is a privacy organisation and takes privacy more seriously. Any privacy issue may be referred to dispute resolution.
Members are permitted to rely on certificates of other Members. As a direct consequence of the general right to rely, Members may read and store the certificates and/or the information within them, where duly presented in a relationship, and to the extent necessary for the agreed relationship.
Any disclosure pursuant to process from foreign courts (or similar) is controlled by the Arbitrator.
None.
CAcert is committed to the philosophy of an open and free Internet, broadly as encapsulated by open and free source. However, due to the strict control provisions imposed by the audit criteria (Configuration-Control Specification, CCS), and the general environment and role of CAs, and the commitment to security of Members, some deviations are necessary.
Assets that fall under the control of CCS must be transferred to CAcert. See PoP 6.2 (COD1), CCA 1.3 (COD9). That is, CAcert is free to use, modify, distribute, and otherwise conduct the business of the CA as CAcert sees fit with the asset.
The brand of CAcert is made up of its logo, name, trademark, service marks, etc. Use of the brand is strictly limited by the Board, and permission is required. See m20070917.5.
CAcert owns or requires full control over its documents, especially those covered by CCS. See PoP 6.2 (COD1). Contributors transfer the rights, see CCA 1.3 (COD9). Contributors warrant that they have the right to transfer.
Documents are generally licensed under free and open licence. See Wiki Document Licence. Except where explicitly negotiated, CAcert extends back to contributors a non-exclusive, unrestricted perpetual licence, permitting them to to re-use their original work freely. See PoP 6.4 (COD1), CCA 1.3 (COD9).
CAcert owns its code or requires full control over code in use by means of a free and open licence. See CCS.
CAcert licenses its code under GPL. CAcert extends back to contributors a non-exclusive, unrestricted perpetual licence, permitting them to to re-use their original work freely.
See the WIP SourceCodeManifesto.
CAcert asserts its intellectual property rights over certificates issued to Members and over roots. See CCA 4.4 (COD9), CCS. The certificates may only be used by Members under COD9, and, by others under the licences offered, such as Root Distribution License (COD14).
Members. All Members of the Community agree to the CAcert Community Agreement (COD9), which is the primary document for representations and warranties. Members include Subscribers, Relying Parties, Registration Agents and the CA itself.
RAs. Registration Agents are obliged additionally by Assurance Policy, especially 3.1, 4.1 (COD13).
CA. The CA is obliged additionally by the CCS.
Third Party Vendors. Distributors of the roots are offered the Root Distribution Licence and are offered the same deal as Members to the extent that they agree to be Members in the Community.
Persons who have not accepted the above Agreements are offered the Root Distribution License (COD14). Any representations and warranties are strictly limited to nominal usage. In essence, NRPs may USE but must not RELY.
In today's aggressive fraud environment, and within the context of CAcert as a community CA, all parties should understand that CAcert and its Subscribers, Assurers and other roles provide service on a Best Efforts basis. See 1.4. CAcert seeks to provide an adequate minimum level of quality in operations for its Members without undue risks to NRPs. See Principles.
CAcert on behalf of the Community and itself makes no Warranty nor Guarantee nor promise that the service or certificates are adequate for the needs and circumstances.
CAcert on behalf of related parties (RAs, Subscribers, etc) and itself disclaims all liability to NRPs in their usage of CA's certificates. See COD4.
Liabilities between Members are dealt with by internal dispute resolution, which rules on liability and any limits. See 9.13.
See 9.8.2.
No stipulation.
Members file a dispute to terminate their agreement. See 9.13 and CCA 3.3 (COD9).
Documents are varied (including terminated) under COD1.
For termination of the CA, see 5.8.1.
No stipulation.
All participants are obliged to keep their listed primary email addresses in good working order. See CCA 3.5 (COD9).
Amendments to the CPS are controlled by COD1. Any changes in Member's Agreements are notified under CCA 3.4 (COD9).
CAcert provides a forum and facility for any Member or other related party to file a dispute.
The CAcert Dispute Resolution Policy (COD7) includes rules for dispute resolution.
Filing is done via email to < support AT cacert DOT org >
Members agree to file all disputes through CAcert's forum for dispute resolution. The rules include specific provisions to assist non-Members, etc, to file dispute in this forum.
Disputes are generally heard before the Arbitrator under this law. Exceptionally, the Arbitrator may elect to apply the law of the parties and events, where in common, but this is unlikely because it may create results that are at odds with the Community.
Members
are responsible for the usage they have of the certificates issued by
CAcert (CAcert
Community Agreement, COD9). CAcert cannot be held responsible for
any usage made with a CAcert issued certificate.
For
electronic signature law, please refer to Wiki: CPS
Rules & Conditions.
CAcert will provide information about its Members only under legal subpoena or equivalent process from a court of competent jurisdiction. Any requests made by legal subpoena are treated as under the Dispute Resolution Policy See 9.13 and COD7. That is, all requests are treated as disputes, as only a duly empanelled Arbitrator has the authorisation and authority to rule on the such requests.
A subpoena should include sufficient legal basis to support an Arbitrator in ruling that information be released pursuant to the filing, including the names of claimants in any civil case and an indication as to whether the claimants are Members or not (and are therefore subject to Dispute Resolution Policy).
All Members of the Community agree to the CAcert Community Agreement (COD9). This agreement also incorporates other key documents, being this CPS, DRP and PP. See CCA 4.2.
The
Configuration-Control
Specification is the set of policies that rule over the
Community, of which the above documents are part. See COD2. Documents
that have reached full POLICY status are located at
www.cacert.org/policy/.
Although detailed practices may be found in other places on the
website and on the wiki, the CCS documents that have reached DRAFT
and POLICY status are the ruling documents.
A part of this
section was transfered over to Policy
on Policy, only a reference to PoP 5.4 to remain (see Changes
to PoP p20130223)
The rights within CCA may not be ordinarily assigned.
No stipulation.
The Arbitrator will specify fees and remedies, if any.
No stipulation.
These are issued by (signed with) Subordinate CA certificates only. Some properties are constant for those certs, some differ according to the respective Subordinate CA certificate only, and some depends on the user's data. That's why it seems to be a good idea to design the patterns for certs issued.
For
the recent state of the certificate properties, esp. recent
algorithms used, please consult the CAcert Wiki article CPS
Rules & Conditions, esp. for every field marked “(*)”.
The pattern "Person-assured"
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes; source: Signer (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: sha256
Issuer DN: equal to the "Person-assured" Subordinate CA certificate's Subject; source: "Person-assured" Subordinate CA certificate
Validity (Not Before & Not After), Duration = 1 year (CAB recommandation) (*)
Subject DN: CN = real_name of the user, E = Email address(es); source: user's account
Subject Public Key Info
Public Key Algorithm: RSAEncryption
RSA Public-Key: (3072 bit), then the Modulus value, Exponent 65537 (0x10001); source: CSR
Public Key Parameters: 05 00 (NULL)
X509v3 Extensions
X509v3 Key Usage (critical):
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage: (source: "Person-assured" Subordinate CA certificate, and the user's account)
TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)
Code signing (1.3.6.1.5.5.7.3.3); TRUE/FALSE, source: user's account
Email protection (1.3.6.1.5.5.7.3.4)
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier: (20 Byte ID); source: CSR
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the "Person-assured" Subordinate CA certificate)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:http://www.cacert.org/certs/rsa_personA_<year>.crt ("Person-assured" Subordinate CA certificate file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/rsa_personA_<year>.crl ("Person-assured" Subordinate CA certificate CRL file)
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
For 1 or more verified (and selected by the user) Email address(es) a SAN string will be added; (source: user's account & user's selection).
The pattern "Person-unassured"
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes; source: Signer (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: sha256
Issuer DN: equal to the "Person-unassured" Subordinate CA certificate's Subject; source: "Person-unassured" Subordinate CA certificate
Validity (Not Before & Not After), Duration = ~6 months (*)
Subject DN: CN = "CAcert WoT User" OR "<user's name> (unassured)", E = Email address(es); source: user's account
Subject Public Key Info
Public Key Algorithm: RSAEncryption
RSA Public-Key: (3072 bit), then the Modulus value, Exponent 65537 (0x10001); source: CSR
Public Key Parameters: 05 00 (NULL)
X509v3 Extensions
X509v3 Key Usage (critical):
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage: (source: "Person-unassured" Subordinate CA certificate)
TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)
Email protection (1.3.6.1.5.5.7.3.4)
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier: (20 Byte ID); source: CSR
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the "Person-unassured" Subordinate CA certificate)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:http://www.cacert.org/certs/rsa_personU_<year>.crt ("Person-unassured" Subordinate CA certificate file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/rsa_personU_<year>.crl ("Person-unassured" Subordinate CA certificate CRL file)
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
For 1 or more verified (and selected by the user) Email address(es) a SAN string will be added; (source: user's account & user's selection).
The pattern "Client-assured"
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes; source: Signer (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: sha256
Issuer DN: equal to the "Client-assured" Subordinate CA certificate's Subject; source: "Client-assured" Subordinate CA certificate
Validity (Not Before & Not After), Duration = 1 year (CAB recommandation) (*)
Subject DN: CN = client's FQDN; source: user's account
Subject Public Key Info
Public Key Algorithm: RSAEncryption
RSA Public-Key: (3072 bit), then the Modulus value, Exponent 65537 (0x10001); source: CSR
Public Key Parameters: 05 00 (NULL)
X509v3 Extensions
X509v3 Key Usage (critical):
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage: (source: "Client-assured" Subordinate CA certificate)
TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier: (20 Byte ID); source: CSR
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the "Client-assured" Subordinate CA certificate)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:http://www.cacert.org/certs/rsa_clientA_<year>.crt ("Client-assured" Subordinate CA certificate file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/rsa_clientA_<year>.crl ("Client-assured" Subordinate CA certificate CRL file)
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
For 1 or more verified (and selected by the user) domains -> FQDNs a SAN string will be added; (source: user's account & user's selection).
The pattern "Client-unassured"
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes; source: Signer (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: sha256
Issuer DN: equal to the "Client-unassured" Subordinate CA certificate's Subject; source: "Client-unassured" Subordinate CA certificate
Validity (Not Before & Not After), Duration = ~6 months (*)
Subject DN: CN = client's FQDN; source: user's account
Subject Public Key Info
Public Key Algorithm: RSAEncryption
RSA Public-Key: (3072 bit), then the Modulus value, Exponent 65537 (0x10001); source: CSR
Public Key Parameters: 05 00 (NULL)
X509v3 Extensions
X509v3 Key Usage (critical):
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage: (source: "Client-unassured" Subordinate CA certificate)
TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier: (20 Byte ID); source: CSR
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the "Client-unassured" Subordinate CA certificate)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:http://www.cacert.org/certs/rsa_clientU_<year>.crt ("Client-unassured" Subordinate CA certificate file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/rsa_clientU_<year>.crl ("Client-unassured" Subordinate CA certificate CRL file)
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
For 1 or more verified (and selected by the user) domains -> FQDNs a SAN string will be added; (source: user's account & user's selection).
The pattern "Server-assured"
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes; source: Signer (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: sha256
Issuer DN: equal to the "Server-Assurer" Subordinate CA certificate's Subject; source: "Server-Assurer" Subordinate CA certificate
Validity (Not Before & Not After), Duration = 1 year (CAB recommandation) (*)
Subject DN: CN = server's FQDN; source: user's account
Subject Public Key Info
Public Key Algorithm: RSAEncryption
RSA Public-Key: (3072 bit), then the Modulus value, Exponent 65537 (0x10001); source: CSR
Public Key Parameters: 05 00 (NULL)
X509v3 Extensions
X509v3 Key Usage (critical):
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage: (source: "Server-Assurer" Subordinate CA certificate)
TLS Web Server Authentication (1.3.6.1.5.5.7.3.1)
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier: (20 Byte ID); source: CSR
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the "Server-assured" Subordinate CA certificate)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:http://www.cacert.org/certs/rsa_serverA_<year>.crt ("Server-assured" Subordinate CA certificate file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/rsa_serverA_<year>.crl ("Server-Assurer" Subordinate CA certificate CRL file)
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
For 1 or more verified (and selected by the user) domains -> FQDNs a SAN string will be added; (source: user's account & user's selection).
The pattern "Server-unassured"
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes; source: Signer (*)
Signature Algorithm: sha256WithRSAEncryption
Signature Algorithm Hash: sha256
Issuer DN: equal to the "Server-nonAssurer" Subordinate CA certificate's Subject; source: "Server-nonAssurer" Subordinate CA certificate
Validity (Not Before & Not After), Duration = ~6 months (*)
Subject DN: CN = server's FQDN; source: user's account
Subject Public Key Info
Public Key Algorithm: RSAEncryption
RSA Public-Key: (3072 bit), then the Modulus value, Exponent 65537 (0x10001); source: CSR
Public Key Parameters: 05 00 (NULL)
X509v3 Extensions
X509v3 Key Usage (critical):
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage: (source: "Server-unassured" Subordinate CA certificate)
TLS Web Server Authentication (1.3.6.1.5.5.7.3.1)
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier: (20 Byte ID); source: CSR
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the "Server-unassured" Subordinate CA certificate)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:http://www.cacert.org/certs/rsa_serverU_<year>.crt ("Server-nonAssurer" Subordinate CA certificate file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/rsa_serverU_<year>.crl ("Server-nonAssurer" Subordinate CA certificate CRL file)
Signature Algorithm: sha256WithRSAEncryption
Fingerprint: 20 Bytes (*)
For 1 or more verified (and selected by the user) domains -> FQDNs a SAN string will be added; (source: user's account & user's selection).
For the recent state of the certificate properties, esp. recent algorithms used, please consult the CAcert Wiki article CPS Rules & Conditions.
The ECC Tree has CN=CAcert ECC {Root|PersonA|PersonU|ClientA|ClientU|ServerA|ServerU} CA <year> (Common Name)
Properties of the ECC Root CA Certificate
Cert version: 3 (0x2: X.509v3)
Serial number: random number, length is 16 Bytes (CA|Browser Forum recommandation)
Signature Algorithm: ecdsa-with-SHA256
Signature Algorithm Hash: sha256
Issuer: C=<Country>,L=<Location>,O=<organization>,CN=CAcert ECC Root CA <year> (Common Name for ECC will be: CN=CAcert ECC {Root|PersonA|PersonU|ClientA|ClientU|ServerA|ServerU} CA <year>
Validity (Not Before & Not After), Duration = 20 years (CAB recommandation) (*)
Subject DN: as this is the Root ECC CA cert, this item is equal to the Issuer DN item
Subject Public Key Info
Public Key Algorithm: id-ecPublicKey (OID=1.2.840.10045.2.1)
Public-Key: (521 bit), then the pub value
ASN1 OID: secp521r1 (OID=1.3.132.0.35)
NIST CURVE: P-521
Public Key Parameters: ECDSA_P521
X509v3 Extensions
X509v3 Key Usage (critical)
Certificate (only Subordinate CA certificates) Signing, CRL Signing; Offline CRL Signing
X509v3 Basic Constraints (critical)
Certificate of a CA: true
Path length restriction: none
X509v3 Subject Key Identifier (20 Byte ID)
Signature Algorithm: ecdsa-with-SHA256
Fingerprint: 20 Bytes
(fingerprint is dependent on the used hash algorithm, a certificate's TBSCertificate structure can be hashed/fingerprinted using any hash algorithm. 20 Bytes is what a SHA1 hash produces, it can be longer or shorter for other algorithms and is not directly included in the certificate)
Properties of the ECC "Person-assured" & "Person-unassured" Subordinate CA certificates (Intermediate Roots)
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes
Signature Algorithm: ecdsa-with-SHA256
Signature Algorithm Hash: sha256
Issuer DN: C=<Country>,L=<Location>,O=<Organization>,CN=<ECC Root's Common_Name>; if org., OU=<Org.Unit>
Validity (Not Before & Not After), Duration = 5 years (*)
Subject DN: (if the Organization Assurer, see the comment to the 7.4.3., Set #1a)
Subject Public Key Info
Public Key Algorithm: id-ecPublicKey
Public-Key: (384 bit), then the ASN1 OID: secp384r1, and NIST CURVE: P-384
Public Key Parameters: ECDSA_P384
X509v3 Extensions
X509v3 Key Usage (critical)
General Subordinate CA certificate purposes:
Digital Signature, Certificate Signing, CRL Signing
X509v3 Extended Key Usage:
TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)
Code signing (1.3.6.1.5.5.7.3.3) (for "Person-assured" only)
Email protection (1.3.6.1.5.5.7.3.4)
OCSP signing (1.3.6.1.5.5.7.3.9)
X509v3 Basic Constraints: critical
CA:TRUE, pathlen:0
X509v3 Subject Key Identifier: (20 Byte ID)
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the ECC Root CA cert.)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:http://www.cacert.org/certs/ecc_root_<year>.crt (ECC Root CA certificate file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/<CRL_file>:
for "Person-assured": ecc_personA_<year>.crl
for "Person-unassured": ecc_personU_<year>.crl
Signature Algorithm: ecdsa-with-SHA256
Fingerprint: 20 Bytes
Properties of the ECC "Client-assured" & "Client-unassured" Subordinate CA certificates (Intermediate Roots)
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes
Signature Algorithm: ecdsa-with-SHA256
Signature Algorithm Hash: sha256
Issuer DN: C=<country>,L=<Location>,O=<Organization>,CN=<ECC Root's Common_Name>; if org., OU=<Org.Unit>
Validity (Not Before & Not After), Duration = 5 years (*)
Subject DN: (if the Organization Assurer, see the comment to the 7.4.3., Set #1a)
Subject Public Key Info
Public Key Algorithm: id-ecPublicKey
RSA Public-Key: (384 bit), then the ASN1 OID: secp384r1, and NIST CURVE: P-384
Public Key Parameters: ECDSA_P384
X509v3 Extensions
X509v3 Key Usage (critical)
General Subordinate CA certificate purposes:
Digital Signature, Certificate Signig, CRL Signing
X509v3 Extended Key Usage:
TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)
OCSP Signing (1.3.6.1.5.5.7.3.9)
X509v3 Basic Constraints: critical
CA:TRUE, pathlen:0
X509v3 Subject Key Identifier: (20 Byte ID)
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the ECC Root CA cert.)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:http://www.cacert.org/certs/ecc_root_<year>.crt (ECC Root CA cert. file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/<CRL_file>:
for "Client-assured": ecc_clientA_<year>.crl
for "Client-unassured": ecc_clientU_<year>.crl
Signature Algorithm: ecdsa-with-SHA256
Fingerprint: 20 Bytes
Properties of the ECC "Server-assured" & "Server-unassured" Subordinate CA certificates (Intermediate Roots)
Cert version: 3 (X.509v3)
Serial number: random number, length is 16 Bytes
Signature Algorithm: ecdsa-with-SHA256
Signature Algorithm Hash: sha256
Issuer DN: C=<Country>,L=<Location>,O=<Organization>,CN=<ECC Root's Common_Name>; if org., OU=<Org.Unit>
Validity (Not Before & Not After), Duration = 5 years (*)
Subject DN (derived from Issuer, varies in Subject: CN=name-reflecting-purpose)
(if the Organization Assurer, see the comment to the 7.4.3., Set #1a)
Subject Public Key Info
Public Key Algorithm: id-ecPublicKey
RSA Public-Key: (384 bit), then the ASN1 OID: secp384r1, and NIST CURVE: P-384
Public Key Parameters: ECDSA_P384
X509v3 Extensions
X509v3 Key Usage (critical)
General Subordinate CA certificate purposes:
Digital Signature, Certificate Signing, CRL Signing
X509v3 Extended Key Usage:
TLS Web Server Authentication (1.3.6.1.5.5.7.3.1)
OCSP Signing (1.3.6.1.5.5.7.3.9)
X509v3 Basic Constraints: critical
CA:TRUE, pathlen:0
X509v3 Subject Key Identifier: (20 Byte ID)
Authority Key ID (20 Bytes ID, equal to the Subject Key ID of the ECC Root CA cert.)
Authority Information Access (AIA):
OCSP (1.3.6.1.5.5.7.48.1) - URI:http://ocsp.cacert.org/
CA Issuer (1.3.6.1.5.5.7.48.2)
URI:http://www.cacert.org/certs/ecc_root_<year>.crt (ECC Root CA certificate file)
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.18506.4.4.2 (18506 = org. number, here: CAcert; 4.4.2 = CPS)
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.cacert.org/<CRL_file>:
for "Server-assured": ecc_serverA_<year>.crl
for "Server-unassured": ecc_serverU_<year>.crl
Signature Algorithm: ecdsa-with-SHA256
Fingerprint: 20 Bytes