You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Overhaul Section 7.1 Profiles, with two goals in mind:
- Removing deprecated pieces of our profiles, such as OCSP and the `Internet Security Research Group` Organization Name.
- Giving them the same format as the profiles in Section 7.1 of the Baseline Requirements.
Fixes#188Fixes#304
| Signed Certificate Timestamp List | Per RFC 6962 (final certificates only) |
1038
-
| CRL Distribution Point | If present, contains a URI to the CRL shard whose scope includes this certificate |
991
+
All certificates issued by ISRG are issued in accordance with exactly one of the following profiles.
992
+
993
+
### Root CA Certificate Profile
994
+
995
+
|**Field**|**Description**|
996
+
| ---- | ------ |
997
+
|`tbsCertificate`||
998
+
|`version`| See [Section 7.1.1](#711-version-numbers)|
999
+
|`serialNumber`| Approximately 128 bits, including at least 64 bits of output from a CSPRNG |
1000
+
|`signature`| See [Section 7.1.3.2](#7132-signature-algorithmidentifier)|
1001
+
|`issuer`| C=US, O=ISRG, and a meaningful CN |
1002
+
|`validity`| At most 9132 days |
1003
+
|`subject`| Byte-for-byte identical to the `issuer` field |
1004
+
|`subjectPublicKeyInfo`| See Sections [6.1.5](#615-key-sizes), [6.1.6](#616-public-key-parameters-generation-and-quality-checking), and [7.1.3.1](#7131-subjectpublickeyinfo)|
1005
+
|`issuerUniqueID`| Not present |
1006
+
|`subjectUniqueID`| Not present |
1007
+
|`extensions`||
1008
+
|`basicConstraints`| Critical, with `cA` set to true |
1009
+
|`keyUsage`| Critical, with the `keyCertSign` (5) and `cRLSign` (6) bits set |
1010
+
|`subjectKeyIdentifier`| Contains a truncated hash of the `subjectPublicKey`, per Section 2(1) of RFC 7093 |
1011
+
| Any other extension | Not present |
1012
+
|`signatureAlgorithm`| Byte-for-byte identical to the `tbsCertificate.signature`|
1013
+
|`signatureValue`| A signature appropriate to the `signatureAlgorithm` field |
1014
+
1015
+
### Cross-Certified Subordinate CA Certificate Profile
1016
+
1017
+
|**Field**|**Description**|
1018
+
| ---- | ------ |
1019
+
|`tbsCertificate`||
1020
+
|`version`| See [Section 7.1.1](#711-version-numbers)|
1021
+
|`serialNumber`| Approximately 128 bits, including at least 64 bits of output from a CSPRNG |
1022
+
|`signature`| See [Section 7.1.3.2](#7132-signature-algorithmidentifier)|
1023
+
|`issuer`| Byte-for-byte identical to the `subject` field of the Issuing CA |
1024
+
|`validity`| At most 8 years |
1025
+
|`subject`| Byte-for-byte identical to the `subject` field of the existing CA Certificate |
1026
+
|`subjectPublicKeyInfo`| See Sections [6.1.5](#615-key-sizes), [6.1.6](#616-public-key-parameters-generation-and-quality-checking), and [7.1.3.1](#7131-subjectpublickeyinfo)|
1027
+
|`issuerUniqueID`| Not present |
1028
+
|`subjectUniqueID`| Not present |
1029
+
|`extensions`||
1030
+
|`authorityInformationAccess`| Contains the HTTP URI of the Issuing CA's Certificate |
1031
+
|`authorityKeyIdentifier`| Byte-for-byte identical to the `subjectKeyIdentifier` of the Issuing CA |
1032
+
|`basicConstraints`| Critical, with `cA` set to true |
|`crlDistributionPoints`| Contains the HTTP URI of a CRL issued by the Issuing CA |
1035
+
|`keyUsage`| Critical, with the `keyCertSign` (5) and `cRLSign` (6) bits set |
1036
+
|`subjectKeyIdentifier`| Byte-for-byte identical to the `subjectKeyIdentifier` of the existing CA Certificate |
1037
+
| Any other extension | Not present |
1038
+
|`signatureAlgorithm`| Byte-for-byte identical to the `tbsCertificate.signature`|
1039
+
|`signatureValue`| A signature appropriate to the `signatureAlgorithm` field |
1040
+
1041
+
### TLS Subordinate CA Certificate Profile
1042
+
1043
+
|**Field**|**Description**|
1044
+
| ---- | ------ |
1045
+
|`tbsCertificate`||
1046
+
|`version`| See [Section 7.1.1](#711-version-numbers)|
1047
+
|`serialNumber`| Approximately 128 bits, including at least 64 bits of output from a CSPRNG |
1048
+
|`signature`| See [Section 7.1.3.2](#7132-signature-algorithmidentifier)|
1049
+
|`issuer`| Byte-for-byte identical to the `subject` field of the Issuing CA |
1050
+
|`validity`| At most 8 years |
1051
+
|`subject`| C=US, O=Let's Encrypt, and a meaningful CN |
1052
+
|`subjectPublicKeyInfo`| See Sections [6.1.5](#615-key-sizes), [6.1.6](#616-public-key-parameters-generation-and-quality-checking), and [7.1.3.1](#7131-subjectpublickeyinfo)|
1053
+
|`issuerUniqueID`| Not present |
1054
+
|`subjectUniqueID`| Not present |
1055
+
|`extensions`||
1056
+
|`authorityInformationAccess`| Contains the HTTP URI of the Issuing CA's Certificate |
1057
+
|`authorityKeyIdentifier`| Byte-for-byte identical to the `subjectKeyIdentifier` of the Issuing CA |
1058
+
|`basicConstraints`| Critical, with `cA` set to true and `pathLenConstraint` set to 0 |
|`keyUsage`| Critical, with the `digitalSignature` (0), `keyCertSign` (5), and `cRLSign` (6) bits set |
1063
+
|`subjectKeyIdentifier`| Contains a truncated hash of the `subjectPublicKey`, per Section 2(1) of RFC 7093 |
1064
+
| Any other extension | Not present |
1065
+
|`signatureAlgorithm`| Byte-for-byte identical to the `tbsCertificate.signature`|
1066
+
|`signatureValue`| A signature appropriate to the `signatureAlgorithm` field |
1067
+
1068
+
### Subscriber (Server) Certificate Profile
1069
+
1070
+
|**Field**|**Description**|
1071
+
| ---- | ------ |
1072
+
|`tbsCertificate`||
1073
+
|`version`| See [Section 7.1.1](#711-version-numbers)|
1074
+
|`serialNumber`| Approximately 144 bits, including at least 64 bits of output from a CSPRNG |
1075
+
|`signature`| See [Section 7.1.3.2](#7132-signature-algorithmidentifier)|
1076
+
|`issuer`| Byte-for-byte identical to the `subject` field of the Issuing CA |
1077
+
|`validity`| At most 100 days |
1078
+
|`subject`| CN omitted, or optionally contains one of the values from the Subject Alternative Name extension |
1079
+
|`subjectPublicKeyInfo`| See Sections [6.1.5](#615-key-sizes), [6.1.6](#616-public-key-parameters-generation-and-quality-checking), and [7.1.3.1](#7131-subjectpublickeyinfo)|
1080
+
|`issuerUniqueID`| Not present |
1081
+
|`subjectUniqueID`| Not present |
1082
+
|`extensions`||
1083
+
|`authorityInformationAccess`| Contains the HTTP URI of the Issuing CA's Certificate |
1084
+
|`authorityKeyIdentifier`| Byte-for-byte identical to the `subjectKeyIdentifier` of the Issuing CA |
1085
+
|`basicConstraints`| Critical, with `cA` set to false |
|`keyUsage`| Critical, with the `digitalSignature` (0) bit set, and optionally the `keyEnciperment` (2) bit set |
1090
+
|`SignedCertificateTimestampList`| Contains at least two SCTs from logs run by different operators |
1091
+
|`subjectAltName`| A sequence of 1 to 100 names of type `dNSName` or `ipAddress` (critical if CN omitted) |
1092
+
|`subjectKeyIdentifier`| Optionally contains a truncated hash of the `subjectPublicKey`, per Section 2(1) of RFC 7093 |
1093
+
| Any other extension | Not present |
1094
+
|`signatureAlgorithm`| Byte-for-byte identical to the `tbsCertificate.signature`|
1095
+
|`signatureValue`| A signature appropriate to the `signatureAlgorithm` field |
1096
+
1097
+
### Precertificate Profile
1098
+
1099
+
Identical to the Subscriber (Server) Certificate Profile, except that the `SignedCertificateTimestampList` extension is omitted, and a critical "CT poison" extension (OID 1.3.6.1.4.1.11129.2.4.3) is included. ISRG Precertificates are issued directly by the Issuing CA, not by a delegated Precertificate Signing CA.
0 commit comments