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
|`password_protected.pem`| Same as client | Drivers Testing CA | keyUsage, extKeyUsage | Client cert with AES-256 encrypted key |
34
+
|`crl.pem`| — | Drivers Testing CA | — | CRL revoking serial 1 (server.pem) |
35
+
|`server-kms.pem`|`CN=localhost, ...` + SAN | Drivers Testing CA | SAN, AKI, SKI | KMS mock server cert (key + cert) |
36
+
|`wrong-host.pem`|`CN=wronghost.example.com`| Drivers Testing CA | SAN, AKI, SKI | KMS wrong-host test cert |
37
+
|`expired.pem`|`CN=localhost, ...` + SAN | Drivers Testing CA | SAN, AKI, SKI | KMS expired cert (validity 2000–2001) |
38
+
|`trusted-ca.pem`|`CN=Trusted Kernel Test CA, ...`| Self (CA) | basicConstraints critical, keyUsage critical | Separate CA for CA-bundle tests |
25
39
26
40
**Password** for `password_protected.pem`: `qwerty`
27
41
@@ -37,4 +51,16 @@ The following values are hardcoded in tests and **must not change**:
37
51
38
52
## Background
39
53
40
-
Certificates were regenerated to add the **Authority Key Identifier (AKI)** extension, which Python 3.13 requires for TLS certificate chain validation (PYTHON-5040). Prior to regeneration, certs were missing AKI, causing `ssl.SSLCertVerificationError: Missing Authority Key Identifier` on macOS and Windows with Python 3.13.
54
+
Certificates were regenerated for PYTHON-5040 to fix `ssl.SSLCertVerificationError` failures on
55
+
macOS and Windows with Python 3.13+. The root causes were:
56
+
57
+
1. Python 3.13 / OpenSSL 3.x requires **AKI** on non-root certs. The original 2019 certs had none.
58
+
2. Python 3.14 enables `X509_V_FLAG_X509_STRICT` in `ssl.create_default_context()`, which
59
+
additionally requires **SKI** on non-root certs and `basicConstraints`/`keyUsage` to be critical
60
+
on CA certs.
61
+
62
+
The CA cert intentionally omits SKI even though strict mode would normally require it on all
63
+
certs: adding SKI to the CA triggers macOS SecTrust OCSP revocation checks on the MongoDB server
0 commit comments