X Tutup
Skip to content

Commit 75dc93d

Browse files
Document EKU inclusion (letsencrypt#5055)
1 parent 1d31d60 commit 75dc93d

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

cmd/ceremony/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,8 @@ certificate-profile:
129129

130130
This config generates an intermediate certificate signed by a key in the HSM, identified by the object label `root signing key` and the object ID `ffff`. The subject key used is taken from `/home/user/intermediate-signing-pub.pem` and the issuer is `/home/user/root-cert.pem`, the resulting certificate is written to `/home/user/intermediate-cert.pem`.
131131

132+
Note: Intermediate certificates always include the extended key usages id-kp-serverAuth as required by 7.1.2.2.g of the CABF Baseline Requirements. Since we also include id-kp-clientAuth in end-entity certificates in boulder we also include it in intermediates, if this changes we may remove this inclusion.
133+
132134
### OCSP Signing Certificate ceremony
133135

134136
- `ceremony-type`: string describing the ceremony type, `ocsp-signer`.

cmd/ceremony/cert.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,11 @@ func makeTemplate(randReader io.Reader, profile *certProfile, pubKey []byte, ct
272272
case crlCert:
273273
cert.IsCA = false
274274
case intermediateCert:
275+
// id-kp-serverAuth and id-kp-clientAuth are included in intermediate
276+
// certificates in order to technically constrain them. id-kp-serverAuth
277+
// is required by 7.1.2.2.g of the CABF Baseline Requirements, but
278+
// id-kp-clientAuth isn't. We include id-kp-clientAuth as we also include
279+
// it in our end-entity certificates.
275280
cert.ExtKeyUsage = []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth, x509.ExtKeyUsageServerAuth}
276281
cert.MaxPathLenZero = true
277282
}

0 commit comments

Comments
 (0)
X Tutup