summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSara Golemon <sara.golemon@mongodb.com>2019-11-13 02:27:47 +0000
committerevergreen <evergreen@mongodb.com>2019-11-13 02:27:47 +0000
commiteae761f417f689aaefd276ba195527ff1df64e3e (patch)
tree56f15ae15d95d2b588ae9c06fb38cd1bb66ac6eb
parent1180b6edf68c8104594941551cb60ed6749aad01 (diff)
downloadmongo-eae761f417f689aaefd276ba195527ff1df64e3e.tar.gz
SERVER-43085 Regenerate X509 test certificates
(cherry picked from commit 5d6cfabf7cc4ba4d23c30b7d02ea79a1d664137d) (cherry picked from commit 0fb7557a6bff0930f025b3036bcbb0c1ef0191db)
-rw-r--r--jstests/libs/README.ssl53
-rw-r--r--jstests/libs/badSAN.pem99
-rw-r--r--jstests/libs/ca-2019.pem48
-rw-r--r--jstests/libs/ca.pem121
-rw-r--r--jstests/libs/client-all-the-oids.csr.in74
-rw-r--r--jstests/libs/client-all-the-oids.pem133
-rw-r--r--jstests/libs/client-custom-oids.csr.in23
-rw-r--r--jstests/libs/client-custom-oids.pem97
-rw-r--r--jstests/libs/client-multivalue-rdn.pem90
-rw-r--r--jstests/libs/client-self-signed.pem98
-rw-r--r--jstests/libs/client.pem100
-rw-r--r--jstests/libs/client_email.pem101
-rw-r--r--jstests/libs/client_escape.pem97
-rw-r--r--jstests/libs/client_privatekey.pem100
-rw-r--r--jstests/libs/client_revoked.pem100
-rw-r--r--jstests/libs/client_roles.pem99
-rw-r--r--jstests/libs/client_title.pem101
-rw-r--r--jstests/libs/client_utf8.pem99
-rw-r--r--jstests/libs/cluster_cert.pem98
-rw-r--r--jstests/libs/crl.pem46
-rw-r--r--jstests/libs/crl_client_revoked.pem21
-rw-r--r--jstests/libs/crl_expired.pem46
-rw-r--r--jstests/libs/expired.pem99
-rw-r--r--jstests/libs/localhostnameCN.pem102
-rw-r--r--jstests/libs/localhostnameSAN.pem103
-rw-r--r--jstests/libs/not_yet_valid.pem100
-rw-r--r--jstests/libs/password_protected.pem107
-rw-r--r--jstests/libs/server-intermediate-ca.pem136
-rwxr-xr-xjstests/libs/server-intermediate-ca.pem.sh33
-rw-r--r--jstests/libs/server.pem104
-rw-r--r--jstests/libs/smoke.pem99
-rw-r--r--jstests/libs/splithorizon-ca.pem136
-rw-r--r--jstests/libs/splithorizon-server.pem106
-rw-r--r--jstests/libs/trusted-ca.pem100
-rw-r--r--jstests/libs/trusted-client.pem103
-rw-r--r--jstests/libs/trusted-client.pfxbin2533 -> 3509 bytes
-rw-r--r--jstests/libs/trusted-server.pem103
-rw-r--r--jstests/libs/trusted-server.pfxbin2533 -> 3509 bytes
-rw-r--r--jstests/ssl/libs/ssl_x509_role_auth_utf8.js2
-rw-r--r--jstests/ssl/ssl_cert_selector.js16
-rw-r--r--jstests/ssl/ssl_x509_roles.js4
-rw-r--r--jstests/ssl/x509_client.js8
-rw-r--r--jstests/ssl/x509_custom.js2
-rw-r--r--jstests/ssl/x509_invalid.js2
44 files changed, 1662 insertions, 1647 deletions
diff --git a/jstests/libs/README.ssl b/jstests/libs/README.ssl
deleted file mode 100644
index 1e230e730ff..00000000000
--- a/jstests/libs/README.ssl
+++ /dev/null
@@ -1,53 +0,0 @@
-client-self-signed.pem represents the same RDN as client.pem, but using itself as a CA:
-
-openssl req -nodes -new -subj '/CN=client/OU=KernelUser/O=MongoDB/L=New York City/ST=New York/C=US' -out css.csr -keyout css.rsa
-openssl rsa -in css.rsa -out css.key
-openssl x509 -in css.csr -out jstests/libs/client-self-signed.pem -req -signkey client-self-signed.key -days 3650
-cat css.key >> jstests/libs/client-self-signed.pem
-rm css.{csr,rsa,key}
-
----------------------------
-client-multivalue-rdn.pem represents the same RDN as client.pem, but grouping some elements together:
-
-openssl req -new -nodes -subj '/CN=client+OU=KernelUser+O=MongoDB/L=New York City+ST=New York+C=US' -multivalue-rdn \
- -keyout client-multivalue-rdn.key -out client-multivalue-rdn.csr
-openssl rsa -in client-multivalue-rdn.key -out client-multivalue-rdn.rsa
-openssl x509 -in client-multivalue-rdn.csr -out client-multivalue-rdn.pem -req -CA ca.pem -days 3650 -CAcreateserial
-cat client-multivalue-rdn.rsa >> client-multivalue-rdn.pem
-rm ca.srl client-multivalue-rdn.key client-multivalue-rdn.rsa client-multivalue-rdn.csr
-
----------------------------
-
-The other ceriticates in this directory come from x509gen.
-How to generate a certificate with a custom extension:
-
-1. Generate a normal certificate signing request without an extension
-2. Make a copy of the system openssl.cnf and append this text to the file
- On Redhat/Fedora, openssl.cnf is in /etc/pki/tls
-
-See jstests\libs\mongodbauthorizationgrant.cnf for how to generate the text with the
-'openssl asn1parse' command.
-
-[MongoDBAuthorizationGrant]
-1.3.6.1.4.1.34601.2.1.1 = DER:312B300F0C066261636B75700C0561646D696E30180C0F72656164416E7944617461626173650C0561646D696E
-
-3. Sign the certificate and add the custom extension
-4. Make a new pem with the certificate and key
-
-Example Commands
-----------------
-openssl req -config openssl.cnf -newkey rsa:2048 -nodes -keyout roles.key -out roles.csr
-
-Example with subject name:
-openssl req -config openssl.cnf -newkey rsa:2048 -nodes -keyout roles.key -out roles.csr -subj "/C=US/ST=New York/L=New York City/O=MongoDB/OU=KernelUser/CN=client/emailAddress=example@mongodb.com"
-
-openssl x509 -req -sha256 -in roles.csr -days 3650 -out roles.pem -extfile openssl.cnf -extensions MongoDBAuthorizationGrant -CA jstests/libs/ca.pem -CAcreateserial
-
-openssl rsa -in roles.key -out roles2.key
-
-cat roles.pem roles2.key > roles_final.pem
-
-
-Example Commands for UTF-8
---------------------------
-openssl req -new -utf8 -nameopt multiline,utf8 -config .\jstests\libs\client_utf8.cnf -newkey rsa:2048 -nodes -keyout roles.key -out roles.csr
diff --git a/jstests/libs/badSAN.pem b/jstests/libs/badSAN.pem
index d8e362731e0..b2e5155f1e9 100644
--- a/jstests/libs/badSAN.pem
+++ b/jstests/libs/badSAN.pem
@@ -1,48 +1,55 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml badSAN.pem
+#
+# Certificaet with an otherwise permissible CommonName, but with an unmatchable SubjectAlternateName.
-----BEGIN CERTIFICATE-----
-MIIDdTCCAl2gAwIBAgIDAYKXMA0GCSqGSIb3DQEBBQUAMHQxFzAVBgNVBAMTDktl
-cm5lbCBUZXN0IENBMQ8wDQYDVQQLEwZLZXJuZWwxEDAOBgNVBAoTB01vbmdvREIx
-FjAUBgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYD
-VQQGEwJVUzAeFw0xNDA5MjMxNTE3MjNaFw0zNDA5MjMxNTE3MjNaMG8xEjAQBgNV
-BAMTCTEyNy4wLjAuMTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RC
-MRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkG
-A1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCDB/lxuzeU
-OHR5nnOTJM0fHz0WeicnuUfGG5wP89Mbkd3Y+BNS0ozbnkW+NAGhD+ehNBjogISZ
-jLCd+uaYu7TLWpkgki+1+gM99Ro0vv7dIc8vD7ToILKMbM8xQmLbSxDT2tCUoXlc
-m7ccgDZl9oW1scQYQ8gWHjmk3yK8sCoGa/uwr49u74aVM7673tLsK41m8oYPzt/q
-VGT+mXpBJQcGXkTNQtIPxBtD25jr+aPietS3u70zrVPY6ZDsGE7DofEeRl97kVoF
-NcpaQmVEwEo8KCWaT6OaPaUUUjAMwzqiZaHNZ6mL1pCr65bLXP6T9tiMtWLw5+SG
-3E09fhQuWod5AgMBAAGjFTATMBEGA1UdEQQKMAiCBmJhZFNBTjANBgkqhkiG9w0B
-AQUFAAOCAQEAQzlibJvlUpJG3vc5JppdrudpXoVAP3wtpzvnkrY0GTWIUE52mCIf
-MJ5sARvjzs/uMhV5GLnjqTcT+DFkihqKyFo1tKBD7LSuSjfDvjmggG9lq0/xDvVU
-uczAuNtI1T7N+6P7LyTG4HqniYouPMDWyCKBOmzzNsk+r1OJb6cxU7QQwmSWw1n1
-ztNcF6JzCQVcd9Isau9AEXZ9q0M0sjD9mL67Qo3Dh3Mvf4UkJKqm3KOQOupUHZLU
-vJwfsS2u+gfHY1Plywzq3AuT7ygbksR3Pqfs8LFPnuRAH+41sFTGUM52hiU7mNPj
-ebl8s1tjK7WQ+a8GTABJV0hDNeWd3Sr+Og==
+MIIDvTCCAqUCBExModUwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjczOVoXDTM5MDkyNzIzMjczOVowbzELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxEjAQBgNVBAMMCTEyNy4w
+LjAuMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALtW4ubBls/rzaOR
+F/4KYiPRQp3srKrrAvSSI/pSVrVdeliLyldFPsMGLAPut4vVTv9NhHpkDtdnb9XY
+RAqHytlODCCGW3Sd+rawS4P8mjp4UgOH5hLhO/Ovh3NuoAc937as7p1ZePagNCF5
+hBWF8nORevPr83m+miW0gTg92iYotv4Xb+OreRNIGiwduKGW87jaAQLsoxMz5epA
+ttxlQfZRZOhZeb0obDg7shLtW97Rd+Ah/ptceDzM6YLJmoEbk9HieryLT4GcQc1w
+6BzpTJrLxVfvmf2GcfA0mMjxkxYICewQpDRftbUMViVmk2dKtibqO2UEQOuJLeMh
+GEkkaKcCAwEAAaNhMF8wCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0lBAww
+CgYIKwYBBQUHAwEwHQYDVR0OBBYEFHUVsk4PHccGPFFK+71UR9FWWp0xMBEGA1Ud
+EQQKMAiCBmJhZFNBTjANBgkqhkiG9w0BAQsFAAOCAQEAriJ4/IxAQjXsTdzPqzI4
+Zk+z4LJ2W3NNXOGRTOqDrbA3PXpTHSt/3UBLWaILwFP7IaoKk1J7Z5+dznKjahiu
+JA/omaJyj24RWk8HSrwdhAcqi0R3nppp6VbSiEJsg/Xgwucvvu5FsrW/k5avRdk/
+tK2iKVCd6PsgEN4iaxwClSAPHTVRktwjdC+wjp1A5dLow0u9g97vdJkQuuertMlU
+fT5cgeBw0/UrAVYCZwwkHlljje3iIG7jqYX/2eohbWTZvG5doNEMuScXUTQIqEew
+0rXY+AQhSCOsiiRZcF+/1wVzAzVu6sSlC6xFYmnNR1WcQAwskK3Qt8m3ZTpokX3O
+mw==
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAgwf5cbs3lDh0eZ5zkyTNHx89FnonJ7lHxhucD/PTG5Hd2PgT
-UtKM255FvjQBoQ/noTQY6ICEmYywnfrmmLu0y1qZIJIvtfoDPfUaNL7+3SHPLw+0
-6CCyjGzPMUJi20sQ09rQlKF5XJu3HIA2ZfaFtbHEGEPIFh45pN8ivLAqBmv7sK+P
-bu+GlTO+u97S7CuNZvKGD87f6lRk/pl6QSUHBl5EzULSD8QbQ9uY6/mj4nrUt7u9
-M61T2OmQ7BhOw6HxHkZfe5FaBTXKWkJlRMBKPCglmk+jmj2lFFIwDMM6omWhzWep
-i9aQq+uWy1z+k/bYjLVi8OfkhtxNPX4ULlqHeQIDAQABAoIBAC4Bx8jyJmKpq+Pk
-CcqZelg6HLXesA7XlGbv3M0RHIeqoM2E1SwYd5LJMM3G7ueBcR/97dz8+xH6/yyJ
-Ixxvk9xu9CMmkRABN9AyVkA867nzHA73Idr7WBXMQreWCqXa5o6sXt5BEB6/If0k
-23TTqUERqLuoWQHDHRRRsJ218RuNmbvBe8TGXcfunC0eeDVKDeqAXol6bD5lztdu
-B6jkdLt5UZSQ7X8OmClbeDlac90B8usNi+pUE9q1p7X462vAw8LohkxLY2nyIcmU
-feNdTNHP+lklv+E+p9w/Az7Hf6zxm525tw90QVI048fr9SL3ftLHOt4FhucSCn0Z
-CjylP4ECgYEA+nQrNVdVwmxcWCVn69LR1grNXUSz+fLHCo+QKma4IyC1kuuZ+BBo
-Iwdf9t/S1tgtTYru3uxzCpQg7J1iDeEFEsMHl0rc6U1MmIE+6OvACVG3yotqoOqE
-852pi1OWIe94yTk2ZmNXJ8gpUE/gtMprbcSWOb7IzzrXy2lDcaEMuGkCgYEAhe7L
-ZvYI4LEvu6GSPp97qBzDH9m5UrHaTZIJk/Nu7ie919Sdg62LTfphsaK+pSyA55XQ
-8L9P7wNUPC44NnE+7CIJZsIuKdYqR5QI6No9RdTyij0Hgljfc7KuH2b8lf8EjvuH
-qZAf5zL3pIOQs8E8/MYHlGIqmTkYK41eCAcS9JECgYEADnra6KmU9rmnGR2IhZTZ
-tuNG/kZzlVbY9R5ZumnX6YgBl23xp+ri6muJu88y9GLpM5t9tfu7pvfrc2KiAaVp
-0qzd6nxUi1SBwituxK6kmqVT1+z5jDYi26bY34pEms+qjw+0unSx3EXxRYhouGsf
-jOgZu1rxZzHCuirq0E38W0kCgYBzOK16RX37t9OFywlioJekWCIxu4BouSNCirl8
-s/eiIUR8cqiUCPAIRLhZNtZmiTPYiBW5mAyvZiDIqUao56InSVznL3TBf0LeU2ea
-023VLs79yGU2aTjLc1PDJjl03XDRhWj/okMgBsPvn1QUoNDT8ZXBvPZC3VCC31qe
-818GUQKBgQDBUP2BC/Th/0dErOQ5lWkY3YbmzrTp2pDsHGZJRD+OdQ5B8FUvCP8m
-JESk/0ATn7niUqawnOy/2KlKIkeBBV2XL1rjIGEhCkBUuhCiInNDqz1AGdXzIKaT
-myoZ4PhIsH1D643e6iLhyAZuUAA4yB31E2a3l7EMyhV3vKbdWWygGQ==
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7VuLmwZbP682j
+kRf+CmIj0UKd7Kyq6wL0kiP6Ula1XXpYi8pXRT7DBiwD7reL1U7/TYR6ZA7XZ2/V
+2EQKh8rZTgwghlt0nfq2sEuD/Jo6eFIDh+YS4Tvzr4dzbqAHPd+2rO6dWXj2oDQh
+eYQVhfJzkXrz6/N5vpoltIE4PdomKLb+F2/jq3kTSBosHbihlvO42gEC7KMTM+Xq
+QLbcZUH2UWToWXm9KGw4O7IS7Vve0XfgIf6bXHg8zOmCyZqBG5PR4nq8i0+BnEHN
+cOgc6Uyay8VX75n9hnHwNJjI8ZMWCAnsEKQ0X7W1DFYlZpNnSrYm6jtlBEDriS3j
+IRhJJGinAgMBAAECggEAIlNBL9a4s1AZVab4Jmvwn29wLU94M7jrybQdM3hyurht
++ltir6rYXRN8bRwINW7YEp85btN2hLFHJH+DuAo5eKd8QVlc2Hk5vs9+hqh5+cyh
++lOkLEFoorW+s7/JQopruyTkc6A5MbcY1ilVsjvguJwnUxogemYaCF6SbqOmnOb4
+myBgUhxo5ka7rt8q0ULSAOGbbrR1tBWTRx6VJhRv/qoUyGiA9jPpYN4kpSK2MHsE
+1U4NnJSVLQ9TCNt6fcsvfCjIM7j7VnppTIMGdi3Wqrsgg2nhWT0178MD4mIsDzyd
+6IX64F3dwaGZb1TQbdFLJkk2XLiHdhOBJ4WOwi+MAQKBgQDf1iYnBFWSpkRIDC2j
+ArKL8u0Qf7lVUvtNXXJ+WGKdynlm1fSKH3I+7dB5X7YSI7BiFbSls1DuCRcK5r3v
+X2cR5JmVIX0JRd/RHqDWE3OYdE5cnNWjHVACDnvSxVjPmd7PCTLr7if5jsQs52Gr
+zfUBIfIarRVwX21fDl3xQdoxQQKBgQDWQi/N2cbpm+zBHtqPC5W1+mD+fb642LX3
+RwJ9UdV8XcV/z0EXNkCswy43b7DSRp2lY7FV82zjXb22hpZtXUcSDuDEQHeGixdZ
+grfJ3gwy2+uEZD0q0/aq9ST/NGqTszw45okNlgVKkm0bEQfPJ15iexHIPt0olRWv
+NtuUBG035wKBgAVgOU5alkuNXrp0QGxX1j3yOatZxfO8qHh1NBjAuq2bfUrw/IyM
+sMu+HnGr0M2iucvBRbNtGRZ+dWU3oXwsSGdvnBiu0zfzy6pUF/zMPsx8jp0+zwq5
+24ARJPws7TMfOPC0AdsUvzUJLsD9VaUwrx+11wC5A3jNce0EhVEUCc+BAoGAYs0A
+mE89b4pMgb2FkYMJFXKQ+anoofqk5pNjLYDoDkJ7iXV8EYUeC8yxajTh+AVCOvse
+0oC/DJW0nw+vHF1wIX6k3TrRI0TOjqM9tyPiwi0xjMpgfnhh/fGvjtOP9e4n7iE4
+wAAXDo05LMsMq9T+rDEOQSXj/AvLhRGp7bag2q8CgYADThguR//WzETbnxx27XG3
+EengMMdlx9GlZfw8hPS7Xd3/esB4BCdeCjUgEuKFqGazchwIyuR6zIT2zFWhjHxq
+VYAv/mCn/IKOGk/RXP1vL49K/4C4al2fL3tbLoSw9UIkz4BsBOH2Ui3E8dBGv07m
+viGISdodreo8VxAKGBpEEA==
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/ca-2019.pem b/jstests/libs/ca-2019.pem
new file mode 100644
index 00000000000..d1a5689cf0f
--- /dev/null
+++ b/jstests/libs/ca-2019.pem
@@ -0,0 +1,48 @@
+-----BEGIN CERTIFICATE-----
+MIIDczCCAlugAwIBAgIBATANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
+ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
+FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
+BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjB0MRcwFQYDVQQD
+Ew5LZXJuZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25n
+b0RCMRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazEL
+MAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCBxSXj
+qA5y2EMQkcmvLDNikE88Og3+spJ3ex60HWVPk8EeXN68jyfbKLYsoCcBE2rBAE/N
+shVBJa8irh0o/UTh1XNW4iGCsfMvYamXiHnaOjmGVKjfBoj6pzQH0uK0X5olm3Sa
+zZPkLLCR81yxsK6woJZMFTvrlEjxj/SmDZ9tVXW692bC4i6nGvOCSpgv9kms85xO
+Ed2xbuCLXFDXKafXZd5AK+iegkDs3ah7VXMEE8sbqGnlqC1nsy5bpCnb7aC+3af7
+SV2XEFlSQT5kwTmk9CvTDzM9O78SO8nNhEOFBLQEdGDGd3BShE8dCdh2JTy3zKsb
+WeE+mxy0mEwxNfGfAgMBAAGjEDAOMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEF
+BQADggEBAANwbvhM5K/Jcl6yzUSqAawvyAypT5aWBob7rt9KFq/aemjMN0gY2nsS
+8WTGd9jiXlxGc/TzrK6MOsJ904UAFE1L9uR//G1gIBa9dNbYoiii2Fc8b1xDVJEP
+b23rl/+GAT6UTSY+YgEjeA4Jk6H9zotO07lSw06rbCQam5SdA5UiMvuLHWCo3BHY
+8WzqLiW/uHlb4K5prF9yuTUBEIgkRvvvyOKXlRvm1Ed5UopT2hmwA86mffAfgJc2
+vSbm9/8Q00fYwO7mluB6mbEcnbquaqRLoB83k+WbwUAZ2yjWHXuXVMPwyaysazcp
+nOjaLwQJQgKejY62PiNcw7xC/nIxBeI=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAgcUl46gOcthDEJHJrywzYpBPPDoN/rKSd3setB1lT5PBHlze
+vI8n2yi2LKAnARNqwQBPzbIVQSWvIq4dKP1E4dVzVuIhgrHzL2Gpl4h52jo5hlSo
+3waI+qc0B9LitF+aJZt0ms2T5CywkfNcsbCusKCWTBU765RI8Y/0pg2fbVV1uvdm
+wuIupxrzgkqYL/ZJrPOcThHdsW7gi1xQ1ymn12XeQCvonoJA7N2oe1VzBBPLG6hp
+5agtZ7MuW6Qp2+2gvt2n+0ldlxBZUkE+ZME5pPQr0w8zPTu/EjvJzYRDhQS0BHRg
+xndwUoRPHQnYdiU8t8yrG1nhPpsctJhMMTXxnwIDAQABAoIBAD5iGOnM800wO2Uu
+wGbOd9FNEFoiinHDRHfdnw/1BavwmqjO+mBo7T8E3jarsrRosiwfyz1V+7O6uuuQ
+CgKXZlKuOuksgfGDPCWt7EolWHaZAOhbsGaujJD6ah/MuCD/yGmFxtNYOl05QpSX
+Cht9lSzhtf7TQl/og/xkOLbO27JB540ck/OCSOczXg9Z/O8AmIUyDn7AKb6G1Zhk
+2IN//HQoAvDUMZLWrzy+L7YGbA8pBR3yiPsYBH0rX2Oc9INpiGA+B9Nf1HDDsxeZ
+/o+5xLbRDDfIDtlYO0cekJ053W0zUQLrMEIn9991EpG2O/fPgs10NlKJtaFH8CmT
+ExgVA9ECgYEA+6AjtUdxZ0BL3Wk773nmhesNH5/5unWFaGgWpMEaEM7Ou7i6QApL
+KAbzOYItV3NNCbkcrejq7jsDGEmiwUOdXeQx6XN7/Gb2Byc/wezy5ALi0kcUwaur
+6s9+Ah+T4vcU2AjfuCWXIpe46KLEbwORmCRQGwkCBCwRhHGt5sGGxTkCgYEAhAaw
+voHI6Cb+4z3PNAKRnf2rExBYRyCz1KF16ksuwJyQSLzFleXRyRWFUEwLuVRL0+EZ
+JXhMbtrILrc23dJGEsB8kOCFehSH/IuL5eB0QfKpDFA+e6pimsbVeggx/rZhcERB
+WkcV3jN4O82gSL3EnIgvAT1/nwhmbmjvDhFJhZcCgYBaW4E3IbaZaz9S/O0m69Fa
+GbQWvS3CRV1oxqgK9cTUcE9Qnd9UC949O3GwHw0FMERjz3N7B/8FGW/dEuQ9Hniu
+NLmvqWbGlnqWywNcMihutJKbDCdp/Km5olUPkiNbB3sWsOkViXoiU/V0pK6BZvir
+d67EZpGwydpogyH9kVVCEQKBgGHXc3Q7SmCBRbOyQrQQk0m6i+V8328W1S5m2bPg
+M62aWXMOMn976ZRT1pBDSwz1Y5yJ3NDf7gTZLjEwpgCNrFCJRcc4HLL0NDL8V5js
+VjvpUU5GyYdsJdb+M4ZUPHi/QEaqzqPQumwJSLlJEdfWirZWVj9dDA8XcpGwQjjy
+psHRAoGBAJUTgeJYhjK7k5sgfh+PRqiRJP0msIH8FK7SenBGRUkelWrW6td2Riey
+EcOCMFkRWBeDgnZN5xDyWLBgrzpw9iHQQIUyyBaFknQcRUYKHkCx+k+fr0KHHCUb
+X2Kvf0rbeMucb4y/h7950HkBBq83AYKMAoI8Ql3cx7pKmyOLXRov
+-----END RSA PRIVATE KEY----- \ No newline at end of file
diff --git a/jstests/libs/ca.pem b/jstests/libs/ca.pem
index d1a5689cf0f..b2bc1ee2aee 100644
--- a/jstests/libs/ca.pem
+++ b/jstests/libs/ca.pem
@@ -1,48 +1,75 @@
------BEGIN CERTIFICATE-----
-MIIDczCCAlugAwIBAgIBATANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
-ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
-FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
-BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjB0MRcwFQYDVQQD
-Ew5LZXJuZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25n
-b0RCMRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazEL
-MAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCBxSXj
-qA5y2EMQkcmvLDNikE88Og3+spJ3ex60HWVPk8EeXN68jyfbKLYsoCcBE2rBAE/N
-shVBJa8irh0o/UTh1XNW4iGCsfMvYamXiHnaOjmGVKjfBoj6pzQH0uK0X5olm3Sa
-zZPkLLCR81yxsK6woJZMFTvrlEjxj/SmDZ9tVXW692bC4i6nGvOCSpgv9kms85xO
-Ed2xbuCLXFDXKafXZd5AK+iegkDs3ah7VXMEE8sbqGnlqC1nsy5bpCnb7aC+3af7
-SV2XEFlSQT5kwTmk9CvTDzM9O78SO8nNhEOFBLQEdGDGd3BShE8dCdh2JTy3zKsb
-WeE+mxy0mEwxNfGfAgMBAAGjEDAOMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEF
-BQADggEBAANwbvhM5K/Jcl6yzUSqAawvyAypT5aWBob7rt9KFq/aemjMN0gY2nsS
-8WTGd9jiXlxGc/TzrK6MOsJ904UAFE1L9uR//G1gIBa9dNbYoiii2Fc8b1xDVJEP
-b23rl/+GAT6UTSY+YgEjeA4Jk6H9zotO07lSw06rbCQam5SdA5UiMvuLHWCo3BHY
-8WzqLiW/uHlb4K5prF9yuTUBEIgkRvvvyOKXlRvm1Ed5UopT2hmwA86mffAfgJc2
-vSbm9/8Q00fYwO7mluB6mbEcnbquaqRLoB83k+WbwUAZ2yjWHXuXVMPwyaysazcp
-nOjaLwQJQgKejY62PiNcw7xC/nIxBeI=
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml ca.pem
+#
+# Primary Root Certificate Authority Most Certificates are issued by this CA.
+-----BEGIN CERTIFICATE-----
+MIIDdDCCAlwCBBmRIxIwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjczOVoXDTM5MDkyNzIzMjczOVowdDELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5l
+bCBUZXN0IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAupVkx8+n
+AqzsANKwNPeCYlf2q0WgF4kSUMNJdpmMelrr7hh7EOnAU0hTAQx9BKTEbExeCzH6
+OArFNGjewjWVXwaOpCjK8FMvK6/lGVEpmoHNF9XuiQVmaQ4bJD6rC73YjpgNIPeL
+5PyoFLEZv+X2cRBPpTcSRcf87tk8HL7v0eyk1JBhkeKK68SYdWwZlHaa1jqwmliW
+WvVMkHVH3lx0VOgQwWtOgs0K1zpcZ0sH5MGpYRQOiidIRZj3PkKeTPQe2D6VQQtv
+2yDs9dWfCxJJP9QiWclL2rF/xqlFSNEIfNZpZhk6I1DHQpA2uyJfzRH62pFasJuB
+CVh5Tr0EDoVreQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
+CwUAA4IBAQARdNCYYWxi2fyhJwzGHwIT261d/pTlOSYLlm84c72aEneFUnfp8/H5
+JjuFbnhiX+5+h3M7eDQhra9s+H3vKr7o38EIVf5OKXvpNLwv1UUmomBvKqccioYh
+bxrfwCzfBRuUmW05kcAVn8iKovqyxL7npEZbckwtT+BqZ4kOL4Uzre+S1HMx0zOu
+xulSYA/sBoJ2BB93ZIAqB+f/+InS9yggzyhhaQqS7QEl1L4nZE4Oy0jKcxdCzysm
+TqiyH+OI5SVRTfXh4XvHmdWBBaQyaTmQzXYUxUi7jg1jEAiebCGrEJv9plwq4KfC
+cze9NLBjaXR3GzonT8kICyVT/0UvhuJg
+-----END CERTIFICATE-----
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6lWTHz6cCrOwA
+0rA094JiV/arRaAXiRJQw0l2mYx6WuvuGHsQ6cBTSFMBDH0EpMRsTF4LMfo4CsU0
+aN7CNZVfBo6kKMrwUy8rr+UZUSmagc0X1e6JBWZpDhskPqsLvdiOmA0g94vk/KgU
+sRm/5fZxEE+lNxJFx/zu2Twcvu/R7KTUkGGR4orrxJh1bBmUdprWOrCaWJZa9UyQ
+dUfeXHRU6BDBa06CzQrXOlxnSwfkwalhFA6KJ0hFmPc+Qp5M9B7YPpVBC2/bIOz1
+1Z8LEkk/1CJZyUvasX/GqUVI0Qh81mlmGTojUMdCkDa7Il/NEfrakVqwm4EJWHlO
+vQQOhWt5AgMBAAECggEATMiSEtBXsHgtHyGVNhbtZz8/2bfrbAQSr33OS6pg7zFf
+ijo02v73EM7gqbvT7wdHdjHvObg1er6j7S+DDHU0pUhzhwbqjQAOl3HpXAPUlSr5
+leeKJIU+YdlWPhI0Hb7g0b2tGXYF8hQvr2Q6bohaZKkLvbfuIx1r73cij8nbs411
+MU892GBVZRcMGITLT7W1BFWYGmjqIH7FabSpFpIxeEX2ONooHHOYBlj3dJs8WdGr
+/gGJSYq1YGUbVQLIn5m9JmYuFShEhcSrGVAdKto2qRqUpTaePXLU8dozInejFMVb
+yul5fwPuUGgDz+x6wKWRSA8138uaEHQl7r5DqOv6oQKBgQDkYg37TdSC0cCWxL/J
+vFzMPQ/p9iT8ZgOA1lvUUkpwhGOdAqAiR35vZPwFtu3sSl/BUER7ZDf+ILfdPzW5
+wFiWWAkrS8jWl9RaFwkjeTq5fwv3kJGwPwVvCzjLjX7tUDCJv8azOuIxoindCnnC
+y5HXm6hOQZS26lZqNDzsBFzWdQKBgQDRJV9+7gRyZhl8PIBO91Hl5C+wTBFjFFrH
+TJRnT0pNX5FRkPZoyPgJD44S0zFg4oWKl1r2YvfwCQZtQl3h2ZDDGnEE7mJ0++hi
++UUfLyF9dXq27aK4mJsDkdp5Hi6vqfBETPPPyHffwY/UFLOsseqU+5aVG/7Hk6Th
+r2jQzNzIdQKBgQCx1SRb9YuvXdKf044fcNu1cSquHCtKmcjKjp+soXMzT/Mc9Elq
+x87MwI55iKqU3ojXR0A78Jqk+CcTUT/tZrfUQbLKEtXNOyZwDBXimGhAvou79sdq
+vHfnso5D+ebGtTVGXZ1EPGqbCVGdu6V6J/dlMuCIJwq8r5YgVpLFmNQNbQKBgQCD
+PNRjra+UqYSsdLp+0qrNexaBpfnzFj6weNlWymZxjtp9OF2m+xTJer1ICsYdaYcq
+pDcsDIZQVRl3TgHjSsaP5vOsiHm3tqroEErTepulQiayywMkmn4LC2bwQYRCLnza
+Hv+PDthJzAgYqLTmVO5CdmzTPDHvwjHgfFVlUGfqUQKBgE16f0Euzx3qySIJmMrR
+dNI/y8FSSLgoxWPX7WQIpnXhbNeqqlwGNOi8beSkiRsaL6zJcR3tTPkOfsSeIiCf
+yG73jB3F1L8A5dX2YrKOJOzSxrByzVDnfrukCuxkcW0N31OJ0sFiq9Kjcb/9zyiI
+BQTIxkN91Squn4Y+I3ikyoc3
+-----END PRIVATE KEY-----
+# Certificate from ca-2019.pem
+-----BEGIN CERTIFICATE-----
+MIIDczCCAlugAwIBAgIBATANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
+ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
+FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
+BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjB0MRcwFQYDVQQD
+Ew5LZXJuZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25n
+b0RCMRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazEL
+MAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCBxSXj
+qA5y2EMQkcmvLDNikE88Og3+spJ3ex60HWVPk8EeXN68jyfbKLYsoCcBE2rBAE/N
+shVBJa8irh0o/UTh1XNW4iGCsfMvYamXiHnaOjmGVKjfBoj6pzQH0uK0X5olm3Sa
+zZPkLLCR81yxsK6woJZMFTvrlEjxj/SmDZ9tVXW692bC4i6nGvOCSpgv9kms85xO
+Ed2xbuCLXFDXKafXZd5AK+iegkDs3ah7VXMEE8sbqGnlqC1nsy5bpCnb7aC+3af7
+SV2XEFlSQT5kwTmk9CvTDzM9O78SO8nNhEOFBLQEdGDGd3BShE8dCdh2JTy3zKsb
+WeE+mxy0mEwxNfGfAgMBAAGjEDAOMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEF
+BQADggEBAANwbvhM5K/Jcl6yzUSqAawvyAypT5aWBob7rt9KFq/aemjMN0gY2nsS
+8WTGd9jiXlxGc/TzrK6MOsJ904UAFE1L9uR//G1gIBa9dNbYoiii2Fc8b1xDVJEP
+b23rl/+GAT6UTSY+YgEjeA4Jk6H9zotO07lSw06rbCQam5SdA5UiMvuLHWCo3BHY
+8WzqLiW/uHlb4K5prF9yuTUBEIgkRvvvyOKXlRvm1Ed5UopT2hmwA86mffAfgJc2
+vSbm9/8Q00fYwO7mluB6mbEcnbquaqRLoB83k+WbwUAZ2yjWHXuXVMPwyaysazcp
+nOjaLwQJQgKejY62PiNcw7xC/nIxBeI=
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAgcUl46gOcthDEJHJrywzYpBPPDoN/rKSd3setB1lT5PBHlze
-vI8n2yi2LKAnARNqwQBPzbIVQSWvIq4dKP1E4dVzVuIhgrHzL2Gpl4h52jo5hlSo
-3waI+qc0B9LitF+aJZt0ms2T5CywkfNcsbCusKCWTBU765RI8Y/0pg2fbVV1uvdm
-wuIupxrzgkqYL/ZJrPOcThHdsW7gi1xQ1ymn12XeQCvonoJA7N2oe1VzBBPLG6hp
-5agtZ7MuW6Qp2+2gvt2n+0ldlxBZUkE+ZME5pPQr0w8zPTu/EjvJzYRDhQS0BHRg
-xndwUoRPHQnYdiU8t8yrG1nhPpsctJhMMTXxnwIDAQABAoIBAD5iGOnM800wO2Uu
-wGbOd9FNEFoiinHDRHfdnw/1BavwmqjO+mBo7T8E3jarsrRosiwfyz1V+7O6uuuQ
-CgKXZlKuOuksgfGDPCWt7EolWHaZAOhbsGaujJD6ah/MuCD/yGmFxtNYOl05QpSX
-Cht9lSzhtf7TQl/og/xkOLbO27JB540ck/OCSOczXg9Z/O8AmIUyDn7AKb6G1Zhk
-2IN//HQoAvDUMZLWrzy+L7YGbA8pBR3yiPsYBH0rX2Oc9INpiGA+B9Nf1HDDsxeZ
-/o+5xLbRDDfIDtlYO0cekJ053W0zUQLrMEIn9991EpG2O/fPgs10NlKJtaFH8CmT
-ExgVA9ECgYEA+6AjtUdxZ0BL3Wk773nmhesNH5/5unWFaGgWpMEaEM7Ou7i6QApL
-KAbzOYItV3NNCbkcrejq7jsDGEmiwUOdXeQx6XN7/Gb2Byc/wezy5ALi0kcUwaur
-6s9+Ah+T4vcU2AjfuCWXIpe46KLEbwORmCRQGwkCBCwRhHGt5sGGxTkCgYEAhAaw
-voHI6Cb+4z3PNAKRnf2rExBYRyCz1KF16ksuwJyQSLzFleXRyRWFUEwLuVRL0+EZ
-JXhMbtrILrc23dJGEsB8kOCFehSH/IuL5eB0QfKpDFA+e6pimsbVeggx/rZhcERB
-WkcV3jN4O82gSL3EnIgvAT1/nwhmbmjvDhFJhZcCgYBaW4E3IbaZaz9S/O0m69Fa
-GbQWvS3CRV1oxqgK9cTUcE9Qnd9UC949O3GwHw0FMERjz3N7B/8FGW/dEuQ9Hniu
-NLmvqWbGlnqWywNcMihutJKbDCdp/Km5olUPkiNbB3sWsOkViXoiU/V0pK6BZvir
-d67EZpGwydpogyH9kVVCEQKBgGHXc3Q7SmCBRbOyQrQQk0m6i+V8328W1S5m2bPg
-M62aWXMOMn976ZRT1pBDSwz1Y5yJ3NDf7gTZLjEwpgCNrFCJRcc4HLL0NDL8V5js
-VjvpUU5GyYdsJdb+M4ZUPHi/QEaqzqPQumwJSLlJEdfWirZWVj9dDA8XcpGwQjjy
-psHRAoGBAJUTgeJYhjK7k5sgfh+PRqiRJP0msIH8FK7SenBGRUkelWrW6td2Riey
-EcOCMFkRWBeDgnZN5xDyWLBgrzpw9iHQQIUyyBaFknQcRUYKHkCx+k+fr0KHHCUb
-X2Kvf0rbeMucb4y/h7950HkBBq83AYKMAoI8Ql3cx7pKmyOLXRov
------END RSA PRIVATE KEY----- \ No newline at end of file
diff --git a/jstests/libs/client-all-the-oids.csr.in b/jstests/libs/client-all-the-oids.csr.in
deleted file mode 100644
index 9d588c9fc13..00000000000
--- a/jstests/libs/client-all-the-oids.csr.in
+++ /dev/null
@@ -1,74 +0,0 @@
-# Create certificate using:
-# openssl req -new -config client-all-the-oids.csr.in -keyout client-all-the-oids.key -out client-all-the-oids.csr
-# openssl rsa -in client-all-the-oids.key -out client-all-the-oids.rsa
-# openssl x509 -in client-all-the-oids.csr -out client-all-the-oids.pem -req -CA ca.pem -days 3650 -CAcreateserial
-# cat client-all-the-oids.rsa >> client-all-the-oids.pem
-# rm ca.srl client-all-the-oids.key client-all-the-oids.rsa client-all-the-oids.csr
-
-[ req ]
-default_bits=2048
-prompt=no
-encrypt_key=no
-default_md=sha1
-distinguished_name=dn
-
-[ dn ]
-# Collect all known OIDs using:
-# grep -E '^X509 ' "$OPENSSL/crypto/objects/objects.txt" | tr -d '\t' | \
-# sed -e 's/^X509 *\([0-9]\+\) *\(: *\)\+\([[:alnum:]]\+\).*/\3=Datum-\1/g' \
-# -e 's/C=Datum-6/C=US/g' -e 's/ST=Datum-8/ST=NY/g'
-CN=Datum-3
-SN=Datum-4
-serialNumber=Datum-5
-C=US
-L=Datum-7
-ST=NY
-street=Datum-9
-O=Datum-10
-OU=Datum-11
-title=Datum-12
-description=Datum-13
-searchGuide=Datum-14
-businessCategory=Datum-15
-postalAddress=Datum-16
-postalCode=Datum-17
-postOfficeBox=Datum-18
-physicalDeliveryOfficeName=Datum-19
-telephoneNumber=Datum-20
-telexNumber=Datum-21
-teletexTerminalIdentifier=Datum-22
-facsimileTelephoneNumber=Datum-23
-x121Address=Datum-24
-internationaliSDNNumber=Datum-25
-registeredAddress=Datum-26
-destinationIndicator=Datum-27
-preferredDeliveryMethod=Datum-28
-presentationAddress=Datum-29
-supportedApplicationContext=Datum-30
-member=Datum-31
-owner=Datum-32
-roleOccupant=Datum-33
-seeAlso=Datum-34
-userPassword=Datum-35
-userCertificate=Datum-36
-cACertificate=Datum-37
-authorityRevocationList=Datum-38
-certificateRevocationList=Datum-39
-crossCertificatePair=Datum-40
-name=Datum-41
-GN=Datum-42
-initials=Datum-43
-generationQualifier=Datum-44
-x500UniqueIdentifier=Datum-45
-dnQualifier=Datum-46
-enhancedSearchGuide=Datum-47
-protocolInformation=Datum-48
-distinguishedName=Datum-49
-uniqueMember=Datum-50
-houseIdentifier=Datum-51
-supportedAlgorithms=Datum-52
-deltaRevocationList=Datum-53
-dmdName=Datum-54
-pseudonym=Datum-65
-role=Datum-72
-
diff --git a/jstests/libs/client-all-the-oids.pem b/jstests/libs/client-all-the-oids.pem
index d92bcd809cc..3fc062a207d 100644
--- a/jstests/libs/client-all-the-oids.pem
+++ b/jstests/libs/client-all-the-oids.pem
@@ -1,66 +1,71 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client-all-the-oids.pem
+#
+# Client certificate with a long list of OIDs. Ensures the server functions well in unexpected circumstances.
-----BEGIN CERTIFICATE-----
-MIIG4zCCBcsCCQD7OSGYeyWKHzANBgkqhkiG9w0BAQsFADB0MRcwFQYDVQQDEw5L
-ZXJuZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RC
-MRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkG
-A1UEBhMCVVMwHhcNMTgwNjA1MTczMzQ3WhcNMjgwNjAyMTczMzQ3WjCCA/ExEDAO
-BgNVBAMMB0RhdHVtLTMxEDAOBgNVBAQMB0RhdHVtLTQxEDAOBgNVBAUTB0RhdHVt
-LTUxCzAJBgNVBAYTAlVTMRAwDgYDVQQHDAdEYXR1bS03MQswCQYDVQQIDAJOWTEQ
-MA4GA1UECQwHRGF0dW0tOTERMA8GA1UECgwIRGF0dW0tMTAxETAPBgNVBAsMCERh
-dHVtLTExMREwDwYDVQQMDAhEYXR1bS0xMjERMA8GA1UEDQwIRGF0dW0tMTMxETAP
-BgNVBA4MCERhdHVtLTE0MREwDwYDVQQPDAhEYXR1bS0xNTERMA8GA1UEEAwIRGF0
-dW0tMTYxETAPBgNVBBEMCERhdHVtLTE3MREwDwYDVQQSDAhEYXR1bS0xODERMA8G
-A1UEEwwIRGF0dW0tMTkxETAPBgNVBBQMCERhdHVtLTIwMREwDwYDVQQVDAhEYXR1
-bS0yMTERMA8GA1UEFgwIRGF0dW0tMjIxETAPBgNVBBcMCERhdHVtLTIzMREwDwYD
-VQQYDAhEYXR1bS0yNDERMA8GA1UEGQwIRGF0dW0tMjUxETAPBgNVBBoMCERhdHVt
-LTI2MREwDwYDVQQbDAhEYXR1bS0yNzERMA8GA1UEHAwIRGF0dW0tMjgxETAPBgNV
-BB0MCERhdHVtLTI5MREwDwYDVQQeDAhEYXR1bS0zMDERMA8GA1UEHwwIRGF0dW0t
-MzExETAPBgNVBCAMCERhdHVtLTMyMREwDwYDVQQhDAhEYXR1bS0zMzERMA8GA1UE
-IgwIRGF0dW0tMzQxETAPBgNVBCMMCERhdHVtLTM1MREwDwYDVQQkDAhEYXR1bS0z
-NjERMA8GA1UEJQwIRGF0dW0tMzcxETAPBgNVBCYMCERhdHVtLTM4MREwDwYDVQQn
-DAhEYXR1bS0zOTERMA8GA1UEKAwIRGF0dW0tNDAxETAPBgNVBCkMCERhdHVtLTQx
-MREwDwYDVQQqDAhEYXR1bS00MjERMA8GA1UEKwwIRGF0dW0tNDMxETAPBgNVBCwM
-CERhdHVtLTQ0MREwDwYDVQQtDAhEYXR1bS00NTERMA8GA1UELhMIRGF0dW0tNDYx
-ETAPBgNVBC8MCERhdHVtLTQ3MREwDwYDVQQwDAhEYXR1bS00ODERMA8GA1UEMQwI
-RGF0dW0tNDkxETAPBgNVBDIMCERhdHVtLTUwMREwDwYDVQQzDAhEYXR1bS01MTER
-MA8GA1UENAwIRGF0dW0tNTIxETAPBgNVBDUMCERhdHVtLTUzMREwDwYDVQQ2DAhE
-YXR1bS01NDERMA8GA1UEQQwIRGF0dW0tNjUxETAPBgNVBEgMCERhdHVtLTcyMIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyh8fyOWfeamvgR+hQ3pAd00c
-8rPwg3hYcF+7ObZPJI2E7qNV6I+gK6ho5f6D6wx7h3TuJkZLIOnf38HR7YFXKBNp
-xPtBiSWmeleryZad5mdGKy5UsBkVz5XjcY/F2MjqAwSuO+tL+KVOHomVWcEp8CTu
-lOeVlnP8SG8lrNiCtjm8xhKIs5qC33uhj8aI57D42lpL79y2zcR52SevI7ifw2NU
-BHmUr1+mUexZkPbDUeGUS0kbeavleMCpE0cizJHJiFW83XkH7d0KnW01IzkS1DqM
-CXQ6MzDOmKtvLvpief/+M4pZdl1iTyYP5cygm/NvtY0VgLvyj4wptuMB5zanuwID
-AQABMA0GCSqGSIb3DQEBCwUAA4IBAQADiQXznY0pwwkEncBChXie3BHms11pp6NX
-wyDQDud9j8EDa7y48sfNO5nXQw1ND0T4U4LUEFxKPG4lqMtQbsKrEEN3i+Wog/mY
-NC+SeVu6S/xxnULzhlLu1Df6+o6MzJcwSEkQgmaFNk8WjkFSU/cBQo41kfXtRId8
-oFlqM6gBjvkELaT77qG6pf9/VqjoGdGMJFp8L+YVCGeSbro65Vpv/RU5lWresewE
-sZcflRWvOUFQ4m8n0Q961XR62KbhzHqjyo+H/G6XJGu9y3av/9miWMlBMmbFmrUq
-5UvNSGxqh8/xrvRerKrWhRiOXrL7EyAnj6DxpD18RtHhrXcBo85b
+MIIG3jCCBcYCBFXqfY4wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjczOVoXDTM5MDkyNzIzMjczOVowggPxMRAwDgYDVQQD
+DAdEYXR1bS0zMRAwDgYDVQQEDAdEYXR1bS00MRAwDgYDVQQFEwdEYXR1bS01MQsw
+CQYDVQQGEwJVUzEQMA4GA1UEBwwHRGF0dW0tNzELMAkGA1UECAwCTlkxEDAOBgNV
+BAkMB0RhdHVtLTkxETAPBgNVBAoMCERhdHVtLTEwMREwDwYDVQQLDAhEYXR1bS0x
+MTERMA8GA1UEDAwIRGF0dW0tMTIxETAPBgNVBA0MCERhdHVtLTEzMREwDwYDVQQO
+DAhEYXR1bS0xNDERMA8GA1UEDwwIRGF0dW0tMTUxETAPBgNVBBAMCERhdHVtLTE2
+MREwDwYDVQQRDAhEYXR1bS0xNzERMA8GA1UEEgwIRGF0dW0tMTgxETAPBgNVBBMM
+CERhdHVtLTE5MREwDwYDVQQUDAhEYXR1bS0yMDERMA8GA1UEFQwIRGF0dW0tMjEx
+ETAPBgNVBBYMCERhdHVtLTIyMREwDwYDVQQXDAhEYXR1bS0yMzERMA8GA1UEGAwI
+RGF0dW0tMjQxETAPBgNVBBkMCERhdHVtLTI1MREwDwYDVQQaDAhEYXR1bS0yNjER
+MA8GA1UEGwwIRGF0dW0tMjcxETAPBgNVBBwMCERhdHVtLTI4MREwDwYDVQQdDAhE
+YXR1bS0yOTERMA8GA1UEHgwIRGF0dW0tMzAxETAPBgNVBB8MCERhdHVtLTMxMREw
+DwYDVQQgDAhEYXR1bS0zMjERMA8GA1UEIQwIRGF0dW0tMzMxETAPBgNVBCIMCERh
+dHVtLTM0MREwDwYDVQQjDAhEYXR1bS0zNTERMA8GA1UEJAwIRGF0dW0tMzYxETAP
+BgNVBCUMCERhdHVtLTM3MREwDwYDVQQmDAhEYXR1bS0zODERMA8GA1UEJwwIRGF0
+dW0tMzkxETAPBgNVBCgMCERhdHVtLTQwMREwDwYDVQQpDAhEYXR1bS00MTERMA8G
+A1UEKgwIRGF0dW0tNDIxETAPBgNVBCsMCERhdHVtLTQzMREwDwYDVQQsDAhEYXR1
+bS00NDERMA8GA1UELQwIRGF0dW0tNDUxETAPBgNVBC4TCERhdHVtLTQ2MREwDwYD
+VQQvDAhEYXR1bS00NzERMA8GA1UEMAwIRGF0dW0tNDgxETAPBgNVBDEMCERhdHVt
+LTQ5MREwDwYDVQQyDAhEYXR1bS01MDERMA8GA1UEMwwIRGF0dW0tNTExETAPBgNV
+BDQMCERhdHVtLTUyMREwDwYDVQQ1DAhEYXR1bS01MzERMA8GA1UENgwIRGF0dW0t
+NTQxETAPBgNVBEEMCERhdHVtLTY1MREwDwYDVQRIDAhEYXR1bS03MjCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJYnLewiGCscZPEK+pGM/Aq4sb110jJm
+/HZ9r6DYNKOxTKsQubwFUf7Pv7JD1z8WBpfRJRVfxXuaUvgw2/rWB6I2yXjaV8CY
+7R4jZ2mZLFiw0nPjc2QNgOPW/sr+18VSZ9pzwL9FaOgnS78tmv7xzXUeVRfYARAf
+g4PQJDUOnU0Nhj7Q9QzVF82MGHixB7P8/kMjo5G8KHsW3lWCXNJP3M7aIR1MSDVu
+48BAzZ/9d7pUi5tAmroZaEZPg/0IrIg5YIDXXV4ALJROeL0BFDq9I7C9WB1MA2qH
+D0Z6lC9Hvz2FwZ60dIqwHzbXS/tlrmaPkxWsjDYmptVoEuvfsLtVlDsCAwEAATAN
+BgkqhkiG9w0BAQsFAAOCAQEAiujUu6TqhommQRetopMhd2Wq3qbbseWOc3YwT0rj
+NQMgp2eYjiGzQQaN7Atg/B0hrf3+0x0jtvPCRp8sHmHWsQjZuoLxYW++GLtbQDMj
+16VGNAAzKeceNTgBofri2jBDBFGVDuRIke9/6fkcB9peu1tpODYHcXRnpjkojzr/
+1P4XbhsogUxh3ph1VhEa9JBvFt6Rj9Nn3nIXRWN3UQH8W8LjgOYLo8AOVGPQaK7Y
+wnc/nafV5XDGV1TqdW4poAdyNSA2bRfi4Or1BaNcZg2dzBsyI5z8YrfP4ALGsmWH
++QLQtWcOY2SBgW3gcPLWwNshzU/148/sz10DnM49y5P92Q==
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAyh8fyOWfeamvgR+hQ3pAd00c8rPwg3hYcF+7ObZPJI2E7qNV
-6I+gK6ho5f6D6wx7h3TuJkZLIOnf38HR7YFXKBNpxPtBiSWmeleryZad5mdGKy5U
-sBkVz5XjcY/F2MjqAwSuO+tL+KVOHomVWcEp8CTulOeVlnP8SG8lrNiCtjm8xhKI
-s5qC33uhj8aI57D42lpL79y2zcR52SevI7ifw2NUBHmUr1+mUexZkPbDUeGUS0kb
-eavleMCpE0cizJHJiFW83XkH7d0KnW01IzkS1DqMCXQ6MzDOmKtvLvpief/+M4pZ
-dl1iTyYP5cygm/NvtY0VgLvyj4wptuMB5zanuwIDAQABAoIBAQC+0LliIR34bvDI
-l0LYgF7CAmP04VmL1J6xoD8SEgIPgSdhX4QoJQfSj5BQqYKC8erhC8wVCEG/FeyL
-wuBcN8I/jGxLUeUiBBBx6bi9fNse/JqrA3diNJx5uIjb2h6vNaZvKQkQemfjmrPw
-cnU0If9kvokavLNlMaSYAY5w6ookWxeoB5itbYlXzw2EZF9ldJDZsBWuK3wqfLnj
-kR2izXia+lbvdcsUp1chdGDV7COLCoUbpEt4AVdmDhKymQ6xEdYDUG7u9inR4alN
-OqDqxL0Nk4JnYVg+9C1a9UWtHw5aKvd75kVBPaVRUehtWnHi0E5hZFj/wjeohuOF
-q0HOc2nhAoGBAP5IrRvBGVeOqm3YResmWkaNiARdNbq5Mvb3BfRyAQNL8HKgSELx
-LsjM6gZiPIQFS91njiT8t+TZnZh/WJ0aGhIiSWmZyVuKK8sJ80NZpjmBS14gJMz5
-KQPstTXS2WYP57N0BN3eI+tHEoC2/QYuqMLMbSVFQTD1ThwNCONNE/TRAoGBAMt8
-U9/6TZpMV7+c3V7gTx6D0Kf2WRrIIUwAHPMPxxz+Bpg2wRNFXrlDI842y8joeF6g
-/h3GFSSs5qTQeYZt0V7XDsUCup9cHDfQdyjESHNjQlRXnM91Citns1cx3SwXb5fw
-xdSr+l0Ws7hdHJdha4X7F24HUtryVau7Qo9WZKbLAoGAV0fc21zxdONMTn3gqfE1
-JWhpGo5f5eKxwqFRkvEateX393BavVeJpnTnkx9fBDXJL4re+IUiHdQwSurTIMGX
-10ebiTq3KcuIcp3MuP5plu1xUDKaTxzq3iT+oiXoZybocelNzlX0YEq56CJnQRr8
-5DhE8nkOAl8A25IBzftj8TECgYBk7LhJGcONqRnIjsv5N7XmQ6ik9fmB4Asrv86b
-+5JdXdz1eArRPRHbP2Kt792pOywgeycuq0VnWF5ZFpF/zE4RBQdtTYo0aiIQyNOh
-I6FvoaaPYJkFCF7P4nI/6BpzuPf/W0szzUyzCQSAh6YbqxUCceRQDU/aCmHVeF5t
-64KmewKBgQDcfNx9wWs1b+n5XUD26rNP/gyiRWXpZy2y1of2BvWmBNAMTg4w04Mb
-ZRcsS26yyX33e0H6oosFB5/knDXwLn+ABsMU3ItjWSWRTC318cnyhGNwmTAtG8WN
-W7ZXTiY87qfNHX9coEfjeKgguLiKLkWBH+shwRdS5q+EaADVC48pcg==
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCWJy3sIhgrHGTx
+CvqRjPwKuLG9ddIyZvx2fa+g2DSjsUyrELm8BVH+z7+yQ9c/FgaX0SUVX8V7mlL4
+MNv61geiNsl42lfAmO0eI2dpmSxYsNJz43NkDYDj1v7K/tfFUmfac8C/RWjoJ0u/
+LZr+8c11HlUX2AEQH4OD0CQ1Dp1NDYY+0PUM1RfNjBh4sQez/P5DI6ORvCh7Ft5V
+glzST9zO2iEdTEg1buPAQM2f/Xe6VIubQJq6GWhGT4P9CKyIOWCA111eACyUTni9
+ARQ6vSOwvVgdTANqhw9GepQvR789hcGetHSKsB8210v7Za5mj5MVrIw2JqbVaBLr
+37C7VZQ7AgMBAAECggEAVo3LKP0WVXOOtGwRuGk+uKdyvbX3Ltqy2VLmNJ+s6FdB
+zLJdfobKl0oGRKpan6EAt+71o3aLjg6NmUgA5n0N9XIDfUjPoNQGi4L5D6QeLhnv
+lqIcWCZ4j93VDgsNMk+oUgK7rwZBzOEqBtAxMpkMSGDtyErZggPIeek3leYQwuMQ
+39/j91lGPHtL9R8VDBoQroToTsvY9vty3Amnq4LDJ7y11Ii522fDwg71kasVIkam
+/h8LeTqI5Za3t2Ps8XPTxG9Uigq6H59GpYbQ5dMzub2Q/s6+p7aw8Jv+jlyhi4Fu
+IBz493BKBTiImdzvqVBD2BThb18tNVjPS/DABDifkQKBgQDFAwEm8QMTp4SNoH+2
+yXUHlGAmYSn0YGo2Joc5lsxLNY1zkDeWRcv/J1AjLjWqPxDMKGd2viFu0RvnqPcO
+eaCtwCgCd9TX74qSTODHeJCBeySnKCpnw0bXmeQrXbbx5uZe84enyc8cdryIqAVk
+Hk6Ha1vvSZu87MKWQG2A6feYbQKBgQDDHHH6z6iPkYivQhnovaZpXO8qDvj2g63g
+t0rNptz8a0nZK1juWpWhYF2XuUR02aJ5R7x+GGqCQnLhT81V+Ttg57ksns4LkHCk
+oidG1OBqVoxaaAw5qbxGpCo1hMRfEkTXXKRscariYD3MYFX3Us/waHvWGhADLmqb
+52rJhx7GRwKBgQCSEGkxQu0CDGf1TPKDRZdzuCkVK2KcoUL9xNDq/IeYlyq5bEoa
+KsNU+AOtIZx+DWXZx3b2DX7iFzz2I0qQO9LKHzZKpidytVFqqH7axON2bCM/n0LZ
+TWlffeQx1rhFXuibqzh/SNs6AjpDozbkBKg6NHmjzlId3vdhyICnXE/KfQKBgQCT
+NBHWffeZod5zA7cSfotf8OrMW5GAQ2bbJM6+C8esdbG4tFibNCKyJ0dVokTAuDY5
+tGLE69znvAR6cz/jPm+LNCjkPkgMN4SU4XYqnY9XC0dHKjsXAjV3QoJJ8IpLhDgG
+F/JBkxyvQJc/a+tP9t3Fbr8HkJBGJi3uxBEwTM5uHwKBgGA/B1numoxH43GSnkJr
+NCsP2Q8IolpOaKSVYGegATkTsmgr6+OeMGG2tx30y0g4XWrng7jAYzn/iNlbyWLj
+NVS0G1yxKDprQ5yOD/wRse1iyu2EKcrjrt4t8kOLlfnak3e4PNEmxN1Vpb8w4ilw
+a3vKhW5e9vARQAHPTUFVgqei
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client-custom-oids.csr.in b/jstests/libs/client-custom-oids.csr.in
deleted file mode 100644
index 3a2125b5fea..00000000000
--- a/jstests/libs/client-custom-oids.csr.in
+++ /dev/null
@@ -1,23 +0,0 @@
-# Create certificate using:
-# openssl req -new -config client-custom-oids.csr.in -keyout client-custom-oids.key -out client-custom-oids.csr
-# openssl rsa -in client-custom-oids.key -out client-custom-oids.rsa
-# openssl x509 -in client-custom-oids.csr -out client-custom-oids.pem -req -CA ca.pem -days 3650 -CAcreateserial
-# cat client-custom-oids.rsa >> client-custom-oids.pem
-# rm ca.srl client-custom-oids.key client-custom-oids.rsa client-custom-oids.csr
-
-[ req ]
-default_bits=2048
-prompt=no
-encrypt_key=no
-default_md=sha1
-distinguished_name=dn
-
-[ dn ]
-0.1.2.3.45=Value,Rando
-0.1.2.3.56=RandoValue
-CN=client
-OU=KernelUser
-O=MongoDB
-L=New York City
-ST=New York
-C=US
diff --git a/jstests/libs/client-custom-oids.pem b/jstests/libs/client-custom-oids.pem
index 0cd72eb99c6..09e293c8316 100644
--- a/jstests/libs/client-custom-oids.pem
+++ b/jstests/libs/client-custom-oids.pem
@@ -1,48 +1,53 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client-custom-oids.pem
+#
+# Client certificate using non-standard OIDs.
-----BEGIN CERTIFICATE-----
-MIIDjDCCAnQCCQCWaybHN+kU+zANBgkqhkiG9w0BAQsFADB0MRcwFQYDVQQDEw5L
-ZXJuZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RC
-MRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkG
-A1UEBhMCVVMwHhcNMTgwNTExMTc1ODA3WhcNMjgwNTA4MTc1ODA3WjCBmzEUMBIG
-AyoDLQwLVmFsdWUsUmFuZG8xEzARBgMqAzgMClJhbmRvVmFsdWUxDzANBgNVBAMM
-BmNsaWVudDETMBEGA1UECwwKS2VybmVsVXNlcjEQMA4GA1UECgwHTW9uZ29EQjEW
-MBQGA1UEBwwNTmV3IFlvcmsgQ2l0eTERMA8GA1UECAwITmV3IFlvcmsxCzAJBgNV
-BAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxs/74Lm1axfZ
-cua9jT9mIhM2CY1YGSutsaVca47PJ+H3j2JXhKln6WhUpMAKJRVInU+XoIDq7HP8
-4CMO+K2ztKdikjg3M5lhgEsy0/538jJA3TtxiENAugSSpAxpnX7bSQ4HjUPMNOGu
-nd0gXbZ4YDpDAtofC3yaSzJKuCYSFMlh5qDWIoGOce3z475GX3UQZOYusRCI6c7v
-Ss8JgjhaTRS32hVknBpTnf6cRzxoegSzhRag+3w4gy/nj9ne3vuvXe9dEVLxyGao
-4//Ir7x6RzlE8kxrvaUYAsF4kXIEaunNF0phKGvPC9CvlupBJ9uY2lCCsDHoxt72
-dfvSnah4RQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAukmX07p8k040tTHFX3fgC
-nLWyVeCFDZO1jfR0DTYQ7DW4BqgRCUx/TROu9Tl1cxihYCd0svXw/Cr/isvnhQNC
-gMd9EvDw+E5sh3W1GPR8jaFR8QsESsAgY2IOpwRXLapayCZXoAxTFocLydy3Vxy/
-KwYELdXtZTzdy4D91mBZqVuYc5UxlJrP1vH425htmkKDvFrCLSSRpJ9E/DiEtFVk
-dFW1YtHlIHEPoNe7+kqjlb9b5oTuYVtrUgWerJld9Wy7Jcumq0TGgavNyPEed6B7
-UMKd00FcgumGFrYVqAiYZ/ve0XpU0HZJh98YSQx+zYtza33PyQWSKUP+ajqunGID
+MIIDhzCCAm8CBAmmabowDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjczOVoXDTM5MDkyNzIzMjczOVowgZsxCzAJBgNVBAYT
+AlVTMREwDwYDVQQIDAhOZXcgWW9yazEWMBQGA1UEBwwNTmV3IFlvcmsgQ2l0eTEQ
+MA4GA1UECgwHTW9uZ29EQjETMBEGA1UECwwKS2VybmVsVXNlcjEPMA0GA1UEAwwG
+Y2xpZW50MRMwEQYDKgM4DApSYW5kb1ZhbHVlMRQwEgYDKgMtDAtWYWx1ZSxSYW5k
+bzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ+u0sFBYyAaUMulZe38
+Vbch5s6Etq/F/bIG3ic/XRVPWaOEwpT22t20EU4sfO7UW2FwSHk08xgDJbn1648N
+elJKzJsBulCdufkxK1POeWPdCnz3EKGO1TryEmw2RX+tXAS/dM+G5h6HMtSyrPqx
+Kdrosh9LA+NvpVFPhLutmapq18kLXU7I2RWBHqYCnK0D/iW2RRMHD3aUTiQAHRM2
+Kf+nU2R1lNVw4SIPrwr4o+H8HKeB6oxGQjtiIIGy0Fm1yCRhmx54t0fM9Jv07S+2
+3JCnu6U+EqLYqcj82qUuI7Wj0CZh51qrIAGt55yfV60mxFjXwR6wCAc9RWuYsFVP
+WAMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEARi92y/uGOWUDYSuocbdGYMMBk+8d
+tU2O+F8ZPjKHKjkzOAg6CThFqTdyV8NKLPv2d1uEre4SvnQImAgJ3p8iy6VfjR8W
+F4FhBox4lvLfCH0XFAf2lDWJVep2PY4h2sg4Vsr1yGWCgx+1Uf+TcP3RyJYjXHrJ
+qA7kZrpxiy38KChyrfBXUDjhbrJu7jEe8d68Fc0MaLeEyT7qqMOsQ2TBwJttIK49
+isZ0JXFuLKIzDZGFSJY0Iz8HRLE85Bt+bJMtDO4P0ZSrHU0P3UGT9Jdh+BKcggtv
+w7cvVsjsxWh1AyeqWTzoUkEAFh6fNVksjLIH8OKwJRaDFPmtxeW+TPdDzg==
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAxs/74Lm1axfZcua9jT9mIhM2CY1YGSutsaVca47PJ+H3j2JX
-hKln6WhUpMAKJRVInU+XoIDq7HP84CMO+K2ztKdikjg3M5lhgEsy0/538jJA3Ttx
-iENAugSSpAxpnX7bSQ4HjUPMNOGund0gXbZ4YDpDAtofC3yaSzJKuCYSFMlh5qDW
-IoGOce3z475GX3UQZOYusRCI6c7vSs8JgjhaTRS32hVknBpTnf6cRzxoegSzhRag
-+3w4gy/nj9ne3vuvXe9dEVLxyGao4//Ir7x6RzlE8kxrvaUYAsF4kXIEaunNF0ph
-KGvPC9CvlupBJ9uY2lCCsDHoxt72dfvSnah4RQIDAQABAoIBAA5qZkkVLiJlyE6c
-jIIBZtZxriljJlAs6ptG8jyaTksGB31OFCp6Xh5+giSwCAxITsuZSdVJg79BacSW
-xi8h6TXgLTWM/fOv23ICAd19RhU5r5pbBRBsT/Us/7UFcWMKH7xcWA/WKqhq9M5d
-iktBP9k6YEGEr1uV3Vo2e1R+7jCziLKFBAPnpIv4SsOTFktJD4MHqGXZxk2GN9TW
-KaYyaBZjMVCs1BbIoG7FynjagQOei/GEJntlDWX5+C8rxb8rpiAoZxQysZqV7m9X
-JRAFqUh25732duZM1orrOj/ItwThRptl8q/MHk2a7L+ajlKqwdXM1KGUaa8a4a6h
-iL8spgECgYEA7eNx6gSCkS+3Z/YSTVCuZpUfyUclPOvLyiewWasueuo37izpIdiV
-RbAzZD34zPjz2tUIBHBTO8YR35GXSvi+d1Oaq7g1U9O0wCPsqCuzPWCjntt29e5F
-UWsvim5DKJgGRyeuV5KVkWaSi4Lb0Eu6jvwjzs/I98P5tsDasi5DdT0CgYEA1fLt
-7H+hcW17I9rTF1BRt9BALYVidBxeOTqAK0udW+VFh/WtTAz2cYRM4DClVqYnR+BS
-Rl9w6ufRaqAYE72m9CwGuiaYkE+n8RX4K1XGXcGCrLj6QyEO7BmhKr4sxK49aM8K
-eHe7n2JgD6+tJuGsbq+zd6AjYOAr4vdTlZ9fj6kCgYEA4qLO8zmqvvFr1VK9KwWT
-sc2ew97RHlIzC/x16WfJ13ZvJK2KyiESTZtJytWzxGvlvvU4NypgUdEpVArbzaRf
-qUVwVOsheyR1zpwrKijAEdiQ6ZaCpliDl8b7OvJDb1gumvm2Al53ulezg9B+5NpQ
-+UpEPxL8jvgZXsArWpfy0q0CgYEAz1QUFov0UiwLGcrTpxMRrbQkjThmGSjockLr
-s4kaG9SJVeDRKBKju4u+x768asSm6jNK56FTloBBYzdzPaYapSII/tmqHKbkk297
-x9reWTrOPD0hYG4nvMp1cStLzOkg33FLr0QwUJsPhgPzIuusorKnkvRfdGCohtCw
-ch04iMkCgYBUKnBh0gZWNgp5pjP2OnOVYr7FWwn6xou7W4fihqWDJkkD4THGIGlI
-YvfeipEPrXIuBv70xC1jTc1jrQuQa/wvxpClA+qhcJ7twSKNsrRYgj7If+9d2foA
-lLlI1CgBxGc4ClFME0XfFEPVhXLqpZclJ3uQ5o6DBH3N2apqh9EQjw==
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfrtLBQWMgGlDL
+pWXt/FW3IebOhLavxf2yBt4nP10VT1mjhMKU9trdtBFOLHzu1FthcEh5NPMYAyW5
+9euPDXpSSsybAbpQnbn5MStTznlj3Qp89xChjtU68hJsNkV/rVwEv3TPhuYehzLU
+sqz6sSna6LIfSwPjb6VRT4S7rZmqatfJC11OyNkVgR6mApytA/4ltkUTBw92lE4k
+AB0TNin/p1NkdZTVcOEiD68K+KPh/ByngeqMRkI7YiCBstBZtcgkYZseeLdHzPSb
+9O0vttyQp7ulPhKi2KnI/NqlLiO1o9AmYedaqyABreecn1etJsRY18EesAgHPUVr
+mLBVT1gDAgMBAAECggEAFUfZMoQiT77yEZHDWcoNKlDMT62EIzzBqJ4dsSFSqGpg
+ydgBjpSvamh6/e4T4EhQvVWXcv/JfeO9fWD2uaPUL29kgSvjxqaeiEUzPwH/T32/
+zhOnFcDRTf/A0McS0Acsgj15tcaGmH7wGUSOpQJDT7c/Nchrhj30zDdKuzBRkFJi
+5XmYtAv/81++/XY2VumbznqjZhrR0ATMG94ciSjQi/3PKO0uFHOiux28MW2PMEN/
+FMlCFcw5NLpuwcAoCCM+61KyJBoc/YvKp/dZGpTsrWkuLtCWTD9DlzTiKCjo+EHx
+VJRrrXOFweiVRQuDrSo9gbK2a1Xt0I+zCAvuAOZRAQKBgQDU04NhnMka2Aq1bhje
+Fu3gCCRukbDod8D6Yv9e1gjFEX2gJWDkLTfQO1KFoDM9pzTuyFuKFax5PRW9RLKG
+ZrnRs7gaVcp6i2uVI2tz/UbRrgvZ9jq8Gbo0setuVYoD0Y0ZUOX+rqfVak5+e3Wj
+f9ukTkjX9DIgldNxzMgDQIF/wQKBgQDAE3jpiHlw/s4ZGyc+hiSTeR+WlgYE6Wko
+8NTh5vbThoJ6XKy5hQ7w7jqSyM6kuaxoiyKoembuTq3U5mPzplQZL5qC/PapUBVk
+wP43TvxJbKqqhV6FO4RYpRgQ478Orj9Z2E4eMnSSPlESjngPQTop8zhw0I5m0Cjx
+0WCXIe0IwwKBgCBQqW9F3idMTHv15qK6Oo48zkNXrdPucwfRxlLBDv3VRQzvAAJF
+d2cPytztUTp4TApBs9yIo/KYutdNOgo8SNS1hCvDgQYQa1pu0V8AQyONWNFUmOB8
+y5A6v7O2G0mvJMyGQxXjsSovhRGhb2BPBquxE1BvDLlz5nIuFOShg8hBAoGAAYqm
+d8leoCeLY+wx3nCZLo3UURMXLUbqTyfPrZh69quntG+1+y80NX7T/YWbEvtihNxJ
+BO0mklcTUhgfST9WgXU+WjrJiAZahZp+79a0c6ppnEDBx3P41fVNQiVxzR5c582y
+os9o3Buf7vQxxn2Rh/CpzU3/NpgJHBfAHLZq/p0CgYEAljC+PG43NftVpfb+mweO
+5H0oaKD/gFEugmDndoV6yVAksPrqULGkt9XtLMomUNx1KM38DdL3jX+EaUf4RnO8
+dPdO2VBsjR1JJeckvBoOZFXo+EXWs7n0jldSQTiLYZh1/ZuvsOaGNoyvceM/YAkX
+nv2FExB8H79WBJ6xTFhC6h0=
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client-multivalue-rdn.pem b/jstests/libs/client-multivalue-rdn.pem
index 69bc10cd05d..64992a1dbd0 100644
--- a/jstests/libs/client-multivalue-rdn.pem
+++ b/jstests/libs/client-multivalue-rdn.pem
@@ -1,47 +1,51 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client-multivalue-rdn.pem
+#
+# Client certificate containing multivalue RDNs
-----BEGIN CERTIFICATE-----
-MIIDWDCCAkACCQC/RF6aMdzdETANBgkqhkiG9w0BAQsFADB0MRcwFQYDVQQDEw5L
-ZXJuZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RC
-MRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkG
-A1UEBhMCVVMwHhcNMTgwNTE0MjMyODA5WhcNMjgwNTExMjMyODA5WjBoMTIwDQYD
-VQQDDAZjbGllbnQwDgYDVQQKDAdNb25nb0RCMBEGA1UECwwKS2VybmVsVXNlcjEy
-MAkGA1UEBhMCVVMwDwYDVQQIDAhOZXcgWW9yazAUBgNVBAcMDU5ldyBZb3JrIENp
-dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1XoQEyPdpy+icEuSK
-/9QDNVfyaAQF9//Et78uPxeTWDGzYyIBRx6Z29SR72pB78UKDrH+sw9QBiw9jg8E
-D3SNg1M+ueB1jUcCgtOfpnJnF3ImfgsKnC1prWkJCtkuTrD5hEy6UXimX8sQCb6v
-E8FPItzKXWPyzcn/AVUVpa8yC3A0qfOM01VxDegwjsN4PEdnDgzmwCcbJg5KN/3R
-iYW6oPC3NA6tjRKpCSG0NiYJA0sj9ojYcybZCPaxBMD+ToYBujwcnp61ltZ9PFSV
-swQPfh5Lniy1pBrj84dyoSAOwsQxER4bbyiyplEhNEDpTHmPwfcLR4UgOF2NHU0i
-4Jq7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAHcP7Wjl90a33oumgWlw6iOuEOS1
-L2pmMGV/b0MYEU9lifp4iGh9NzMp4Iq4OFaJXqj2c7ouPegYnP8Ga0vZj7x5xIoJ
-eXcrLmSJATPKCWAauG3ouw/RcrjtoWXPkuYvwDWANc3qwBr+EziMLrhFA3GzIFrQ
-duyZLxMweYVi7zNzm7L6yxKmBBFmcSGfuvMOrotly/8r+rfcgmcVV2IagHIQmGrX
-0Fu2dkqU1aldChD0WhovnO5dbd1QnQ9rPlvFd8N3EfVUwGvwymLNWUTQh+lNZCmj
-jbihLFlTnxb5d6EQuCu2czpNGy/XnOfYiUCbvtck9z3ecaDp1aPWe+Ibt2k=
+MIIDUzCCAjsCBDRCy2AwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MTAwMjIzMjc0MFoXDTI5MDkyOTIzMjc0MFowaDEyMA0GA1UEAwwG
+Y2xpZW50MA4GA1UECgwHTW9uZ29EQjARBgNVBAsMCktlcm5lbFVzZXIxMjAJBgNV
+BAYTAlVTMA8GA1UECAwITmV3IFlvcmswFAYDVQQHDA1OZXcgWW9yayBDaXR5MIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwBXOGiYrGd5t5FP8Dw1dhRxP
+DkPzcfknXZY4gcKKsQPeZQagS1j4hRhjZeA2/c8Xmh6QFB/PrRvk+tkUajZmQS3N
+rkP8KDEskYgOpdGYeEyzFLNjwvxg1jJRj4PDt1jL2EbdmzkSX/NYLR1JeYE1O55p
+FwIMxuXNjCASlJ6Zan/VP0bYNPH3j7VXlf+o4875y5OauUtPEexG7G+ouuD4VTgg
+amZtSO6ZkpTPUpwSl8K9HbuLgZq8ZMJlp34ob2OYU9zzJZfDqcHVtLKHn1or6ZiT
+VnDNjnWS4U2dIaEw8u8ExnfmWrm6cUxWV3yypqffJR5JBtAgrg9VRgRrwUu3wQID
+AQABMA0GCSqGSIb3DQEBCwUAA4IBAQC5zTFZKQ6B5fieoM6O/XZyYsh9eRcdH/0c
+lTQgkMRGOnX3xRSHtJsy4HnhY4zfCG8R+9x9mbHJrPwkMJTtXqlDaskea4eAEX/s
+9F0ql7wjFlDyE5sDL/mGKwRXlDIoLXPQ82z8NMepFmGUN4mNpQJA2ya7yDuKg92t
+HVD828ZN9MrCzi9Oepb4BHVc6w9CawmbDsjxsIvO6Ssaza2hLOrTbdcxlfLjv9tp
+jn3mbyaWdUKMxiab9cTo7ejiGQp/vnlLuiNf5F3jMaHSVuggmvUYKNlCQnD1YB37
+8uHV+lEzGNjSiVOSwadyjJXb5ZVrSX8bTMLCoZShs1MTej1abEru
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
-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
+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
-----END RSA PRIVATE KEY-----
diff --git a/jstests/libs/client-self-signed.pem b/jstests/libs/client-self-signed.pem
index 27fbf225059..fa111ae0082 100644
--- a/jstests/libs/client-self-signed.pem
+++ b/jstests/libs/client-self-signed.pem
@@ -1,47 +1,55 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client-self-signed.pem
+#
+# A basic self-signed certificate.
-----BEGIN CERTIFICATE-----
-MIIDXDCCAkQCCQCDkcJhHXlrtzANBgkqhkiG9w0BAQsFADBwMQ8wDQYDVQQDDAZj
-bGllbnQxEzARBgNVBAsMCktlcm5lbFVzZXIxEDAOBgNVBAoMB01vbmdvREIxFjAU
-BgNVBAcMDU5ldyBZb3JrIENpdHkxETAPBgNVBAgMCE5ldyBZb3JrMQswCQYDVQQG
-EwJVUzAeFw0xODA1MDgxOTA2MTdaFw0yMDA3MTcxOTA2MTdaMHAxDzANBgNVBAMM
-BmNsaWVudDETMBEGA1UECwwKS2VybmVsVXNlcjEQMA4GA1UECgwHTW9uZ29EQjEW
-MBQGA1UEBwwNTmV3IFlvcmsgQ2l0eTERMA8GA1UECAwITmV3IFlvcmsxCzAJBgNV
-BAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxIP1BCsp6e+B
-5BpefH+yDvdVwDteI3H7CKh8X0TJYAYHAy5bOJ9fS0PB50gAXYqDFTHWTnGGxTaq
-67d4Hc5ZB+UgnNralBvhVYB6jFpV4oBqdht//VhcdLBq8n6aRmM63zP82dKA5Ehz
-q7jhwLI0v/m3lZfkE+qKWb+E87KS47BstOHDIqAUIeUJutrC/usS7aatRhHqtmg2
-8pEVJV8/YBPL4DWZkKoqrg+hJjXNjpy7ec2GAvgk+5ZWvjmNUBTtrE+47l8Eq3nM
-TLsTDqtPHqv/udZScaCltPkw2ffGMhhp/eFLF+F3E9NpZC5mpUfe4+E5iZAXL9/r
-IRO4ESbI9wIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQB4DscFT2z5hgzHC64SVjHk
-Rpodjct0/kLkcJpaAZ/VTU6J6JI0TRDI0lsYV+UlogPxNWHgo7OGmG26tUPh61TX
-XCq0Y1SbUsJFJa61d4fl30cBsA/w+eN1GRMua+eo1DTeFC8n0bVUqCjaMzumZWnX
-bOR5eUUGw2r/JbCvCU2QNuL6/LKg2e2/C6pwkxQzFpKVTgvc0mq9+rifAIo0a9JV
-41FIpgbJrojXCjP1gs2On3Uvr0XJsiMd9+T6duZt5MNh4M3Mfrr+tzATM61JM0Mg
-VryKakzERFMLnTH3aS/JfTMGlCvUJEiMU2N9mePmSucNnJHX6wYjmOr++6RoLBhc
+MIID6zCCAtMCBC9p8s4wDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMRMwEQYDVQQLDApLZXJuZWxVc2VyMQ8wDQYDVQQDDAZjbGllbnQw
+HhcNMTkwOTI1MjMyNzQxWhcNMzkwOTI3MjMyNzQxWjBwMQswCQYDVQQGEwJVUzER
+MA8GA1UECAwITmV3IFlvcmsxFjAUBgNVBAcMDU5ldyBZb3JrIENpdHkxEDAOBgNV
+BAoMB01vbmdvREIxEzARBgNVBAsMCktlcm5lbFVzZXIxDzANBgNVBAMMBmNsaWVu
+dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANx86UBTuRQxfHxVHNxv
+ipE++LY3AX/u9lPEeOPWeltJQUS7yXHcOpOW7BQYRnEMWsvzMsNt91M3t20Yh+5H
+coBPEgr94eTHT/BadeTxPZunBPEhlsiwCcjprEfjoH0KgMJonT8iJgT8nG8SgC5F
+uSFF5Pn6ID7UtgTy89w8biv5FrQHNKD2liIsQ2EaqBp1appEw5QNKTf4114Ml6Z1
+WPogVTNPYA+TYv31vL+Rrxqn7nat+egwh/HdgOFyvuucRETd3rtDvCgI/85zHtyM
+XT57MqEhSSAQ/B+AqXFHvmu8WCcXTchIs6jiZE6p6DYc3Q/nliG8UiqCKtvag9Iv
+IaMCAwEAAaOBkTCBjjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DATBgNVHSUEDDAK
+BggrBgEFBQcDAjAdBgNVHQ4EFgQUR5RxMwezHHdgnzGShlddQgZ3ROswEgYDVR0j
+BAswCaEEpAIwAIIBADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQg
+Q2VydGlmaWNhdGUwDQYJKoZIhvcNAQELBQADggEBAD9Zv8s9x1rso1ACZR+cLzn/
+NmU9jgaj6Ouz1xulwVo/Euj+rVSxnB2aXHyMRKQZoGXqLOaX5km10H4LTQtGW5yg
+NakrC2W7051CoTJ5kKx+V2NBvH8oSeMEOBs8ofod1/ZOSyzo9tXlLRoOEEy1alA8
+WiiNjQnNAM3/IdNKRBVO/T57cdM3VUHkE3I2pibk9udPG/+MHCoX9soNrqkFnejJ
+BoB4Mtmco0YW4gJd/UMf4L/UkI/e+RklUQIk0ixs5AuFgxC7xkolroFcAjtJUPyf
+njqowrF0mrzA0XlJtcVtmqVoCLKbqsRMlU8Rg8kenJCNdL/HKg0XLvGrMg3QLak=
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAxIP1BCsp6e+B5BpefH+yDvdVwDteI3H7CKh8X0TJYAYHAy5b
-OJ9fS0PB50gAXYqDFTHWTnGGxTaq67d4Hc5ZB+UgnNralBvhVYB6jFpV4oBqdht/
-/VhcdLBq8n6aRmM63zP82dKA5Ehzq7jhwLI0v/m3lZfkE+qKWb+E87KS47BstOHD
-IqAUIeUJutrC/usS7aatRhHqtmg28pEVJV8/YBPL4DWZkKoqrg+hJjXNjpy7ec2G
-Avgk+5ZWvjmNUBTtrE+47l8Eq3nMTLsTDqtPHqv/udZScaCltPkw2ffGMhhp/eFL
-F+F3E9NpZC5mpUfe4+E5iZAXL9/rIRO4ESbI9wIDAQABAoIBAEV/SUJNJYiG3E/Y
-B3xOCKGEVP4jwLoWUCoSs9FZWUItP4OffEE9E41hjAyICSELoCn5swmQ2pGaML4l
-50PbOt8w5+Sw/UYNyhXb1vsV43Oz6HKWbSAihKf70AasQVENPL+8+fnqmQyils2v
-F593JnKSFJvB2LY2ZvEwawtoJsyAdENw+NacVnEoMbaJqn0x0XsFb0RAvV9PQaFD
-U29yg3T3TxnoDHxmnPaLUhn4ht7bOc66PjeJEl2jvnhNdSwPND9dg+hF/hX966Io
-vNfKyp5q5nr6dnshjMWciyAu3v0FhaQ+7MTG2pij1yR1L1XM/gxL7u65bCCw3D2d
-BEiiB2ECgYEA7HoiLTImR2IN3QSkKi/j6YzLIhpZgfl1XW3P2EKXcbToghDsbZtV
-81ZtPwX5R5gCSKR7c05hPOgio2ext71jomRQYDHHTFu2gbKyk0iC3fhY7u44ugRQ
-KOMqQE2WZUV4Ll9QOflMoSWypDmSzgG5hYF86dSW1Leuoo8nDUnvcocCgYEA1L0/
-YNZoF+h4OsO3t7zJ38X6vmn7vwkWwlFC8puaseUmL0ENWGZxtBZzuzcVHWzSTxzk
-+lpKNUloXeEE39btVWonDUx4uPajHsXE3i8/jjgOxden36cGxXxV1yWaSGTC7ikM
-TPSzhtyMxlsmG7cXgIELCiWF0H2Mt+RGwTnz4hECgYEApQD/keu5O/vWUo7ngaxS
-6mbcYppiNEf9Ncjmyy6D/8pMplzqq/xEd/upVN11OBiAF3H11douDVKowL4dCmky
-+V/nmYeCWexwp4UqB40EC6A7ZdSBboKN8Em59I5uz5Eur6TAFQO4DYWBZgfqQKaB
-bf+RSpOU/y5/w1wB0srxMkcCgYEAyq36geIDjjOWyDXLBKxCkIVoXJ1QkTKxkjQl
-WkpRWYb9mCub8Uq4rWBupkDWRxB0VZcruDDpXlcvrbFCGZgEyUm3Jv5iTaX8xsaY
-xy2wmWhi+q55a6UP2Hqatb1Hfg0xggFtjKvdlnDtVdVlOyZ2p6FJyULyeC4FMPW1
-S0ZRSmECgYEAyjTgEjvIUsd4NkVdMcBBHO/WKl7gMQDcUGOnlrpyEPumXC1+H2jy
-GWbnBoWyXJ+SrMP3MFpCEG7BZ7P5oFjLDBJ8+xUiHWPLLGRRhp2tyySeR/urjgRO
-kLX6W+WWErw2V5+KmgEJb/SpbAGcJhDyLCN56L/Osqrod9avQ4/YW60=
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDcfOlAU7kUMXx8
+VRzcb4qRPvi2NwF/7vZTxHjj1npbSUFEu8lx3DqTluwUGEZxDFrL8zLDbfdTN7dt
+GIfuR3KATxIK/eHkx0/wWnXk8T2bpwTxIZbIsAnI6axH46B9CoDCaJ0/IiYE/Jxv
+EoAuRbkhReT5+iA+1LYE8vPcPG4r+Ra0BzSg9pYiLENhGqgadWqaRMOUDSk3+Nde
+DJemdVj6IFUzT2APk2L99by/ka8ap+52rfnoMIfx3YDhcr7rnERE3d67Q7woCP/O
+cx7cjF0+ezKhIUkgEPwfgKlxR75rvFgnF03ISLOo4mROqeg2HN0P55YhvFIqgirb
+2oPSLyGjAgMBAAECggEAZa08qytwt/0yGOvvCUBuuBg//VdUW7jI40xBK2AmwJ4B
+eT7X4KfcY18/suyW318BJ/gYusKlQTz6W1bqqFlOVhkgiu0VFLlNBdvRbihJbtQQ
+lVoV/KoheQM5LVWtFryXMA+qJAkNW1NamGYBslT40H044IYWBKN25MVc63z6mU/D
+esOigG4hGNwS2AsWAmvCFNa93z9Ql2KSp8jygHiYYcEx1QuQS3YVV5SyQ1GicgWs
+waVUPM5W6Ud5jZZqmvIs6ILocbY4JrgM39QCKRs2eLMwUPr8rhQG9lME7Rq3DsDv
+UABc/XYOHMryQghQzMM9HH57r89PTa4Wn4O9+QyeMQKBgQD3PFDG56I+ASUDKyOE
+2YOuzybXZOUC/DJ94iSQguw5neURyyHGDuu9w4s9CW8tRWy58PWyA1xySYlSwiqw
+uRqFQ18gwjkIC5ssepLMLCTyUtMHbBhsfxgXNv2k/sHnHLQVJesUP0tj0K8o0QxP
+vVyZGaVsl/kZ4VSRcTKaMWd4jQKBgQDkTduwUdRoVV31e1Lbgu6/ZZj+wIDN9qCj
+S1JzYbfFiNduhUEoTQGQI5zZiLukPl4zBTPRWrwqdvVnSkMFsrqaNBmt2zyHciIi
+nSx9vpJ8a/B3NFQ4OKz0VrtnhN+PkRp5G288c1Rkz4i+QJaTKPCzpCoR+GXUeexj
+v/x0PC1u7wKBgBOqc45uzGP8OVJ4MvoVRzk3dxJ5DxJetzF2NIxeLaYjnh39N3GG
+rE/K5x9yyaojNJPRy+leBRN+L/MqSLUH9EkXY9C6QkkWi0BNe7HL7SBtYCXd/k9b
+CLKICEMAlLHqgZSREJLqufd1mQk5H66UFHKFLLhnmkPpvY1YILtNJLrdAoGAc2FJ
+0s04PNZP2v1NfbSpNj+BV9YwAmdO/dfWPou3FXS385oSuOxaCt+EqIeq1THT55MM
+ghSKHifqlB36y0ltdvs3sx6mc4lh6P5n+tCyNYFTkNr4aUVzWzTuFz4WwfbCW0xb
+JkDe+OfNouD/eDXrl84ymMxhokVQC4V+b7vt9i8CgYBIm1g8Y9Z+ClhfLJqlkA0s
+Sszi42y7TQSShUy5SlKo2ppFcM+i+vj38msNPI2QnFwNmjf5tkIqMRTOif8XOT5p
+NR0pv/t/m1GPMOSQPPqxbgXSXWprd8lgztZLImANRYDU8Y+3hXa1zk5mT6BZ0fxN
+YF6hOXXbbMh9MAmkhZXkZw==
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client.pem b/jstests/libs/client.pem
index 50a64e41728..2f2c6e71843 100644
--- a/jstests/libs/client.pem
+++ b/jstests/libs/client.pem
@@ -1,48 +1,54 @@
------BEGIN CERTIFICATE-----
-MIIDXTCCAkWgAwIBAgIBAzANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
-ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
-FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
-BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjBwMQ8wDQYDVQQD
-EwZjbGllbnQxEzARBgNVBAsTCktlcm5lbFVzZXIxEDAOBgNVBAoTB01vbmdvREIx
-FjAUBgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYD
-VQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJIFboAk9Fdi
-DY5Xld2iw36vB3IpHEfgWIimd+l1HX4jyp35i6xoqkZZHJUL/NMbUFJ6+44EfFJ5
-biB1y1Twr6GqpYp/3R30jKQU4PowO7DSal38MR34yiRFYPG4ZPPXXfwPSuwKrSNo
-bjqa0/DRJRVQlnGwzJkPsWxIgCjc8KNO/dSHv/CGymc9TjiFAI0VVOhMok1CBNvc
-ifwWjGBg5V1s3ItMw9x5qk+b9ff5hiOAGxPiCrr8R0C7RoeXg7ZG8K/TqXbsOZEG
-AOQPRGcrmqG3t4RNBJpZugarPWW6lr11zMpiPLFTrbq3ZNYB9akdsps4R43TKI4J
-AOtGMJmK430CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAA+nPgVT4addi13yB6mjW
-+UhdUkFwtb1Wcg0sLtnNucopHZLlCj5FfDdp1RQxe3CyMonxyHTKkrWtQmVtUyvf
-C/fjpIKt9A9kAmveMHBiu9FTNTc0sbiXcrEBeHF5cD7N+Uwfoc/4rJm0WjEGNkAd
-pYLCCLVZXPVr3bnc3ZLY1dFZPsJrdH3nJGMjLgUmoNsKnaGozcjiKiXqm6doFzkg
-0Le5yD4C/QTaie2ycFa1X5bJfrgoMP7NqKko05h4l0B0+DnjpoTJN+zRreNTMKvE
-ETGvpUu0IYGxe8ZVAFnlEO/lUeMrPFvH+nDmJYsxO1Sjpds2hi1M1JoeyrTQPwXj
-2Q==
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client.pem
+#
+# General purpose client certificate.
+-----BEGIN CERTIFICATE-----
+MIIDqzCCApMCBAlumm0wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjc0MFoXDTM5MDkyNzIzMjc0MFowcDELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMRMwEQYDVQQLDApLZXJuZWxVc2VyMQ8wDQYDVQQDDAZj
+bGllbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChwxZmhXIUlErr
+Na+gpnBjMigZPXakQLvpWZ02PBbXCfwLAPfEw5B2QH7Y01pxnFiGKY60CiMr1lpA
+IcY60Po4MjzJEVOn1xaVrcaXrD8nCxk8WgndRsd6L7O36etA+zlrndTZLyB1RZza
+xrcuKJ8fELAEFfDdrZOJz1IZ82S81N3U8CX4t8HSKtMBhRTskGxDFGGKrpm9i4ly
+WPcKLxHW5N0C7gBpyFsB6cOs87VFOtL2/iQBaOsF5aRuvNMvuyxtwXy8prJXzh7d
+8N5WaXa8qnR0WW5Kwgs+Snuzi6LD88hGRUv99ZPNFrRYfUPR9nerc+DcsBXklUAD
+1CgKXq+/AgMBAAGjTjBMMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMBMGA1UdJQQM
+MAoGCCsGAQUFBwMCMB0GA1UdDgQWBBQnVPhN4rWyrA1qxruucxPplu6V5jANBgkq
+hkiG9w0BAQsFAAOCAQEAH4pD8iA1BgpLEIfKYzBA0Qv/ZgCRNtvMz4bdY0rIUjAJ
+0QGOr4Bj0RFj3CJgrhgdXyb07ZcpzHMHzMjwQxPV+1YlxzUJeH6VMflMuemh0oL6
+QZ3YO7eUs174vnAG1ofQ41g5lOJoI3d8dVM6jeYQiJ4W0WHRXUMwJ9EasRWmcx+0
+McPZlJx/ScJRghGrVpKfdxwlq2GOmC5ALW3zFDBkZGanVxSSFlyxfczBms9ZmqTv
+wk+Jt4yoGSnK3eEDR37BBiKGMTUjIodjcOaPUxCsUOITfa6/cBb83Ot/XKtSLAwd
+J/7CxGmyBzwkTSoxgrVVDBriClB7P3rsRDrcvTkVgQ==
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAkgVugCT0V2INjleV3aLDfq8HcikcR+BYiKZ36XUdfiPKnfmL
-rGiqRlkclQv80xtQUnr7jgR8UnluIHXLVPCvoaqlin/dHfSMpBTg+jA7sNJqXfwx
-HfjKJEVg8bhk89dd/A9K7AqtI2huOprT8NElFVCWcbDMmQ+xbEiAKNzwo0791Ie/
-8IbKZz1OOIUAjRVU6EyiTUIE29yJ/BaMYGDlXWzci0zD3HmqT5v19/mGI4AbE+IK
-uvxHQLtGh5eDtkbwr9Opduw5kQYA5A9EZyuaobe3hE0Emlm6Bqs9ZbqWvXXMymI8
-sVOturdk1gH1qR2ymzhHjdMojgkA60YwmYrjfQIDAQABAoIBAB249VEoNIRE9TVw
-JpVCuEBlKELYk2UeCWdnWykuKZ6vcmLNlNy3QVGoeeTs172w5ZykY+f4icXP6da5
-o3XauCVUMvYKKNwcFzSe+1xxzPSlH/mZh/Xt2left6f8PLBVuk/AXSPG2I9Ihodv
-VIzERaQdD0J9FmhhhV/hMhUfQ+w5rTCaDpq1KVGU61ks+JAtlQ46g+cvPF9c80cI
-TEC875n2LqWKmLRN43JUnctV3uGTmolIqCRMHPAs/egl+lG2RXJjqXSQ2uFLOvC/
-PXtBb597yadSs2BWPnTu/r7LbLGBAExzlQK1uFsTvuKsBPb3qrvUux0L68qwPuiv
-W24N8BECgYEAydtAvVB7OymQEX3mck2j7ixDN01wc1ZaCLBDvYPYS/Pvzq4MBiAD
-lHRtbIa6HPGA5jskbccPqQn8WGnJWCaYvCQryvgaA+BBgo1UTLfQJUo/7N5517vv
-KvbUa6NF0nj3VwfDV1vvy+amoWi9NOVn6qOh0K84PF4gwagb1EVy9MsCgYEAuTAt
-KCWdZ/aNcKgJc4NCUqBpLPF7EQypX14teixrbF/IRNS1YC9S20hpkG25HMBXjpBe
-tVg/MJe8R8CKzYjCt3z5Ff1bUQ2bzivbAtgjcaO0Groo8WWjnamQlrIQcvWM7vBf
-dnIflQ0slxbHfCi3XEe8tj2T69R7wJZ8L7PxR9cCgYEACgwNtt6Qo6s37obzt3DB
-3hL57YC/Ph5oMNKFLKOpWm5z2zeyhYOGahc5cxNppBMpNUxwTb6AuwsyMjxhty+E
-nqi2PU4IDXVWDWd3cLIdfB2r/OA99Ez4ZI0QmaLw0L8QoJZUVL7QurdqR9JsyHs6
-puUqIrb195s/yiPR7sjeJe0CgYEAuJviKEd3JxCN52RcJ58OGrh2oKsJ9/EbV0rX
-Ixfs7th9GMDDHuOOQbNqKOR4yMSlhCU/hKA4PgTFWPIEbOiM08XtuZIb2i0qyNjH
-N4qnqr166bny3tJnzOAgl1ljNHa8y+UsBTO3cCr17Jh0vL0KLSAGa9XvBAWKaG6b
-1iIXwXkCgYAVz+DA1yy0qfXdS1pgPiCJGlGZXpbBcFnqvbpGSclKWyUG4obYCbrb
-p5VKVfoK7uU0ly60w9+PNIRsX/VN/6SVcoOzKx40qQBMuYfJ72DQrsPjPYvNg/Nb
-4SK94Qhp9TlAyXbqKJ02DjtuDim44sGZ8g7b+k3FfoK4OtzNsqdVdQ==
------END RSA PRIVATE KEY----- \ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQChwxZmhXIUlErr
+Na+gpnBjMigZPXakQLvpWZ02PBbXCfwLAPfEw5B2QH7Y01pxnFiGKY60CiMr1lpA
+IcY60Po4MjzJEVOn1xaVrcaXrD8nCxk8WgndRsd6L7O36etA+zlrndTZLyB1RZza
+xrcuKJ8fELAEFfDdrZOJz1IZ82S81N3U8CX4t8HSKtMBhRTskGxDFGGKrpm9i4ly
+WPcKLxHW5N0C7gBpyFsB6cOs87VFOtL2/iQBaOsF5aRuvNMvuyxtwXy8prJXzh7d
+8N5WaXa8qnR0WW5Kwgs+Snuzi6LD88hGRUv99ZPNFrRYfUPR9nerc+DcsBXklUAD
+1CgKXq+/AgMBAAECggEBAJNaNeaP+tp6N0DJd8G8u7Xws4xCa/e1rDcl1crYs+mR
+A9I2QH0xtD+0Apia9tF1HUKhSogAkAdXzICNA5kCUlysjqiOKwlCKiWQ1c3GLwTu
+3D8YudGirwVDvM90u0NHVggNDx4ECuoozniP+b+Ha2ON/PjLz8zvV+16OIzBJWvI
+fUkeuyHWsYrh5wNdjW9pT0+N85q9pzuGGthoshR4d5z2bKhm9MKA8mz1p3DMS7a3
+F2AiJPWkvzUksZ/h/WXOk19DhmG7lHkNEzfm/RsUjfswx0Eoz3gmNkH7oS3yYNJD
+yDHt6553zaP0UA+mJzaHqaw+JN1Vxdva+IYNLs+ekLkCgYEA1kjar3m7RiGXu8ZL
+lew3Hhwp0W4PjhfohdLAhyLAbL+8fQl7Blz21wz9/E77JpFQUmpfWhD9V39gvpk9
+X3/dhAX2dbZFphWEPNReF5oWDDiQzZLnfv3UqKQ3/Q58hKhujINIIvPbqyhDz4AW
+zhLKN/JLmNo5mquWOGRvvAcoweMCgYEAwUC0xrZqf8G6y6JGk24u3coY9dmkohNZ
+L/GfKK059b/Px0k05WaIXRxKWlRhIHQjhqVoctjd061WDgHoa8jkS5ARbqoxJeZI
+izx11MDfbdykv/rIm+mpXl1B/WjQ+oV8wg5J8Sz5o8bXlcr7SlWoj/bOFDgfUsG2
+cTBdLx8KEXUCgYEAw8CILfcZkmaLs1jhodLJQzNdLFnL0fWbT+0IPisL+AxsBxmL
+DnQMdsYCm+QW4NOsua088A1HMhBF87gPbddkKAA+dqgNFjzfsaYbUppLe9yMw49o
+9QSyqWBjWURLkfBAFRK06mE1EjVVRRBxRM27d8JbNwZbyyTmtRtjSzSLEhsCgYEA
+qMTrm0afh2cWzNOxMvvcrhDa74nc/zZKg1ZOGuX9YiLbQD0sltKOcFJOlMhv8jm6
+9NHrf7DpOP1908nSwp600VDGCJFVTrXn0MFCXkT6WyWAM7C+FXtgUGq9QKOTLdX5
++DcmWBthAKicidK01lwsU13E51+D63AE9qC4IHjJACkCgYBlUwyanKuhhmKMJo6b
+PBhpUAruP9LRIzoYYlGZcZhaJXKyfrzc0pMM0Xmxk0avG6yfvttu4jndeK/dPjwY
+Fbp6+x+iWUykgPbDMMij1WlC7p/RijenN+vQlHzhB+Zyl8jMjpANHnF2PunaaNa2
+K0ZXGPQcmZrvdOPG7+q9wMMVxg==
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client_email.pem b/jstests/libs/client_email.pem
index c9389990883..a629017836d 100644
--- a/jstests/libs/client_email.pem
+++ b/jstests/libs/client_email.pem
@@ -1,50 +1,55 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client_email.pem
+#
+# Client certificate containing an email address. Includes authorizations for queryable backup.
-----BEGIN CERTIFICATE-----
-MIIDzDCCArSgAwIBAgIJAOdcrxT4uC21MA0GCSqGSIb3DQEBCwUAMHQxFzAVBgNV
-BAMTDktlcm5lbCBUZXN0IENBMQ8wDQYDVQQLEwZLZXJuZWwxEDAOBgNVBAoTB01v
-bmdvREIxFjAUBgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5ldyBZb3Jr
-MQswCQYDVQQGEwJVUzAeFw0xODA1MDQwMjM2NDhaFw0yODA1MDEwMjM2NDhaMIGU
-MQswCQYDVQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxFjAUBgNVBAcMDU5ldyBZ
-b3JrIENpdHkxEDAOBgNVBAoMB01vbmdvREIxEzARBgNVBAsMCktlcm5lbFVzZXIx
-DzANBgNVBAMMBmNsaWVudDEiMCAGCSqGSIb3DQEJARYTZXhhbXBsZUBtb25nb2Ri
-LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4ZeKwRJIRiaO4M
-qvVGCeIQEbIqMZX2EIWzGgwwSRSLE2BUlEO4fDuVz7vPJBZF8/ioQC60GfgrZ5c4
-ywvszMAc8Usj3FKkAb7mUcRMvJxdzmxIyGuIQSn85QT/t5co2MKvvvOtMVuR9CLK
-4CuvUEdZPXuTosS5ZzmwGlaplpEZmsXiE+gVQKvoh7meVcyUgtEEBKUlRyOka7v8
-9hzpaKh34o01a+vBJ74SLmeRkSStU4+oaTUwkGUh/srwxAvexoZSjH8IIuGLVEIF
-WGuZuPLumQ2BfMkiudoxVyu7JiySlcUHDxWXWs/QtNzNeOenQ0NSajOOzWo6yAdS
-BUcnosUCAwEAAaNAMD4wPAYLKwYBBAGCjikCAQEELTErMA8MBmJhY2t1cAwFYWRt
-aW4wGAwPcmVhZEFueURhdGFiYXNlDAVhZG1pbjANBgkqhkiG9w0BAQsFAAOCAQEA
-XNVVn3V6NB2IJD8OxHQS4ExLgb7GetXL/AKEeZ/dgoxzv5rAVwcUSMRrKIVhu/fL
-YoUPFv59zHhUdTm91D/DlJ7XA2o10hZNpaIKU88KXBCp0nyI0QiNSAivuYKFR8q3
-RcpCRFiId+2ITXLArV4TOWe7p8UUz8GrQdfUGY0Z8CRzWegp/AAJs91CjWI6kVQn
-9Yj4/FerRZSXvij8nuHYPgtuvJT1HeHU+oRLuopodCUNZ+hytKgXUdL34gnmLbyy
-sSbPw3FWIWQZQZw78o7DRdzZRjF/weSc+fxJo/ytUNMPTb/H4I1e6vol493727tW
-S/1O6jEwgU98RlvFX2DBXw==
+MIIDwjCCAqoCBDvsc9cwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjczOVoXDTM5MDkyNzIzMjczOVowgZQxCzAJBgNVBAYT
+AlVTMREwDwYDVQQIDAhOZXcgWW9yazEWMBQGA1UEBwwNTmV3IFlvcmsgQ2l0eTEQ
+MA4GA1UECgwHTW9uZ29EQjETMBEGA1UECwwKS2VybmVsVXNlcjEPMA0GA1UEAwwG
+Y2xpZW50MSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlQG1vbmdvZGIuY29tMIIBIjAN
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1OJRskc2foLNijwL6gJmIZ9KK/lJ
+mTUlAAQZxECbtxFHeonBfH/p9wu/ylBtby3z0nR1o34dQu305a3r1n8PblhUpAtp
+DBt68SbxpTC+0p5LETyPOii/BoDXnTYmjFhUerh9VvWPdQAH/DBs4URYNslpzh1g
+kEeFxtSfX0vqFVi51ge7WNeJe/CJSva5AUun5jJxrHPLvvGk6X+z4EdEYCblU+H6
+JgpP7r9PwCq22d2kVnboJvBPV3FcHK7tcjXC5NfhY5doDUZKIUTdlQmCn2FDpXRN
+36+h2Mq0b6qKLK0ISkaJ8uWkZqld52zcNyxZmnr/4R5XR5OBvTg0L2tiuwIDAQAB
+o0AwPjA8BgsrBgEEAYKOKQIBAQQtMSswDwwGYmFja3VwDAVhZG1pbjAYDA9yZWFk
+QW55RGF0YWJhc2UMBWFkbWluMA0GCSqGSIb3DQEBCwUAA4IBAQCftCbs4rVnDVZH
+EN/OkdfZMAZyZA0G4uCIy9ef2+cUsuvfwy5n7Ga7kgpzETq/t4gUzfhsJ21RlQFW
+t777gIS6qhKw0Rd1uQOi+iXRofaqFxOBw+7Md/cYIfAc784foxDvvmYeQUt1HZBS
+sy35sThZqOd1+AwEeS88+jWyyDFYqjFFKZcWk9KsS8BvlJrXnfA1gK1WWUcp57Ha
+1yCJpx05KoA7Nj77195fDSDVd2w1+fR1U417TgxfJl19vQlXpMFD2c6vtiuEvfES
+N35wMmxohA8VkQUd6DiExIBbhH1LqIE++M2EBjs3Q2Yevy4PLKy1lc9mKz2KzA8f
+m05tjE7I
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEArhl4rBEkhGJo7gyq9UYJ4hARsioxlfYQhbMaDDBJFIsTYFSU
-Q7h8O5XPu88kFkXz+KhALrQZ+CtnlzjLC+zMwBzxSyPcUqQBvuZRxEy8nF3ObEjI
-a4hBKfzlBP+3lyjYwq++860xW5H0IsrgK69QR1k9e5OixLlnObAaVqmWkRmaxeIT
-6BVAq+iHuZ5VzJSC0QQEpSVHI6Rru/z2HOloqHfijTVr68EnvhIuZ5GRJK1Tj6hp
-NTCQZSH+yvDEC97GhlKMfwgi4YtUQgVYa5m48u6ZDYF8ySK52jFXK7smLJKVxQcP
-FZdaz9C03M1456dDQ1JqM47NajrIB1IFRyeixQIDAQABAoIBAHPXoPKk6W5o6LbU
-mQBg3PydgpjQ+HN26iF8Pa20hzvzGi5zuL+ixo8DLNkjiDiFzUM7+JDa55i4kNIP
-SROjOc3utCMyNkyKslqqd+esw6crx8lHWIwsemeMzXpZCHi9BhXsyJrtN7VdVVu9
-MBIBMeJ3n7BVWO2bC/NXmP7nErdyf44Z31o5F3s5fbuJ5O00FLexcInN9XGdvhHC
-LPw2qpHwudcUp+6aKD4dd0zcaXqBei4WXGvUjSOHjT/pZXkfo9++izY+2Tw93rMP
-EGY1hYsfjOgkL/gYtSmJ6CuZWkuy3zkd+U1ipOPJ7Px/phpBZbjtVup/wiHA5Q/T
-VjCFlKECgYEA4H8cvpAAs0B3HFqZtHnWdgLeSp3HAi8YQriAsD4tt+L4L028HvaR
-9l+y2K/y5/Zvvw57rBIe9Euo0MiEX8FAhLjawZhgYNe+4Fj83odIXZF0LBgd0vOj
-SWj4TRrn2bgFzHaZgVLUmMAS1KaZO6P5Kg4dUpISP5Dyi2Edit/YfH0CgYEAxofh
-HEf2fB99ObkiXjQxD851JJ1BALw9xw82p6ASfqaEkXazoYjCZ8UiJhlI+KnUO9Tb
-c4YxvuZpnLV/NfCdduruG/g2xm3Q06SSRMFb1mPQbhNmO+2xSP2DNd0JoD8Mzq8U
-pAslUvghk+0re5HeLc/SS+7eemh75kDFJ05IuekCgYEA0OL1qArt29x7+BIFOvyz
-JJN+qwcsCUgw1sQ+Wb9BYvz52WoHRPhA0HIzQ5RT/Ko9SBT91hn2W3Ga3sn1AfQb
-SGOIiOJzqyiUHsQuZhCSsR2KbwzxkzvID6Jwh64lVVv5aUphgwfDcW4nF1787ZWh
-XhRMDGyGNkd0p2PxzSqDkTECgYEAnb0Cb/0Ba5d9YKqnEuA3Bw8L5h6HsjTehNWi
-oEa/yx80/3qnuLW3eMmZm1nFr8UH2s4B2uUJi1r5GMjgHRRjmEOLEnAB3WENZctB
-aB2VgV7nET6aoQz3Kj46zUYlSswtud5D8R7l9ekujKEJRnIcbJvNxAUzgWCY6NYX
-j2ZUxFkCgYEA1/SdNwiJw2HaYGJZ71bp7o4oIhyPvVQkERQO5khUWFsNrfYsWhlh
-nmqb+QRf9udeIHwBiMrCppDET7MXOHaQEAVNxQ16aq1wX+eTlOr7bzVkNF9n3h6C
-HbsDJrg4txJ1VOuIXE6qUPPoqFAla3EfXvYgdtvLMPRGDQ7S6rGc0uU=
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDU4lGyRzZ+gs2K
+PAvqAmYhn0or+UmZNSUABBnEQJu3EUd6icF8f+n3C7/KUG1vLfPSdHWjfh1C7fTl
+revWfw9uWFSkC2kMG3rxJvGlML7SnksRPI86KL8GgNedNiaMWFR6uH1W9Y91AAf8
+MGzhRFg2yWnOHWCQR4XG1J9fS+oVWLnWB7tY14l78IlK9rkBS6fmMnGsc8u+8aTp
+f7PgR0RgJuVT4fomCk/uv0/AKrbZ3aRWdugm8E9XcVwcru1yNcLk1+Fjl2gNRkoh
+RN2VCYKfYUOldE3fr6HYyrRvqoosrQhKRony5aRmqV3nbNw3LFmaev/hHldHk4G9
+ODQva2K7AgMBAAECggEAdwi5T6s8EE9JaKMcslN3EhPEYIQ6n/00XCbu1Wqe5yU1
+R5JhayEHDMk4C4MfPcx/Ck1uPeXVrMfraMXwGfbgBP5FDZkHuupeuxrggVKZUKGM
+Le4j1AxWi+ddKJ3PvifhzOD9zLLv7ScAUAYvy2HwxWmnzMVmaiZj6gKXvqxvDlGR
+o21CLOLYtnkk7j57R0/wZXLMwXgY1+4DNSooCCG8xk/EpKtVp6DiLca234DpbKLK
+zn7uLS4ga5SGzsR/BIjyLxOjL9St+zpIw3VOOmlkA6CYV7opEX0cAW7894rlqZ6G
+K0dZud/t1QZnn9vzRYsOAQoOA6a1ZowOZAKesDPfwQKBgQD54Fb3/+6UMoNU9cQu
+VmmCViDMHEQH7BJ4EkdR7JaaHnyJCqH2TDwTy18g7quiHuY6ezZmaR5lh9gVsYpz
+EYuo74f76s1Y1k38JF4Tph+dDBArn58r6Mof8KKqmVSO3zfAJSiVDYi4PZSspD1u
++jgPEEhiR8FSjEltHI1IMrUr4QKBgQDaGeY8fVWl91XyBP0ojSSHe2j9l1y3og/d
+wjCkDQlmtYRAofjDW1edabJuThsySLd++ROqktVVDeLDt2YiKnQqNRhUDJIowYjJ
+vR6NhVEXF3rJQs8yMDGqLxzZ45UJDeYQfUTgE4WDTT7TvkRCBQP4hi/3sumze7bN
+pJf8KvgCGwKBgQDGlF4pWzDMf9RVibduJ+hT14TbET+TmC4ZVFVvqvkI5F+OPW/3
+oCBCjuY78tFd1vaa1V6nRrUMdUfp/Z2M0w3NpQbJ0pF9H1r8nh5RuTz4fyS+tm01
+5Rv1BDUSJSbJIGZbAmzc/9N+sBnelevorVwtxH/x8xqVMr4Lw5wYG4xVoQKBgFNp
+/mV6JgywuP00LUKaILN0XqZGgp507A6LW6ESn1rZ53f0uri0saCxsR2A3+Pubcex
+KXVebRr3kZf7B6PfisgtwF085ZWS12cY3puPtoDXaQ2acLYoOoZ1OFqZMQHif/Ak
+iPgOX0zleTbwmRiK5Ibjg2r/0WPk1/h0j/BQ2sOrAoGBAPjelTSpu3spBo89Xrk3
+KyJbqO91OsY1CmqBpR8gMG+d9eQSWeO0L0eaZY2/zOiCRQ+HAqwKHO+l47TuhfWL
+giNTciRf7lAmyODDUIkryQya8PFoMCAOgJe3ISWUQJpokGO+z68k0feiTRNTQSnu
+hawcgCLivWtw0xBRGsyS6jh4
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client_escape.pem b/jstests/libs/client_escape.pem
index 8858efba637..265c8fd02e7 100644
--- a/jstests/libs/client_escape.pem
+++ b/jstests/libs/client_escape.pem
@@ -1,48 +1,53 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client_escape.pem
+#
+# Client certificate with reserved characters in subject name. Includes authorizations for queryable backup.
-----BEGIN CERTIFICATE-----
-MIIDjDCCAnSgAwIBAgIJAOdcrxT4uC2qMA0GCSqGSIb3DQEBCwUAMHQxFzAVBgNV
-BAMTDktlcm5lbCBUZXN0IENBMQ8wDQYDVQQLEwZLZXJuZWwxEDAOBgNVBAoTB01v
-bmdvREIxFjAUBgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5ldyBZb3Jr
-MQswCQYDVQQGEwJVUzAeFw0xODA0MTEyMDM0MDhaFw0yODA0MDgyMDM0MDhaMFUx
-CzAJBgNVBAYTAiwrMQwwCgYDVQQIDAMiXDwxCzAJBgNVBAcMAiA+MQswCQYDVQQK
-DAI7IDEPMA0GA1UECwwGRXNjYXBlMQ0wCwYDVQQDDARUZXN0MIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu68gQgunDPYW5eBzGVYequBxYIC7S3djIQ0a
-AGHWnJHOhAv8+hk0SqyJdGA9aZA1Fy616DUanOJhRE2lPokT82IMqWPvF79HmY3f
-7eOG6dNostcDs4NFxSdLplgLivOp1Lvb7E52DAMkA8xygGIxRmFCXpqve2qQehpS
-ccB2fY9WxSQ4uGgR8Fl/uqyyv+P6M2jyOh+7SPS14FE4xabHuoC4BI8CQEtKBiMt
-mBDjL9D6SuCC72h7tfR2ACXY3s9GzU1d8H03Ps9Uteo0ksSZ+eDXL1pD2hSp/e2u
-03pNQhApiGea4XKK8VqjsS0QcluQLc9JP0FzPGQHjbDOOa2wFwIDAQABo0AwPjA8
-BgsrBgEEAYKOKQIBAQQtMSswDwwGYmFja3VwDAVhZG1pbjAYDA9yZWFkQW55RGF0
-YWJhc2UMBWFkbWluMA0GCSqGSIb3DQEBCwUAA4IBAQAocD4YHZA1ylZUJZicC/tH
-gf02OQe1CaYgekWDq/CEPeLUrMXPn20w/xpWdAL42HFEkVX+rIkI+vgafbMD9mII
-M6DdRJZmielVhKzFYuuhIUt3mEIwjiucbEct0ltsj/mNAXhRU1LTm+NlpmdfStRJ
-lmHHzMZdEFkT/aNT7tFpCO1KNI5uB7yPN4JFSLM5lHd1qACPs4Be965zXNeAwvv5
-qo83Pq0Hr+/k+73bq9He4ah1zEqUZVvCjG814lzv0GQB5LVV468/IzC07HSAF1Jd
-nCCUy7xVxZhI9MEZ1d8QnpJSAJtQSuGwwJcY2ncjR/I3u12Vz4J+8dG4GbD5meYl
+MIIDgjCCAmoCBBkNtHMwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjczOVoXDTM5MDkyNzIzMjczOVowVTELMAkGA1UEBhMC
+LCsxDDAKBgNVBAgMAyJcPDELMAkGA1UEBwwCID4xCzAJBgNVBAoMAjsgMQ8wDQYD
+VQQLDAZFc2NhcGUxDTALBgNVBAMMBFRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQCstDngeE+4YS9MNaTbiZ9WF8wudbDcaCnxaDY4yKNb3npETHhX
+DmLDdBYqyusv8HqiKjCb4+yrFIffyzKgiN9to9o8Z9QJmWSVsMWVyQmYO7MxewKp
+Ou1iQ/mi9EU6VpKwZFFwXStsu4ybSBrxJbHe4AAFp44/NbBiTNijgCvUGXv7RM5Q
+8fiSyiowIwbZHeuJ7krt0wdWgZ+N7C2503qcr1EfMLNvfzNpiyIc8qTz268wD+bF
+sAryinRw8e9AeiGcbqG6aJtsKbSk5B1sbU7wNByQwMiX/3zxv8WG8VKgdzwnrszR
+ypcaF6EKVDkMtoQu+GEKaCl9EsOXcyzKBoCVAgMBAAGjQDA+MDwGCysGAQQBgo4p
+AgEBBC0xKzAPDAZiYWNrdXAMBWFkbWluMBgMD3JlYWRBbnlEYXRhYmFzZQwFYWRt
+aW4wDQYJKoZIhvcNAQELBQADggEBAIqP9c6qTabY+b7wk83pgeosas8J6BP6R2Cl
+vYFxaWy6/MobBlbnPcXKFlHLxOJF5Tz6Ucfp8PTmCfThULW5FsWCT+h1N7V3zJTs
+KwbSSMf9VdFcXzAu1JX0s2YVEoHfWvQgJH7SPbjbEZWV406aDVD2v0i4C2g2WVlq
+7Y8YTRcq113/5CtFrUgSBjfWyalrpwbIUx6z7dlsDOZkOoRgFvXWQOLetOkD0+kZ
+ZBRESxVXlRyO/6yVkCArE9eG444ejG0/4bTnv+DV47BnGbG2Wcr73V5TGzW+QBcC
+MQxaH8Ry3drgN/qsA1Q1t/021EqJ9DwiYSKbbudeWJZY7opTqnA=
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAu68gQgunDPYW5eBzGVYequBxYIC7S3djIQ0aAGHWnJHOhAv8
-+hk0SqyJdGA9aZA1Fy616DUanOJhRE2lPokT82IMqWPvF79HmY3f7eOG6dNostcD
-s4NFxSdLplgLivOp1Lvb7E52DAMkA8xygGIxRmFCXpqve2qQehpSccB2fY9WxSQ4
-uGgR8Fl/uqyyv+P6M2jyOh+7SPS14FE4xabHuoC4BI8CQEtKBiMtmBDjL9D6SuCC
-72h7tfR2ACXY3s9GzU1d8H03Ps9Uteo0ksSZ+eDXL1pD2hSp/e2u03pNQhApiGea
-4XKK8VqjsS0QcluQLc9JP0FzPGQHjbDOOa2wFwIDAQABAoIBAB832QDDWW0BffuM
-oviC56T6okEwCHdcC2QS/tEzdPQkGJrEN7cN/DGzk0WFQJHPh9UsUtumAaA40379
-/09wk533IC4Izls/2NQE0kuKfgVkwdSFiTsRycgqah3oJTtenlAhU0pyHpaO6y2q
-kx0huBqB0P1Vc3zu08tLl40OO2dU5/NDxFrQBF29YoeSvKDEmvxpAsGeV8zcKaR3
-CP2dXzTQUm/g02rmq/Rm00h4dYX+TtJKOPPF8UJn+E7btgrej8EOkFXb7Wr/Bspf
-zo/7lYYBD08jPvrfBxBJszblVgwxeCnrF4MBavjgwm4bK5J910YgR7Jj64hXKlrX
-hYPzwgkCgYEA9USMp6kBNG/wyBTGae650E6U2N8BDPezV6aPBIzEY+jai3n4b+gc
-CI7612IneU7bpZLe3sQH222LENgV1G03dgjYLvitldoIJSXh+O9Lzok62TfJd1LN
-tLgnc05SPk2L5R5bJblyZX0qaG1djotPQrLImF0+lFEhERx264AF6+UCgYEAw+WI
-hbQoTKhQebi0PDG5zE82JCTSgyAaoYos+bVFYSkvdMAOJUpxvhgBVkwuROF0mHTR
-QiWgVnDSikPwDs9f0JaoBG2r55bh9nCesm0OSFCILvNBR3D9mGi5Zf0lsBcqwtHp
-qui2bidUz/4khwGrV6ZjYwRyqCXii07HIk8aBEsCgYEAlpDGaAZwHui5P5rBUzai
-CyayaZA87OECz8QH+BsSVOMVhpoR0WEEFJzxkFdJNEccv8Ax4T8mM6ZDwMtmW0nQ
-yj0TuYIfzeZTKbrfxhngx6Gm5sJAg2fpsA986GQkSOsB/l1sRvRZLcRwzDqXPHJ4
-7dEjI6XaTOKhEggPWPL2r6ECgYARUZ+qQm01qcPDnyLAF51XhMFCnMbHtPTlxzOG
-uBH0LxH0/m3Buj0oEzM7D+0fRddrCxjdAjqUqdDTTIJSrN7JsCgWjCOgi+RaR0ag
-e6fBmO0RSYxB5qlk6g1KCQFl+gZbxvcjlwNZ5bxHzy4niWw+iYVL4b7JQuAudL6C
-OAAS1QKBgQDKiGC1b3xbxOtrCcxuPBENrysiu2blLZIlVLuK3cDQk3GGM0tmOZrP
-013lQG0P2wbDDTt5CbMshbvXYava7usw0zypc5CyWJbz524TAaL0jy5voXlM3sTF
-yXbwalewqoZRo1YvBkeVurfRSbFFudAjvxLgxWFe7QizRRMkeG/NQg==
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCstDngeE+4YS9M
+NaTbiZ9WF8wudbDcaCnxaDY4yKNb3npETHhXDmLDdBYqyusv8HqiKjCb4+yrFIff
+yzKgiN9to9o8Z9QJmWSVsMWVyQmYO7MxewKpOu1iQ/mi9EU6VpKwZFFwXStsu4yb
+SBrxJbHe4AAFp44/NbBiTNijgCvUGXv7RM5Q8fiSyiowIwbZHeuJ7krt0wdWgZ+N
+7C2503qcr1EfMLNvfzNpiyIc8qTz268wD+bFsAryinRw8e9AeiGcbqG6aJtsKbSk
+5B1sbU7wNByQwMiX/3zxv8WG8VKgdzwnrszRypcaF6EKVDkMtoQu+GEKaCl9EsOX
+cyzKBoCVAgMBAAECggEAJ6DbPvScZlR2g+gzQeTcWObxBSAgSxLjvO8KshDn2ya7
+q3xYiLFWXD8A7yTMvp1RpnBD4yFzpvX5D5MStN9zVTcp1n6EmwdFm0uKqwoMV5Ar
+WAk/3REWc1vhplCiqfY/hpYeUcgvNK38X402EWty2w9PMfz2mO564LN9alb4t5wY
+29H8HaM/BAhrTV3Py/rDt2LQkSRSXuEGyhOviX8+hR38WvefMyhv2rSdIlMWr0zU
+2sUPLHZ/pPcjgHMTUBU3MFsTYN9rnzcmCzOhhhhYk3fo0ZxT2aq5EiZIV2k4Wsaf
+ho6kqfHtVUUqPq8zFawXrg5fzs21pFEa5aeFA89dKQKBgQDYUPT+ePJqURNHKhcl
+hC+LckhCIjJyxOsDyWeimyFQ+33j5EBqZG91/9piI10jnpe9h74PjWz+WRM0pq1r
+7GCHm0j+vVx9NbV5yn9PB1O2xOh4Sl1BNqQ1G8Apd/ym/MxhDtL6Q64yedL6iswp
+oFG+SYwahkk0DOza0EYAwtYLLwKBgQDMYxInWeYTzTcEbW2te0rrphevLypx/Y/W
+t+mInUUKm0tYcf495YOES+Qp6dm352dZrZk0UAhIOZwl9JQNEDN9YNCXcoe8C02i
+E/BaVUUygfiYkih3YNYKtOG1OXQ2/n0F+fDpL7jrd1XIyUC8TLW2xtkGLl1TTjC/
+6JqFEpavewKBgEfJThSpJKG9uC0Uvcu4e2LGkU5JNP67dNaz3w2qd7r9SwD2/Z2R
+KSA6wUlyPPWWKvs98ggNQg+ClgoSCllXf41hLi9Dvk7bJRd+6RLb9p8f55oL67i5
+nnL1e6cHZ7QvDtBi8AcXsNaVcTuuFiT2TEpe8/zVdbOtWmkfVyvnfMsHAoGBAK9F
+ckbusABhJoIUeU6hAXGtwHfJocOZJyWCF7HA9HkRDX7uWpGn5a2pCyPqV3t+5MEh
+vtT+oOuXA9IEuIWvVAh74sVNQRtAMjYAlUhSAYI7tPzZsfwVvdf2n+wyNfgHKx3Z
+5f+CnjjG4HjMJUiVG+t/AJNtZTjQP7wC86eUdkZLAoGBAJPYZ397bNt72CT28zap
+W3z0fYfcJWBwJ8nwOxNyPOTXGQB0dPPkO7uUHaQXLILT4Z9u7OhNMDsY6De2MN46
+jtUIc3Yq1wX4Vv1AIJJNOfnCpT/UwLtOP/3PDrRCIDQCuKvvB2pvMcP12imlVQ8X
+4Oi/LM3BKGi9kMcO4BWvIKDQ
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client_privatekey.pem b/jstests/libs/client_privatekey.pem
index c479d868366..bda2fdf6d65 100644
--- a/jstests/libs/client_privatekey.pem
+++ b/jstests/libs/client_privatekey.pem
@@ -1,51 +1,55 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client_privatekey.pem
+#
+# General purpose client certificate with roles.
-----BEGIN CERTIFICATE-----
-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
+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
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQColB1YU1Dd0fOS
-sE4DNuWvP/MCRRbLx6KZxrKF0zfJzPWHemhkz2nj1keVw1kZgmrxy8brMIF2D14B
-pnXkvbRBziY1PT5kh6MetCrNj8MyFbafZoEw9R1mnkxkCpjlwbgSoOnH2tnmQq67
-zCmsH5J/efrttjEubUbREF7m5q4y6zhHxtoT7DSKezWnAyIQ4ETZpTIGBgblGnTg
-TdvaSj1MmMNoYOlOq2Md+Qc6LT+wP/PdYyGBTaw3DkDs7eqWbrWstOb6lVN4/z49
-Trbw+hDghnOYKQ5lR6I7VwgwC8hqGK6UkhswIxVgtmLRu3syNLi71Wa6r2ZouJT+
-uowZDpU5AgMBAAECggEAF1FNcc8sa1JEF7EtSUKJqKD20wSNb6hwdEbIoLwjhlVE
-TPYAhJkv82TLSAraQy4H7uQZ4qQ19AeSIDZPLlGTIlsKa+jJvYwJYxDWrtJI1J+u
-QAQksInnBC+3L0tL9NPDy0fYrl02MKRemPlXdkhzshBERiciTGKvHfHevp9/zukC
-v7tXotC2YR0xJuAuZn4hvlp2oJUtWtdwfsnnDFaznVCl4L+xjZWoXKwf5H4+DTmC
-NUZgw0CrLAZSy93MY7mJQgjeWZi7BZ0i++BY32mvWA9KcGKi1DhCWCtGsjI0j05/
-yvNciLGgarxiIm/yH32FM5OCst50IzPENoRSjpNyEQKBgQDX5TktD6Kdd/1m7mhG
-a9k4jL0A/HG/2uo1T+zrHcF4ytzVMg4TdltmYme0tmL5ZJZ+0kpPxwxR4jStj5Dn
-6Q/ws3XME/cpjxN67mN4lzZcGCVdK6bJGmQg45EXlznvZG69EYQjRXRwpOd7bxKJ
-P0Gx9fvSaREomCN4ZdJD1bgalQKBgQDH5MSJZqrfg5QU7M/qAADbUVW8qDYnWnti
-/9UnkpqsY5Dbu1Hzi82S/bFxrMNlkqSH+HhMnMKRv3jUK9dI1w4ksVe4TNiao9oR
-R6baKQFyXkpBVI8OvGm3YhA+jjt5W220IfWch2mQayF7kXr7ZbNTGqoK+YDmQDEL
-P+gN5JALFQKBgQDOqV+X4NWawtdQhnpOnsIqPZ5WqVABhP6Y1c9GKQ+gHyBQ/D85
-JhzL3vrCo6wOatkcwRPdVf5XC5+9XCYruI9Hq6HhHmOD5q+RB000jBq/AWYSz8wx
-yQ975BppaJtOqubOGUxRrxSNF212XJZzxpeOUJcjjOud3jRl9aHWyWgYGQKBgQCa
-MOwttMVP/pYmgflrXi9K/fVtvi9vscsFtaQ9j0fCfFcMN/ViMVAU9559ui9LVY+W
-1uIs7qrjdFgHCf5Z0JG3Whj5MEXRG10mAShClmjoSLVsqYZkbo/5hipTprFXzl/U
-GHH2GTojzY+ZWsIL1Ao8q4/JQWbdtVxfeh9NQCagdQKBgHw4VkLjtM3ZR9lNeacF
-GdBqEql08iVszXBwoknpKjMsBcpJVY6OQaRcMRoicKD6SyAhAhG1BjRZmuRtaZas
-zQBexYs/w8w6jjUxRF7FcQcKjJiXV9oPhgaNdaEtGPnAgE9X8/qqPGz+OCMI+RPW
-E28R8ZvFyr1KehGrSdEkjAt/
------END PRIVATE KEY----- \ No newline at end of file
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDSUrE+GTlSqN8o
+dWExlUzS6IcjigoK2h+OYVzDEOtRpntSPaZh0c4bOF0e9G3y9701JwM+jDkpFFNz
+KpMye2zEdAqIH3O0EcZa6xKpgluNFbYaDI9jj1Sa7laGVyZyWB6eLjnA1ClyfaVi
+xbARU4hYYmJ9DmDpxHZljWNt0gy1kg5phphJ1v8pkpaR8hXrhm+agEBOIsDgDzFI
+9wQx0apIi2vPrgD/q7Z9aB5j969FXOIWw3pWA2FEkoL8sXNW5MICVNLlgPpH14CU
+b45xdNXDfQ7IX721FsdPlnKdqGUk/bcYwwDv4fhJOTHqt4y3uIxrNEWJOlB6OGFn
+S4zTSm/zAgMBAAECggEBAJtrafiWkSqJCecO3lTSnCOamwpjHkqopvsC7ZZkMVBz
+8ttyHTpZ3LF2tDGEtJ7//TyC6L3WxwKZN5V6F64NUPHXQlUW0Nx26hoTbgX/A4I9
+UgTr1SXgK8gVabD6Q7npbi67wAfDgCFPweA8b4BONwoBIgCBmJIGkOs4UQo9VxDw
+V2W+Xr1u01TwGm6uEXi7aZh/aBfINSS8nnoCC+iNgUVbfObaJyyoX6jXqJDM6hbd
+Wpp6V/SSwISNtJBF5oNeRlnoudXXpk4QIK2lsSrQzQQG2Oa92Z1weLAxBzAkqTER
+odAcCr/O6eDTO2CTpIdTuGBLJUL8EZcAFuScn8PpR2ECgYEA630bXMFf2Cof6Glu
+bNqxvFqkMPJP37mXNJQm/F3yTWqF+t8q1POk5bhMV8PgZwoQjokv/t59n1Sj12RQ
+xiSY57RU6dCltJ+cUfSXvHmTc6+BrEIvImdg9LkQ1eqgF+2VK1rJGXIclhBZgseb
+Im97rQVotYVi8gvF5hy+zgLmNXECgYEA5KRx2SIxRtpiiN21TSA4IpSK8RxWE0ip
+DohwPIxD1MMEEhmYeDW/L/SWItgSyMZN2KcAoehjJ4Na2B1iPgthmI4qxXy7HFpp
+kaUEI8XqnQ+nRIh4MGFbsbHF8Rn2xWxsankKg47+sRucAVjwayImc1xIYUpjPw7h
+tkkZQhi0eaMCgYBVahRxqWY1Rto593vpGc3b7tidNFbKZEu284HMidroP5oHK8ki
+YplOBXITZ2XOmfT1bkctX9Aa6Z1f8+/kXsPjTyJ5iIeCI16Uz232G/biwCb9ryff
+h7XALhwwKyEUbMVta0mD5EMAH0AIUpQvglZOpKadKJuCBckrNQP0P1L20QKBgHIx
+n5ru9OWKVQQ+lzp6CQ9cWTirCmJ/O9BCXKwg8g/lhrbzia8gSOjOo92rRVZ5lI/M
+eQhkZIFrnYeqxVJvpMLo3nvcHCfBEFDptfOX+eGP297iugSP25gYTeBpM1LPICbd
+ZV7noFUckQIrRYh8ee/L+2p8GK155UmBoNfeNuU5AoGBALmn/GSUhd2wnLrbkFSq
+giHvn10ZJbHGQ+TXl9U/tk60Cuc0wVT9TNQqnc8rKSzK1GdY5wa76PC0up3Cz6gv
+KQi4u3B6HFGRIrLq7JfEV3zdoP6G45NtbRcdM43f5g594CNaieLZG+bc4EsO1Q2X
+qKhPNhNlIparFx87XPaBX1SS
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client_revoked.pem b/jstests/libs/client_revoked.pem
index 03db67deb50..0c5dbc8ba58 100644
--- a/jstests/libs/client_revoked.pem
+++ b/jstests/libs/client_revoked.pem
@@ -1,48 +1,54 @@
------BEGIN CERTIFICATE-----
-MIIDZTCCAk2gAwIBAgIBAjANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
-ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
-FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
-BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjB4MRcwFQYDVQQD
-Ew5jbGllbnRfcmV2b2tlZDETMBEGA1UECxMKS2VybmVsVXNlcjEQMA4GA1UEChMH
-TW9uZ29EQjEWMBQGA1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlv
-cmsxCzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
-lJog+grPpvDFKFn9mxxToLgkx1uM+LmuRf1XG707TIccGfSKyZMGCcqlYVQmqT/J
-Fnq2rvtXGG9yxPhHoBwKw4x9rfQEy8Z93BAMNRoIlbt505HaWv7b+M3qksRHDLpw
-/Ix0Yay+fjT9DGmcrahC9h8c8SVtyHoODvxdmR7P+p7e6F6/6vcUkg/aU/50MRUN
-qGUSMkm/kpcjFNmDqRSLQoDPE8G2UOIolG/m95uaCOkGCT4lQjrCpR36fkr5a+vI
-UbDJP8M26Kp2fFnvObKzoSFSEVOMGeBM9p4qa88I4hwfthNFvGDOCNBKZK5ZxLZ3
-gGFcR6kL6u11y4zoLrZ6xwIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQB8WQMn/cjh
-9qFtr7JL4VPIz/+96QaBmkHxMqiYL/iMg5Vko3GllLc1mgfWQfaWOvyRJClKj395
-595L2u8wBKon3DXUPAkinc6+VOwDWsxFLNtWl+jhigat5UDzGm8ZKFhl0WwNhqzZ
-dlNPrh2LJZzPFfimfGyVkhPHYYdELvn+bnEMT8ae1jw2yQEeVFzHe7ZdlV5nMOE7
-Gx6ZZhYlS+jgpIxez5aiKqit/0azq5GGkpCv2H8/EXxkR4gLZGYnIqGuZP3r34NY
-Lkh5J3Qnpyhdopa/34yOCa8mY1wW7vEro0fb/Dh21bpyEOz6tBk3C1QRaGD+XQOM
-cedxtUjYmWqn
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client_revoked.pem
+#
+# Client certificate which has been explicitly revoked.
+-----BEGIN CERTIFICATE-----
+MIIDrDCCApQCAQQwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAPBgNV
+BAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQKDAdN
+b25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0IENB
+MB4XDTE5MDkyNTIzMjc0MFoXDTM5MDkyNzIzMjc0MFowdDELMAkGA1UEBhMCVVMx
+ETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYD
+VQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDmNsaWVudF9y
+ZXZva2VkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzc6zy8Jj8dn
+vffSSkV9YGlRMgswsanEmgbzr+24KYbLz9aoqAOTJR8lxnOSZ0E0fgk/ZGUfP9ob
+oiF1Yt3kdGWQKXagnCWv1LYZzTlrCiOwVgQDEeyJk7qpTng3E7XKW9rWLHJS0oZB
+iM0UAlA8NuFqieH0G1Rizj16m5xL9lFsrgOuijKXWQ4KqBqRaub1D9JLbeyRHX3e
+c3KZ848PAA2O7O/zaJjVu/m7W4YzD+CsCbzMDuA1ddNSF808Gxt9l0I7Hp5NcJ42
+3LL3QDHNLZUh+r8HK/yZbYHtjdhGNGOB+4zO6hiVD5IsJwYIhVWPCcysMEbSgZTI
+ApB0TytKXwIDAQABo04wTDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUE
+DDAKBggrBgEFBQcDAjAdBgNVHQ4EFgQU95zs4BMI0WmXT2EPpmUHQUfEFrQwDQYJ
+KoZIhvcNAQELBQADggEBAEyzzIG7wI+ttxRudIwitfMJiQH138ZefiSa+t1eykRK
+u/NkRl6sXxhcWYt3LGPB71hLt6qy18B7nfO6K9RRLvAnlgmMJrWD4IswvmfMoaBt
+uKcf7kI3HmKOdZ8yLjbuebXVWWECyMsL2jfWwLxRqqkvnDRNFrNcOdv/Pi9PhWXU
+tVXhxo6Um6pahwEK30Mi0G2o6bLSaoy796tYIcTZI8yuj7AObjyFlIVkHzXWkR/6
+ogMUOACEeT9iQZ840tRye4AQi7R941ekYO0Ja1WoIgpIlR9BIlBxOBZYco5azrU9
+0Kn6Nog8UpKW6sa9DcTj98fIYqtAXPMD7KtE+9DRwGU=
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAlJog+grPpvDFKFn9mxxToLgkx1uM+LmuRf1XG707TIccGfSK
-yZMGCcqlYVQmqT/JFnq2rvtXGG9yxPhHoBwKw4x9rfQEy8Z93BAMNRoIlbt505Ha
-Wv7b+M3qksRHDLpw/Ix0Yay+fjT9DGmcrahC9h8c8SVtyHoODvxdmR7P+p7e6F6/
-6vcUkg/aU/50MRUNqGUSMkm/kpcjFNmDqRSLQoDPE8G2UOIolG/m95uaCOkGCT4l
-QjrCpR36fkr5a+vIUbDJP8M26Kp2fFnvObKzoSFSEVOMGeBM9p4qa88I4hwfthNF
-vGDOCNBKZK5ZxLZ3gGFcR6kL6u11y4zoLrZ6xwIDAQABAoIBAFlu0T3q18Iu0VlR
-n5GEYMgvSuM4NAVVKo8wwwYMwu1xuvXb+NMLyuyFqzaCQKpHmywOOnfhCC/KkxX8
-Ho87kTbTDKhuXZyOHx0cA1zKCDSlGdK8yt9M1vJMa0pdGi2M34b+uOQ35IVsOocH
-4KWayIH7g52V2xZ2bpOSSnpm0uCPZSBTgClCgTUYepOT2wbLn/8V0NtVpZhDsBqg
-fORuEHkiurrbLa8yjQsvbR+hsR/XbGhre8sTQapj4EITXvkEuOL/vwbRebhOFHgh
-8sipsXZ9CMaJkBpVoLZTxTKQID/9006cczJK2MGKFhn6mvP6AeFuJAM3xqLGZTc4
-xxpfJyECgYEA0+iKxy5r1WUpBHR8jTh7WjLc6r5MFJQlGgLPjdQW6gCIe/PZc+b9
-x5vDp27EQ1cAEePEu0glQ/yk19yfxbxrqHsRjRrgwoiYTXjGI5zZSjXKArHyEgBj
-XOyo5leO5XMFnk2AShPlh+/RhAW3NhxcWkBEAsCD6QyC3BPvP6aaAXkCgYEAs4WH
-dTuweTdnyquHQm59ijatvBeP8h4tBozSupflQjB9WxJeW5uEa8lNQ3lSz1F4TV3M
-xvGdDSqwftLRS2mWGho/1jaCeAzjsiUQ2WUHChxprt0+QU7XkJbaBY9eF+6THZFw
-sDG688TiolxqoD8OYi8EtxmIvbQhXHmXnrk3jj8CgYBSi74rkrisuqg8tQejl0Ht
-w+xsgM5wIblGJZwmOlzmsGh6KGYnkO6Ap/uSKELJnIVJcrk63wKtNigccjPGufwR
-+EbA+ZxeCwmQ/B/q1XmLP+K+JAUQ4BfUpdexSqA+XwzsOnJj6NY7mr65t+RDbs7G
-1Uvo6oc37Ai5pAZJfCN3uQKBgQAJr5qvaJkM8UBYXwjdPLjpTCnzjBHoLlifkdmM
-18U23QbmcwdESg/LAQF6MoGVTf//rJ/v2/ltTHBZZ2aDex7uKZxoImjHsWpXokhW
-cmz+zqmlFarWOzrGQl1hD2s0P1sQrVg3KXe8z1KrD/Fw0/Yitga7GlWWZrGmG6li
-lvu4YQKBgQANODQYEaz739IoPNnMfTpTqAoQIOR4PNdMfCXSQrCB8i0Hh4z48E4F
-DEAd1xIYyxI8pu7r52dQlBk7yrILOTG0gmgLJd5xKdtCTrasYAICI3hsRLtP8dVA
-8WeykXY4Wf1bYQ+VzKVImkwL/SBm2ik5woyxCzT8JSjyoAwRrQp9Vw==
------END RSA PRIVATE KEY----- \ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC7NzrPLwmPx2e9
+99JKRX1gaVEyCzCxqcSaBvOv7bgphsvP1qioA5MlHyXGc5JnQTR+CT9kZR8/2hui
+IXVi3eR0ZZApdqCcJa/UthnNOWsKI7BWBAMR7ImTuqlOeDcTtcpb2tYsclLShkGI
+zRQCUDw24WqJ4fQbVGLOPXqbnEv2UWyuA66KMpdZDgqoGpFq5vUP0ktt7JEdfd5z
+cpnzjw8ADY7s7/NomNW7+btbhjMP4KwJvMwO4DV101IXzTwbG32XQjsenk1wnjbc
+svdAMc0tlSH6vwcr/Jltge2N2EY0Y4H7jM7qGJUPkiwnBgiFVY8JzKwwRtKBlMgC
+kHRPK0pfAgMBAAECggEBALTHnC48SYthDjhOee3mNC9JA3LDg33LZWEmnWGgt1jC
+JUTJD4tOCGSsMxnyt8ilGj8qRuB3FTnfLxfcHzIc+mG7QP4I4wZlDejk/v1BGK9t
+zvUAYsaIFkFk2eBADU8nGASiyHWa34cSxW2IOm4RdFO6T9pdKg7J6a8lhqOExYVP
+bB2hUy5gWeA3fx0Q2v5ynLM2Hl+/bVE0d4+L0q7RyKvLHN6qOCGwaLzdp8kAYH8H
+y9YmuNjGWEC46o9q8JpnptS7PqrEMdgpDg3VEgrLGAmI/aNQp/7lPMENuPtuNFDx
+EsUtqcwufORlkd++rL04GmqR8LsY5WcPeoNnivmpWoECgYEA4UKr5JsH0qCnOSdc
+XfmSCcBGkGUj7Ef1/bf1j9Nh3Z1tP+TsZhwqcl5Ri4DV2AyUaFA/PDhuII1E99yY
+OJtEugKQ1kVPPcVbSkqp5+8KC7jv3FuF7coBccxE5ClqHhc8jR1db1yBdgrpif1l
+7Arhdi/t0SoTM8dgbA35+eiA/PECgYEA1MN9x1BquyOL/SgzVcw/FAfu8jyF/Wwz
+heiBrKtpkP4YKKzSQNPQzrjHYZ3IaSAIwwuRA/iO+hFgRZU7dCFKywnqg/DO69Oa
+7HpVb02r+b80HxPYuk4KgxNisqhH108to/QkFUIvgnzK+gEKjE5Kxa+asA81OE04
+xS9lw3xg/E8CgYAFvJHuF3iih47aqML0bbenYesqIDlC+i4skPPC/uoeH7U5jFXs
+38jA8t/2wogvoVpiMbD6kqFTWOWpvkduIZ4lco1Ht6ol85G4maAsFO1XkRUisn39
+qUhSIpaajOdz7rmPCnFntZ5iaDK8XeSrlzdYsC3JRt4IUoqFFfIIyEAIsQKBgCnR
+VppjKucnQG98hEJ7x3YXbRZ9YNSDfMj3/uzCMBiIaJUuCpElUKgg10dPbMGEw1Qa
+pOED7I4n9iUXBL15garQgyB1pyXgzFVoYfxjZsbKluL40qMjjZtfpwl4W85syIqu
+BJ2NCat6/aYPqFQVW0rpjdzG0G4Fd4ACJd07SBCvAoGBAJ+GpQURdCINUHVYFvC4
+/0PHimYppJw49jcg5Ll3KNceCa+LzKrXPLh+N8Ohw+3qmEnW6YnHhfrz1PCuh3X8
+uS3QVY63hKNFvEsoj2vAN8GydE40wz8vF2gBLi78xEnI1UxoFRRJfmOzl9MrcBjh
+P2hQX4tNtFcUx/KB5cDd6c2j
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client_roles.pem b/jstests/libs/client_roles.pem
index 813e88e0b52..b0ab47283d1 100644
--- a/jstests/libs/client_roles.pem
+++ b/jstests/libs/client_roles.pem
@@ -1,49 +1,54 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client_roles.pem
+#
+# General purpose client certificate with roles.
-----BEGIN CERTIFICATE-----
-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
+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
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEAnaKnxCAbBDlBGTLwWcL67y0FEA4Z415iLKw5+a6nwGJaoSL0
-JMLVZ/cFl/CFBED+mJOHpen2fgLhPRZrq+Bu76KZQI4W+STNACGNEtl7bANdplYP
-vo4KskqYH6R3/jwxDfH6a0XZItvCQ71C6JSYf2uynkHFXkvmGfSBRch20LlNVvBd
-ofkd+IijA70peTUmt/gMD1YgV5B6x11+pqYrjH25r9ftczn2pKy+FbZMKEth8jf8
-jc4gIK2ku5Sh3MFdykS9RpKSKkW7WV85x1Nxy+cgAGWxw7U//BxDgBtbJfgPrYpo
-U5a0drlKwM6vRQpBljhwF54s6XOmmEXsL/m3XwIDAQABAoIBADz4vhVhKbH/h0t8
-5XSCs1axviSQn7jPN//5ec82nBIQuOdcwrw5VBwLcvFrCbg0f4V6gtxM25ev+3kK
-ZAkuHRq5dLeAfihN8LEdSRjCYDfOMXn2Dc7x1/dQXPjYP8VpeLvhHbBCaxNNlx1m
-ZivZ1gZrHMKTxAiOKOlfJmVcfYCLoIcAwllGJEd9SUhsuqvrmkQujo56lEttGgno
-OdR0RJNfEDTRY69M+qZs8adUUmKIIRTLq/iLv8JBnKOJhw7f5oIc0gwepz46mTDX
-n4oVqMmDwMkEAVlqGWJmPCvQwPAcFhQSlEW7QAAgt54AjSoyiyETvYJP1l+8r6DY
-X19YJ/ECgYEAzi8jm3N1CrDGIyuo3yhBs/+iieAZyLAX957MVBeJTy1Z0gCwfIPs
-7z5N8Jn5Vy0r4XkEMkBtRLxhhnVWp/NjaExQLmW4ka0eLzaxy8JT9Nm4KBBuROPm
-uIcoeWfvyXqmWkjpvoX/ptH/8wdy2XJdeEwsja+JqHf5tBCF4NcMawkCgYEAw7iw
-A17a3uuuaiyrI2sYNOf5Df61ZDo3L+waACBOKfdOSOYGr1mOWY+4ROGbblzOP8J7
-t8Idn/BWMCNWlN3qR+uJUzvwCMgHuzPZAM/LW7VaBIC88C1sW83Jf8Pf2/LpLoyk
-swz3WaJ+tdmIUdn9VS9Gdn9/C4MHIMIaL5sPYScCgYB30kE5J8HO8qhS7B55gWWd
-e2Q0B/4z+NIU3z4TaJItZ0eZmTj3Q5u/9U9KEdErbl7f63oa0gIuPePXRf2UIQeW
-JzM5o3e9gQPXoEt3BHnSA2zYK6RJeMAuYK2O0G4zgomGUnU0eZ72jXfW/m8qGyJi
-tLH3rRmsw/xjPm7vGUpoMQKBgEllvFQ3QTsyBSF6CN/qbJSCncqax2mDz2hgUUvU
-0Zs5TBlYcg9WNWTu2bqzJHfZw9rzUzQRTszI83lv9ysyoYZBFSmqo5SXdxbEFdAR
-HQESXGSt5qznS+iNntAUI6I3US0Mv0MKTMRHhN8raczQRAmrBfCwVXN6urSVNf6+
-VqEnAoGALn5K5fBFaJeABruRrUPPXdKauURcK0LPETEGK/yF6zOOqEuL8nlb8M9n
-BP40IEKrf4dLAGD+X64TwkySr7N18wwLOGr7S3yyaoolheo+3jmSe3g9OS6Tg+G7
-+ky4Iovl+sOMOs7K17FuY1lmAB6XRrEfmjMqHt4h/PT9gS8DDg4=
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDlL8YVlr6D9BoE
+6Ti9HP3Y/1kpv7mEHUrIGUFLhq/TidfYgl+pkNZ42eLDtuTHQZ0r4sPf1DCPNERA
+OJzb0cVkBUXvdAg8gaasbnpKVFs4Wf7GDcSjXlha9Todw6YqTZxVc0ty9qXTJGNk
+90ZzMSfWh1lw2OKW9fNty6fTp02TOhEUw5X2dFyS6DvV8d1VhHpjXYsPAfYMOeed
+PF52zUwP4qrdc/99loL5YC6Zab05wJwn/JJKRELftN8mQKkkAlrX868IjvfYSBsI
+JQnx0CN9fgb6/PCI4vOTJWLw5qUHNC94z8+V7nWwqPA3x1bbQG0w6pSaxshd1jwt
+MSpTd3uNAgMBAAECggEBANXNlYr6T8ylYciHEYlKjH1s6O8LjrNy6Bp3hPRCN7Ct
+/RBbv4ZeOdYP3X4bFp3T1h3ktDoQpyRQ7ALFTX+719sRGEbkBfL8OFLP1YGV5GtT
+eVul6HVHREHGV2sA4/i+4kLNBeu/sL6iSZ8dFznK95EoPwYJLokJ9QfOX0gR4Uqf
+suRG3frdWsj5KbNOsG+0A9b/vWfhzCxyUjZCiPlKju03QvuYaoZTekrJDOEddXVo
+YO5WhB0AV2rd9zApEd7triX/OPrlqZafLiQzaqQCGSAHb4Ufqt8AHThh++KJesCU
+vSmeNQXr/NQeHtteikg6y2c325yxVeWmEbXMzOvFGHkCgYEA9kjdJ9ZnhnsdQihB
+SvofGXsK+6WsEuR3E/UZGGxFNwoDCG1mCbFZDZGAueHiXWCXY9iBFQQVZ0Zk+ZMM
+Pva5+pc0vBNJ7Y9a01yrKk84/SiO+iyLXzcF98kXcHzs+Yr7+y79zIpBgE8xeTFJ
+PEtfZix7CKTEEm5IxBzTgm3ixY8CgYEA7jo+VhD+3n2+hQUPKahMEHl/BMo9ebYE
+PLqq3CNScUtJ+z7j77kjSSU7O8LiGe8x62356tCJRGJHCUzTC1o7A5+7aTJ1nlyN
+sLSSl3DkoDazEuJLadkVBDH39Fw4MD7yCzW/1AOOdr27nvLfqORKGGti8rBJ94EC
+Z6AWOgvPdyMCgYBAY4BeX/Gk+R8HItsfLRFgagjPDdtU/SIct6Gd/wCBiT6Nv3xD
+4Hf10iqjbmjuHMi3s+zbf7vQyliv3z/+Xib1Wv7QhQJ491e5lqqxXxD5LtdilK7D
+b/FBfPOB10dlXm7OltSH20WQtCOtGbOZ7eK9Jbfs5JbWcrrXeunZWb1GBQKBgHoI
+1A36vtTyzToPEWlhkTWPR4YIo91JZHpHlWcXoQ/wZYGTAei3il/Z9rHybyih44ya
+1b93/BlPztvwwtu56Sk+Fh8Zfi8Vcm/m0IFLj5KS8sDls4QRdDal8kL3SsFMPWmI
+qy/McppZL1eJSxGVgG9p81InBH0JVVYIJ9qsWibJAoGACbAjCkDEFi9K4yU5Y28H
+sVsy8fFpugU/dxI3lzxEKEEUyHHQN/MrNzsdLLq3U6vroO5NwCWlNGqiz+MF32D/
+XjTwuc+iwK6s9Xzchz5+5biUBuIbgCP9GED0P4GGZNLElxLNce9gzTp7MTrYA8Tm
+IZ0p2RYAcbEtUXlezAP94ak=
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client_title.pem b/jstests/libs/client_title.pem
index 27d3a500300..0ff000a619a 100644
--- a/jstests/libs/client_title.pem
+++ b/jstests/libs/client_title.pem
@@ -1,50 +1,55 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client_title.pem
+#
+# General purpose client certificate with roles.
-----BEGIN CERTIFICATE-----
-MIID6TCCAtGgAwIBAgIJAOdcrxT4uC26MA0GCSqGSIb3DQEBCwUAMHQxFzAVBgNV
-BAMTDktlcm5lbCBUZXN0IENBMQ8wDQYDVQQLEwZLZXJuZWwxEDAOBgNVBAoTB01v
-bmdvREIxFjAUBgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5ldyBZb3Jr
-MQswCQYDVQQGEwJVUzAeFw0xODA1MDQwMzE1MDhaFw0yODA1MDEwMzE1MDhaMIGx
-MQswCQYDVQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxFjAUBgNVBAcMDU5ldyBZ
-b3JrIENpdHkxEDAOBgNVBAoMB01vbmdvREIxEzARBgNVBAsMCktlcm5lbFVzZXIx
-DzANBgNVBAMMBmNsaWVudDEiMCAGCSqGSIb3DQEJARYTZXhhbXBsZUBtb25nb2Ri
-LmNvbTEbMBkGA1UEDAwSQSBUZXN0IENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEAqJQdWFNQ3dHzkrBOAzblrz/zAkUWy8eimcayhdM3
-ycz1h3poZM9p49ZHlcNZGYJq8cvG6zCBdg9eAaZ15L20Qc4mNT0+ZIejHrQqzY/D
-MhW2n2aBMPUdZp5MZAqY5cG4EqDpx9rZ5kKuu8wprB+Sf3n67bYxLm1G0RBe5uau
-Mus4R8baE+w0ins1pwMiEOBE2aUyBgYG5Rp04E3b2ko9TJjDaGDpTqtjHfkHOi0/
-sD/z3WMhgU2sNw5A7O3qlm61rLTm+pVTeP8+PU628PoQ4IZzmCkOZUeiO1cIMAvI
-ahiulJIbMCMVYLZi0bt7MjS4u9Vmuq9maLiU/rqMGQ6VOQIDAQABo0AwPjA8Bgsr
-BgEEAYKOKQIBAQQtMSswDwwGYmFja3VwDAVhZG1pbjAYDA9yZWFkQW55RGF0YWJh
-c2UMBWFkbWluMA0GCSqGSIb3DQEBCwUAA4IBAQAfxxzBppR0KaAkPYdGeu8HsbJ9
-DHiu532pIYN5A74J19kMu/wDfc5VKHA6gZkjymtHZUCoq9fSNXWWW90VSlnu+94x
-+yE6LATu4lEAvbb82oyhRH6IH0sLvbzwnsVvejONB43uTejcUWSYvFhteN4zFL+I
-eDfqCxg12XxGAfNFiu6/GYus03MkZFY06q8vLh2qjICRaGEuhrqWGWKn/rGasbgL
-S2cpP74Ze2u5si0EF6+nRrhI1FdpcKgt0P+IFkFanx6YnWuVDf301EtgB9GTK616
-UI6pjlfj2rKQLZws/39UoMKlPbtmQiyv5iaW+qSTwARgy0tVCPaAD95sNS8o
+MIID3zCCAscCBFx1USswDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjc0MFoXDTM5MDkyNzIzMjc0MFowgbExCzAJBgNVBAYT
+AlVTMREwDwYDVQQIDAhOZXcgWW9yazEWMBQGA1UEBwwNTmV3IFlvcmsgQ2l0eTEQ
+MA4GA1UECgwHTW9uZ29EQjETMBEGA1UECwwKS2VybmVsVXNlcjEPMA0GA1UEAwwG
+Y2xpZW50MSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlQG1vbmdvZGIuY29tMRswGQYD
+VQQMDBJBIFRlc3QgQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDgrE23Y0x6sx1F5Wk8r913t+sh8PucoEvQnRX6+Yh58WiLtJFoF1RA
+bF0DUBCOi1RjD9cdXRonHjo7PpXPI45dMtfnWYNlmo5pzmZOdu4Rg/8cC+jayv9o
+YaPF9nxixpLekHCcTbZQ5Fr0nrnEZT2SXQ64EDQheI5e6ux5QxckBCiBvKouhls1
+7NnxM/sOgFQwBL+esCdmrzPT2Jhcf0HZvCAGQ3o1ljiWt5dSRZHnE5Io+kHUfpS8
+oWxv2Yrb02twfLAf4+R/URQX58Wxhmx9BmPmvxzZ22CstqWsBGW24+tJzyKziyoA
+DsFwgZZNMoMt6kbx7HvrV6r+oWOk8oyzAgMBAAGjQDA+MDwGCysGAQQBgo4pAgEB
+BC0xKzAPDAZiYWNrdXAMBWFkbWluMBgMD3JlYWRBbnlEYXRhYmFzZQwFYWRtaW4w
+DQYJKoZIhvcNAQELBQADggEBAEsVGabdUkuLveeotyIPEUtAglF3ME4begqa7WZi
+U/bbvZdApPmm7P/GR5bukde+oln+obOJ0r0RWkpNCoHEp4N4pQrvQ3BJbrOIpmiU
+M+vx496PPkJ9+ULkHPDsoJIlghA6aqgq1TwEguy1hLDTLUs1nPHW9H4RexUTllCZ
+1pZp6Sfv/3fCPuC/Jwx5V0+WBcCG2GX6XJc+l5hee0RVXywCsae+JUU0LkYqxMRj
+ZWKah/WtN/ENX0wSuQAYxw2rG96eOjFLVYHHlapfvGECNjPiJMYBzlmQtsNFKJFK
+uJISGHhydTMzUmUeF3EyQMNJAn6rnTHK0PDYbw5RdEjaMUw=
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAqJQdWFNQ3dHzkrBOAzblrz/zAkUWy8eimcayhdM3ycz1h3po
-ZM9p49ZHlcNZGYJq8cvG6zCBdg9eAaZ15L20Qc4mNT0+ZIejHrQqzY/DMhW2n2aB
-MPUdZp5MZAqY5cG4EqDpx9rZ5kKuu8wprB+Sf3n67bYxLm1G0RBe5uauMus4R8ba
-E+w0ins1pwMiEOBE2aUyBgYG5Rp04E3b2ko9TJjDaGDpTqtjHfkHOi0/sD/z3WMh
-gU2sNw5A7O3qlm61rLTm+pVTeP8+PU628PoQ4IZzmCkOZUeiO1cIMAvIahiulJIb
-MCMVYLZi0bt7MjS4u9Vmuq9maLiU/rqMGQ6VOQIDAQABAoIBABdRTXHPLGtSRBex
-LUlCiaig9tMEjW+ocHRGyKC8I4ZVREz2AISZL/Nky0gK2kMuB+7kGeKkNfQHkiA2
-Ty5RkyJbCmvoyb2MCWMQ1q7SSNSfrkAEJLCJ5wQvty9LS/TTw8tH2K5dNjCkXpj5
-V3ZIc7IQREYnIkxirx3x3r6ff87pAr+7V6LQtmEdMSbgLmZ+Ib5adqCVLVrXcH7J
-5wxWs51QpeC/sY2VqFysH+R+Pg05gjVGYMNAqywGUsvdzGO5iUII3lmYuwWdIvvg
-WN9pr1gPSnBiotQ4QlgrRrIyNI9Of8rzXIixoGq8YiJv8h99hTOTgrLedCMzxDaE
-Uo6TchECgYEA1+U5LQ+inXf9Zu5oRmvZOIy9APxxv9rqNU/s6x3BeMrc1TIOE3Zb
-ZmJntLZi+WSWftJKT8cMUeI0rY+Q5+kP8LN1zBP3KY8Teu5jeJc2XBglXSumyRpk
-IOORF5c572RuvRGEI0V0cKTne28SiT9BsfX70mkRKJgjeGXSQ9W4GpUCgYEAx+TE
-iWaq34OUFOzP6gAA21FVvKg2J1p7Yv/VJ5KarGOQ27tR84vNkv2xcazDZZKkh/h4
-TJzCkb941CvXSNcOJLFXuEzYmqPaEUem2ikBcl5KQVSPDrxpt2IQPo47eVtttCH1
-nIdpkGshe5F6+2WzUxqqCvmA5kAxCz/oDeSQCxUCgYEAzqlfl+DVmsLXUIZ6Tp7C
-Kj2eVqlQAYT+mNXPRikPoB8gUPw/OSYcy976wqOsDmrZHMET3VX+VwufvVwmK7iP
-R6uh4R5jg+avkQdNNIwavwFmEs/MMckPe+QaaWibTqrmzhlMUa8UjRdtdlyWc8aX
-jlCXI4zrnd40ZfWh1sloGBkCgYEAmjDsLbTFT/6WJoH5a14vSv31bb4vb7HLBbWk
-PY9HwnxXDDf1YjFQFPeefbovS1WPltbiLO6q43RYBwn+WdCRt1oY+TBF0RtdJgEo
-QpZo6Ei1bKmGZG6P+YYqU6axV85f1Bhx9hk6I82PmVrCC9QKPKuPyUFm3bVcX3of
-TUAmoHUCgYB8OFZC47TN2UfZTXmnBRnQahKpdPIlbM1wcKJJ6SozLAXKSVWOjkGk
-XDEaInCg+ksgIQIRtQY0WZrkbWmWrM0AXsWLP8PMOo41MURexXEHCoyYl1faD4YG
-jXWhLRj5wIBPV/P6qjxs/jgjCPkT1hNvEfGbxcq9SnoRq0nRJIwLfw==
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDgrE23Y0x6sx1F
+5Wk8r913t+sh8PucoEvQnRX6+Yh58WiLtJFoF1RAbF0DUBCOi1RjD9cdXRonHjo7
+PpXPI45dMtfnWYNlmo5pzmZOdu4Rg/8cC+jayv9oYaPF9nxixpLekHCcTbZQ5Fr0
+nrnEZT2SXQ64EDQheI5e6ux5QxckBCiBvKouhls17NnxM/sOgFQwBL+esCdmrzPT
+2Jhcf0HZvCAGQ3o1ljiWt5dSRZHnE5Io+kHUfpS8oWxv2Yrb02twfLAf4+R/URQX
+58Wxhmx9BmPmvxzZ22CstqWsBGW24+tJzyKziyoADsFwgZZNMoMt6kbx7HvrV6r+
+oWOk8oyzAgMBAAECggEALVS2jYTcfnk7M8oY1KTLM4eJSpzbt3tkMKAxOiU00x3R
+MTbqi60BU8pJbgyueoREL4SXq5YIW9Iuf5ueEGAlLkq+4y/dYhewGksJu1UlraUL
+SPZiMhr5M29X4u5bpHZaVcug3PiVC3c3ntmTs7uVk71w5dRnIEW5vA78TW8q8RoA
+5xE04WjKniZOkMbmmSnqYvII3kWBmej5JPE3HvF0ZBkVnDW2EILBekLk4gObMfAQ
+Dv5nqAYVowpoqrhtnNk5/aJjmdiqj8IKv0iM5YayHFegq09ncIjh5tR2RdqPJC8o
+GFLu0DzxZ1IjY7X8yvc2x21I9xJj91xcNseGq43IwQKBgQDwfN1qtUdvO0AA2XN3
+fiyNMd/v31iG1MXRx5b5aoQWazA1pYHn67LnFilagYjGkbFPNSAyBPD3virpMl4S
+KODJoQIcERz7INDd+lmjavHSz7buBCRoic/R0kJMQnQdvumSLNcFzTHGvFCqwwGf
+2YIsbuFE/W6QTi7+DHc45cXn0wKBgQDvKksQ4YuqRZTO42mPWldPQKhFWtEdb2uF
+cKHNGM561jEfL9iV3a/vxYJsz6TSgXFS532zdEtPpcXgNJMkfwHpDwfxKAlx2bKO
+uIckMN3ADFXZYOO3bkyFvYECRBXi0QntewBMsmQeyE+MI5b92TG6YXxFTWMWHUdF
+3pi5cwWboQKBgBci3CZk9E9mMt0iDnLDh8O5taKdKSYnmDR7cDHkpnqFq2it2JaY
+XWjQAAB+D8uSvq0xHjzRruEWwYgX2WcD2cRsIgjTOKeMW6vPZwpKwqMWarHxYhNQ
+ltbH1KsDhapK8KuodrNPL2fAPD6BbkmTomtl63Q4sYdejjTQvDOUH3sTAoGBAKdt
+TSWhL3vgwB7hVsmTLeH+Wo5K2G+py3Sb97kzr4CQp8y0WwP3MK5C714rMrBnC6VF
+B1t0gzBb1Z1yULvQ6c50xlONeqcoBnchOQId7279c6/8ww1resh5dHHYphWlzzRf
+0kLe83YVNpLda1uEC+r1SeDeHwqhLn78KKBSpE9hAoGAPWODI94wPsB7ICFQtTqH
+eNwBOcXRvwPckQZ1DiOkaY3HB9uN9oG7tiG9KVO6cLq/03VeeWVFPozQ9uPouGIp
+rAIRGw2mZgCq1tyOwa/wqEXVXUsapD6cTRN4+S45kJTjD+F9bV+MM0cfx0LJ7PXZ
+83RQg/B38bhwCm+yK7SKyUo=
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/client_utf8.pem b/jstests/libs/client_utf8.pem
index 7a4f1e7886c..6c32562d7c2 100644
--- a/jstests/libs/client_utf8.pem
+++ b/jstests/libs/client_utf8.pem
@@ -1,49 +1,54 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml client_utf8.pem
+#
+# Client certificate with non latin-1 unicode characters.
-----BEGIN CERTIFICATE-----
-MIIDrzCCApegAwIBAgIJAOdcrxT4uC2xMA0GCSqGSIb3DQEBCwUAMHQxFzAVBgNV
-BAMTDktlcm5lbCBUZXN0IENBMQ8wDQYDVQQLEwZLZXJuZWwxEDAOBgNVBAoTB01v
-bmdvREIxFjAUBgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5ldyBZb3Jr
-MQswCQYDVQQGEwJVUzAeFw0xODA0MTMxNjIzNTBaFw0yODA0MTAxNjIzNTBaMHgx
-FTATBgNVBAMMDNCa0LDQu9C+0Y/QvTEVMBMGA1UECwwMS2VybmVsIFVzZXJzMRAw
-DgYDVQQKDAdNb25nb0RCMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MREwDwYDVQQI
-DAhOZXcgWW9yazELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
-ggEKAoIBAQChzghecwgQofjdBirHXI9XUd10DSljQNFCGrieMAra4U6mOp8IDuNX
-qfnCwaFebFDYEpCMjjq8dbxm8r0bNTg7wFvGaK1YP9MBQlgNQ8/cYgIlnlGyKWB7
-97f79TfF+hMKkgFHgkZY/3vFaxmJpk5zHPHfDN6iZl4i5ayKNJjiwEje+NVd8L9L
-PuB8zSSYVKyUNP9TmNwjLSAEX9uPndSemLLFhDVg/E8kwY+joFmNORH7u9tfL7G2
-EmVZkimxIzEkjloqrKieqR8iD8dnKmgF1V4VL3qSvJoAsA3AX6syM91z6BGyIuMU
-LkroS0uidCR9jimQH+BdZ9S3T1HagvVtAgMBAAGjQDA+MDwGCysGAQQBgo4pAgEB
-BC0xKzAPDAZiYWNrdXAMBWFkbWluMBgMD3JlYWRBbnlEYXRhYmFzZQwFYWRtaW4w
-DQYJKoZIhvcNAQELBQADggEBAEv4ZEpGpfE7Qo3lJ26SBidYk8vTMhA16rBVOjDI
-fvjexZcOuHrHqjGQHAF+Fa2DsNoKMxsOUoLQkEj33u+CL+JoCMU4tq5ycyQGLk1U
-oRM8dhIa4/GmT70U7GzCgcZcU2SATMacr4x8QvY59Ys0isKz6Yxilc29ZG5LwTzc
-GgFoERezIxYHERiVit9eKnwMSNVvma8lw+JgksE6pBw8fck+gjU06KPtquMv+b5W
-oKnfRf8JEGF+beWBVs/J9MgBziC17urpce4D3wGO57vUjqAEAxhQh6eepszTGCTz
-RMFLJCw3pmWD9D0StJc1URMflpvUkKUNf4wd7IFnbLxerNM=
+MIIDpTCCAo0CBCAI60kwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjc0MFoXDTM5MDkyNzIzMjc0MFoweDELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMRUwEwYDVQQLDAxLZXJuZWwgVXNlcnMxFTATBgNVBAMM
+DNCa0LDQu9C+0Y/QvTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMNY
+tgYIKfmX0XsbLINNB45IQfTs6PxBP7p0u/tYzXvZPqjoHafpVckhldu38zdY6512
+YyQcUKPPPiUeKi9pa3UCWRfwB+PgjlmJspSoqizmoiiFUtq9IUZkmuN/FkGeEd4h
+u5DdVX32y2xKoi/ZWI9u2bT9mCM7Ovprlq4LWpeOA/Kw/UTUtgaO+H+FO7NzDhcv
+40mETKOiNrKqT2lIgqryNqglWWwL6jnFpZqeSnrbqTJV8bzWzJ28Iv9hgTtMiJM3
+pTYDu2WUb9wlLG4dHMDBS2AuaN0mzl8Mejbq3jQYNHGInta5wQGiPtQxEu6i71HS
+PSM/AlRlxsCOsL5dVmMCAwEAAaNAMD4wPAYLKwYBBAGCjikCAQEELTErMA8MBmJh
+Y2t1cAwFYWRtaW4wGAwPcmVhZEFueURhdGFiYXNlDAVhZG1pbjANBgkqhkiG9w0B
+AQsFAAOCAQEAVnKddrdyqkJllWUOPzgvPw8ZjJBF6XjgEt2jpr3tI+eskaBApY1M
+jGqezMJ6VnbSz+sB2azBjtz4SOomuLJF+6TtVLjoPhEj1jGTvEqMUR4LImQ+H5ak
+7GQf/9yicQlP3eRw6oRfO1xYDvsaIeDz7dmAjom8+34jaf+aznLGbYlOT5XgruVs
+rh8KDfQy0BxUZ+O/9MtarerGMNafb2ottVX5KA0y+pFwCOIWuJ1PnAAJIiLvSVvi
+RDnD/qzdC5U3afXVN0peuHRiu6fE+DPbIamAB7QSsNMjmBfPp3OO29yu0LX+b6jg
+9zYO1cNcbS3k6HK7g0xOMZZ3vVaKSTywMw==
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAoc4IXnMIEKH43QYqx1yPV1HddA0pY0DRQhq4njAK2uFOpjqf
-CA7jV6n5wsGhXmxQ2BKQjI46vHW8ZvK9GzU4O8BbxmitWD/TAUJYDUPP3GICJZ5R
-silge/e3+/U3xfoTCpIBR4JGWP97xWsZiaZOcxzx3wzeomZeIuWsijSY4sBI3vjV
-XfC/Sz7gfM0kmFSslDT/U5jcIy0gBF/bj53UnpiyxYQ1YPxPJMGPo6BZjTkR+7vb
-Xy+xthJlWZIpsSMxJI5aKqyonqkfIg/HZypoBdVeFS96kryaALANwF+rMjPdc+gR
-siLjFC5K6EtLonQkfY4pkB/gXWfUt09R2oL1bQIDAQABAoIBAHSpzkTzYcxETOBo
-Mu39oeiOwUKMvtuuf3LPO2/rKdh5fTDDsaiou2iYyNmQrR4csQmqEQkW/+ikZ0w/
-FvSIIdyLLGDZVqr7kdMll8EwtK2tCOlAxpzT0ppvmPuU6jrXvWTwsvVxS/GdfAty
-1j32aDf9lbOCXv/vGU7GFOqtU9KhNhuPDIJYZJwLrBFfTimQtjdI3b1ka6VNvf0t
-4YrIo5TbpG7g/sFDa7WhNeUaCyPXLdoR9Pf/I/8kuHJfAuocACcM18aoCjFrNfH4
-rvNM/+zN3EpmsqE/SxKDeRY27Qn2RbbYeOV4qC37/HnvyKOq61++IrkRLzBvxm8A
-prV0JMECgYEAz8mEerKeTVr+TKFGnxBYDXbslxj1+rbd+75LGi47iBaZlwRMwnDC
-Vve/UktPfSK2QzLY8OPyiJWpk/xeVAF9doa9pdzTb48DZQFCdpBGRwAaSxgMxiC/
-hq0ZWMU1o/RK/JEoy1+eW1QgGhAIweb5gZdu1+dP8OQKmDrymakYtZ0CgYEAx1kt
-/UtBw67WjFfPRbOB5vf4mCFmZdOP2/sqpOmZTshDzBMaG+cK5q0yMv7e8V9EgwzT
-H5BRgQKWOxKavGVZqe9tO1udopE5dBUYs+ax1fTgrBAeeptWImprzomvpG4U6jKx
-wO9OiNSMqyz1PckMFsuGPEfBcR1ur+0aWXhonhECgYEAkR8hk8Bkp4pByatp83Yq
-yVyh6PXZ9nz5lPVW5rYbhfSi2MJ8CeFPGgZ2bTeEENXJji1ZLwVFQvekNGMyTmGs
-CrgYhFsyoNu1dznl/YDOVJBRzNjDMy10Fs+WwFUcHaJlLPkFEOV7aDXdJdbFBwgW
-gtgM5mX7gzcB30hsX72mMFECgYEAivN1Y/W9/Fj1AVP/jPUHmefEZr35MwbZYpta
-6SJOkyRyZV/3NfXAmnOk5vjSi2o9Rh99VaXxubwE3V4lbyYx7oqOF+7PHM6fPnOq
-CVPHJ3yN0kFWDV4TFuAZDxjXzgRRHcGCNxpXIncNKg+nTY7Cl2z7vy7A/khmq8fY
-Mv8D5RECgYEAtj/IO6PpkOx0lYOufesc8a8nj4BaQuUD4bjXxnIMAddDlwdE95Ez
-Z1iBgF5tjI1Li92EM3Vmn8zKgkscyRcCuzczo+67zSl+h6fFUTAci9QuW/6jsekT
-ivFqBTrp///bRlS/qrjGW9F7m13O+xWDGH+SRsldMBbZx9FNbe55ldM=
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDDWLYGCCn5l9F7
+GyyDTQeOSEH07Oj8QT+6dLv7WM172T6o6B2n6VXJIZXbt/M3WOuddmMkHFCjzz4l
+HiovaWt1AlkX8Afj4I5ZibKUqKos5qIohVLavSFGZJrjfxZBnhHeIbuQ3VV99sts
+SqIv2ViPbtm0/ZgjOzr6a5auC1qXjgPysP1E1LYGjvh/hTuzcw4XL+NJhEyjojay
+qk9pSIKq8jaoJVlsC+o5xaWankp626kyVfG81sydvCL/YYE7TIiTN6U2A7tllG/c
+JSxuHRzAwUtgLmjdJs5fDHo26t40GDRxiJ7WucEBoj7UMRLuou9R0j0jPwJUZcbA
+jrC+XVZjAgMBAAECggEAOLeFAfNU3Jbrx2Z4Yhb3XqQ0Ijy22KbJLgW+npeF8bN9
+seTS13Gz6pXJwOWDxEoY/rrkxhNCho0haf18Gg/tlyd7XqveXpdQPUbxhqAB6M99
+vW4YRFItWxbSscKwX5TZczkwEDtzGwOQxHxW4rWkNODmbNpEVdZYpWSfdyDsyJt8
+0g+EMHj6A5OIEM11yrnrWzM29aB/Xie3MPbSYdMjg/BPU8Y4r/Ny5qUL90NzCdDg
+rOavcu/z3P5rJhWLwMzxro+JmveznptkcHZE4T9YfsIneOPQHta4KLc5fVJvVodp
+MybIVIDDpHyOTH+jvWWC79oMA+oGj08F0bsu6eux4QKBgQDzJPaiRWyG/hfzKtxE
+XaS2+Ran2Gjtg6S+qn/bhEps6By0P13SP40N/TjckQSXrUcljC+aGddjIUZPRgCY
+UMz+qxVInYLj+TJDFkHUq8B8UYMlk35yq7bymYvpJZR7zFYqgpVjogL4YlDRR8mN
+lHOTScpDis1AXOFSjqzMfRobBwKBgQDNrMnS89IqqqTSlAi5A7ADooD1k/yTZdrY
+8cBkK/RhVJGM5vSsRviNbC1jpSKFJonFfsP2iCbf+ZqwTourGrUa//VDG3jzG3VY
+lKoQrPC0DIJ2luGsbigHQw/Y9TFngTrAHjNHUvGMVQzUYCRbJaTxFO8BpDPWLvrV
+KP1GZkCmxQKBgFbDR+cb0uBQ54b0MmmK6O4J8JWwWbD3muAWw0035b77DNMdEYOm
+/dSSGapLbVIamRrC7XGV6xAKnaZIGoo/uwbdUdj5q+1hzRe3Z4JWT3eNNrk/6o1M
+zRnAxPZLXLLYdZ7xvhExjNHJc4FaloeZA6z5Vd3IN/nRqu3kz7Cgq6IdAoGAdp8f
+T+F750vAAAuM9FgiHhaNVhXh6IkoLVNQ6PVI3xHNWHyjxPCxza8EhqHpRO4zK4qv
+LvLbqPXmt6S1fRvMNCRHqkqf+WZuyYYEh9WWheFpJUhkI/TsdTPCYhkYQ2APKFrC
+rHI0CgHLgnlovoD5nmm6ZzHzC6bQ2Dvpx76VrxkCgYBLz48d7P4gc/pCZaRqlTHa
+vus0BgegTorPFLuI4pjt2KU83Lds+nu+mAM+0hzt2sDxyQHF9dDWGRIW59Q7UH7t
+YmFTMD89l2K9o9YjGuOukYhW877V3M2Fid9FTmDKeoEm2+QGK+dpLk4wbnR3Eiy8
+aS8C0HDcUmBVg+FKvMCnBQ==
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/cluster_cert.pem b/jstests/libs/cluster_cert.pem
index a8623ab67ef..c3c2f7b2972 100644
--- a/jstests/libs/cluster_cert.pem
+++ b/jstests/libs/cluster_cert.pem
@@ -1,48 +1,52 @@
------BEGIN CERTIFICATE-----
-MIIDXjCCAkagAwIBAgIBBDANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
-ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
-FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
-BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjBxMRQwEgYDVQQD
-EwtjbHVzdGVydGVzdDEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RC
-MRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkG
-A1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX42ZTwADG
-sEkS7ijfADlDQaJpbdgrnQKa5ssMQK3oRGSqXfTp0ThsJiVBbYZ8ZZRpPMgJdowa
-pFCGHQJh6VOdKelR0f/uNVpBGVz1yD4E4AtkA6UYcIJq6ywcj+W7Pli1Ed8VUN3Q
-tBU+HvHiEdMj74kLJb4ID1cP3gehvRv/0szkN8/ODFKCgYb1619BdFb9gRn8eily
-Wcg1m1gXz2xSfqRZkFEcEYet3BeOEGZBhaufJFzinvQjocH+kWFKlZf0+2DEFFbH
-NRqmabMmqMBUke629EUn8a7PBWBYNLld9afoNHwNY68wpONf5IqR2mNar5bVz8/d
-4g7BuVNvEFdJAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAA3U2O+cE/ZS8SDBw/sr
-BVFf0uaoME7+XX2jdTi4RUpWPfQ6uTkhKnXKzTzGrQtKwA96slGp4c3mxGBaAbC5
-IuTS97mLCju9NFvJVtazIajO4eNlG6dJSk0pQzjc0RAeLYksX/9NRNKZ+lQ5QVS2
-NVLce70QZBIvujjVJZ5hqDdjPV0JGOOUzNGyyUhzgY7s9MQagNnBSu5HO4CK1onc
-goOkizulq/5WF+JtqW8VKKx+/CH6SnTkS4b3qbjgKRmHZcOshH/d4KqhoLya7sfH
-pedmm7WgO9p8umXXqNj+04ehuPKTnD8tLMhj+GbJ9eIChPCBf1XnIzOXYep+fq9j
-n/g=
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml cluster_cert.pem
+#
+# Alternate cert for use in intra-cluster communication.
+-----BEGIN CERTIFICATE-----
+MIIDXDCCAkQCBH80+KMwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjc0MFoXDTM5MDkyNzIzMjc0MFowcTELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFDASBgNVBAMMC2NsdXN0
+ZXJ0ZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyYw+YY+45svv
+Ryz5W7CPg9vnj/ZL6AQasivDB3AMOUipq58zftIBEKj2J+l0+4XnpsWEHzRpKCaZ
+BG2LcF3y1REzvephEk0rt/SV2cn6d7p6NT0JI+eKgXAKjy1lo5pTzbqPwXItj1+4
+aJnS6JkO59AoOyyIBDbg4OjLVTBHyDFCUX3Bpz4rds3/CXLDDEOrHoIK9Wt+EfrU
+pDxGQlHgRzNs1nCozRW0kcYZg1GLYN6vMvmAOIqL+KJutd+DBesTJED9xDl2IEoW
+Frn3uEqGycCrI/w5s7120NBX61KtHaAwIKEs5nhHT88Ps/CAS9J+l1Q4/wWZWcQX
+q8Ao43D8UwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAL010fom7PzEiOSFA4fu1J
+RblVxK/BtETN14Vo7/b4PMxFlb5ZWuYFg8G0jsn4+Eiy3ZbVvpVapvllJWG0bYJv
+u8bV31PvMhdbiH9gNZe6uu/hJYAhgfS3ynfkbFutPl0Ole4BBjZQybBSD2GcsiQP
+o0kUtbOoQ2Jp3cPgyJHGEIDDm4z2pkXauoVj5hmc8ZhJKMVxZG+xvB37XUOxT6Io
+wLJq+ihB7UjgHfhM4zy9dIsWE/JfM1TKDcEDslaPLtzFCdCNNolk1NzheHZFKSEH
+lkSQcrnV/hat3zNll1MvwXDhYcaA7kzI88JWM5hId+N1PijPOY5h5tHmsXEMQ5UN
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEAl+NmU8AAxrBJEu4o3wA5Q0GiaW3YK50CmubLDECt6ERkql30
-6dE4bCYlQW2GfGWUaTzICXaMGqRQhh0CYelTnSnpUdH/7jVaQRlc9cg+BOALZAOl
-GHCCaussHI/luz5YtRHfFVDd0LQVPh7x4hHTI++JCyW+CA9XD94Hob0b/9LM5DfP
-zgxSgoGG9etfQXRW/YEZ/HopclnINZtYF89sUn6kWZBRHBGHrdwXjhBmQYWrnyRc
-4p70I6HB/pFhSpWX9PtgxBRWxzUapmmzJqjAVJHutvRFJ/GuzwVgWDS5XfWn6DR8
-DWOvMKTjX+SKkdpjWq+W1c/P3eIOwblTbxBXSQIDAQABAoIBAHhjNFMDZ1oUlgbc
-ICcI/VoyprFb8DA5ZbwzXBMdHPpxYzyp9hpxy3/lCDiAwEzPEsAK/h6KCOiA/pYe
-XioPD0gN1TIV+f3r6dqZaNYi3g1tK3odbXkejDCEsFT/NT6hXxw9yw0RKI9ofUHc
-synVqP3duUjNpH6s8fvQp0nqI0wzoNm1kklpTWVjZmbtSZF9m/xfv7NGwQEYUL2V
-f5YvX6aHPVDtUXAqyPBgv6SGuogSSjwRTsNTef3aY6Se5MlP3YIfRqdad8+ORkKu
-WSrO+GjQccV4sztD8Sn3LR7qe6Lmid4yopHSS4EFq0Sc8LznTeflWcRAsBLezRp5
-xZB/blECgYEA8yrEzFA247AOXbhL1CdqMyPs523oy5+dmByyovjYjEhjUCRlAa9D
-ApvID4TfAkA4n0rUdICCtwbZlFrBZbn6rXNvJ362ufZjvaFIucQm90YkG1J6Ldek
-8ohJfLyyLLWzVHJIS7WxFqqsGmDhYUTErFbJZjI8tNSglrc81jUWT7UCgYEAn+dw
-ICyc09f6+xm3nFZIOq2Gtpw8lrOJlwZugn1AqY2D5Ko2gq1Fx2oZWpVaBivjH3gU
-ONlnPuealE0RJHvCm/+axy7Rcj65IwTrN5V+j6rg1tuEdi70PvNKmN6XQqRvEjOX
-HOh3gQYP6EFAoVINZZqUkwJzqpv4tnOSpEHXncUCgYB3+Z8Vq3IZjtDXvslzCGtm
-hhAp81mLtdocpfQhYqP9Ou39KafIV/+49sGTnpwlUShet53xSUK1KSULBGgtV8Bt
-+ela1DM1t3Joqn3mYfhTwoCoFl5/5cjVfRa8+6DxXEj5nlU7PY79PwIhFbG9ux9K
-ZJuD17+J/Oqq0gerLJAwjQKBgAS4AbkRV/dwcjmiwqZcbXk90bHl3mvcFH1edTho
-ldXrFS9UTpOApYSC/wiLS8LO3L76/i3HTKKwlwE1XQIknNOZsWmbWhby/uenp4FW
-agu3UTdF9xy9uft5loP4XaJb0+NHnnf97DjkgueptUyNbVPIQgYsllk8jRRlSLiM
-MN65AoGAUPLlh8ok/iNirO5YKqc5/3FKA1o1V1KSTHYVUK+Y+vuVJxQZeO3LMybe
-7AJ1cLHEWc8V4B27e6g33rfGGAW+/+RJ7/uHxuYCuKhstbq/x+rf9i4nl93emlMV
-PC3yuZsCmpk9Uypzi2+PT10yVgXkXRYtLpuUpoABWRzVXGnEsXo=
------END RSA PRIVATE KEY----- \ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDJjD5hj7jmy+9H
+LPlbsI+D2+eP9kvoBBqyK8MHcAw5SKmrnzN+0gEQqPYn6XT7heemxYQfNGkoJpkE
+bYtwXfLVETO96mESTSu39JXZyfp3uno1PQkj54qBcAqPLWWjmlPNuo/Bci2PX7ho
+mdLomQ7n0Cg7LIgENuDg6MtVMEfIMUJRfcGnPit2zf8JcsMMQ6seggr1a34R+tSk
+PEZCUeBHM2zWcKjNFbSRxhmDUYtg3q8y+YA4iov4om6134MF6xMkQP3EOXYgShYW
+ufe4SobJwKsj/DmzvXbQ0FfrUq0doDAgoSzmeEdPzw+z8IBL0n6XVDj/BZlZxBer
+wCjjcPxTAgMBAAECggEAc3ziDeNd7xnyXRV/OTPduI/ci1h1PFiFt4xt76gbyQNC
+/e12g3fwVkyK6GnUt3+OMrjBMWRF0VT0n13p5ZRf3glCXdOclfEUWQ9UgnxDAjIf
+brwvrZwyeGLsGgjIUcvPs3Xwg8daJeqSb5WdDd0OdnSHaQjmU4vipd2fDYxhxWq3
+fJ+ATcf7Duok1B0xddRIHUkOCu6cQCq1w0epl3QI9riR0Il//0dVlgHTm9u+6Ujm
++Vp52+iAqZ2vayPgjQMFDoDYp4k47N0mGlXdnxq9GIAO0Am5ZIG4d40fN2XrtrW5
+wwzkoWqGvjw1v1/OQ20TfO3MDIxc02/+V27ASlAQ+QKBgQDz5K74e4vhRCqyWqvY
+Hz4ADERRVw1/tZNXqbhY9tNjdwdf6S4VyDpsRaKOY51NJCFxmryCTMNdfkoSLUgC
+DCYf6V+QJPraAdNtWsaNd5f7fDz0Y5sivXUXLxeSxl1PmO9mEaCc/rUVWRVGq6Jc
+def44Im1cLhwm53El9kTI3/kRwKBgQDTjXKiORqF+iFQaqy6w20ms3n1SAglPXEK
+Ehzt5N3AsuclqIPUgUBjARScJes13aEXYGyUg3DfwQdSAl6Hd1sKTVW/A8oxNrYQ
+huofrLJ8/gGkjKJjGZLeybhXmtEzP5jS/0xQrpt/nkLscyNTHfFKztpuix1zdXRA
+Y6zJn6BplQKBgC1IYFQyXB5PEb5bp1xRMKnBnU2c5By6EclM8bVS3pyxFOVx3eSd
+cHt50lytkh8ofi0hla57oipRsF7/mUcICmwSYHPa6dhgTmkXWZYahlVjE84sUDl7
+A6pyS+YsflaxBoHk8/UyNVzpVVHxvAt+uLs0tVzCuPvvaLN/ngY3qR8xAoGABdlf
+VgTmKtYjnamVZQSKPAuyT4nST9VHDtQ5YIp3ZyCLK4thObrpINOi0j5qJm8eSRst
+ZV3M/SLFJQtTucMfDUXeHQ3pxTqSBhr01jNcLACJ4xbQVpUabnZ9Vk69ggE8JHlS
+jtiFDB5AE3GLhHzLcxoNCAloowyYTj9zQ4/aS5ECgYBjYFVARwicOKwj+EoWOZky
+oqWGnDsjOTFtC6Egn8RU5PNhNR7RNM/D81wG1lJXEatER0spS5+UoQkEQuPr0TW0
+HZlpeWAufpLZi1sCLG7kmTVyxJGBm5Vzgmr70qJtHMtLbb6aSdhLJ2heCP6mhaRh
+aB4L79U5tevhHS+Ozpx5EQ==
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/crl.pem b/jstests/libs/crl.pem
index 275c9e2d91c..8758de9fd0b 100644
--- a/jstests/libs/crl.pem
+++ b/jstests/libs/crl.pem
@@ -1,38 +1,12 @@
-Certificate Revocation List (CRL):
- Version 2 (0x1)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: /CN=Kernel Test CA/OU=Kernel/O=MongoDB/L=New York City/ST=New York/C=US
- Last Update: Aug 21 13:56:28 2014 GMT
- Next Update: Aug 18 13:56:28 2024 GMT
- CRL extensions:
- X509v3 CRL Number:
- 4096
-No Revoked Certificates.
- Signature Algorithm: sha256WithRSAEncryption
- 48:1b:0b:b1:89:f5:6f:af:3c:dd:2a:a0:e5:55:04:80:16:b4:
- 23:98:39:bb:9f:16:c9:25:73:72:c6:a6:73:21:1d:1a:b6:99:
- fc:47:5e:bc:af:64:29:02:9c:a5:db:15:8a:65:48:3c:4f:a6:
- cd:35:47:aa:c6:c0:39:f5:a6:88:8f:1b:6c:26:61:4e:10:d7:
- e2:b0:20:3a:64:92:c1:d3:2a:11:3e:03:e2:50:fd:4e:3c:de:
- e2:e5:78:dc:8e:07:a5:69:55:13:2b:8f:ae:21:00:42:85:ff:
- b6:b1:2b:69:08:40:5a:25:8c:fe:57:7f:b1:06:b0:72:ff:61:
- de:21:59:05:a8:1b:9e:c7:8a:08:ab:f5:bc:51:b3:36:68:0f:
- 54:65:3c:8d:b7:80:d0:27:01:3e:43:97:89:19:89:0e:c5:01:
- 2c:55:9f:b6:e4:c8:0b:35:f8:52:45:d3:b4:09:ce:df:73:98:
- f5:4c:e4:5a:06:ac:63:4c:f8:4d:9c:af:88:fc:19:f7:77:ea:
- ee:56:18:49:16:ce:62:66:d1:1b:8d:66:33:b5:dc:b1:25:b3:
- 6c:81:e9:d0:8a:1d:83:61:49:0e:d9:94:6a:46:80:41:d6:b6:
- 59:a9:30:55:3d:5b:d3:5b:f1:37:ec:2b:76:d0:3a:ac:b2:c8:
- 7c:77:04:78
-----BEGIN X509 CRL-----
-MIIBzjCBtwIBATANBgkqhkiG9w0BAQsFADB0MRcwFQYDVQQDEw5LZXJuZWwgVGVz
-dCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYwFAYDVQQH
-Ew1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UEBhMCVVMX
-DTE0MDgyMTEzNTYyOFoXDTI0MDgxODEzNTYyOFqgDzANMAsGA1UdFAQEAgIQADAN
-BgkqhkiG9w0BAQsFAAOCAQEASBsLsYn1b6883Sqg5VUEgBa0I5g5u58WySVzcsam
-cyEdGraZ/EdevK9kKQKcpdsVimVIPE+mzTVHqsbAOfWmiI8bbCZhThDX4rAgOmSS
-wdMqET4D4lD9Tjze4uV43I4HpWlVEyuPriEAQoX/trEraQhAWiWM/ld/sQawcv9h
-3iFZBagbnseKCKv1vFGzNmgPVGU8jbeA0CcBPkOXiRmJDsUBLFWftuTICzX4UkXT
-tAnO33OY9UzkWgasY0z4TZyviPwZ93fq7lYYSRbOYmbRG41mM7XcsSWzbIHp0Iod
-g2FJDtmUakaAQda2WakwVT1b01vxN+wrdtA6rLLIfHcEeA==
+MIIBujCBozANBgkqhkiG9w0BAQsFADB0MQswCQYDVQQGEwJVUzERMA8GA1UECAwI
+TmV3IFlvcmsxFjAUBgNVBAcMDU5ldyBZb3JrIENpdHkxEDAOBgNVBAoMB01vbmdv
+REIxDzANBgNVBAsMBktlcm5lbDEXMBUGA1UEAwwOS2VybmVsIFRlc3QgQ0EXDTE5
+MTAwMjIzMjc1MVoXDTI5MDkyOTIzMjc1MVowDQYJKoZIhvcNAQELBQADggEBALRq
+fmx+I5myBNSYxPFurb+/T38/Z1u0xruW94KnGF4iQ0ibEil3/dcs058+4nZDIuWT
+ASeLcJLBOX+Ru8yUdCWAqORyi5VgP3W0LmkF9oMiHITfssRB0E2USU8IiKEYXNhW
+weeojaI9aUyTSARk2qqgmtv5NXuf8PUe4fJ5hPmNlWSExi2j1midICfgDEuBD8lh
+2R+ARsaaMg4rFezVgWY9AKE1HHG0ZmCFnC3BaDMWGyLiPbNas515oBARkI+eqZtJ
+8+ky8gjmWiYnR5wpL45L16KE8/Hq2H8O2Slk0oxXQyBtXFxEMoczcblEVv3M4a/0
+kOVaWygwj/C+S6bxsVU=
-----END X509 CRL-----
diff --git a/jstests/libs/crl_client_revoked.pem b/jstests/libs/crl_client_revoked.pem
index 0b99d56936e..3a8fcc601df 100644
--- a/jstests/libs/crl_client_revoked.pem
+++ b/jstests/libs/crl_client_revoked.pem
@@ -27,15 +27,14 @@ Revoked Certificates:
bb:51:1a:48:87:60:b0:95:4a:2e:ce:a0:4f:8c:17:6d:6b:4c:
37:aa:4d:d7
-----BEGIN X509 CRL-----
-MIIB5DCBzQIBATANBgkqhkiG9w0BAQsFADB0MRcwFQYDVQQDEw5LZXJuZWwgVGVz
-dCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYwFAYDVQQH
-Ew1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UEBhMCVVMX
-DTE0MDgyMTEzNDMyN1oXDTI0MDgxODEzNDMyN1owFDASAgECFw0xNDA4MjExMzQz
-MjdaoA8wDTALBgNVHRQEBAICEAAwDQYJKoZIhvcNAQELBQADggEBACSGc41/VRXQ
-1opHU8+X9+U9C0rq+wJqLnnGsTiyrPDAZEewPq1OLpTmZO15NL10wNQ9uaG7OIlc
-Amqta9w7ZDRqLUyQNoKVDBmI4qO/jhtWmDcyh+3wvd3iDfmA3PKltO7Zu4P+uDoT
-4Nr8BHf7zvnFKlSn8DQJKrI9RhtI5ugWx6E8iIxyzcxT3PhUYx+5i+os5SbFtKSf
-i+FshZvGY28vrhjFaiPwWCeFXA8BBNrSi96eq0YAIgco4e9GkZAGWJUFaGdYbmeo
-CwYac9kEGMmj5OPWlKPhXOUIG7Odqz7qILEE5ZDhQlSyWLtRGkiHYLCVSi7OoE+M
-F21rTDeqTdc=
+MIIB0DCBuTANBgkqhkiG9w0BAQsFADB0MQswCQYDVQQGEwJVUzERMA8GA1UECAwI
+TmV3IFlvcmsxFjAUBgNVBAcMDU5ldyBZb3JrIENpdHkxEDAOBgNVBAoMB01vbmdv
+REIxDzANBgNVBAsMBktlcm5lbDEXMBUGA1UEAwwOS2VybmVsIFRlc3QgQ0EXDTE5
+MTAwMjIzMjc1MVoXDTI5MDkyOTIzMjc1MVowFDASAgEEFw0xOTEwMDIyMzI3NTFa
+MA0GCSqGSIb3DQEBCwUAA4IBAQCnJ2tET1YUOYvZJTKBtvN/qAkoRQCBpTDOcXJZ
+9gDwl6rmC1UaoYIkajTVtOGQbHD7Sx2ZpWhyjW7UhMJjkncMXhFBhWnIrz2GI0da
+H5Z8lTHgp4maWa/9DG0DwIpowUyMtIT9LSEeGKGZrejldCp1TerSfl92KtcRe3pe
+iO0QJfYM1H/cwgoP48M66Tqwe/64b+CjsJPqwSspAfsjvWa87rxAP03EUYzvMhhH
+xtrZCMA7v+9xcm+7rtJlI6xOsuSWIMmUVDWUIc5tNeVWcr0uG/lWSz3ALi2X8cQ1
+qkVPy0PrcKB8U6DrOLXXr3qV5X3ZstvjnXugbpTsj6y4isMY
-----END X509 CRL-----
diff --git a/jstests/libs/crl_expired.pem b/jstests/libs/crl_expired.pem
index c9b3abb05a7..4d65a512574 100644
--- a/jstests/libs/crl_expired.pem
+++ b/jstests/libs/crl_expired.pem
@@ -1,38 +1,12 @@
-Certificate Revocation List (CRL):
- Version 2 (0x1)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: /CN=Kernel Test CA/OU=Kernel/O=MongoDB/L=New York City/ST=New York/C=US
- Last Update: Jul 21 19:45:56 2014 GMT
- Next Update: Jul 21 20:45:56 2014 GMT
- CRL extensions:
- X509v3 CRL Number:
- 4096
-No Revoked Certificates.
- Signature Algorithm: sha256WithRSAEncryption
- 14:e8:6d:51:fc:0e:66:08:22:b2:4d:fb:da:7a:5f:4d:d1:a0:
- 80:f0:18:f3:c5:ca:c7:05:6c:70:59:fa:d5:96:68:fa:c7:1d:
- 7e:fb:53:3b:4a:8f:ed:bb:51:04:e8:fb:db:d7:b8:96:d9:e2:
- 8d:bb:54:cc:11:60:c8:20:ea:81:28:5f:e1:eb:d6:8c:94:bf:
- 42:e0:7f:a3:13:0c:76:05:f2:f0:34:98:a3:e8:64:74:4c:cb:
- bf:39:bb:fa:d5:2d:72:02:d1:fa:56:15:59:12:b7:ff:a3:cc:
- c9:d6:14:ca:4a:1e:0b:b4:47:cf:58:b0:e5:24:d2:21:71:0d:
- 2d:09:77:5c:2f:ef:40:f8:74:90:03:cc:37:2e:ea:6a:25:59:
- c0:bf:48:90:00:55:9c:db:bf:1f:f0:7b:b6:5a:90:94:b6:8d:
- 7c:7d:bb:2d:11:5f:0c:f5:4a:9b:c5:ed:ab:e3:fd:35:c8:76:
- 3b:2e:41:cb:df:76:b5:f4:e9:05:72:f6:56:7a:fc:34:07:d6:
- a2:55:eb:7c:58:33:5b:9d:3e:b2:03:89:01:c6:d1:54:75:1a:
- 5c:73:3f:5e:2e:fd:3b:38:ed:d4:e1:fa:ec:ff:84:f0:55:ee:
- 83:e0:f0:13:97:e7:f0:55:8c:00:a3:1a:31:e4:31:9e:68:d0:
- 6d:3e:81:b0
-----BEGIN X509 CRL-----
-MIIBzjCBtwIBATANBgkqhkiG9w0BAQsFADB0MRcwFQYDVQQDEw5LZXJuZWwgVGVz
-dCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYwFAYDVQQH
-Ew1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UEBhMCVVMX
-DTE0MDcyMTE5NDU1NloXDTE0MDcyMTIwNDU1NlqgDzANMAsGA1UdFAQEAgIQADAN
-BgkqhkiG9w0BAQsFAAOCAQEAFOhtUfwOZggisk372npfTdGggPAY88XKxwVscFn6
-1ZZo+scdfvtTO0qP7btRBOj729e4ltnijbtUzBFgyCDqgShf4evWjJS/QuB/oxMM
-dgXy8DSYo+hkdEzLvzm7+tUtcgLR+lYVWRK3/6PMydYUykoeC7RHz1iw5STSIXEN
-LQl3XC/vQPh0kAPMNy7qaiVZwL9IkABVnNu/H/B7tlqQlLaNfH27LRFfDPVKm8Xt
-q+P9Nch2Oy5By992tfTpBXL2Vnr8NAfWolXrfFgzW50+sgOJAcbRVHUaXHM/Xi79
-Ozjt1OH67P+E8FXug+DwE5fn8FWMAKMaMeQxnmjQbT6BsA==
+MIIBujCBozANBgkqhkiG9w0BAQsFADB0MQswCQYDVQQGEwJVUzERMA8GA1UECAwI
+TmV3IFlvcmsxFjAUBgNVBAcMDU5ldyBZb3JrIENpdHkxEDAOBgNVBAoMB01vbmdv
+REIxDzANBgNVBAsMBktlcm5lbDEXMBUGA1UEAwwOS2VybmVsIFRlc3QgQ0EXDTE5
+MTAwMjIzMjc1MVoXDTE5MTAwMzIzMjc1MVowDQYJKoZIhvcNAQELBQADggEBACGH
+wTkrBNfqoJAVqKP9yNP7ykxtrg0Z3uwZSRc2+AW+5FMxNrJsAJIzLh8B9by75TfX
+y8XzMkQl1BFqB6y0cjJVhaJbq0kMcLD0iGsa2pZ9ke5lOcb5BLgf4grnvjz4y/gs
+A8xqxwpAfenP7NsNQtvEVh3Oes75qhVBM13PkR4XyrLuw79W9aIcpvknmz8/XX01
+D4KGk4inafThDcSHOTftlnM775l0hkUAK5TJPf59thsqvR8ODmWE6rBrQ6zb3BzL
+BDlgAYwgdliKgnuiTFseljbZsVHuqsrTyRkZMT3p32zu5nnr5SLVkB5oiAFU3CAa
+fGPgQ+B6RMt9WTUdEwY=
-----END X509 CRL-----
diff --git a/jstests/libs/expired.pem b/jstests/libs/expired.pem
index e1d2ceb8de8..5b2028e14ed 100644
--- a/jstests/libs/expired.pem
+++ b/jstests/libs/expired.pem
@@ -1,48 +1,53 @@
------BEGIN CERTIFICATE-----
-MIIDfzCCAmegAwIBAgIBEDANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
-ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
-FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
-BhMCVVMwHhcNMTQwNzEwMTYwMDAwWhcNMTQwNzE2MTYwMDAwWjBtMRAwDgYDVQQD
-EwdleHBpcmVkMQ8wDQYDVQQLEwZLZXJuZWwxEDAOBgNVBAoTB01vbmdvREIxFjAU
-BgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYDVQQG
-EwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPFSQZlHvJpi3dmA
-1X5U1qaUN/O/EQy5IZ5Rw+cfFHWOZ84EsLZxehWyqDZRH49Rg06xSYdO2WZOopP8
-OnUVCLGL819K83ikZ5sCbvB/gKCSCenwveEN992gJfs70HaZfiJNC7/cFigSb5Jg
-5G77E1/Uml4hIThfYG2NbCsTuP/P4JLwuzCkfgEUWRbCioMPEpIpxQw2LCx5DCy6
-Llhct0Hp14N9dZ4nA1h1621wOckgGJHw9DXdt9rGzulY1UgOOPczyqT08CdpaVxK
-VzrJCcUxfUjhO4ukHz+LBFQY+ZEm+tVboDbinbiHxY24urP46/u+BwRvBvjOovJi
-NVUh5GsCAwEAAaMjMCEwHwYDVR0RBBgwFoIJbG9jYWxob3N0ggkxMjcuMC4wLjEw
-DQYJKoZIhvcNAQEFBQADggEBAG3rRSFCSG3hilGK9SMtTpFnrquJNlL+yG0TP8VG
-1qVt1JGaDJ8YUc5HXXtKBeLnRYii7EUx1wZIKn78RHRdITo5OJvlmcwwh0bt+/eK
-u9XFgR3z35w5UPr/YktgoX39SOzAZUoorgNw500pfxfneqCZtcRufVvjtk8TUdlN
-lcd2HfIxtUHWJeTcVM18g0JdHMYdMBXDKuXOW9VWLIBC2G6nAL/8SZJtUaDllPb4
-NisuIGjfjGgNxMpEXn+sQjFTupAoJru21OtAgERWFJhKQ0hbO0kucEPKEfxHDBVG
-dKSRIl6b0XSDLfxEXPv5ZhdrK4KEw1dYYXySvIVXtn0Ys38=
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml expired.pem
+#
+# A certificate which has passed its expiration date.
+-----BEGIN CERTIFICATE-----
+MIIDeDCCAmACBAV+8EMwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDYwOTA1NDEwMFoXDTE5MDkyMTA5NDEwMFowbTELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxEDAOBgNVBAMMB2V4cGly
+ZWQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrhDyB83N3F138VhlH
+4kHxfLgEFeTaw8iORGM3G333N0WT+wpt0pp8qyO8Er1mW27alPcuAJBs3s7OViOg
+GGhKH39Zhlwbvx4D403z/6TZiAhqF+drOvP8FbEjUzb3/Qcim96O2jaikZQHTeIT
+YARKpU4GYZyC9In1C52Kpu8rtrTc1T3Je960AjnQ6XoAv7J6PmE6WM/WgSCU0Sj1
+bMo4rujtmS4awZ8mBK3uwSbld6iPasylroc0xtk/icFcy3IFj9jkOQfBAIUH4c2I
+WrVFxofP7HO6osCc3uxydBIwjBjQIw8yibcb+I5fhhYWXDBDOg0Cn5bT8Uw1d6vi
+1Q6HAgMBAAGjHjAcMBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG
+9w0BAQsFAAOCAQEAWP//bzS3H6S9kDJUrvh+y0iA4de7mX9ixbQYf/AUrWc4MFz7
+KQpF4Xb1XisqotLj/M42rUL3cfCk7sz08tQSVaDAtOdqLgoeimBVDvqbgI9l3K0x
+IROzANytsMq3v3BS2BlauTa2ibp2gQdpvhkbgaQ1kDOcKhHYUZkgfdecXfh930Oe
+riLQHAxwXXYU17Di1HqgTbABQeJzBm+13X0AtaCdL4bvgVuQcf2mea/bdLChaU5L
+Y8XzlFXfQ8PUbLstpbb6GR8vjzXoPfP8kNdmHtUsFDRmIRC4vOvDOheV0slo51vP
+hxBspSf4s1DuTYHzNJC72lhB5geRE5RDEw7PMQ==
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEA8VJBmUe8mmLd2YDVflTWppQ3878RDLkhnlHD5x8UdY5nzgSw
-tnF6FbKoNlEfj1GDTrFJh07ZZk6ik/w6dRUIsYvzX0rzeKRnmwJu8H+AoJIJ6fC9
-4Q333aAl+zvQdpl+Ik0Lv9wWKBJvkmDkbvsTX9SaXiEhOF9gbY1sKxO4/8/gkvC7
-MKR+ARRZFsKKgw8SkinFDDYsLHkMLLouWFy3QenXg311nicDWHXrbXA5ySAYkfD0
-Nd232sbO6VjVSA449zPKpPTwJ2lpXEpXOskJxTF9SOE7i6QfP4sEVBj5kSb61Vug
-NuKduIfFjbi6s/jr+74HBG8G+M6i8mI1VSHkawIDAQABAoIBAGAO1QvVkU6HAjX8
-4X6a+KJwJ2F/8aJ14trpQyixp2wv1kQce9bzjpwqdGjCm+RplvHxAgq5KTJfJLnx
-UbefOsmpoqOQ6x9fmdoK+uwCZMoFt6qGaJ63960hfVzm71D2Qk4XCxFA4xTqWb0T
-knpWuNyRfSzw1Q9ib7jL7X2sKRyx9ZP+1a41ia/Ko6iYPUUnRb1Ewo10alYVWVIE
-upeIlWqv+1DGfda9f34pGVh3ldIDh1LHqaAZhdn6sKtcgIUGcWatZRmQiA5kSflP
-VBpOI2c2tkQv0j5cPGwD7GGaJ2aKayHG0EwnoNmxCeR0Ay3MO0vBAsxn7Wy6yqrS
-EfkYhFkCgYEA/OA2AHFIH7mE0nrMwegXrEy7BZUgLRCRFWTjxwnCKFQj2Uo2dtYD
-2QQKuQWeiP+LD2nHj4n1KXuSJiB1GtmEF3JkYV4Wd7mPWEVNDHa0G8ZndquPK40s
-YSjh9u0KesUegncBFfIiwzxsk9724iaXq3aXOexc0btQB2xltRzj6/0CgYEA9E2A
-QU6pnCOzGDyOV7+TFr0ha7TXaMOb5aIVz6tJ7r5Nb7oZP9T9UCdUnw2Tls5Ce5tI
-J23O7JqwT4CudnWnk5ZtVtGBYA23mUryrgf/Utfg08hU2uRyq9LOxVaVqfV/AipN
-62GmfuxkK4PatOcAOhKqmS/zGfZqIg7V6rtX2ocCgYEAlY1ogpR8ij6mvfBgPmGr
-9nues+uBDwXYOCXlzCYKTN2OIgkQ8vEZb3RDfy9CllVDgccWfd6iPnlVcvUJLOrt
-gwxlL2x8ryvwCc1ahv+A/1g0gmtuDdy9HW0XTnjcFMWViKUm4DrGsl5+/GkF67PV
-SVOmllwifOthpjJGaHmAlmUCgYB6EFMZzlzud+PfIzqX20952Avfzd6nKL03EjJF
-rbbmA82bGmfNPfVHXC9qvRTWD76mFeMKWFJAY9XeE1SYOZb+JfYBn/I9dP0cKZdx
-nutSkCx0hK7pI6Wr9kt7zBRBdDj+cva1ufe/iQtPtrTLGHRDj9oPaibT/Qvwcmst
-umdd9wKBgQDM7j6Rh7v8AeLy2bw73Qtk0ORaHqRBHSQw87srOLwtfQzE92zSGMj+
-FVt/BdPgzyaddegKvJ9AFCPAxbA8Glnmc89FO7pcXn9Wcy+ZoZIF6YwgUPhPCp/4
-r9bKuXuQiutFbKyes/5PTXqbJ/7xKRZIpQCvxg2syrW3hxx8LIx/kQ==
------END RSA PRIVATE KEY----- \ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCrhDyB83N3F138
+VhlH4kHxfLgEFeTaw8iORGM3G333N0WT+wpt0pp8qyO8Er1mW27alPcuAJBs3s7O
+ViOgGGhKH39Zhlwbvx4D403z/6TZiAhqF+drOvP8FbEjUzb3/Qcim96O2jaikZQH
+TeITYARKpU4GYZyC9In1C52Kpu8rtrTc1T3Je960AjnQ6XoAv7J6PmE6WM/WgSCU
+0Sj1bMo4rujtmS4awZ8mBK3uwSbld6iPasylroc0xtk/icFcy3IFj9jkOQfBAIUH
+4c2IWrVFxofP7HO6osCc3uxydBIwjBjQIw8yibcb+I5fhhYWXDBDOg0Cn5bT8Uw1
+d6vi1Q6HAgMBAAECggEBAI+EKPU79qPyA4y/povFwRQGHhwdDdAX/ts8UiCsemy/
+7RJz/zgB/47NzSr0K1NYsptoBqSRiEfw7+8rmMe/ZJSRYohQqwX0l3L9Yh8HDLOQ
+5imQMu5A+CM5K225lcdQDAZjkojKAulpEwpBmyhHMZAcXfts9f+GC2HmBD8ejAZw
+jj4th5BFuMq+7z7a22mcSWv2Ejw1CsscFAenRJL3OE7NrhsDLxv4G2F79QSkfMR8
+v5GyUxvGOt+VF2hhm1JKyClm+gRWU3ZpzdEIAL6JT5NCjUbz55M1hZGNb8Th31gP
+E4Etd+xdLyxGRPbr4f82cqyBVf8UoPxTwsPAnGF3DgECgYEA22ue1/882MBP+XQC
+tAaY9s8cZnGRrzNIiwgT2QayyP/mnpw8KBDnkDh7YaCw0e+3DFsvzZ9D5VDxnKGH
+wpQzKgTaAX7ZEegKJvfEYR8E35MenCqvDnlBkMzou0jnAzG+S8F4mpm9BcAXGuWv
+ULzmHqZTlxdiW7ECMtcwBkSva4ECgYEAyBwvakD7oteCqbChrAdROnoXCUX8Is/y
+1aMrVWSyBBtQ77i9zl5Lq0L85sHi8w+urwPi1hoxzCq8NckJEH7dAXuOTbstMFtC
+B7R1Xaqd0cFSuLnb3O+ayjdEMW58F8psdbGQ7vQkxFyEph8S8OGAqpanbUyd7gVm
+G4b9hetwHgcCgYEAysD8y90nzaaPgBPKN65tBIvHU4aYN0vtOcPiC0ZcSM3mviPi
+lqdgQu1eXY1ONwAKpplQZ/JGnA0a5kCBIbUuPiKzjHQ5g4lmcDG9Pn2aVDovK+Fp
+V7eGdZZTbFRmW5ZIoNoLZtivSTQCZbFeOf4DqsjJLzHFirLbND2SPAiWDIECgYAA
+hBoXMw2zEM00dNEl6WrrNK9khbqtuE2PAXm2IalX214tEBPlOVcGnQib67oTGGJB
+70ehd7XTKfUMSnVshnc5bsEiMC5gpouYC34V/L+lb9MvyMLpYfDLPrM9UWSehxYa
+g5e1FgoWO4rYBtJ8rogvaG4MGRt7JqZpwcJbmwzR9wKBgC5Hdz6+go3dddab1g9O
+nkpKewtrOuKnSLI1lOABTck/areLcw2UCHui7qc/KZc9J3eu9xhBCnacs0krEHNz
+I0hlCYsubAJBfQ6NDkaGf6UJCJA+c5vhJhbDVp/QdY8Vk/p6JVn3j/kkHfAiqkWU
+uVAQdjZtjUkjH3SssIlGJQze
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/localhostnameCN.pem b/jstests/libs/localhostnameCN.pem
index e6aca6a217d..2bd48c51404 100644
--- a/jstests/libs/localhostnameCN.pem
+++ b/jstests/libs/localhostnameCN.pem
@@ -1,48 +1,56 @@
------BEGIN CERTIFICATE-----
-MIIDgTCCAmmgAwIBAgIBBTANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
-ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
-FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
-BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjBvMRIwEAYDVQQD
-EwkxMjcuMC4wLjExDzANBgNVBAsTBktlcm5lbDEQMA4GA1UEChMHTW9uZ29EQjEW
-MBQGA1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlvcmsxCzAJBgNV
-BAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiqQNGgQggL8S
-LlxRgpM3qoktt3J9Pd3WXkknz7OjQr4dyj9wd0VNuD6+Ycg1mBbopO+M/K/ZWv8c
-7WDMM13DDZtpWjm+Q6uFc+vlI9Q9bLHgsZF9kVGRb2bNAfV2bC5/UnO1ulQdHoIB
-p3e/Jtko2WmruzVQFGVMBGCY7RlMRyxe3R8rwNNFvooMRg8yq8tq0qBkVhh85kct
-HHPggXD4/uM2Yc/Q94t5MhDFabewdzsFOLqvI/Y5eIeZLhdIzAv37kolr8AuyqIR
-qcJKztXIrFbLgEZBjoCNkOYZOQE+l8iwwiZxoZN9Jv7x5LyiA+ijtQ+5aI/kMPqG
-nox+/bNFCQIDAQABoyMwITAfBgNVHREEGDAWgglsb2NhbGhvc3SCCTEyNy4wLjAu
-MTANBgkqhkiG9w0BAQUFAAOCAQEAVJJNuUVzMRaft17NH6AzMSTiJxMFWoafmYgx
-jZnzA42XDPoPROuN7Bst6WVYDNpPb1AhPDco9qDylSZl0d341nHAuZNc84fD0omN
-Mbqieu8WseRQ300cbnS8p11c9aYpO/fNQ5iaYhGsRT7pnLs9MIgR468KVjY2xt49
-V0rshG6RxZj83KKuJd0T4X+5UeYz4B677y+SR0aoK2I2Sh+cffrMX2LotHc2I+JI
-Y9SDLvQT7chD9GzaWz634kmy3EEY0LreMm6AxhMOsr0lbZx5O8wLTScSjKARJ6OH
-nPxM1gYT07mkNmfyEnl1ChAN0MPgcLHQqEfe7x7ZQSbAv2gWfA==
+=======
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml localhostnameCN.pem
+#
+# Server certificate with IP localhost in CN, includes a SAN.
+-----BEGIN CERTIFICATE-----
+MIIDyzCCArMCBHL4LiswDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjc0MFoXDTM5MDkyNzIzMjc0MFowbzELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxEjAQBgNVBAMMCTEyNy4w
+LjAuMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANqKgSfLGsE/7KzD
+1c2WSMfAXohom0te39Y8QVWf7ETvwxYUACVZ9GrCr6/S/x4xwPB8TpwFPCM4lI0M
+CpOJOhIjdty34nukyhfa7KpzAQjcc2fH3c7LP2jrPE9Pu+uUYiVxGrJpOJr3EAl8
+rvxFNmem8HsTbTt8iH/en9FcWH1zEGMyHph+i/1uRk107REcyKvmTWBS1zeryJXJ
+WYoCz+bvmK8VVNYZBwGtQVfrIIUAJPmzQnIz2fTi+Dt4M3cR7WbWXPJQ9cl7IrhR
+hug4B71CUQA6K/8Ec5wgvxBXCM2Calhsg2H9KNpiL+DXmjDydtfSq2fIl9JWa//4
+1KhDzgMCAwEAAaNvMG0wCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0lBAww
+CgYIKwYBBQUHAwEwHQYDVR0OBBYEFPZHeWSxXi0G3mHNdigfHwMZio06MB8GA1Ud
+EQQYMBaCCWxvY2FsaG9zdIIJMTI3LjAuMC4xMA0GCSqGSIb3DQEBCwUAA4IBAQBB
+2e5vYSZvEL6EkQOEBsDM9e5P2PIQRZ+4ztpVEm469GYqCSa9kLst06wIUr3ln+JE
+ARVUyVT/I7kTaBJ4TLLnhXlZNNLTUfFkHENBxBjdTYa67AglvnteDiPFah8TIdYc
+AFh4UgqXmKtGc6TWbc+iPyDCfo/tIUpLmkyAXNuijiKlSeoRvvDISIqJyF3si3jr
+tgVlvKwM5ZWzNUVSNCo1movEk0kXfA9op273FNi2qKhUuD0Vc4DJjqjnJNrgLn+t
+DewdSdhX+VyFKatge98A9vTl7U29WvlsO/Z8Wl02LZdEM2xOKkRPwYl9kmG2X6P9
+rEjadizolcpveFpsTHiR
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAiqQNGgQggL8SLlxRgpM3qoktt3J9Pd3WXkknz7OjQr4dyj9w
-d0VNuD6+Ycg1mBbopO+M/K/ZWv8c7WDMM13DDZtpWjm+Q6uFc+vlI9Q9bLHgsZF9
-kVGRb2bNAfV2bC5/UnO1ulQdHoIBp3e/Jtko2WmruzVQFGVMBGCY7RlMRyxe3R8r
-wNNFvooMRg8yq8tq0qBkVhh85kctHHPggXD4/uM2Yc/Q94t5MhDFabewdzsFOLqv
-I/Y5eIeZLhdIzAv37kolr8AuyqIRqcJKztXIrFbLgEZBjoCNkOYZOQE+l8iwwiZx
-oZN9Jv7x5LyiA+ijtQ+5aI/kMPqGnox+/bNFCQIDAQABAoIBAQAMiUT+Az2FJsHY
-G1Trf7Ba5UiS+/FDNNn7cJX++/lZQaOj9BSRVFzwuguw/8+Izxl+QIL5HlWDGupc
-tJICWwoWIuVl2S7RI6NPlhcEJF7hgzwUElnOWBfUgPEsqitpINM2e2wFSzHO3maT
-5AoO0zgUYK+8n9d74KT9CFcLqWvyS3iksK/FXfCZt0T1EoJ4LsDjeCTfVKqrku2U
-+fCnZZYNkrgUI7Hku94EJfOh462V4KQAUGsvllwb1lfmR5NR86G6VX6oyMGctL5e
-1M6XQv+JQGEmAe6uULtCUGh32fzwJ9Un3j2GXOHT0LWrVc5iLuXwwzQvCGaMYtKm
-FAIDpPxhAoGBAMtwzpRyhf2op/REzZn+0aV5FWKjeq69Yxd62RaOf2EetcPwvUOs
-yQXcP0KZv15VWU/XhZUmTkPf52f0YHV/b1Sm6wUOiMNQ4XpnRj2THf0N7RS4idMm
-VwtMf1pxqttxQVKPpOvPEiTyIh2Nx/juyfD4CWkOVNTvOCd1w+av6ukNAoGBAK51
-gIXDuwJ2e5h3IJyewN/HOZqlgPKyMjnACaeXQ5wPJSrz4+UkJkuXT2dYKhv6u7K/
-GtucTdvBIJeq61+LjjkYk7OVDzoqP/uWU7p1y7gU9LZq+7tgq7r8cgeaC3IBQe7X
-jdFPEy1+zAEBh6MfFjnLZ2Kop9qbH3cNih/g9pTtAoGBAJ8dmdUtRXNByCsa7Rv2
-243qiDlf14J4CdrBcK1dwm75j/yye7VEnO2Cd8/lZHGpm3MBBC/FiA06QElkL1V2
-2GKDMun/liP9TH1p7NwYBqp3i+ha9SE6qXXi3PCmWpXLnOWwB7OPf4d6AgjPbYpb
-aYKY3PNYDC2G9IqYZyI0kSy5AoGBAJ5Fe5PfPom9c+OeL7fnTpO16kyiWZnUkDxU
-PG4OjQfHtbCCEv6PDS8G1sKq+Yjor+A5/+O8qeX0D92I8oB720txQI5rbKUYL3PP
-raY7t9YJLPlRlY8o5KN+4vSCjF+hRG+qnr6FPqDHp8xB1wvl6AQGxIR8/csVcDZR
-0j2ZmhsBAoGAO1Cpk/hWXOLAhSj8P8Q/+3439HEctTZheVBd8q/TtdwXocaZMLi8
-MXURuVTw0GtS9TmdqOFXzloFeaMhJx6TQzZ2aPcxu95b7RjEDtVHus3ed2cSJ2El
-AuRvFT2RCVvTu1mM0Ti7id+d8QBcpbIpPjNjK2Wxir/19gtEawlqlkA=
------END RSA PRIVATE KEY----- \ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDaioEnyxrBP+ys
+w9XNlkjHwF6IaJtLXt/WPEFVn+xE78MWFAAlWfRqwq+v0v8eMcDwfE6cBTwjOJSN
+DAqTiToSI3bct+J7pMoX2uyqcwEI3HNnx93Oyz9o6zxPT7vrlGIlcRqyaTia9xAJ
+fK78RTZnpvB7E207fIh/3p/RXFh9cxBjMh6Yfov9bkZNdO0RHMir5k1gUtc3q8iV
+yVmKAs/m75ivFVTWGQcBrUFX6yCFACT5s0JyM9n04vg7eDN3Ee1m1lzyUPXJeyK4
+UYboOAe9QlEAOiv/BHOcIL8QVwjNgmpYbINh/SjaYi/g15ow8nbX0qtnyJfSVmv/
++NSoQ84DAgMBAAECggEBANIARhv3D76jrspVZR4pS8anFDAAVToX8P/s5ttg0als
+vAp7Lai2yCfO7QQHvR9GsCBnUyKZ5S/zLsxaxc8ADs1fRtjR2tD1iT1jIgioelYJ
+gNw5MuuEY2puoYWVGP9Hlwhjp0PJ2JsQzlhPd9byq1TvFicug8il4oT9aJXGJ0Jj
+h/zhGxzyirU7TRpwLhI8ade893SyZA13+d5qQbUdOX7YNCeJ8PrTHq2tXHcTxRj9
+JLIZZTv8B0RU5fKp+5uypEp/acdMxQtYWSF+l8jlam0yjepzHVzYMinMDC5rLQaN
+/BRzr5gzZBW8IIdnDZ+JigU9nX/LIYPZEkMxDKgoYAECgYEA+uLhrTCSYAw8R6vV
+xe/6FYex5e1EGMJOU74BrgetuxnRKQmAROFJOa89YQ2ncsJkJIsIVQsIU9WTxKIW
+UFmFuX3BmQaxfrtpFTAEzkFC65IVHaIDao9+5FSIYfolLA0u6Z6VkE2O8RRK5A9v
+5BJzhDfTA0eS53E91yT5DhSEH+kCgYEA3v7Yq7C2ar1mBIbWAzeY1Fw99+XhHWsa
+0zDebwYb6opyAExar61AFq9EIKmMR5gxmsbe3XI4x2vxXwP7+bn6QGjvnBaWkcDx
+Yl7WX+gCbgtRpK5W++hHlHmNvNlaE3GEZxcLOcuz9N/57/dbqJBaWyZ4wFTbiY3d
+seD4KqMklwsCgYBVLTYFQJpRdZX5l0NKokC7kog5UaZu6XkCQV38oaq//PHgBtO/
+juT3aqFiE+qnsYuiRHmdtdMr8zTp60W8Hciiwyk5NOaJ6kKw6M6Y39tCcyQsHVcf
+lHw2NOTgrrZ0ED2/HxIUHeDLxGHwr7UDL6h8WR+Q23nqja27H1hXCWwaEQKBgD2b
+dszoQ111+gtiHRpCb+yrl0s3rVvtTTnvlGRj8a54lUpTzfIfEUezIEVN0j2tZHb4
+XnYbqmgeAE9Z0HGL2gGVfC1JaEvYXFfrD5rrhFBWvDWdHNb3s17nvirgeaxJfmTk
+zusmxg7vGiQb2KzXRL9N/6pTR1vXX9pW5vkQnXlFAoGBAOtaSA4WWLRgqCaHqoWK
+93UMMCk/pAx56Di3ehsXIWzPrPR429hy/T98sdKs3zTK/fkwBHC619j2AdIVyxOd
+dw0L1hFp8aHkk7H+SZK7cXpDHpkD3/UeKwAMBVP9YskrCj5YLcqf0bk5AYvjLrLX
+/TEwRboziKNKgnFV4ZcjDYed
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/localhostnameSAN.pem b/jstests/libs/localhostnameSAN.pem
index 480300f29e1..5ed98f2a98f 100644
--- a/jstests/libs/localhostnameSAN.pem
+++ b/jstests/libs/localhostnameSAN.pem
@@ -1,49 +1,56 @@
------BEGIN CERTIFICATE-----
-MIIDpDCCAoygAwIBAgIBBjANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
-ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
-FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
-BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjB5MRwwGgYDVQQD
-ExNzYW50ZXN0aG9zdG5hbWUuY29tMQ8wDQYDVQQLEwZLZXJuZWwxEDAOBgNVBAoT
-B01vbmdvREIxFjAUBgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5ldyBZ
-b3JrMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
-AJKOLTNEPv08IVmhfkv6Xq1dT6pki76ggpJ7UpwdUSsTsWDKO2o1c7wnzEjfhYQ+
-CtlEvbYyL3O7f8AaO15WJdi53SMuWS+QfCKs6b0symYbinSXlZGb4oZYFSrodSxH
-+G8u+TUxyeaXgTHowMWArmTRi2LgtIwXwwHJawfhFDxji3cSmLAr5YQMAaXUynq3
-g0DEAGMaeOlyn1PkJ2ZfJsX2di+sceKb+KK1xT+2vUSsvnIumBCYqMhU6y3WjBWK
-6WrmOcsldWo4IcgyzwVRlZiuuYoe6ZsxZ4nMyTdYebALPqgkt8QVXqkgcjWK8F18
-nuqWIAn1ISTjj73H4cnzYv0CAwEAAaM8MDowOAYDVR0RBDEwL4INKi5leGFtcGxl
-LmNvbYIJMTI3LjAuMC4xgghtb3JlZnVuIYIJbG9jYWxob3N0MA0GCSqGSIb3DQEB
-BQUAA4IBAQA5M3U4wvQYI3jz/+Eh4POrJAs9eSRGkUhz1lP7D6Fcyp+BbbXB1fa9
-5qpD4bp1ZoDP2R2zca2uwwfd3DTWPbmwFMNqs2D7d0hgX71Vg9DCAwExFjoeRo44
-cCE9kakZtE3kT/tiH6SpYpnBa3dizxTmiY48z212Pw813SSXSPMN1myx5sMJof5I
-whJNQhSQOw6WHw5swZJZT4FkzxjQMrTWdF6r0d5EU9K2WWk5DTwq4QaysplB5l0H
-8qm+fnC6xI+2qgqMO9xqc6qMtHHICXtdUOup6wj/bdeo7bAQdVDyKlFKiYivDXvO
-RJNp2cwsBgxU+qdrtOLp7/j/0R3tUqWb
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml localhostnameSAN.pem
+#
+# Server certificate with a selection of SANs
+-----BEGIN CERTIFICATE-----
+MIID8DCCAtgCBHpsfcQwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjc0MFoXDTM5MDkyNzIzMjc0MFoweTELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxHDAaBgNVBAMME3NhbnRl
+c3Rob3N0bmFtZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCy
+kdwwX/wq5O1yHY6kYri8HHX1EPxVK5/a9iLmzHkUus5rTbINb3rJEa8KVArG6BN7
+Vf2yNHBR324L597QRXAsCOIn0rTk0nGlDtw69fhf21kDFoKk9MBDmdXVXdchP6ZG
+8lk5//e5o65J3VkBsoIJe3WD+60oVwVdv3htCLBAFODGpNAZGcEEZf9NEf0nWFZ7
+dyuUVHZFM9g+FonN16kVImG67vZKum0EyBCTvOVCneUPvcVy1Zc2hQdMj024L1LN
+VMWYEGZSNACvTPMFDWffmtVn99VsQaQgSOeUn4oyD5KG9ywvHgGtsg1JeGKwqdBY
+kbqA/hyqoMtPD+4/Bw2DAgMBAAGjgYkwgYYwCQYDVR0TBAIwADALBgNVHQ8EBAMC
+BaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFAAhi+uUG6aniLqqysTy
+SS8X0e7MMDgGA1UdEQQxMC+CDSouZXhhbXBsZS5jb22CCWxvY2FsaG9zdIIJMTI3
+LjAuMC4xgghtb3JlZnVuITANBgkqhkiG9w0BAQsFAAOCAQEAU8Ymp6QGn1OT6xOR
+ujlmuVujoyogR3Qu2SxZ5trvqNxIRzjknxIRyxelbInnlil71/2BYmFJ1axd6ShG
+YXKlRkukXnuW++MifOkr1/FBCrJ2rZA3/GhhKbLOpblN2JBgH99DmmhsWjNQ8AeA
+CDlCT/tVszb+3VftJuWgkEh0t8RTQ/jUNxE7iMf2oInRUeEY2s5JG803kLJ2Vph5
+9ye4Ka6K6t4I/redQVXRE/H4HQsBR7ToNlMee0HjW7XBqEOpRDHnasUL+MClboGj
+BBcwvQs9uzMGP/g1P1LL8SahKAzBsKDK7+kECQ4Y98siVemvcMKM4xSyspI8jWFA
+1h1sng==
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAko4tM0Q+/TwhWaF+S/perV1PqmSLvqCCkntSnB1RKxOxYMo7
-ajVzvCfMSN+FhD4K2US9tjIvc7t/wBo7XlYl2LndIy5ZL5B8IqzpvSzKZhuKdJeV
-kZvihlgVKuh1LEf4by75NTHJ5peBMejAxYCuZNGLYuC0jBfDAclrB+EUPGOLdxKY
-sCvlhAwBpdTKereDQMQAYxp46XKfU+QnZl8mxfZ2L6xx4pv4orXFP7a9RKy+ci6Y
-EJioyFTrLdaMFYrpauY5yyV1ajghyDLPBVGVmK65ih7pmzFniczJN1h5sAs+qCS3
-xBVeqSByNYrwXXye6pYgCfUhJOOPvcfhyfNi/QIDAQABAoIBADqGMkClwS2pJHxB
-hEjc+4/pklWt/ywpttq+CpgzEOXN4GiRebaJD+WUUvzK3euYRwbKb6PhWJezyWky
-UID0j/qDBm71JEJdRWUnfdPAnja2Ss0Sd3UFNimF5TYUTC5ZszjbHkOC1WiTGdGP
-a+Oy5nF2SF4883x6RLJi963W0Rjn3jIW9LoLeTgm9bjWXg3iqonCo3AjREdkR/SG
-BZaCvulGEWl/A3a7NmW5EGGNUMvzZOxrqQz4EX+VnYdb7SPrH3pmQJyJpAqUlvD5
-y7pO01fI0wg9kOWiIR0vd3Gbm9NaFmlH9Gr2oyan3CWt1h1gPzkH/V17rZzVYb5L
-RnjLdyECgYEA6X16A5Gpb5rOVR/SK/JZGd+3z52+hRR8je4WhXkZqRZmbn2deKha
-LKZi1eVl11t8zitLg/OSN1uZ/873iESKtp/R6vcGcriUCd87cDh7KTyW/7ZW5jdj
-o6Y3Liai3Xrf6dL+V2xYw964Map9oK9qatYw/L+Ke6b9wbGi+hduf1kCgYEAoK8n
-pzctajS3Ntmk147n4ZVtcv78nWItBNH2B8UaofdkBlSRyUURsEY9nA34zLNWI0f3
-k59+cR13iofkQ0rKqJw1HbTTncrSsFqptyEDt23iWSmmaU3/9Us8lcNGqRm7a35V
-Km0XBFLnE0mGFGFoTpNt8oiR4WGASJPi482xkEUCgYEAwPmQn2SDCheDEr2zAdlR
-pN3O2EwCi5DMBK3TdUsKV0KJNCajwHY72Q1HQItQ6XXWp7sGta7YmOIfXFodIUWs
-85URdMXnUWeWCrayNGSp/gHytrNoDOuYcUfN8VnDX5PPfjyBM5X7ox7vUzUakXSJ
-WnVelXZlKR9yOOTs0xAMpjkCgYAbF61N6mXD5IOHwgajObsrM/CyVP/u4WDJ0UT0
-Zm1pJbc9wgCauQSUfiNhLpHmoc5CQJ4jy96b3+YJ+4OnPPMSntPt4FFV557CkWbQ
-M8bWpLZnZjhixP4FM9xRPA2r8WTCaRifAKnC1t+TRvBOe2YE6aK+I/zEzZW9pwG4
-ezQXKQKBgQAIBSJLa6xWbfbzqyPsvmRNgiEjIamF7wcb1sRjgqWM6sCzYwYv8f5v
-9C4YhNXEn+c5V2KevgYeg6iPSQuzEAfJx64QV7JD8kEBf5GNETnuW45Yg7KwKPD6
-ZCealfpy/o9iiNqbWqDNND91pj2/g5oZnac3misJg5tGCJbJsBFXag==
------END RSA PRIVATE KEY----- \ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCykdwwX/wq5O1y
+HY6kYri8HHX1EPxVK5/a9iLmzHkUus5rTbINb3rJEa8KVArG6BN7Vf2yNHBR324L
+597QRXAsCOIn0rTk0nGlDtw69fhf21kDFoKk9MBDmdXVXdchP6ZG8lk5//e5o65J
+3VkBsoIJe3WD+60oVwVdv3htCLBAFODGpNAZGcEEZf9NEf0nWFZ7dyuUVHZFM9g+
+FonN16kVImG67vZKum0EyBCTvOVCneUPvcVy1Zc2hQdMj024L1LNVMWYEGZSNACv
+TPMFDWffmtVn99VsQaQgSOeUn4oyD5KG9ywvHgGtsg1JeGKwqdBYkbqA/hyqoMtP
+D+4/Bw2DAgMBAAECggEAYpzqXEyllYqXFk38WAusuTV+brfSobZVsTX8UDjbJPeE
+xv1BNuo5hJCfebSvvuiq2ZHDaIZNAOnCfBCwm5O9PpQpUJSsETGmUODD/kuXvlgD
+8BCeVTpUcwChdhM8mr/rs4JihAU3aO1bcq8qWCWcamAjpZ93IK/t5re2aYBC1R/F
+A1G5dAePyl/F+g7T50SFh7dS/Bp//EeWI3zK/LH4SjC6Y+QQepMDWo2Cr8VTIOyn
+rGf4qSjM8ntnGfWiE12Ku/KxXxxe4DDe5WS2xfWHpPTYV3pAqCK+0U4+q8mONOcx
+avhySXVUTZHym+J/l9e7YTbgxhWb2UmVBKg3/K+UAQKBgQDt4XWIUipShrAaOWsA
+CcBkx+qLXca/E1Kpja00AZH+hqUMgpn0BGeLS1BUdzjoJlGSBY2qvbeuNwCYLvu1
+Q6CKox2fXiuBUPCSUuOdNkIswHw2kVr1TKdhMlCVQo+muJ1szY+hskhWKSvh173+
+XR/4lGLaTJCPy3wrzD6eaxMPMwKBgQDAK97zFQSua7gK66r22RBFXRtDRdmR6Z71
+WDpg72Ct+p7Mz/8UKnVNJN0ojS4uovoZXrtF0aBbVmBDgWtVZH1d08S/ym77Nh4X
+DzN9y8OqTDARgoGK/+PGhcHii/L1XegHt8AQBQrgsGQ3V8ZrnAgCXqZfqRC72MRS
+54/rv01IcQKBgQCS7HQJdKZLPoE6UUhzR5KbLJcC6TK+BZNCwgy+WFHx4PvEFE4+
+VxIVCLle0hxF1pT/GYr8cB0o7zPgyvQQauqXdlPvgNxiDLnpxmRrT33j4idWFMUX
+SPcAo3D+H5RWJySkdPpHprPi85706Kmil6YNhKjhp/SJu+a/rnDmq7+j3QKBgQC+
+czwTgIMRMWRGPmVDGsBLXgjE1RbYysVktTm2E8am5bg3lvNfUuzJtX0Q0Uoxogdm
+2UGT4jqgCqyAemSbTmoIcPWOddsjT/DmPYR0aVrTDYqd787eqNdeSfVqxfPVRGnO
+LEdGGRk8sNPBHVZiE1LEtnUAXRdec2euGhvCMecvoQKBgAucgLoN6It81v6i6doe
+Gz68QsaOObmUWbe7iluzdYnPt+lEZihSUPggRLTMnmrh9fdD6l2fAMZE2fC8L2gq
+QtGSiKOuowZfZBS4DlKL+fn+XNJqZqamz0V08VGa5Sayzb6/Ud79iFVMUGVQr/lF
+MKPT0dnsj0RYgraZ7ax8+pbR
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/not_yet_valid.pem b/jstests/libs/not_yet_valid.pem
index 7c021c0becd..5beb2e2c88e 100644
--- a/jstests/libs/not_yet_valid.pem
+++ b/jstests/libs/not_yet_valid.pem
@@ -1,48 +1,54 @@
------BEGIN CERTIFICATE-----
-MIIDhTCCAm2gAwIBAgIBETANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
-ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
-FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
-BhMCVVMwHhcNMjAwNzE3MTYwMDAwWhcNMjUwNzE3MTYwMDAwWjBzMRYwFAYDVQQD
-Ew1ub3RfeWV0X3ZhbGlkMQ8wDQYDVQQLEwZLZXJuZWwxEDAOBgNVBAoTB01vbmdv
-REIxFjAUBgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5ldyBZb3JrMQsw
-CQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM2gF+Fo
-CeBKVlPyDAaEA7cjK75CxnzQy+oqw1j/vcfe/CfKL9MvDDXauR/9v1RRlww5zlxQ
-XJJtcMJtxN1EpP21cHrHCpJ/fRsCdMfJdD9MO6gcnclEI0Odwy5YI/57rAgxEuDC
-7z4d+M6z7PLq8DIwvRuhAZVTszeyTsCCkwfTJ/pisD2Ace75pS37t/ttQp+kQ+Vl
-QrfccHYxrScQ9i0JqBfrTULDl6ST76aINOaFKWqrLLkRUvE6pEkL/iP6xXUSKOsm
-uyc0yb0PK5Y/IVdrzwWUkabWEM27RAMH+CAx2iobk6REj0fsGySBzT2CaETZPjck
-vn/LYKqr+CvYjc8CAwEAAaMjMCEwHwYDVR0RBBgwFoIJbG9jYWxob3N0ggkxMjcu
-MC4wLjEwDQYJKoZIhvcNAQEFBQADggEBADw37jpmhj/fgCZdF1NrDKLmWxb4hovQ
-Y9PRe6GsBOc1wH8Gbe4UkYAE41WUuT3xW9YpfCHLXxC7da6dhaBISWryX7n72abM
-xbfAghV3je5JAmC0E/OzQz8tTgENxJN/c4oqCQ9nVOOLjwWiim5kF0/NY8HCc/Sg
-OG9IdseRX72CavDaPxcqR9/5KKY/pxARMeyy3/D0FIB1Fwu5h9vjHEi5fGOqcizf
-S1KHfzAmTxVtjw6HWRGKmkPX0W0/lURWVkKRxvC8KkJIeKx3fl9U1PqCw0AVi5d/
-whYn4qHNFFp4OiVzXq3b5YoBy0dlHUePCIPT2GkGlV4NQKosZMJUkKo=
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml not_yet_valid.pem
+#
+# A certificate which has yet to reach its validity date.
+-----BEGIN CERTIFICATE-----
+MIIDojCCAooCBB9hUwIwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMCAXDTM5MDkyNzIzMjc0MFoYDzIwNTkwOTIyMjMyNzQwWjBzMQswCQYDVQQG
+EwJVUzERMA8GA1UECAwITmV3IFlvcmsxFjAUBgNVBAcMDU5ldyBZb3JrIENpdHkx
+EDAOBgNVBAoMB01vbmdvREIxDzANBgNVBAsMBktlcm5lbDEWMBQGA1UEAwwNbm90
+X3lldF92YWxpZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMPshv9h
+uHL6Cm5d0tIGhxooYD5B/PZuPLjcvuCuHSc5VvxdL0BwLU8LzarFT/sAtojIbFy6
+CcR7pzW6WuzDXHG6wcQQvwRapJ30wu3oeUiOPOIrN9aLrc8D1dRRQGa6NLnCxQSN
+Yh/gExKxBD4eArI89WN5XjmnNrDhI7L/m2dLUL7tWYZJWxXMq4Um6h8oRzagLAt9
+yj9AYFogPlBLBwBqBQUnYJj0MSAwPZe90RZzHiv0iohrZb+xLjL6Z14iOYT4XZEN
+3MKqmA66QeOYxVcBXFpdeUMr5LA2DjNiVRnqj385HwRxMnlDftQrWkGlZYv+zqQy
+sQvUr3rRvxJaQeMCAwEAAaNAMD4wPAYLKwYBBAGCjikCAQEELTErMA8MBmJhY2t1
+cAwFYWRtaW4wGAwPcmVhZEFueURhdGFiYXNlDAVhZG1pbjANBgkqhkiG9w0BAQsF
+AAOCAQEAR/3jE0+hOkiUyqQdjeB6v5Jf4DRLh3qleWIfVPjKTU6FpKY7Dww5VkJf
+Z32MoqA56yW852/TNMM4XBWuX3KpCqrwe3CMBG4a3WSZ5nTv1N+FhDVE7NcHfl5T
+vosD5tI+3LWL06lHvdlgiACBTy+SJDVzDuBqsfwJrb3oO5G6ADsTfhTKmuA7eMdX
+qMsvZ2ru2OjeLqqjp16drWne7LZUb2ZgqEO/F+j/H43lzpxVe6typph7v2FFLWt1
++qYI7Z2douhG2MKWGhUR5MJDBeozqref6KSW2J4REwQAmZGgoCjFyA9NPm0TNR69
+dOnvLCX72/S6G/VQvcxI3m08YjypFw==
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAzaAX4WgJ4EpWU/IMBoQDtyMrvkLGfNDL6irDWP+9x978J8ov
-0y8MNdq5H/2/VFGXDDnOXFBckm1wwm3E3USk/bVwescKkn99GwJ0x8l0P0w7qByd
-yUQjQ53DLlgj/nusCDES4MLvPh34zrPs8urwMjC9G6EBlVOzN7JOwIKTB9Mn+mKw
-PYBx7vmlLfu3+21Cn6RD5WVCt9xwdjGtJxD2LQmoF+tNQsOXpJPvpog05oUpaqss
-uRFS8TqkSQv+I/rFdRIo6ya7JzTJvQ8rlj8hV2vPBZSRptYQzbtEAwf4IDHaKhuT
-pESPR+wbJIHNPYJoRNk+NyS+f8tgqqv4K9iNzwIDAQABAoIBAFWTmjyyOuIArhrz
-snOHv7AZUBw32DmcADGtqG1Cyi4DrHe22t6ORwumwsMArP8fkbiB2lNrEovSRkp0
-uqjH5867E1vVuJ2tt1hlVkrLmbi6Nl3JwxU/aVm7r7566kgAGmGyYsPt/PmiKamF
-Ekkq49pPlHSKNol6My0r5UCTVzO6uwW7dAa4GOQRI7bM7PVlxRVVeNzPH3yOsTzk
-smrkRgf8HbjtY7m/EHG281gu14ZQRCqzLshO2BtWbkx9dMXnNU5dRRaZ8Pe8XN0Z
-umsStcX6So6VFAqlwknZTi1/sqyIuQLfE+S9DocVQkvKFUgKpFddK8Nmqc8xPCKt
-UwR9hEECgYEA9kZ5KmUbzxQrF8Kn9G18AbZ/Cf6rE9fhs/J8OGcuuJ9QTjPO7pxV
-T7lGrIOX3dVu3+iHrYXZUZv+UTOePWx+ghqJ8ML7RdVsxAWMqh+1J0eBJKIdc9mt
-0hGkLEyyBbAlfNmvw8JugTUeZH2gA+VK9HoMTAjD+LvH164rrktauKECgYEA1b6z
-lZypAbAqnuCndcetcgatdd/bYNH5WWTgdZHqInt3k94EsUEHFNMQUbO+FNkOJ4qJ
-Jp7xrqkOUX+MPrzV5XYVapamlht9gvUtyxGq7DYndlq4mIsN5kReH++lqONBnWoG
-ZlbxvadkvPo+bK003hsl+E4F8X7xUssGGLvygG8CgYEAm/yLJkUgVgsqOER86R6n
-mtYipQv/A/SK6tU9xOPl/d46mS3LderjRjnN/9rhyAo1zfCUb14GBeDONlSBd9pO
-Ts3MbQiy6sqBt67kJ6UpspVhwPhFu2k25YVy/PQfFec591hSMaXnJEOm2nOPdKg4
-z5y2STqMFfGqZHvXAvCLp8ECgYA8oVGTmNKf9fbBBny5/iAG/jnp+8vg1O7kGqdI
-8lD14wvyV8IA/a8iixRP+Kpsg31uXe+1ktR/dNjo6UNA8JPD+RDuITmzzqx1n1KU
-DbjsNBhRjD5cluUkcjQ43uOg2oXcPxz9nqAH6hm7OUjHzwH2FsFYg9lPvXB6ybg6
-/+Uz5QKBgBxvTtLsZ3Cvvb3qezn4DdpLjlsrT6HWaTGqwEx8NYVBTFX/lT8P04tv
-NqFuQsDJ4gw0AZF7HqF49qdpnHEJ8tdHgBc/xDLFUMuKjON4IZtr0/j407K6V530
-m4q3ziHOu/lORDcZTz/YUjEzT8r7Qiv7QusWncvIWEiLSCC2dvvb
------END RSA PRIVATE KEY----- \ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDD7Ib/Ybhy+gpu
+XdLSBocaKGA+Qfz2bjy43L7grh0nOVb8XS9AcC1PC82qxU/7ALaIyGxcugnEe6c1
+ulrsw1xxusHEEL8EWqSd9MLt6HlIjjziKzfWi63PA9XUUUBmujS5wsUEjWIf4BMS
+sQQ+HgKyPPVjeV45pzaw4SOy/5tnS1C+7VmGSVsVzKuFJuofKEc2oCwLfco/QGBa
+ID5QSwcAagUFJ2CY9DEgMD2XvdEWcx4r9IqIa2W/sS4y+mdeIjmE+F2RDdzCqpgO
+ukHjmMVXAVxaXXlDK+SwNg4zYlUZ6o9/OR8EcTJ5Q37UK1pBpWWL/s6kMrEL1K96
+0b8SWkHjAgMBAAECggEBAL6Ciipd7Srv86Cp3suWyVwoEp23MLC3NJhVHc3/wB1Z
+5jlyqvWvnn8UbSI2xrS9VsDekm///mtuCYN2997tgECeZretyPAE67kkPT91JCnn
+FVCe0abvH00C37OaZlL9kTNoLodkqxtvmVw9gHCeYeTK3ZmidHr/G3EXGs19OrFO
+mR2+tW4oILrm78GZELPgEbFmQdTV9oHCOKBQcl4rZwPyhJY6lo0wJnm0TOl79v2c
+0kDG5La92ON358ufuAdz1+ugwr/jYEdw91vDD310b3uKKyq3HWSLK38fCiL+tTS7
+KhVTVAQkF0WAhEFPQ5gb3xN20GzjoTGGr/r0KZa3+LECgYEA6BUrDFI0t0BNJmqy
+1BAlYGFSy/hcjxCQqBu6dKbg2UNDcT5wyf9/eTS8cHClJm4ODINAkhLPS5pvByp5
+j8EnJDVUz4Iqa89JTFv2lPinhSw6nEpX9o2U1xolCK260VXPNgMG6uWE4+33KrON
+PzAO++bm7AuB7Dt/JpaBsNlkHa0CgYEA2B1qMx7Mnbc1tI1l9eKYFgujmoEnVwfc
+fF6H6DbQI3D+mI/NK3pLtEXP5a6+308TwN3gydhmAg2aGZXlAiqtCiU4+iRtm6qT
+TG892Xl08lyyCvKZMszzqlgaYna/RYiquFhlrsB+jy63+XW+dOVR9n+jK35kyYRv
+A4fDkFwxr88CgYBtPnGaBiQcUl8+gyEUY1lEqeswagMfsLt29j5pZJgYjOn1J2Au
+JV9arXE6ODv0//8K8sl1OPds7g/vPpYkDdaf257FYs8XGma1U+CZNQad0Djykqgf
+PXvfWMYv9J8opIy6LuiVr15DcCNVbVlCchvLhWATokMQ8NykTFpV5a6TrQKBgQDJ
+FMVlfzi/XmJX9mByIj2D9Zxp+9XQwn3CMmqeA7Ix58bbyKEL3SRnPbWsbaUnPfqR
+L2EiLXjsXB+Pwspr861BjVSwWgiqGFIpgi+4E6xefSUjzooAnHXzfzo9d2OMnRbL
+o2Qo7u5S5xNCxu1I8r4KbsQxic7ZOaHZVQ7/WOjaPQKBgEyHOIp2sVfzM53SWK9u
+Yrs73aHhVUISxRGKNOdUBKgxTv/6AtLDnH6CTkT56vHoLNM3tpKae/7nzKHokAUK
+WJ9dK1ymxsfRFwZ3rSxikLvMC5eI7xZYA37Cv7juHrU+rtgyvkBTpVTqXNq4arXT
+tH7fy0W+MG3OC1eHoWcJu514
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/password_protected.pem b/jstests/libs/password_protected.pem
index 2a9b8ea4aa4..80983c8a142 100644
--- a/jstests/libs/password_protected.pem
+++ b/jstests/libs/password_protected.pem
@@ -1,51 +1,60 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml password_protected.pem
+#
+# Server cerificate using an encrypted private key.
-----BEGIN CERTIFICATE-----
-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
+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
+o3gjOl92+TCy4chV
-----END CERTIFICATE-----
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFHzBJBgkqhkiG9w0BBQ0wPDAbBgkqhkiG9w0BBQwwDgQIP80PLbXYYHUCAggA
-MB0GCWCGSAFlAwQBAgQQu1qZnln9ymhZVDJmGJpIJQSCBNDufC1nGCgwBWtkzqP+
-MN3/UJD4cX6TQDjGotN484gLvCm138yB8EPSuFz2RUcOFQImKm3fuqBKgx08jen6
-DQRNekzW1ngIV3BZwn5kMwr0lJK4ibpfEmdTYu/2INq55ljsFx7pq+69PLOqskPa
-l+1CzPub0xPC8spG6H0xxOV3HYZlzNX6SKgpK/GPCyGzspgijdacn+x+KFpvMRG3
-fDvdGTP5F/lk6++EHFM/LBfitNV0qkd9GoOIbcDkinu6EytSfJY/mY337AhitWQZ
-zdhgC3nA+QYy9s/hs2hXBepkIsFzLMRF162Cqc7KPNObpVGBPxFS+an3c7FyYXVw
-ekTf1XrUpdsqNIgvSQkUhzkPc01jHWd4paHgSCLayLx6c9jPXiCxgASZ7BcjAZOC
-VLqoi9RHYrEdpoZBwMnSheHa6OVdqPbitlx4vA41s1ERuRktz9hXuhl/Rje+IF5i
-2N2l4q3ix4K2yvtZ4wmoc92/WPy2XVudeBinupIxLbrq82HIs1KvLZZ78s+s2Gfh
-PDH/1gMiraOWyBY1/4DtAnptl2qKW3YsTwMGCfrX8euRC7WCk/QBw6SBy1XlV2pc
-uc1ZOAgWQHwDSRK6XJHgElrQkgVRlszg5vofJ1RdRxJo6XossIc3vx/IUqv2+7xx
-mGBE+71FYDg4vmN5nAgN2MjEGdyMEGL4WiKT6Y/WSOTrtRVKRFTilzxuOmx6Hq37
-rldBokhttrx0JikU0fqDWSaDbERSslmv5TinygKyq/PnGOHtcBzHC0c+AIlp2Rj8
-Z5TbgMVcxjV0GZ0SojjO6DO9weJ5c5iBom+VJrniYNDc4jqn0OqIQEembgGuTdHk
-37Dqp7oxonLZS1Qi+YNljxQvGUeaoy0hSJS/9C2ANWoo+POB/BkhdS3NT2CQAxNZ
-ca4ThdtyLvhSjLIEEMJH7J+LFVuE32hbivWtjKcha8vJ/sYz5gZE193Jfz5H92Zq
-3Ee7ipvaKQrxATCp7xJdX5ftHp2+dMsiRKxff8TOO9TVwoJkWOw9zSOMidI+znuL
-IF2kTMMPu/o1EbOzEvgck/dcvPlTzWQEGy6eCSixndB4c9yjcVnZpzYnWJEhV7to
-W9OfcBkQ/3V5jn96yQPCXm1br2j9FS5QDmWP+GOlLUEPwb27jUajTs3emeqvC0qJ
-OALtJsKkwT9L7Cq/cZNByBrbmimEI1NkaVRPjauHhQSzPYIJWBkaJPoZIkbCJ5eO
-vRi/2Bd74fda8pVFxm9kUNP8wwpz9JSXmzVRzGXOJ3lS1TKAXl++gb5HX+bieSNy
-QHcjw6rBwOkdac40vs5mxGb0XHtP8Qqvn0+fzmKan4MBGKGrB2nlfBrhI2Uopni5
-WRSWbZjDe3ofsjlaj39rxQksvSnZEN/us4JHl2QWfYhpg9tYiCmO0zPREqdWKoi2
-IgydR30JXmNx+W2UBoh1iIPgxeqkDXsxWusGbAgyZs4s7/dcrlcVQz5vzHm0zXsK
-hix58eAuxTJORkGKaxva5fmdwvHJJPt5/nPPsGdm81WVqm79yKRRE4mjl+PTBryE
-4IuFZjGksVDHpi1LMpW4FMmaYjf/oNm9/ZAqOtxJYC8CFIyyVbqSMOwrqSDxmE8O
-gHyWskGclbX/lOH8H83lXnh2xw==
------END ENCRYPTED PRIVATE KEY-----
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-256-CBC,1F35B5067DAD37B21726C501BE3212C1
+
+K1T0K7vVO/2SoXjdlK2DSiLcyFQTT4W2YWHecV+9VOZ58OiQkLIVstdVmseqtUjc
++n/Sf2sVlN08Scge/Tel0JzGQgaAr7JBlRaeuGaXjszALgPok0cd31bK0XH41ajb
+rYV0hcSvYHDJTZw2rN5ElTAxaPF/oZdWzSsn0zSVqLOg9hykEfNaGDOhmW3JE2k1
+IkLZ7TOzhw+Z1eQBRS4eM7Sl61sT5uf5/WyH4VERHHMBGj3pBFqeqP/ztNW8Poud
+6KsCvtJXZ3op66i8eheLwGd7B+oDi9uBUynWMRXJpsp05P7aqcQY9mtROQGz7Oyn
+cEUDoPtze9fL9mXVpx+a7jAIin/DkjJAd8c5qSYoPVkzJfD8O/RGm4DmaNDDJZHu
+R0n04sfjZPpJQp8wy3XLO9TLtHtqoZ17Crf2MeuvBq2Ujtmqlg7ePfH8mkT+BO6d
+Uc7UquqdSPmfwaWxueEPgewEiODtvnhXMV9csX/DdBV0gugnj8EV4twXARkwKUTj
+fPs1fKz+bu8oYHts98vdOytLj6PrIzxZdPiJ40pXBeP+XYVVtxTb7sE3RKfflsUu
+zcYopo7xUNBvIsE4XVjHz1YgF5d5CWkojfY0G08nsEUk5uHG4pXhwEGkFKevqrZu
+f8VTkgBxicHAY6+ijuX1jVQ0dfTn0cvtbxx9OND8RhA5vJkfl6a3qtTTyPkP8btF
+GB0ALw2ATYtVQyCQ0DxFh5ACPYq3A4wed/cBSI2tYtXwjRTj7MDHZV+1G63BxIrg
+Tc5dRWIuhB/9nVxTMUrDoZRBLDY7NhkkYOysnl5bbcBAGEkobdbbXFMZCHmJzkao
+xKoAeK9JDKk4g00wXf7RRyEcfOaNA+MivrqsD4ypvj5Djc/BkDeTNgKbWFyH7dpx
+wzSJMiFUh7UuTNVfrLfGxBORBz8IC04sTAmt81umT28f5a7PVyfNHHXoEoXSRArP
+6jXECakP/APDi09UUaf7lP8/fV9vJsrVK0MvKz3+lxRPLa2hjiFp6ZQQ0bWzdvOT
+8o+zB9ZJyTTcPZH9pK6bdY/jvsWxOD3JbVU36M2YjQcrJYbIPCeiwoiWdKgWd+/H
+ElShBcCYzoOC8kuv/1yda/14eFm/w6IaMQlaLs5Kc/ZdhlWArW58/NbzJe2Y5bdp
+klCprSdoKYtdo23FGBp29fmyCzVLPWRS7Oe85fvrF9y4UVDZkrOt8u6CIz3LrSAY
+RDm3g45lAtvrdm3+74usoV2yVKtMx5Z8Q06IDWDefaeZMnZlhzEFBEYxlex6UpJ8
+KlOmLY1zqqRzCX6kyUGSvq/t6MdVSFvGj+MV7GYxq70+igbfLhLUX3NwUhi4808k
+brBtevsyE4vVdsbgvcthcoe3kkVLoU4W8IwWl8CR9wRo4iqf4RU/WxmEeCLE9Ys1
+ea7+IjMzOrvIFSGPTtKX3OOqNLPvUVIkCogSgzH4c3nJXiJQoDEoosEKJdBWWgKz
+hVVkHgHJnJnD52wpAzNAUK0yfcd8rlm33LNJY16WFZHQqIBPp54b53gtzPiYRuqN
+ow23PNjicxR7tuv1rdB3ZidfkJSIvOGYLmU/B9fkVU0pV9f5IRU9POEa+XyMMaFD
+-----END RSA PRIVATE KEY-----
diff --git a/jstests/libs/server-intermediate-ca.pem b/jstests/libs/server-intermediate-ca.pem
index 49177236cdf..8720a52af58 100644
--- a/jstests/libs/server-intermediate-ca.pem
+++ b/jstests/libs/server-intermediate-ca.pem
@@ -1,69 +1,75 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml server-intermediate-ca.pem
+#
+# Server certificate signed by intermediate CA, including root CA in bundle.
-----BEGIN CERTIFICATE-----
-MIIDeTCCAmECFHw+FnGIXPbuzpqG28urvjff3s2tMA0GCSqGSIb3DQEBCwUAMHUx
-CzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9yazEWMBQGA1UEBwwNTmV3IFlv
-cmsgQ2l0eTEQMA4GA1UECgwHTW9uZ29EQjEPMA0GA1UECwwGS2VybmVsMRgwFgYD
-VQQDDA9JbnRlcm1lZGlhdGUgQ0EwHhcNMTkwMjI3MTY0NjExWhcNMjkwMjI0MTY0
-NjExWjB9MQswCQYDVQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxFjAUBgNVBAcM
-DU5ldyBZb3JrIENpdHkxEDAOBgNVBAoMB01vbmdvREIxDzANBgNVBAsMBktlcm5l
-bDEgMB4GA1UEAwwXU2VydmVyIFZpYSBJbnRlcm1lZGlhdGUwggEiMA0GCSqGSIb3
-DQEBAQUAA4IBDwAwggEKAoIBAQCZ7sGixY2OsOTWzB1Ww08iFToqFxdo7/nqoEX6
-kktPVSKdCCCsx55hWcgR0jwIfuXOQWFvD6b50NTmdxRSGodgcv4hcrGqPbyxxEns
-2+hKUaULjgOox9wS8aiSSoQtGXEGlyd06coatOMIbPIG/7Txq8NuzCnznby86wkw
-ptO21crMa/Q9B0sFzl8DJaGsMcDjoyzN52eJ7xnzDoyDkzLnJZDlK55m1xB2TpPY
-0m+0eg2QUUP9KKkQ0oM4rChBgj3FeUlitiIQo6SS1VtgAgQh8Gecfrk4J9cp+W3Q
-PoMZWM62WqVfEG3j4Fe2I5QS3R/8SeYYXcohI97ie5LAn2PTAgMBAAEwDQYJKoZI
-hvcNAQELBQADggEBAFl7XxkK25GRW1J/pBYb6VJ3YiZeK5xVVSltIBoUs12Vq5se
-BD05opUfQyfB7Y3CwbiSUcFmr+zqrQMPSgT08dRF+1VarRB5q/Pn3uHOPPGgO5uA
-ZNzLjMkEwazKCs5R6+7z6INARW8356PQziYCRyMjBTi2vYghDq6Hji4V7w1n+9l2
-DUCPbAdD35NOv62y6SRBtWwV2zQJ8LSB7zRcQCzxz7e3WZSVv/ztP74huYrPeSpK
-7oLAwItP+5o4dc6ApsvTspXb+m46+GU6DG4hdAJ6lX+9P96sHWTkR72lBIPVMs32
-RlD1A0yqVwxoFUKwyeMtmS0ZvX1zh9xxVj1wX/o=
+MIIDaTCCAlECBAGwTLYwDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxGDAWBgNVBAMMD0ludGVybWVkaWF0
+ZSBDQTAeFw0xOTA5MjUyMzI3NDFaFw0zOTA5MjcyMzI3NDFaMH0xCzAJBgNVBAYT
+AlVTMREwDwYDVQQIDAhOZXcgWW9yazEWMBQGA1UEBwwNTmV3IFlvcmsgQ2l0eTEQ
+MA4GA1UECgwHTW9uZ29EQjEPMA0GA1UECwwGS2VybmVsMSAwHgYDVQQDDBdTZXJ2
+ZXIgVmlhIEludGVybWVkaWF0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBANDVywmF9rAMJ1npJlALHpqAiufCBvE0zoBgUPJOPE0zTxhWQ4vWhnfQjupw
+PAUGgTeUiJSsmSDPLurTi8qO05hs5BNZxEBXMt5yK2XMOBEDrZkEnJN4fXdtrhZw
+ky2CMWEyAoKIqpS4JIqO2zmvyzbPWuDat+qlbKGq8trowukN/8vG3IjlATpDQns/
+8nrgogcx+3fZ6L75LgMCh4Imb+fZtkgehdFlOuQk/9KD7dqDzzMZ6IKeqktXNeY/
+zzrdot2GUtsOV6or8UDK0GfjUOXZWKDGyiYeD5GLVfUp0NuJEsjxq1DUZTdtO7Gv
+cMCHrnygdAXjTQ3Wi+IKWNEWqC0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAiiNz
+BkbVyBN9hjEvlKQoXMAIv8onlzrNO+CCtMMGW7O4TOc/FEN1lFVvjsWxXW6K4vQ7
+IeCzxG8tR43h5kpIhtExLLHCwxiX3+zhtmTSBBpgRGynVLSxo/fOXr5ngdqHIv2f
+qK9atn4eL/hH6DyruoKf8lR7LodX92rYC907HrDcZSFi9el7WPw/Ut8U6GCn+E8/
+2sT21wuYn11UN5gKRLDv/yACe/7hYmxrI2zvfXNuYi/Xg4y0EGS4+jZhQ6db++2C
+eulQ42LNkcQ1SVYeyKzouGB5ma6eGxHufLXSWAGJuLAYQW0VwKjBVD+lsXs1x+tw
+1n9SA1x7Enyeas7w7g==
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAme7BosWNjrDk1swdVsNPIhU6KhcXaO/56qBF+pJLT1UinQgg
-rMeeYVnIEdI8CH7lzkFhbw+m+dDU5ncUUhqHYHL+IXKxqj28scRJ7NvoSlGlC44D
-qMfcEvGokkqELRlxBpcndOnKGrTjCGzyBv+08avDbswp8528vOsJMKbTttXKzGv0
-PQdLBc5fAyWhrDHA46Mszednie8Z8w6Mg5My5yWQ5SueZtcQdk6T2NJvtHoNkFFD
-/SipENKDOKwoQYI9xXlJYrYiEKOkktVbYAIEIfBnnH65OCfXKflt0D6DGVjOtlql
-XxBt4+BXtiOUEt0f/EnmGF3KISPe4nuSwJ9j0wIDAQABAoIBADblWtD9uvoEQ9gG
-ewASLwpsn42bJpIZ4vq1pb8ypQDpz6pI175Ggkkdh6gzXY16E+J2lpTQ9C9rNkHq
-fai6JUVUPSUYjhu0YLLU2bhKxJCchUuVneB3RhjLbd6eDH048YH0LfIX3iegEsdS
-cw3j61e0dcHxtZRX0JNfDqv3EtHE5x76Qm7brfTwVt4O3dKKEodR8WKmIBPhJ/UI
-vZWym79doEaHXgFdvn5qxRhxDS4Fm2l22x4apSV/mVYFONoV7RrUkKYxB02DPImM
-mVtScNdYEI+LWnUJGFVvxpNYLR6IgoiPaGPFtFCH5X746tpW7Nj4eKHpQcIobEGt
-yucbz2ECgYEAzTnvHSRXNeQlX3BntDYxYEjgW6RJGPaaSgI1Ggk6rJeO9XKJdUYQ
-WfWgugL9GHmdda0V0CJQXyciarw4AXaGDb7IoxYi7lBhgAFYP2WNX5a6lYdQOyds
-HKPxIBYjqNqyy4bnq1sBzDKlIdblluBX7H+lh7NIQykuTGveKtpENw8CgYEAwAQf
-rZfaqPM8ppABqfkt1/rhvcpq+M+xN0WewLOQSGzXJdoJSnY263iPUYqVLjsjSr4v
-cP8aUsLy7GR1vbyVf6BTBtVA556rcnWccpkEern+Ip2SoJX5UJl7+FhIrQsxrUzI
-W6Pzurqa4EYLikigX8h31kkF47oz5EiAQ4ZrZv0CgYA5g/YGhcvHN7RdpgP6VoHK
-CUKPjGBMFbix6yJ0tId0HVmcYkgxzLwCajtsRjAmbtb5RtPpK+S4diBIJ43Ooyf4
-rDJQuoB5p59bn4Ta55wSYQzToUOUAH1lHXETXAEMbpZTQfClbnD3iG4NKMvZV/Bs
-QG3ktRMYd28ZTdXKzrb1cwKBgQCVIN7FgMHHI5pANmnEbA1px6SZNWNdOFkHd1+z
-hAIT7cwuzqcWmLdQrAKLLtlr3WwseYb4+HemPVhTtjYnlRZ617aEAQ32lanMLIHE
-EwmCk39HvR+K7s+CBKJen5paIu6DDLYzTiNWK+VrN5tw27UKjvRbjb0wP4Zbzt8n
-EnfJtQKBgCPfec6SZ1ptZ1Tfhim2j61AnqMvGSm7drOLI5cMsLE92fEhttb21A7u
-i1qy9Qkm4HN4DvqNPc8XVkdn3+qn/TAS30V8G/yrpUFJHSLAikKqyadpiTd60dqR
-qrt3S81/HL9Mq0NLuFS9stiBDM2hVWB9dXiX2husS09ZZfXmyvvX
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQ1csJhfawDCdZ
+6SZQCx6agIrnwgbxNM6AYFDyTjxNM08YVkOL1oZ30I7qcDwFBoE3lIiUrJkgzy7q
+04vKjtOYbOQTWcRAVzLecitlzDgRA62ZBJyTeH13ba4WcJMtgjFhMgKCiKqUuCSK
+jts5r8s2z1rg2rfqpWyhqvLa6MLpDf/LxtyI5QE6Q0J7P/J64KIHMft32ei++S4D
+AoeCJm/n2bZIHoXRZTrkJP/Sg+3ag88zGeiCnqpLVzXmP8863aLdhlLbDleqK/FA
+ytBn41Dl2VigxsomHg+Ri1X1KdDbiRLI8atQ1GU3bTuxr3DAh658oHQF400N1ovi
+CljRFqgtAgMBAAECggEAD8rbG9FBonaI00fKWes9WTm3R2do1vzDUPn3pRs9fCkR
+Jin/2adTa+QdqqTqJQck5msZGQUkX1LLnX5558t9PN2fMcdsC+GMOz4vAfe7la3N
+hvDOVmiaNFna/F9vAdYCnfMGNZDYNX7nZIMBGQ+uMmrj2HUxy1DPMjqXOu63LqB5
+Tgl61pQ5srqP7rVBEaek5GCKWd6lucMrGSTBqWfmBSH+6cME9KOFHBUWVVjicbmg
+0L1WuYz4fh4SDdld7375gEC+zGnfvN0XQvLcv5yff6pwZtneMaPcfw/kjFUiZGoa
+j2Q9nsk6ip/05/ycEkynhMYkrhkt7oOGK7LqC6oSEQKBgQD6nZkiAyY6OKvHUyAs
+/mBdQwnhgAfyrneTnFEeh9L33gMfALyhm8apckcb0js9RO7Srj+Xdrg0wVb1A6M1
+OmVboyk6bD7OkJsv7MOn8BPK//6+QVORagiKYRhClltSuZYJaa1cC24EPdJ64Zcy
+Tb02xeluG3LThUUfbZ2U7Yb6TwKBgQDVUmZL+ohsJfFt3hfuc/4slz8aDNf5WWV1
+Zn5v5CMmXvbSLXSNp3EFlbRxM8W0YBBpspxb2RZ+4k0bSOrrxzCHu5c0RDZscfSL
+mv6zzrnfwwq92DRbDwnW2+wskO2NIsAODA/GvyhTI6AmQ+3iWl9YcMrIiaVeEa/3
+wW/7ISCiwwKBgDtoBjegxXwBmP6LvtHLjq4syPfSMJAfOSsdX8E78w9caiL8OrqY
+QXRDKYX3xKEWaQI52csekjW3KtSzgwmICSS6vXgi1pSChLbMieiSKS7ylcElnRiY
+KOQcdfK6z3UBlwYuLbDm6LJKsUz9kqiS8uo76cR27zYinisAAd2enGNTAoGBAJsA
+mJw0mtQabecrLbByUAoOjCddlcD1GCfKJa0f0/qZnjbyGHKlbBZmxQpMWCfMdaCX
+y81hXFsuDGD7BtfzkGvP/vpXZkQ+OTcHlHMKjzzr9+4iH0jbEIcyndV0KWgYC/0o
+/n2ngKGIjWHAkiWbDRSyQGaeva4wo/AeekO7un8JAoGBAMadYGAhQQhcvG5AYQYl
+6kN/xE7qjL6fewxd7EteBvPqzeL6grwAKAjOOjFA8OvAzwOxx8r024ICo49SYTmy
+OUO6bGWRzLvzRSWZKnN7ey7ZM4Z2avrG8gys9FUQOajPmIlFItulVEyG9GbKvMum
+njdOAl9FqeGcVp2CuM+bI+w9
+-----END PRIVATE KEY-----
+# Certificate from ca.pem
-----BEGIN CERTIFICATE-----
-MIIDcDCCAlgCFDUYb355zUYCIVzHyv83FTWWlFDOMA0GCSqGSIb3DQEBCwUAMHQx
-FzAVBgNVBAMTDktlcm5lbCBUZXN0IENBMQ8wDQYDVQQLEwZLZXJuZWwxEDAOBgNV
-BAoTB01vbmdvREIxFjAUBgNVBAcTDU5ldyBZb3JrIENpdHkxETAPBgNVBAgTCE5l
-dyBZb3JrMQswCQYDVQQGEwJVUzAeFw0xOTAyMjcxNjQ2MTFaFw0yOTAyMjQxNjQ2
-MTFaMHUxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9yazEWMBQGA1UEBwwN
-TmV3IFlvcmsgQ2l0eTEQMA4GA1UECgwHTW9uZ29EQjEPMA0GA1UECwwGS2VybmVs
-MRgwFgYDVQQDDA9JbnRlcm1lZGlhdGUgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
-DwAwggEKAoIBAQCojypRgkrYr12fDrPBsVChLHKXaoKVp+vSITmzxvwhu6iORUeF
-nZCUxEDGreZrMF30KLtRNXOGrFlgUhxVdZrqt0YM4BFIJFeoYTuEOPrZVEtF6Qi8
-po+6zms8FBAdtk+zLJ4sRfq1Oqdbh/Fl6k53z/zV6ueRkSVZYArrzNwgUynRGvGN
-7PF+ivb4qG8qCo9iKcwp2Ie4k346XyTxMOkzcV+kGmAgmfO+yehmS5XFu62tH1ek
-V3BGgU2rbQlty40P0f1EVlF0mWyzzZVSIOUnYZruRsYHwXs1hy+l4otfEcBb76Sk
-vLHtPC/nXmf6Vamw86FiJkIRGhwmmeYjHeo9AgMBAAEwDQYJKoZIhvcNAQELBQAD
-ggEBAGO+3qQVjmwtjnoJY3DnWV15ySBj4b6Ir1LlKfngXfpfwlksOZaQsg0mLv3S
-sNfWK1BgQAZZ6iRxIc+T4stpIe3GppDB+a194s7ZuhXP1HpdEZEjr5CkD5cQ5YKv
-OgDry6iGeHnUkaATRHR1iXHCnbAWVkKRNObkcL5Haxa1jLlyiHdMJmqwlfVWVOlx
-NlpEz/Nw6eVXE6vOfYx5lRCVxzP4Ym1RH8+D/c+xoixEgXpif5PpEeEP4IYm1xkr
-nUCpkvESWaAVGnBpeHUs5WuovyvBrvxBSB6sjIvrr45jLMwX0agJ8rx8RzZ9IShA
-WyA3ZWFlGiMWYzxi/2B/z+GhIS8=
+MIIDdDCCAlwCBBmRIxIwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjczOVoXDTM5MDkyNzIzMjczOVowdDELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5l
+bCBUZXN0IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAupVkx8+n
+AqzsANKwNPeCYlf2q0WgF4kSUMNJdpmMelrr7hh7EOnAU0hTAQx9BKTEbExeCzH6
+OArFNGjewjWVXwaOpCjK8FMvK6/lGVEpmoHNF9XuiQVmaQ4bJD6rC73YjpgNIPeL
+5PyoFLEZv+X2cRBPpTcSRcf87tk8HL7v0eyk1JBhkeKK68SYdWwZlHaa1jqwmliW
+WvVMkHVH3lx0VOgQwWtOgs0K1zpcZ0sH5MGpYRQOiidIRZj3PkKeTPQe2D6VQQtv
+2yDs9dWfCxJJP9QiWclL2rF/xqlFSNEIfNZpZhk6I1DHQpA2uyJfzRH62pFasJuB
+CVh5Tr0EDoVreQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
+CwUAA4IBAQARdNCYYWxi2fyhJwzGHwIT261d/pTlOSYLlm84c72aEneFUnfp8/H5
+JjuFbnhiX+5+h3M7eDQhra9s+H3vKr7o38EIVf5OKXvpNLwv1UUmomBvKqccioYh
+bxrfwCzfBRuUmW05kcAVn8iKovqyxL7npEZbckwtT+BqZ4kOL4Uzre+S1HMx0zOu
+xulSYA/sBoJ2BB93ZIAqB+f/+InS9yggzyhhaQqS7QEl1L4nZE4Oy0jKcxdCzysm
+TqiyH+OI5SVRTfXh4XvHmdWBBaQyaTmQzXYUxUi7jg1jEAiebCGrEJv9plwq4KfC
+cze9NLBjaXR3GzonT8kICyVT/0UvhuJg
-----END CERTIFICATE-----
diff --git a/jstests/libs/server-intermediate-ca.pem.sh b/jstests/libs/server-intermediate-ca.pem.sh
deleted file mode 100755
index 3860ca899b9..00000000000
--- a/jstests/libs/server-intermediate-ca.pem.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-# Create an intermediate signing authority and use it to sign a server certificate.
-# Run this from the base directory of the server source.
-set -ev
-
-PREFIX="/C=US/ST=New York/L=New York City/O=MongoDB/OU=Kernel"
-OPENSSL="/opt/mongodbtoolchain/v3/bin/openssl"
-
-cd jstests/libs
-
-# Build intermediate CA.
-$OPENSSL req -new -subj "${PREFIX}/CN=Intermediate CA" \
- -keyout intermediate-ca.key -out intermediate-ca.csr \
- -nodes -batch -sha256 -newkey rsa:2048
-$OPENSSL rsa -in intermediate-ca.key -out intermediate-ca.rsa
-$OPENSSL x509 -in intermediate-ca.csr -out intermediate-ca.pem \
- -req -CA ca.pem -days 3650 -CAcreateserial
-
-# Build leaf cert signed by intermediate CA.
-$OPENSSL req -new -subj "${PREFIX}/CN=Server Via Intermediate" \
- -keyout server-intermediate-ca.key -out server-intermediate-ca.csr \
- -nodes -batch -sha256 -newkey rsa:2048
-$OPENSSL rsa -in server-intermediate-ca.key -out server-intermediate-ca.rsa
-$OPENSSL x509 -in server-intermediate-ca.csr -out server-intermediate-ca.pem \
- -req -CA intermediate-ca.pem -CAkey intermediate-ca.rsa \
- -days 3650 -CAcreateserial
-
-# Create final bundle and cleanup.
-cat server-intermediate-ca.rsa intermediate-ca.pem >> server-intermediate-ca.pem
-
-rm ca.srl intermediate-ca.srl
-rm server-intermediate-ca.key server-intermediate-ca.rsa server-intermediate-ca.csr
-rm intermediate-ca.pem intermediate-ca.rsa intermediate-ca.key intermediate-ca.csr
diff --git a/jstests/libs/server.pem b/jstests/libs/server.pem
index df2b49163d6..7552b7b7cd5 100644
--- a/jstests/libs/server.pem
+++ b/jstests/libs/server.pem
@@ -1,48 +1,58 @@
------BEGIN CERTIFICATE-----
-MIIDfjCCAmagAwIBAgIBBzANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
-ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
-FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
-BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjBsMQ8wDQYDVQQD
-EwZzZXJ2ZXIxDzANBgNVBAsTBktlcm5lbDEQMA4GA1UEChMHTW9uZ29EQjEWMBQG
-A1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlvcmsxCzAJBgNVBAYT
-AlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp76KJeDczBqjSPJj
-5f8DHdtrWpQDK9AWNDlslWpi6+pL8hMqwbX0D7hC2r3kAgccMyFoNIudPqIXfXVd
-1LOh6vyY+jveRvqjKW/UZVzZeiL4Gy4bhke6R8JRC3O5aMKIAbaiQUAI1Nd8LxIt
-LGvH+ia/DFza1whgB8ym/uzVQB6igOifJ1qHWJbTtIhDKaW8gvjOhv5R3jzjfLEb
-R9r5Q0ZyE0lrO27kTkqgBnHKPmu54GSzU/r0HM3B+Sc/6UN+xNhNbuR+LZ+EvJHm
-r4de8jhW8wivmjTIvte33jlLibQ5nYIHrlpDLEwlzvDGaIio+OfWcgs2WuPk98MU
-tht0IQIDAQABoyMwITAfBgNVHREEGDAWgglsb2NhbGhvc3SCCTEyNy4wLjAuMTAN
-BgkqhkiG9w0BAQUFAAOCAQEANoYxvVFsIol09BQA0fwryAye/Z4dYItvKhmwB9VS
-t99DsmJcyx0P5meB3Ed8SnwkD0NGCm5TkUY/YLacPP9uJ4SkbPkNZ1fRISyShCCn
-SGgQUJWHbCbcIEj+vssFb91c5RFJbvnenDkQokRvD2VJWspwioeLzuwtARUoMH3Y
-qg0k0Mn7Bx1bW1Y6xQJHeVlnZtzxfeueoFO55ZRkZ0ceAD/q7q1ohTXi0vMydYgu
-1CB6VkDuibGlv56NdjbttPJm2iQoPaez8tZGpBo76N/Z1ydan0ow2pVjDXVOR84Y
-2HSZgbHOGBiycNw2W3vfw7uK0OmiPRTFpJCmewDjYwZ/6w==
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml server.pem
+#
+# General purpose server certificate file.
+-----BEGIN CERTIFICATE-----
+MIIEZDCCA0wCBAyW2DwwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0
+IENBMB4XDTE5MDkyNTIzMjc0MVoXDTM5MDkyNzIzMjc0MVowbDELMAkGA1UEBhMC
+VVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAw
+DgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxDzANBgNVBAMMBnNlcnZl
+cjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAME6pVjavnJIORzETE+Y
+UKRONMo0dRF1Jmib/zXylTssSJDGwrxL10vfCAyXSxJqQRpJraAbdrV01e0jdal3
+Y6jkXLqxv8rWuMDaFJUbOFPjz8Ad4JsvxSgJVSBeKRw4YcGC5U9B6lkuF8oZPq65
+nhLeHZliDL2LZCep8+8YCY3zPhpQ82huf4DkOMsbPxe0/Mo5r3Z3+BIMsGrKeVlY
+TUBReMLUPAGcuAkyxN+WV6wRjlXxUOzk0txmWTzzt2dx2XLGR/Ob8fLRSm4U471P
+7lRg8gaKzVXUcFQOA6KiM+aeIcDYlL/Z+5yyO/aGY1Xxt43MkrsAq2Afx3gKQYe9
+yukCAwEAAaOCAQkwggEFMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMB0GA1UdJQQW
+MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUPyEOAwSRUZaUE3lS4Nsq
+2KO0mMEwgYsGA1UdIwSBgzCBgKF4pHYwdDELMAkGA1UEBhMCVVMxETAPBgNVBAgM
+CE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQKDAdNb25n
+b0RCMQ8wDQYDVQQLDAZLZXJuZWwxFzAVBgNVBAMMDktlcm5lbCBUZXN0IENBggQZ
+kSMSMB8GA1UdEQQYMBaCCWxvY2FsaG9zdIIJMTI3LjAuMC4xMA0GCSqGSIb3DQEB
+CwUAA4IBAQCTAoHLEMxJF7OFKTpuAub1y9ooiryn57agjiSsV8J5EiNahbwyr/cv
+HBD+TTvOfNV+RudScxKPl+opz3qAX8dDDbGAgUdvGeDI3UTiPOjD2okVrH8hKlA1
+/cTkBZNc6b3QZ4URoG3DkGDgM2P9/fNBp0G0QiYns2hMWy8mxxTuC3zGCB6q5A48
+lGxz0eNOHvKDwhAJBOeSVKc1wtmazviU6d5TH+WjWKO5ulbMiQq8R7U1gPcIFhk+
+937EfCiHE8VQOdWJ2XHeY7XitT57ukvi9PZYDYd2Jc0at2l69MYoFetV2jM+l60R
+KIsXzgkv8Hg+OYXl/du6oWJsGujJnryk
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAp76KJeDczBqjSPJj5f8DHdtrWpQDK9AWNDlslWpi6+pL8hMq
-wbX0D7hC2r3kAgccMyFoNIudPqIXfXVd1LOh6vyY+jveRvqjKW/UZVzZeiL4Gy4b
-hke6R8JRC3O5aMKIAbaiQUAI1Nd8LxItLGvH+ia/DFza1whgB8ym/uzVQB6igOif
-J1qHWJbTtIhDKaW8gvjOhv5R3jzjfLEbR9r5Q0ZyE0lrO27kTkqgBnHKPmu54GSz
-U/r0HM3B+Sc/6UN+xNhNbuR+LZ+EvJHmr4de8jhW8wivmjTIvte33jlLibQ5nYIH
-rlpDLEwlzvDGaIio+OfWcgs2WuPk98MUtht0IQIDAQABAoIBACgi1ilECXCouwMc
-RDzm7Jb7Rk+Q9MVJ79YlG08Q+oRaNjvAzE03PSN5wj1WjDTUALJXPvi7oy82V4qE
-R6Q6Kvbv46aUJpYzKFEk2dw7ACpSLa1LNfjGNtMusnecA/QF/8bxLReRu8s5mBQn
-NDnZvCqllLbfjNlAvsF+/UIn5sqFZpAZPMtPwkTAeh5ge8H9JvrG8y8aXsiFGAhV
-Z7tMZyn8wPCUrRi14NLvVB4hxM66G/tuTp8r9AmeTU+PV+qbCnKXd+v0IS52hvX9
-z75OPfAc66nm4bbPCapb6Yx7WaewPXXU0HDxeaT0BeQ/YfoNa5OT+ZOX1KndSfHa
-VhtmEsECgYEA3m86yYMsNOo+dkhqctNVRw2N+8gTO28GmWxNV9AC+fy1epW9+FNR
-yTQXpBkRrR7qrd5mF7WBc7vAIiSfVs021RMofzn5B1x7jzkH34VZtlviNdE3TZhx
-lPinqo0Yy3UEksgsCBJFIofuCmeTLk4ZtqoiZnXr35RYibaZoQdUT4kCgYEAwQ6Y
-xsKFYFks1+HYl29kR0qUkXFlVbKOhQIlj/dPm0JjZ0xYkUxmzoXD68HrOWgz7hc2
-hZaQTgWf+8cRaZNfh7oL+Iglczc2UXuwuUYguYssD/G6/ZPY15PhItgCghaU5Ewy
-hMwIJ81NENY2EQTgk/Z1KZitXdVJfHl/IPMQgdkCgYASdqkqkPjaa5dDuj8byO8L
-NtTSUYlHJbAmjBbfcyTMG230/vkF4+SmDuznci1FcYuJYyyWSzqzoKISM3gGfIJQ
-rYZvCSDiu4qGGPXOWANaX8YnMXalukGzW/CO96dXPB9lD7iX8uxKMX5Q3sgYz+LS
-hszUNHWf2XB//ehCtZkKAQKBgQCxL2luepeZHx82H9T+38BkYgHLHw0HQzLkxlyd
-LjlE4QCEjSB4cmukvkZbuYXfEVEgAvQKVW6p/SWhGkpT4Gt8EXftKV9dyF21GVXQ
-JZnhUOcm1xBsrWYGLXYi2agrpvgONBTlprERfq5tdnz2z8giZL+RZswu45Nnh8bz
-AcKzuQKBgQCGOQvKvNL5XKKmws/KRkfJbXgsyRT2ubO6pVL9jGQG5wntkeIRaEpT
-oxFtWMdPx3b3cxtgSP2ojllEiISk87SFIN1zEhHZy/JpTF0GlU1qg3VIaA78M1p2
-ZdpUsuqJzYmc3dDbQMepIaqdW4xMoTtZFyenUJyoezz6eWy/NlZ/XQ==
------END RSA PRIVATE KEY----- \ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDBOqVY2r5ySDkc
+xExPmFCkTjTKNHURdSZom/818pU7LEiQxsK8S9dL3wgMl0sSakEaSa2gG3a1dNXt
+I3Wpd2Oo5Fy6sb/K1rjA2hSVGzhT48/AHeCbL8UoCVUgXikcOGHBguVPQepZLhfK
+GT6uuZ4S3h2ZYgy9i2QnqfPvGAmN8z4aUPNobn+A5DjLGz8XtPzKOa92d/gSDLBq
+ynlZWE1AUXjC1DwBnLgJMsTfllesEY5V8VDs5NLcZlk887dncdlyxkfzm/Hy0Upu
+FOO9T+5UYPIGis1V1HBUDgOiojPmniHA2JS/2fucsjv2hmNV8beNzJK7AKtgH8d4
+CkGHvcrpAgMBAAECggEAKRC1ozSZ1N/Ug3CUZzYPrVuRjIepeZRUHVdJ3cU4QeMf
+aOVU7X+QueckZsigg8FhJJ0T8Trk95tk+4jVsLZWz8X4jxTHlewcR6ART78BMZLw
+y/uNiG2WkPOqy743LnAtFlsjMLzpeRp6o9DJqYh5N7lMwRQ9cOr21hcgaGfLYAc7
+Bbl/565RSeuw2fmSGkUMOAnPBoJvRfcsaZnEbciLY5ollLPmV00F1elEGGUyynlE
+3WiMuh2dtT2em7pdJJCcTxeKrF6Kdl0R1CYx8Ay/N7YMg3LgBY+SmR559qEy1IA5
+sMjjd79Jg+GNxj+/8V1zHePaNy1CeQLWoVb7OLZsAQKBgQDx0SpcWU/Z2P87CCqW
+Ym8jE3FFHHrz33UWmqvJ9dmVQSHZn3UaUw9WF9L8mS7t3fNroQ1xVOoB+GkKuWC5
+BnWqyOKNnIK8jNp62M26S6nyAhEwAgLK68YHrKZde9FZYE42SNlo/OQBULfJ47KF
+S0Pldz2dkQhzLPooeedonzu1mQKBgQDMj/EcQeHBAFJ8jfXgqRWAXbYzDtK1hdiy
+WtBZFVMGlomW7Mq11148GWLVVMpQX3eyPmv+t7KfI02q+oNkJsw7BUdjzsSuUtt1
+IULuznS9c+MpzUE37fXZkcUcbTDYXH8Bp0v+5u98E5rWgb4jbM3LHaKoyyMgHeAT
+qs6nzUZx0QKBgEy21aB8ePecfsQEgDY7PhS7m0iYk20ArA2ivfMROpi+E/YNP0I9
+rXTblASsuBWgPxQbAL++d4pueyx6yPOJ2BR5LF5Ok68rZDhqxUFftadf/oHjcW1c
+xPM0U4b+u9iF0+omzEohSFgeel/jC4R77ytB29s74plfYHEs0zv+oBupAoGAb4DK
+kXeL4dMWI1SSQOqJkNYD+aLL0ixqKRX9WYGZJw8pYn4iJKqHcET6LYSxXswbB6qk
+3UwubjYlINy6f/3x9v3yowHTDZ6WhyshO+CHm7kuituaAC2ShAzEH7GZHWaVyEXz
+07b3tW9OSDyictbc+ilmP5GyzM/cE3xYdvkau/ECgYEA8P4AV6KSjLswaMTYSc+X
+/8KdBhe6r6Eqs4FdACHeRixvgiafC7PFnnxtpSLAFDWoHI2EZEkTJ564TpAksXA3
+Z5zletQt0cPe3CQVvowrYgNUtjaUNG67BzOoUa4fln+jTg1LnAT3wIQZyef/1rKU
+yHx62fbnF1NBTj3vih8aIOk=
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/smoke.pem b/jstests/libs/smoke.pem
index 7dddf222386..0aa8331ec8d 100644
--- a/jstests/libs/smoke.pem
+++ b/jstests/libs/smoke.pem
@@ -1,48 +1,53 @@
------BEGIN CERTIFICATE-----
-MIIDYTCCAkmgAwIBAgIBCDANBgkqhkiG9w0BAQUFADBrMQ4wDAYDVQQDEwVzbW9r
-ZTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYwFAYDVQQHEw1O
-ZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UEBhMCVVMwHhcN
-MTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjBrMQ4wDAYDVQQDEwVzbW9rZTEP
-MA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYwFAYDVQQHEw1OZXcg
-WW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UEBhMCVVMwggEiMA0G
-CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDb4fOWDomCPyYesh42pQ/bEHdK7r73
-06x1hdku9i+nytCSxhhuITGC1FA4ZIbYdQC/jgfzC0D+SDFKCCyNZA/2Pxam9y3F
-QHrueNtD9bw/OB98D6hC2fCow5OxUqWDkee2hQRTwLKDzec+H72AkwURh8oTfJsl
-LL/1YITZs9kfs59r8HG2YAT7QBbg3xBmK0wZvL4V/FY/OeeR92pIgjUU/6xm/1LU
-bhNHl5JTrXQxPpmvDb1ysiI0mMLeUz7UI+Pe/9mn91dHwgkprWyFi6VnV3/aW7DC
-nW/DklOPD8vMWu2A6iYU0fZbcj4vGM607vst5QLDMoD5Y2ilrKLiTRa5AgMBAAGj
-EDAOMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAJc64d76+eyNGX6C
-5r4IdFF3zJjkLs/NcSMReUTEv4zAdJCn7c1FNRkQBS3Ky2CeSGmiyYOhWZ7usv7x
-EvprmHouWsrQXV+o5EIW366e5wzg0c5KWO3oBIRjx4hDkRSQSjJjy5NFrc8fAW9x
-eeaHFWdqk3CHvqBhd32QYEs4+7v8hBYM3PBkj8qghXta4ZZS89cTMSjhu5s4Opje
-qUzGzoHat2VBdYzIpVOorYMFXObwCeQkCAXO5epuGZ0QhML66hc7FuOsW75kI9aW
-QXVoM/z2Gb1wbBYnwHOXtClK783S3RdV0uJun/pVj+VeHb6fyIQRmC5d0eJ0C8mY
-X+acnvA=
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml smoke.pem
+#
+# A self-signed certificate used for smoke testing.
+-----BEGIN CERTIFICATE-----
+MIIDXzCCAkcCBHAZhAkwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxDjAMBgNVBAMMBXNtb2tlMB4XDTE5
+MDkyNTIzMjc0MVoXDTM5MDkyNzIzMjc0MVowazELMAkGA1UEBhMCVVMxETAPBgNV
+BAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQKDAdN
+b25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxDjAMBgNVBAMMBXNtb2tlMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuKv2n//A5zwn5L8vkcxym/MppjKQT2PE
+NGNtbRa/am8iYFePG9Me8ijVH6DPsPipB6YZcRHUelBbcZ1s54LQD/gd8RwpiWJU
+PvWUDK+jcuw/NvyrfPn4pJzf9X+T/m9QSCpjc9QDdrxECjvxkkBttKTQjUZtFj/j
+Kd8eD4Oy9ho7cyCnhYHUG1W19nm8oBIcw2AXpRWhtjsOANOEWnjxAGmRZaDXzi0a
+kaKBgKUaoc95kgHQsegvUcivRpDH+QixbpjTxTNm3mw6XzzWej4SeXcYzW4eZD65
+uK6NWr35ZVaiXFYQjjXHztWYJPoQkngIgyd7Q2eEupMXD9FK+dcFPQIDAQABoxAw
+DjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAliTjzgHdThB2zNaA/
+UcrpZ5TEJhw9qWkE8VYZWJ82PeZYVnbami/6dzqUmitgeZOueVszirVgk7DpbwPy
+6yA3PfUBIHhjf/3SlQXiyQ9mTmmf6b9G8nJvusulXk4mTwJ/oO5VMyPESkmcJD7m
+JapWBMpRiM3+VKJ/IfOAslHoZJBg++CitHGqjvNLdEqPTGY2DErUA9QFupD3tUW1
+F6EUaZJsWeBsu0BE7AVtuEKBfjKLeXMCkvmNSlnkccOnLc54j7i91+Ps+TrxoUNV
+akOiwHby4GVVdhfeLl2lYfYRjh6tChgHWM5T5Sft08OynxUSromFPWeE5rQ+glDD
+L3wZ
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEA2+Hzlg6Jgj8mHrIeNqUP2xB3Su6+99OsdYXZLvYvp8rQksYY
-biExgtRQOGSG2HUAv44H8wtA/kgxSggsjWQP9j8WpvctxUB67njbQ/W8PzgffA+o
-QtnwqMOTsVKlg5HntoUEU8Cyg83nPh+9gJMFEYfKE3ybJSy/9WCE2bPZH7Ofa/Bx
-tmAE+0AW4N8QZitMGby+FfxWPznnkfdqSII1FP+sZv9S1G4TR5eSU610MT6Zrw29
-crIiNJjC3lM+1CPj3v/Zp/dXR8IJKa1shYulZ1d/2luwwp1vw5JTjw/LzFrtgOom
-FNH2W3I+LxjOtO77LeUCwzKA+WNopayi4k0WuQIDAQABAoIBAQDRFgAaDcLGfqQS
-Bk/iqHz2U6cMMxCW+sqAioGmPWW9iYdiOkra1meNP7T0mur7A+9tN3LpsybfZeiw
-vCsZXDAteXph1KPKcPE0uOnPqumRuB2ATCc1Qqas5CUaNju7a8/J6Jzfw1o9KVud
-4HLDw4nLTLNkalXhOLdkbp6FoZZypAgc8OnSdw7z9Kri6VndkddX3fWv4t203XwT
-AvBxvy4Qfblz6VKYRnjj2CPvo/kD+ncFEg+S6u8/LkghTX7CYeMHdTC0P9jOcEK2
-PMm3kS3sX7VkypsAirYK5QtBWxur+mINxfOBDtRlA2RaJQnikRiGb14bMkLx8Liy
-JNjEHSLdAoGBAP9+KpjniozZIbrcS79wdRrW+ARyDp1Plzyd4nQxfWmQ//nsnK5T
-EYCFXWTR/ldkAoHpD+bGGU02p1+1u4vmWqw/x+Qy56Gh/eylhe0RvYEjkVLyreuc
-bXu0BFlKVgRlBq1ZyXnr2lz3bAIZxvZs13lZn6qVPMt7w2/JTCal9jw7AoGBANxR
-sGik9mq/678nzLiNlf/LcwIz7siuyISoWDOaVEVva0uorqctVqL95w0f+3FXqBO/
-5BiJRFo5D8SfzRjkNkJ7V+rm+7/CjtsjEw2Ue+ZJYPlm+Wr545GYmhU9QH9NLZIN
-JBwTVWjLgdsyQyi0Gc+xMraBwEwoyS8cO17uHO2bAoGBANRmO91/6BPt0ve4epR9
-Vi1o9yki9PlcmHtBOmikWAFyFQvd4+eckVlKBflyBkL6locPjTOqDpC9VengeDj2
-2PyHzZLtqtkZhbK9bJhIfkWknwTZUTMliXMkldTxUo82uZVVpoRgSdmtq7IXYeut
-UnjExFMY3EDB9BizvUYIBKvPAoGAViQ6bS/SiPpxGlRdXus88r6BQSM9AYoVLIkF
-s2dr+5oMwZA6eXLopOHRLPiMP0yekto8PLuu1ffpil9QuaLA9E11moqlc9yGLngQ
-QwcDSo72M41nh8Qcjhi0ZgmE5kEuyCQLMk783fRz2VhVmdyRGvuVcHZa0WxA/QJ0
-1DEVbnECgYEA3i2PGHUvU2TIFNvubw3qdH5y7FXafF+O0ulQ8e6r/CbVAG14Z6xP
-RHLc7/JIYK9CG1PWCbkjiHZ4MsKFuRWFrUMrwSj8M3euCaEIxa/Co60qQ/CnZiZ6
-geleTtUcTZ2T0pqGLnrHwlzhLpCkPJPyjcfQjjEZRwd0bVFX6b3C/rw=
------END RSA PRIVATE KEY----- \ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4q/af/8DnPCfk
+vy+RzHKb8ymmMpBPY8Q0Y21tFr9qbyJgV48b0x7yKNUfoM+w+KkHphlxEdR6UFtx
+nWzngtAP+B3xHCmJYlQ+9ZQMr6Ny7D82/Kt8+fiknN/1f5P+b1BIKmNz1AN2vEQK
+O/GSQG20pNCNRm0WP+Mp3x4Pg7L2GjtzIKeFgdQbVbX2ebygEhzDYBelFaG2Ow4A
+04RaePEAaZFloNfOLRqRooGApRqhz3mSAdCx6C9RyK9GkMf5CLFumNPFM2bebDpf
+PNZ6PhJ5dxjNbh5kPrm4ro1avfllVqJcVhCONcfO1Zgk+hCSeAiDJ3tDZ4S6kxcP
+0Ur51wU9AgMBAAECggEBAJabaB9ErUXoQYDEiz8UxcN5pFXultKoQrOXAv8cti9P
+Q3He9s9ydqJ3uph4xelGYlPimo0kRW0ba/hUsyR8AsODTqf8l8N7dcmC7qMJ+vsW
+wNdPaWwbUTSu29eTnFa84XR5XXJxTgHfuH3ANVtZQB866vrMnNqwb8sOM63jcmhR
+yWh502iH7XadRbMFlJv0Y8QjdgFzp3PMJCKWIP42Sfctgj7BarDI3X6JsC2BMxCu
+DVFnhEGELuh2hI++f1Y4Eqjj7L/Vtr5Aw2w5G4cuX8zxLBNfxSCZX31oSwljZ044
+AiAettXttf0liXGrMQAig8Xxg3RqBOuR/D7rvn0h8QECgYEA5D5g6YSHPyRYyHJO
+VKqraxoFvJBkVOTbhjq+rHoFRUQKR3sttOPbvTeMYilevrKloma+t4oHsYVooDU9
+yVljtq98Np+c65X2+sbcBjry6j7VYxIWwl2Vs+ufaGlYwGTJ+ibdIW+gKuChNSUu
+gs3067Y8a2677HZNRWLlDjlTNekCgYEAzyEdaQEKHDHUrHOZwzlLkQMsU3hs5hdJ
+HWj/QNijc7pEa9hFCIrQNEc88b8vhOMC611vXccVosp4v+lrwJCWpPyx6RzW8Ek6
+CigV+vhR+4jo7/26LZ8iGxyH61fw2UbnZDuZZOK15WAbJGRbTwaX3KeST8Ej8axZ
+Pzig/nGAfDUCgYB6BM8SiAM1wlykbFdr9AHINBU1BYxdxiuFywn8cw82RHWqWTPK
+LLZgpb2rDKrWD/N0qrDythv+z29rlor9hYhFNfOV0Ca322g6EO23dvQ+PnEdkaIR
+Lq7FjQWfcBI+aKOB1B0Lrv1Vbtk/7Cy9SRXSnY4XcQ+ODoCow4Ho5MSTYQKBgQCL
+0s34wXPivpzT4aHOERJ7DQpSOrxAwz1fNi8BxnzotbhUmQVZE+QjNmfkxew9J8Yj
+vspcIvXvFAFZhChyMOkQ7Wjodch/It+kVZUo+5LUW4Lr53tUKtWqOaNjctUqx9uS
+ZU1StlyWQD9yXLDq8wd3NEPnxPkPvwnsTL0ZpuNWdQKBgG6ZI3ab9UQ+t6+G7HHX
+LBddm61fw9zUEI7CnJCcfe+syujuy7xAvIVkKjuXKB2lVpsyvnWLNsx7NV1xFbxI
+R9Na4QEjeWwnLgwOa3sRAuc3Fr0HdbjXIwcDgMa7dx8ljoLDiDZRlaus+xZ2cLdb
+tgFRsexsWhMahpmu756HzhLp
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/splithorizon-ca.pem b/jstests/libs/splithorizon-ca.pem
index 69c2151d309..1e4c6b7d251 100644
--- a/jstests/libs/splithorizon-ca.pem
+++ b/jstests/libs/splithorizon-ca.pem
@@ -1,85 +1,55 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml splithorizon-ca.pem
+#
+# CA for split horizon testing.
-----BEGIN CERTIFICATE-----
-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
-4K4tMBC3UPrkhyN1lgVewRMf
+MIIDxTCCAq0CBAbRjKEwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMREw
+DwYDVQQIDAhOZXcgWW9yazEWMBQGA1UEBwwNTmV3IFlvcmsgQ2l0eTEPMA0GA1UE
+CwwGS2VybmVsMRYwFAYDVQQKDA1Nb25nb0RCLCBJbmMuMSUwIwYDVQQDDBxLZXJu
+ZWwgU3BsaXQgSG9yaXpvbiBUZXN0IENBMB4XDTE5MDkyNTIzMjc0MVoXDTM5MDky
+NzIzMjc0MVowgYgxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9yazEWMBQG
+A1UEBwwNTmV3IFlvcmsgQ2l0eTEPMA0GA1UECwwGS2VybmVsMRYwFAYDVQQKDA1N
+b25nb0RCLCBJbmMuMSUwIwYDVQQDDBxLZXJuZWwgU3BsaXQgSG9yaXpvbiBUZXN0
+IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo0TJf1iHbrrfaIQR
+fD6B+rV/xWY/viCaCwsbCZHUV3U2Dwpn2viUfREN2GeEPjgGmnJDZZx2qmDS+buc
+8oBtWxXRKpjLYfE1Q74yW1VBrgOx+jB3QtzLkUkO4PE7XU7XhIhoTfnCMfoozbHB
+BJPaAq43F3uj7+0/mNtIx6dop4eYeediVu9hV4pcszw0A8hexq++wC6DkA5a0HSQ
+kzB4aEwDPzT1FyV2XCVfeR815ILq1pkV3VqDStRyA7VnHqAB3C+yQLfnJWKpK5+Q
+dB2Qteahu2RuHkkmYYxhW048GLrkJIo+gBwLMQa6zaxMclwezA9ha3IYPZUZm0P1
+X3DFFwIDAQABozowODAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBTwa66R4xToFuU8
+kq7yJ/XcdcUxazAJBgNVHSMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAlykRMELMG
+k+MuyXNsX579gcAS+OEf9DibIrauqzeobYByYPdfaRYKZSZzRkv1dLtsb4Lb1Oz5
+or5OwEh5sdmVVAJWAEhKzsiikionzv40kRo0jR5P1poa0GfD4QSSHNlZLH9W6o0N
+El94wLUlfJMK0PVtRxhABRDWPiSRQEHt/rxNRs+1KCFqkb5+1v0qpeIZO3aFWy1l
+slw2MFI97mEENdAhFFYj/vnvP48AJjuOH3klyOAqt3oxzv+kmPhf+4CLgUKlNfOD
+0hRDaElv7c43fQrALVrvpXo5ji2u9OEkNJaZX8bPLLSEF6faxXjroqTXx1kyjT8/
+Z+hfghV4o8o2
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIJKAIBAAKCAgEAw3SZ964JlbGux1MQ5xN7U5NUM6hw5rrArA/W2CT0w9C2dTta
-vzb2RUvWhiR/JnAuyfpoNuvyH9XEvVXzffNjYkEBxPeAiSQro0MGWJzBlrVDORQ/
-r6k6d5aqeIPoPku3q32b2REI98iN3qSG08WIaVhMSI02rHUnsxHBQfw6xieiLAxq
-oCHH7jTa8iktcxPxZ2tBVcozEbnpprLhOnGrb1UwB/HvQmSpuSppyUVvU4fWjwuQ
-MWBMwGm/oIR+sXhK0vN1qMTTYJhb9OrXgH88lOqgAJYmKPSayeNeU+gHUbmleIEP
-sZX/DyXsklCYSAMyVqqEAmokHLjO66rlyjq7qhGBW0HV5QyTW91Gge1WWhPD/wAn
-UQJeY0+bf6cAn2MQQmk1MtpOXuxqG3SC04moMs+fwNphHkmtguwojOKKOt2QgDPg
-XhKSC+5adajiqT9Qyvv/fvn5PPszogahLPPQEwjD3NlYOdu7DJqq9xM06Q3OJLBZ
-1XVFPZFJJ85k+VrwmhzSgple0HvT58w8th7F2Ajsq5n8Oy0Eqey1/WO9UmpvuzPs
-/0nGYvojPj9gJ3yHGaav59fpI0uuhWsZPa9MIZie4ck0VjlhIyJCVugtooaXmNCI
-cZsGQDHH7NguMYld66U6yx2YrmtrjKv6XguP7FPNsoeGkXYf8ppmLmNHM3MCAwEA
-AQKCAgA6SAyZNEYbYu4w9W322XJOy4GyHan8wvcs11RDA1IRCa0+a8J1fhgVNbX0
-LfHULmNlSsvEhLqgD4goxPZkOi0KYUP7zamAO07f0d6UkbmQDODMpmMPKDEM89pF
-MWARI1bTRhMwuMmpyR20o+6oOyCf+PpWL/V7mzuJQ+QSnvmPmMXcyJ8KvMf3Gb+n
-seuhgvLa2bqTsEVmJb+sO265lKd//TDjTZsAey+4zRLaN2Ao0jqCUPpgHs0EGwRP
-AvMcTDhTitEsz/QPu56/+z7jTA1ugj/PrPYYBEgbpza7Yla8YdUbh7B8TbPOeop+
-XpXp8zoRaasPZUL7ZYgd8cmvca//UmOwoL0vGQksENcakkAy9GXl4QEXyVEVC+y4
-FVrSDvTijlZJGc9v012KdWfPdYHsYDIWWAxs5mvOTDo+wqLFsxAvRM+JPtcIppsj
-dLnFLib3StaRU9IQ1HIJQH16wlxSFvYdvKKS92tZVtB74Lv8HcfQ5sp32pqQ5VkT
-1iQjZ9N89+IahL0qscK64mq5NJIzS9ISdHp6FJoDTPIEOA9qNl6I4AKmXCvRjRAg
-1fqzRno/tl4/I62YX8Oex58UyOTyEar7T4XL9f/CIdgsExMpsO3OABvDaY/fozbc
-ykIJAaBJD6EB8YUA1FEzEoMD044CkRzhQhmW2BwKLEmoNPueMQKCAQEA9L8sqoB8
-0DXwvXf7QLlWq/LdADhNTnmP2Akuk++eYN/YF4OubjAAtetmzNJbl/MLFLC+WAqB
-y7I34Ve46hdu80hKsXIV60pr19fLeOvR4UP78myTcO08tTxM/9IB7LJN/OQGoPrt
-XrNzQZ7zS9+VhdeXiorF+2k5KGRAp7tga+1rWR8teGVHWDn+8N0ev7L9s9ndRaCW
-X4kYY47dpYPw24p6zcQPz4Y5UsfN+JBTeoqClRk4p3bVzaTlMJAx/D9WqhLQsoqW
-dB5t9u6h9PPN68Hek/tBwarwA/mneo/hrRi8PiLgDu2pdMxGta7Fi6xH1ElAFzJL
-aISlh4egB8Y4/QKCAQEAzHE8p6ie1Wvx7EhCRkrVmaNbmgd5kjB164JwfL7LzJ++
-0wFoi1eKiGDQVgU9hvNoapkyov/nNA/t5qBfDf2toVEPbYnyw0VTkACiLASmX9sd
-WgkvQdfhe0xGxFSP36Uc54GPZEw4u9Ov2fq2tWNbvBoYhgyzV8SMcPAZ27Rl0WUO
-Lg7y13Yz30d529miwFyo8fDmS5hQypl2xeSxGXvErO/mDeyyZQa8ahsXvtcK/HBC
-slorOI8R0TJH+IoWoAhGEE4d/55pSX7ccr5/v3BDljQ+rbZadYSWsez6LutSxeed
-tKuxEeDUXw4OB2cZ64VY5X60UaNOflVlVKIvUlzBLwKCAQAk97dcbZnsrSkWxUer
-KBOCV2WwQdDTeKMUg5aIe9oVUdpG+vne5NtGny7g4yk4k1pqHqQxkiy2ws2T+PcS
-TMXSc2ns0YmkB5KwgITYV+5UszscC/BdT0grK9eJkIP/55LGDv89U4mFE1/mWobv
-P+9KzxyxrXJoHiWnBzWI4FGZG7xqMr5ggBO9rMzoPs4FMJkHkHHOsYnlFkUbzJmI
-BZzc3FbeO64Tr3d7HHjtAYfKa597u9qF2PpEXJLNugoCyuJhQARL44kEMxBzCupl
-oGnLIXZoLbxp71LfltcIOTFiPuk4DXaAar98x9oqWSK3jScwVnwaxNsFB3wlM4Ql
-iHhVAoIBAQCQkEn5rCyUcb4h/H6Qwf4EpBTz9/EpRIc9v4DXVPs7eIIxJr/MOFzH
-Tt5C1XXKZXgiWK4LwLS2hcUN3b0ZYZZTicRFCtTU68LJAwmp4qfbBE/fCLuX7ZWN
-4EPyNHGADXtA4MaKf7NmbavdkYF9BgMqIbHRqE1w9JTyj3VZfFi7FqBORVfGr9jC
-PAKZSW3iZCM64cOXFN+cQ6RPDwWEJZbPStv8YLFM6tR0my/RTLKCCse+4i/J0LEi
-olFuGAcjpnYUtYhU5qlAxSoRIU+oCTRhlBP2NgoFK3p72jyWzOQ8+Sj1RqrxH3BM
-vt2AspELj8FqlovfZoDsqGn8zKp1rQ0VAoIBADWTFYIXGEEWyT18/btubDR+UVmA
-3U1zoSkgI9x/lc7qOFELRUZowO2v5G31hVn4codfGQya8ci7KYW5MlzNvSmUOMsJ
-r3iRzT9lNu3I4is/P6W+QEOPuyQ/p4FIR+DA87t8yRkxWGz1n6Mw2HLPN/2sUkHy
-s+xZtz/5WmCVLbRrFF8mumHBeZPNV65MQeqYUuJSIuZd4QA2rC3s9m4EGeGkVpyn
-MH3Hd+XLhZJhEZKUGd+Tdhd6fOnTuKA7Kru2mS9EXzLFvYXrSXVzFBm4fEltFMEJ
-HZQcxeHWr9dWSjTvQ0+7WTXWkPzbMxwReHohaG4TGL41dMswUFcacxIykGA=
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjRMl/WIduut9o
+hBF8PoH6tX/FZj++IJoLCxsJkdRXdTYPCmfa+JR9EQ3YZ4Q+OAaackNlnHaqYNL5
+u5zygG1bFdEqmMth8TVDvjJbVUGuA7H6MHdC3MuRSQ7g8TtdTteEiGhN+cIx+ijN
+scEEk9oCrjcXe6Pv7T+Y20jHp2inh5h552JW72FXilyzPDQDyF7Gr77ALoOQDlrQ
+dJCTMHhoTAM/NPUXJXZcJV95HzXkgurWmRXdWoNK1HIDtWceoAHcL7JAt+clYqkr
+n5B0HZC15qG7ZG4eSSZhjGFbTjwYuuQkij6AHAsxBrrNrExyXB7MD2Frchg9lRmb
+Q/VfcMUXAgMBAAECggEANRkv9wyRrz9zXQhmr2Oc3i6dCVQBsxHjR2grOOeGiZMD
+K80UjbB+ilY7jH/OEHYkH6K9rJRAO5UVyEZt+qgt6Iul5RagPpA15Hw84FtP6wok
+nduZTdOFGRELl7ict/HmQaIjWgi6UYqsLol63sQ/CNQj8q0xWdxs7IeUmeomLSV1
+RHt2J5oZDD7au0P7IuKvHdBIHCkGlmuZu3yBL8nthXTJC0nvBcncm0H82u56KBAM
+YVgYrJgk7LJrHCnN47+r/jK/XoIE/Y8l363OlyIisoMo97tJvxREvBfeNZkJwn6f
+Y3+wFrHGcVqLofVvLGFdMXP6398iGDUojZHGvTy7gQKBgQDMgrNddAM5c/AxZ0Yy
+Yt6wU/EEeH/YpWYSYybyFbRWJGxVBhU/WMBysaVUsMg09ymolT++b/Qf3uubi7ra
+fgE7nUoAPDn+6b3OhOZ0vZv38YgCtym1LHZ9mn1RmdHn70GFtY7izy7HaSVrV+EG
+vz6Kpa2ubgwAnH8ts7NA7xSAtwKBgQDMX+3qeUWOmh7s+5l+YyGIMxg1rK4hU5sw
+cK/67CPKQbts+qfQRGCdFGGIejqlFd71aruXH/Gl+co8gZORPrZ2hN0f8zo+bZuK
+XE62bQPSH47WzvIu1sxYAxT9xRkUGf/eQHyfz/DIRXQ9XZ2FboC+5hv76/V6iOeZ
+MFjmCBy+oQKBgDpzZKZiIQXLsCu+k56VCYamBy267vdRlpHMyvXH5En2kQvf+DSp
+vh9JzLIe8KnKtppbReO9Ba4SPY6wahBGkT2jn+HfVMgZsEkVTPSyuKAt5Sy5gu8o
+LRmLDSREbWz3wedgU91ZT8por+w1KriN8mcYIULIax/FmsfKI4J8koSTAoGBAI1F
+ynoINlKqqrH6AVJiR+2UFCoWIZAb8Ox9GMiErwDCi0J7ycCnY3lxezIR+7Pd+G8A
+xodip3Gpx2gn0c/W393xXcEWKq64qYns4OQtWzTGZ8CI8NP72ukDyGDa+8jvZ/VD
+8mGuJazqhb1dluODTS+odLOhmeCH/j/gMbNg7C3BAoGAOt7cat5LBCnXQ3SkzBIK
++yk782+3LMsATXhYQoeXlYdtsF2bMo81DHTsyl2MnZByzebWf9ZaCJVqawCySlmt
+ORTr33UBgJSCmgseM6ajAMFI27PhLcvBuMQZdV+o/gw0GvjdRIYT0FQFsvmKri0s
+m5I7XxnSMtW0JmDpJDw710A=
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/splithorizon-server.pem b/jstests/libs/splithorizon-server.pem
index b526281f1c2..e486ca09ed9 100644
--- a/jstests/libs/splithorizon-server.pem
+++ b/jstests/libs/splithorizon-server.pem
@@ -1,55 +1,55 @@
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml splithorizon-server.pem
+#
+# Server certificate for split horizon testing.
-----BEGIN CERTIFICATE-----
-MIIE1DCCArygAwIBAgIJAJLp0kxpAFIvMA0GCSqGSIb3DQEBCwUAMIGDMSUwIwYD
-VQQDDBxLZXJuZWwgU3BsaXQgSG9yaXpvbiBUZXN0IENBMQ8wDQYDVQQLDAZLZXJu
-ZWwxFjAUBgNVBAoMDU1vbmdvREIsIEluYy4xETAPBgNVBAcMCE5ldyBZb3JrMREw
-DwYDVQQIDAhOZXcgWW9yazELMAkGA1UEBhMCVVMwHhcNMTkwNTEwMTk1NDU3WhcN
-MjkwNTA3MTk1NDU3WjCBizEPMA0GA1UEAwwGc2VydmVyMR4wHAYDVQQLDBVLZXJu
-ZWwgKFNwbGl0aG9yaXpvbikxJTAjBgNVBAoMHE1vbmdvREIsIEluYy4gKFNwbGl0
-aG9yaXpvbikxETAPBgNVBAcMCE5ldyBZb3JrMREwDwYDVQQIDAhOZXcgWW9yazEL
-MAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHKajR
-+sZWfxokYFEynJ18jTKdazIqq/AJgUgwuBqptjUnYiy6dQJE7IoHV3Gn8QfRhjEV
-HAf8KzawjxchvCZfMZhu4LdXsSjyK3a1r+2eTp4b8ECyNBOR0bh7h0+dwMBAfS4Q
-7/F6nhtfzUXMR2oYRiOWT1la58VwHbm34ulB/0Uf3VeGP4lEaGURAOOq1NAew94z
-qj0uWnoO0cd6MGgoG2z1mb+iTHfWfiQNqFHVOgzVkADRrH2yXmFQR+UWDd0/NnNs
-8oMKKasoKJGH7me9BDyRuaFt5Rpri73kSELRyzZ+gbmtlh77VGwNFQd24vxMlpkn
-ocoG8/kSS6qkgxzhAgMBAAGjQTA/MD0GA1UdEQQ2MDSCCWxvY2FsaG9zdIIJMTI3
-LjAuMC4xgg1zcGxpdGhvcml6b24xgg1zcGxpdGhvcml6b24yMA0GCSqGSIb3DQEB
-CwUAA4ICAQB7oBJYud8UBoFKwyD57ZIbcPuu9y0bI+UDvEvGe0FYO1is8zguv/ri
-VYHw1cdiq00x2+xJc/2te3qtWaR3cDX9nYqwfmc+HBxocsetsWwdOGkljJMiSA3y
-OFG1KTL+RDhfa8pt72FhtlgojNlJ9vimFRRDGmqzWtp7heZQtjDVbqIJhk0aZU/2
-23n3/325AOsoSHOb+U7e8gOSOBV1WtTtJLzqmbHnK0/m5+DzevsAD4zpso6z8BM5
-wACbo19qpqj4miQRyrCySpYBQZCTwPx4Wb04BPLjbFEtI3sfiQ77DtQhak7/Vqy0
-YBkfAlihBCg8VaIxXzzGp+VSo+g8b14Hw0oQUjzsLX+rVULBZCWakHICJ2EQppE6
-QCCMvlc1QJE6eZ9K5XCn75YXiLwwY8TFUk7mTXD6TLUY7R9/whC5gyhE0WDwrhdP
-8S4KU56pwZhFA5Cs1jrWBEbQml9Q4U7zPfBBxELYw7/CoY9nmSCx73mgIj3wOkTe
-v15BMwFWtMcgyk7p3ajE+AQY2Ao+dKXfPhYP5YbsnDzRJPFMS0XrnJxjN2LlwU4a
-WcR+v3nWAWi9j9jhz0v1kYp+cJ9uNkGsVHfTBw1MNxmLFP86IGnvI05X+JTOxc8f
-C7QebLWNS/hCDCE+byJ4oA4OdmM84GPMmj4LZEZSj2ACDHNhbnkyIw==
+MIIDxTCCAq0CBG18bjcwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMREw
+DwYDVQQIDAhOZXcgWW9yazEWMBQGA1UEBwwNTmV3IFlvcmsgQ2l0eTEPMA0GA1UE
+CwwGS2VybmVsMRYwFAYDVQQKDA1Nb25nb0RCLCBJbmMuMSUwIwYDVQQDDBxLZXJu
+ZWwgU3BsaXQgSG9yaXpvbiBUZXN0IENBMB4XDTE5MDkyNTIzMjc0MVoXDTM5MDky
+NzIzMjc0MVowgYExCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9yazEWMBQG
+A1UEBwwNTmV3IFlvcmsgQ2l0eTEPMA0GA1UECwwGS2VybmVsMSUwIwYDVQQKDBxN
+b25nb0RCLCBJbmMuIChTcGxpdGhvcml6b24pMQ8wDQYDVQQDDAZzZXJ2ZXIwggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDOUX6ohGPZ2CwRPG0saESuTrDg
+2sgw1CemD5cLZKMf2aykyuZpjc2SBlHsMAg76vsHoTi1FYPN8XhYZvCAk18gmVTr
+kMGSDA2NNPwnXi9jCmytyo3xr7kK7zxrl/UmMUbzcoZRchxH8iYI8Vv104qYvPuI
+OXeF2b3PHObbW9og95qUsUhPHujR5VY3adSoM9S6uNVPhR6XMpuPsQLIej8w+Os7
+kw3vka28VvCzSKBDxfC4ECjhaC28ZCqASwdzLM3lw/JpEw4S3xiVY4ubr87p8NBL
+6TLG3jitw+pbDNsfZJ86uA04V0HvBlAA3DZeG4c9wGmKyV7fcCZd/q40WaOhAgMB
+AAGjQTA/MD0GA1UdEQQ2MDSCCWxvY2FsaG9zdIIJMTI3LjAuMC4xgg1zcGxpdGhv
+cml6b24xgg1zcGxpdGhvcml6b24yMA0GCSqGSIb3DQEBCwUAA4IBAQAocddH/Lua
+ngW8o51IuHc6xa25+9PcAlI7XNfiNYeGBznCadGNtYO7jTu8MUyQuY7FO25PnJOM
+xvEj2tQ78a0ndofrPZuNnoLPsvbaaaeDzfJCyo1gHEpM3fbKNgZaN2Lcp9Xqfiz/
+KQH5TRt3FzVCnaad7eLINW6gC4Sy/Gcrr7D3HMf+pwqm+NXMAgjh34VXzD7YgUqr
+78rCjkLThTwUuXyRJpBnLQUKOFbAXtZGmy0W0YuUk71YfpSxwWIN5JHYrs7mImYc
+Jh825CzGLf1gBVKgiuUpAl8pWjXhbC0ISoVuUvyrppqslUSn8nHQEdbXoNjAq6Fb
+70/3O2SxopTr
-----END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAxymo0frGVn8aJGBRMpydfI0ynWsyKqvwCYFIMLgaqbY1J2Is
-unUCROyKB1dxp/EH0YYxFRwH/Cs2sI8XIbwmXzGYbuC3V7Eo8it2ta/tnk6eG/BA
-sjQTkdG4e4dPncDAQH0uEO/xep4bX81FzEdqGEYjlk9ZWufFcB25t+LpQf9FH91X
-hj+JRGhlEQDjqtTQHsPeM6o9Llp6DtHHejBoKBts9Zm/okx31n4kDahR1ToM1ZAA
-0ax9sl5hUEflFg3dPzZzbPKDCimrKCiRh+5nvQQ8kbmhbeUaa4u95EhC0cs2foG5
-rZYe+1RsDRUHduL8TJaZJ6HKBvP5EkuqpIMc4QIDAQABAoIBAEVLN1Onnu5lVqEl
-adrkJt84+U1QCKpUHDYSZx2cUJqPrLrBK7LMFzgH3JZlVEQMVp4NxHIFyLlyB5sy
-jefM4MTqKpEZWnEGUKrBeJIKXfBghh5OXxQhjlWD1F4WXBsU/07wvuBhu3DgJcIV
-V52Vk1JSxPr9LKe2UDmL/hv+tQ2it+PbD+1T78Ue8qVIuv4DA7NFbqB4Igh0O4F9
-ZhezHyLCzK93zGOeG8hwveepYm89bjHkV38YDsAsEcrtlhAZ2FCICj9+aiAbF3GV
-Bfeh7A1wsjJF8hbYMc6TXch8MCpUYV9uf2dJ2OVGJtGpcYkovVFq+nrlglcP08/f
-1BjaI8kCgYEA8OQFeiCi6lmRzl8PqkesWdafYP62jQETXufpw54lBye8S0j2skY+
-gpGPD8ya5hKbxzQNAnzvPLx8tLKEDBMv0toSFyB/Fy8UyOttdkEzTk3Lich8Te26
-e6OWBfOHtCA2ogk9PgEc/tLc05yMv7Dg0YcDPX7OeV/Ct53FyoIhEl8CgYEA06ec
-0BPEk62qPomTodA3x22PmLycibTO4wrIlXwmyTwq9EqeeR+rb5frKxAh/OWgNZsy
-MBLGH/kEExA+TTcNR45XaZ6Db3cOmgRdnMjaoOhac3oWRjirUfqrrt7hBNG6h+LH
-KDEHTaj7q3uZbAH6/7PyHaR4LqDtAfVHecfSmL8CgYAEBHmG6OZurCG/ZFx5hYp9
-URQFZRocTelJyupeJdQOQ35jbwsWPA+s08qkA9CNh7/rWZXh9b1zsN0Pkm6bWPKS
-PKrSkessss9Q7oQ71aiKZMfBO4O/NPjIORk2bjJUMblXiHnp/9DA+zlNmi3KwKNv
-OyY1r1i4M32m3E3BK9xrVwKBgQC2u/GRXF/NuJRRZepGPETMM3VUwxLLeYVdVEQV
-e5jpCL91Jq9nl8YllJ3/EfCmLYKChblw8+SGWjIAW3fOpocajnQ9xhNoOvwqUTaZ
-VHgdkD33kSKGAgs3vhpX4imYRZKsG0kjFCFgFVMjnJS7QYJ5Hd0dZpA0gc/ebuwE
-4laadQKBgAGSurqRuc+fosH7j24s1FLT8/2fiCuvidYhGT12SfkRGMUwn80TSvbO
-G6NQMALnfkD5UdCApZeU2PGZ3IQJm2e/NYrp5JKZh/6vbqCqBiTQMC6FjAtv0+0V
-C0RNdzgcSXWZhLyQE1c0ycXuBIzR+CpuhhHAV5B04rwQi/Onc5IX
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDOUX6ohGPZ2CwR
+PG0saESuTrDg2sgw1CemD5cLZKMf2aykyuZpjc2SBlHsMAg76vsHoTi1FYPN8XhY
+ZvCAk18gmVTrkMGSDA2NNPwnXi9jCmytyo3xr7kK7zxrl/UmMUbzcoZRchxH8iYI
+8Vv104qYvPuIOXeF2b3PHObbW9og95qUsUhPHujR5VY3adSoM9S6uNVPhR6XMpuP
+sQLIej8w+Os7kw3vka28VvCzSKBDxfC4ECjhaC28ZCqASwdzLM3lw/JpEw4S3xiV
+Y4ubr87p8NBL6TLG3jitw+pbDNsfZJ86uA04V0HvBlAA3DZeG4c9wGmKyV7fcCZd
+/q40WaOhAgMBAAECggEAbbZEZhRQjK05ccjyPSUNMKvDvy5YOi73DoVHytUvMWat
+OcxzjjnL0RTvR2ubVVF1P+9pmlHgjwkS9991kMnNUiZ3U/TcGm+yXR6J391j0YTf
+meMWbCkHe1sQhB6ATFjz481Iw9KsW03XD/ZY8nYVQ3drQltcxZ6uIo657HgBnHlZ
+Adit6FGLn2fJ30324zq7T2/OlSwiJosKD6/1M4OWSG5AC0pl10+wtWOAlSWhb/7R
+3NVLHs3va5obLuGDje0ovj9QWfYNEUqZyDiFJ7N96ZFRj3axFEjmjv2kDylV2xVW
+d+zf+3jPDKcGfZZtTj8HuMjaWRmJtkv0+GQXjEd3CQKBgQD8tCmT+yK5bYCvTLIr
+rtI2fVfHyD9SoL27UIrh4hWHnhJJYpT3JXxDwSHttrH18Zlx0KXvM0h38fbx6cl1
+4Rfe6/1cV0dnCy35RTrnLJpe4uZFk9LsX4QpwQecLju6wc8PxnrWDo2spLdRX8IY
+AElP+SlUZ61BdzJg639EckRk3wKBgQDRAnDCDqypB/VW7ZkhL6tZ2XQqmIPnH1WX
+3u8WZj+BQlQf7wqRig+2qcU1lF1/Ct+4AzPs/Vj53+yAs4+UxwodmKZKMWxmUZP7
+KnkGOBpvgWmhw61BhNpAHODV47sgL6oWdcHWLo5uZBs6XE88lQAGOpxCpuEIxE0G
+xyg/qgaHfwKBgBkUKCwveDq+y06aZfQ/3UzbE6MYFHC20x2L2LyiG1DiNx5hUjdU
+2QhAWoWk4/RsjbXl5xHeHQsKUF+hvASe2iedc/9+CfAIBAABBt96ZbeU/RVankwn
+Do62QXMWg4b9RPdj0zz7JMRFdIv23ORU4vG04I0n3OHqWm2T8YVxcagxAoGAdk5T
+VQTJZsRCcvn6e3ZoH2ue/Z1mzCRIZrahzqQBvkC1LX45FTh4vIRMRI++fHLDP31Q
+nwyomIfPbuo0k5o2d5o4RjbDjQcQJFNePc7z57nw+MeyAiwY/cFa4rcM7KMOO7hc
+B8hChunTH62wjDIq2VvDp1aeej/i+bsxZRfwqjECgYBrndvRmtLdJzaBPPPYur43
+xpU6rfIXV8D1Nm1R2X7Ughp/Vz12Gg1/gaGQ5pSZ+/u0IXam6ZCQuSMsGiQSd0rA
+Icdcga+hBt1D+CAhFRwqkmlSURVG5UZfVzf8H1cnq4674VG1N8HkFNXz6br1+jXp
+on3G+UTIsxZtWSpO6sRBkw==
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/trusted-ca.pem b/jstests/libs/trusted-ca.pem
index 2a0e139e184..f11cada4f61 100644
--- a/jstests/libs/trusted-ca.pem
+++ b/jstests/libs/trusted-ca.pem
@@ -1,22 +1,78 @@
------BEGIN CERTIFICATE-----
-MIIDpjCCAo6gAwIBAgIDAghHMA0GCSqGSIb3DQEBBQUAMHwxHzAdBgNVBAMTFlRy
-dXN0ZWQgS2VybmVsIFRlc3QgQ0ExDzANBgNVBAsTBktlcm5lbDEQMA4GA1UEChMH
-TW9uZ29EQjEWMBQGA1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlv
-cmsxCzAJBgNVBAYTAlVTMB4XDTE2MDMzMTE0NTY1NVoXDTM2MDMzMTE0NTY1NVow
-fDEfMB0GA1UEAxMWVHJ1c3RlZCBLZXJuZWwgVGVzdCBDQTEPMA0GA1UECxMGS2Vy
-bmVsMRAwDgYDVQQKEwdNb25nb0RCMRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREw
-DwYDVQQIEwhOZXcgWW9yazELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUA
-A4IBDwAwggEKAoIBAQCePFHZTydC96SlSHSyu73vw//ddaE33kPllBB9DP2L7yRF
-6D/blFmno9fSM+Dfg64VfGV+0pCXPIZbpH29nzJu0DkvHzKiWK7P1zUj8rAHaX++
-d6k0yeTLFM9v+7YE9rHoANVn22aOyDvTgAyMmA0CLn+SmUy6WObwMIf9cZn97Znd
-lww7IeFNyK8sWtfsVN4yRBnjr7kKN2Qo0QmWeFa7jxVQptMJQrY8k1PcyVUOgOjQ
-ocJLbWLlm9k0/OMEQSwQHJ+d9weUbKjlZ9ExOrm4QuuA2tJhb38baTdAYw3Jui4f
-yD6iBAGD0Jkpc+3YaWv6CBmK8NEFkYJD/gn+lJ75AgMBAAGjMTAvMAwGA1UdEwQF
-MAMBAf8wHwYDVR0RBBgwFoIJbG9jYWxob3N0ggkxMjcuMC4wLjEwDQYJKoZIhvcN
-AQEFBQADggEBADYikjB6iwAUs6sglwkE4rOkeMkJdRCNwK/5LpFJTWrDjBvBQCdA
-Y5hlAVq8PfIYeh+wEuSvsEHXmx7W29X2+p4VuJ95/xBA6NLapwtzuiijRj2RBAOG
-1EGuyFQUPTL27DR3+tfayNykDclsVDNN8+l7nt56j8HojP74P5OMHtn+6HX5+mtF
-FfZMTy0mWguCsMOkZvjAskm6s4U5gEC8pYEoC0ZRbfUdyYsxZe/nrXIFguVlVPCB
-XnfB/0iG9t+VH5cUVj1LP9skXTW4kXfhQmljUuo+EVBNR6n2nfTnpoC65WeAgHV4
-V+s9mJsUv2x72KtKYypqEVT0gaJ1WIN9N1s=
------END CERTIFICATE-----
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml trusted-ca.pem
+#
+# CA for alternate client/server certificate chain.
+-----BEGIN CERTIFICATE-----
+MIIDojCCAooCBG585gswDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxHzAdBgNVBAMMFlRydXN0ZWQgS2Vy
+bmVsIFRlc3QgQ0EwHhcNMTkwOTI1MjMyNzQxWhcNMzkwOTI3MjMyNzQxWjB8MQsw
+CQYDVQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxFjAUBgNVBAcMDU5ldyBZb3Jr
+IENpdHkxEDAOBgNVBAoMB01vbmdvREIxDzANBgNVBAsMBktlcm5lbDEfMB0GA1UE
+AwwWVHJ1c3RlZCBLZXJuZWwgVGVzdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBANlRxtpMeCGhkotkjHQqgqvO6O6hoRoAGGJlDaTVtqrjmC8nwySz
+1nAFndqUHttxS3A5j4enOabvffdOcV7+Z6vDQmREF6QZmQAk81pmazSc3wOnRiRs
+AhXjld7i+rhB50CW01oYzQB50rlBFu+ONKYj32nBjD+1YN4AZ2tuRlbxfx2uf8Bo
+Zowfr4n9nHVcWXBLFmaQLn+88WFO/wuwYUOn6Di1Bvtkvqum0or5QeAF0qkJxfhg
+3a4vBnomPdwEXCgAGLvHlB41CWG09EuAjrnE3HPPi5vII8pjY2dKKMomOEYmA+KJ
+AC1NlTWdN0TtsoaKnyhMMhLWs3eTyXL7kbkCAwEAAaMxMC8wDAYDVR0TBAUwAwEB
+/zAfBgNVHREEGDAWgglsb2NhbGhvc3SCCTEyNy4wLjAuMTANBgkqhkiG9w0BAQsF
+AAOCAQEAQk56MO9xAhtO077COCqIYe6pYv3uzOplqjXpJ7Cph7GXwQqdFWfKls7B
+cLfF/fhIUZIu5itStEkY+AIwht4mBr1F5+hZUp9KZOed30/ewoBXAUgobLipJV66
+FKg8NRtmJbiZrrC00BSO+pKfQThU8k0zZjBmNmpjxnbKZZSFWUKtbhHV1vujver6
+SXZC7R6692vLwRBMoZxhgy/FkYRdiN0U9wpluKd63eo/O02Nt6OEMyeiyl+Z3JWi
+8g5iHNrBYGBbGSnDOnqV6tjEY3eq600JDWiodpA1OQheLi78pkc/VQZwof9dyBCm
+6BoCskTjip/UB+vIhdPFT9sgUdgDTg==
+-----END CERTIFICATE-----
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDZUcbaTHghoZKL
+ZIx0KoKrzujuoaEaABhiZQ2k1baq45gvJ8Mks9ZwBZ3alB7bcUtwOY+Hpzmm7333
+TnFe/merw0JkRBekGZkAJPNaZms0nN8Dp0YkbAIV45Xe4vq4QedAltNaGM0AedK5
+QRbvjjSmI99pwYw/tWDeAGdrbkZW8X8drn/AaGaMH6+J/Zx1XFlwSxZmkC5/vPFh
+Tv8LsGFDp+g4tQb7ZL6rptKK+UHgBdKpCcX4YN2uLwZ6Jj3cBFwoABi7x5QeNQlh
+tPRLgI65xNxzz4ubyCPKY2NnSijKJjhGJgPiiQAtTZU1nTdE7bKGip8oTDIS1rN3
+k8ly+5G5AgMBAAECggEAS7GjLKgT88reSzUTgubHquYf1fZwMak01RjTnsVdoboy
+aMJVwzPsjgo2yEptUQvuNcGmz54cg5vJaVlmPaspGveg6WGaRmswEo/MP4GK98Fo
+IFKkKM2CEHO74O14XLN/w8yFA02+IdtM3X/haEFE71VxXNmwawRXIBxN6Wp4j5Fb
+mPLKIspnWQ/Y/Fn799sCFAzX5mKkbCt1IEgKssgQQEm1UkvmCkcZE+mdO/ErYP8A
+COO0LpM+TK6WQY2LKiteeCCiosTZFb1GO7MkXrRP5uOBZKaW5kq1R0b6PcopJPCM
+OcYF0Zli6KB7oiQLdXgU2jCaxYOnuRb6RYh2l7NvAQKBgQD6CZ9TKOn/EUQtukyw
+pvYTyt1hoLXqYGcbRtLc1gcC+Z2BD28hd3eD/mEUv+g/8bq/OP4wYV9X+VRvR8xN
+MmfAG/sJeOCOClz1A1TyNeA+G0GZ25qWHyHQ2W4WlSG1CXQgxGzU6wo/t6wiVW5R
+O4jplFVEOXznf4vmVfBJK50R2QKBgQDegGxm23jF2N5sIYDZ14oxms8bbjPz8zH6
+tiIRYNGbSzI7J4KFGY2HiBwtf1yxS22HBL69Y1WrEzGm1vm4aZG/GUwBzI79QZAO
++YFIGaIrdlv12Zm6lpJMmAWlOs9XFirC17oQEwOQFweOdQSt7F/+HMZOigdikRBV
+pK+8Kfay4QKBgQDarDevHwUmkg8yftA7Xomv3aenjkoK5KzH6jTX9kbDj1L0YG8s
+sbLQuVRmNUAFTH+qZUnJPh+IbQIvIHfIu+CI3u+55QFeuCl8DqHoAr5PEr9Ys/qK
+eEe2w7HIBj0oe1AYqDEWNUkNWLEuhdCpMowW3CeGN1DJlX7gvyAang4MYQKBgHwM
+aWNnFQxo/oiWnTnWm2tQfgszA7AMdF7s0E2UBwhnghfMzU3bkzZuwhbznQATp3rR
+QG5iRU7dop7717ni0akTN3cBTu8PcHuIy3UhJXLJyDdnG/gVHnepgew+v340E58R
+muB/WUsqK8JWp0c4M8R+0mjTN47ShaLZ8EgdtTbBAoGBAKOcpuDfFEMI+YJgn8zX
+h0nFT60LX6Lx+zcSDY9+6J6a4n5NhC+weYCDFOGlsLka1SwHcg1xanfrLVjpH7Ok
+HDJGLrSh1FP2Rq/oFxZ/OKCjonHLa8IulqD/AA+sqYRbysKNsT3Pi0554F2xFEqQ
+z/C84nlT1R2uTCWIxvrnpU2h
+-----END PRIVATE KEY-----
+# Pre Oct 2019 trusted-ca.pem
+# Transitional pending BUILD update.
+-----BEGIN CERTIFICATE-----
+MIIDpjCCAo6gAwIBAgIDAghHMA0GCSqGSIb3DQEBBQUAMHwxHzAdBgNVBAMTFlRy
+dXN0ZWQgS2VybmVsIFRlc3QgQ0ExDzANBgNVBAsTBktlcm5lbDEQMA4GA1UEChMH
+TW9uZ29EQjEWMBQGA1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlv
+cmsxCzAJBgNVBAYTAlVTMB4XDTE2MDMzMTE0NTY1NVoXDTM2MDMzMTE0NTY1NVow
+fDEfMB0GA1UEAxMWVHJ1c3RlZCBLZXJuZWwgVGVzdCBDQTEPMA0GA1UECxMGS2Vy
+bmVsMRAwDgYDVQQKEwdNb25nb0RCMRYwFAYDVQQHEw1OZXcgWW9yayBDaXR5MREw
+DwYDVQQIEwhOZXcgWW9yazELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQCePFHZTydC96SlSHSyu73vw//ddaE33kPllBB9DP2L7yRF
+6D/blFmno9fSM+Dfg64VfGV+0pCXPIZbpH29nzJu0DkvHzKiWK7P1zUj8rAHaX++
+d6k0yeTLFM9v+7YE9rHoANVn22aOyDvTgAyMmA0CLn+SmUy6WObwMIf9cZn97Znd
+lww7IeFNyK8sWtfsVN4yRBnjr7kKN2Qo0QmWeFa7jxVQptMJQrY8k1PcyVUOgOjQ
+ocJLbWLlm9k0/OMEQSwQHJ+d9weUbKjlZ9ExOrm4QuuA2tJhb38baTdAYw3Jui4f
+yD6iBAGD0Jkpc+3YaWv6CBmK8NEFkYJD/gn+lJ75AgMBAAGjMTAvMAwGA1UdEwQF
+MAMBAf8wHwYDVR0RBBgwFoIJbG9jYWxob3N0ggkxMjcuMC4wLjEwDQYJKoZIhvcN
+AQEFBQADggEBADYikjB6iwAUs6sglwkE4rOkeMkJdRCNwK/5LpFJTWrDjBvBQCdA
+Y5hlAVq8PfIYeh+wEuSvsEHXmx7W29X2+p4VuJ95/xBA6NLapwtzuiijRj2RBAOG
+1EGuyFQUPTL27DR3+tfayNykDclsVDNN8+l7nt56j8HojP74P5OMHtn+6HX5+mtF
+FfZMTy0mWguCsMOkZvjAskm6s4U5gEC8pYEoC0ZRbfUdyYsxZe/nrXIFguVlVPCB
+XnfB/0iG9t+VH5cUVj1LP9skXTW4kXfhQmljUuo+EVBNR6n2nfTnpoC65WeAgHV4
+V+s9mJsUv2x72KtKYypqEVT0gaJ1WIN9N1s=
+-----END CERTIFICATE-----
diff --git a/jstests/libs/trusted-client.pem b/jstests/libs/trusted-client.pem
index dec32375c1b..82a7f9e8204 100644
--- a/jstests/libs/trusted-client.pem
+++ b/jstests/libs/trusted-client.pem
@@ -1,49 +1,54 @@
------BEGIN CERTIFICATE-----
-MIIDnTCCAoWgAwIBAgIDA1clMA0GCSqGSIb3DQEBBQUAMHwxHzAdBgNVBAMTFlRy
-dXN0ZWQgS2VybmVsIFRlc3QgQ0ExDzANBgNVBAsTBktlcm5lbDEQMA4GA1UEChMH
-TW9uZ29EQjEWMBQGA1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlv
-cmsxCzAJBgNVBAYTAlVTMB4XDTE2MDMzMTE2MDY0OVoXDTM2MDMzMTE2MDY0OVow
-gYAxIzAhBgNVBAMTGlRydXN0ZWQgS2VybmVsIFRlc3QgQ2xpZW50MQ8wDQYDVQQL
-EwZLZXJuZWwxEDAOBgNVBAoTB01vbmdvREIxFjAUBgNVBAcTDU5ldyBZb3JrIENp
-dHkxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBAKI9cGBnH5wcthvFT1FdfQTw1EvOgtfBHVEMRFZH
-bupMnAqP69id0bf7SdBWzx4A1f1ws1RkeL5ot2u5T9NwsFzGvRBQ5onFtDnC3eKB
-OwapCk2B82mlx4xZBjewg+NbxoRJBUWGqB0LykaVUHxM6BGgwExNAyXQ9syPSyNZ
-NIr+zDrLdTfjKklmDkv9jSCB/T3t80kQPY+04u98buUe7wGM0WQFbVNoYrSkZ6Ja
-O+G8bpXP4hXIXsxOHucjBeJc1KR+lxEMw3wInZ2KjjMv7HsFIIOQg5pkMDXibSU6
-cNUZTA2MrzZ+t7TeAQyOTzfGlaatfvJYxU7v4u0W5jxeV60CAwEAAaMjMCEwHwYD
-VR0RBBgwFoIJbG9jYWxob3N0ggkxMjcuMC4wLjEwDQYJKoZIhvcNAQEFBQADggEB
-AHI6Rfq/UqAoPxiz5bqby2FnGOrskotgXhn1JkZLGCfllx5WgMuLnu1bvjoym567
-HySqAXQOqEWm6XRU7SVOA+69e4OLWX+HSKjFRuG5Ip67UpihZMgyLKuGRBwfnbXj
-14o+xbWjXCgVZEI7vzT7q/7/W1mXj680fHs93Zog561Id4Tf3DYkOoMawSfeF4iu
-8hcYjlJYjFb3ZvM1wokicmEwtY0+YbBGVo8xh5jYdfCLzYLxc3CpP5eXJtMvGE/x
-RnyiY3f7hkUZMibnREPS6kpQVEh36DT21C0OB8s7TcMU7yMKgVdqL1udmEkiKXTj
-H7v/s+7d54O0tr5+IysCAoA=
------END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEAoj1wYGcfnBy2G8VPUV19BPDUS86C18EdUQxEVkdu6kycCo/r
-2J3Rt/tJ0FbPHgDV/XCzVGR4vmi3a7lP03CwXMa9EFDmicW0OcLd4oE7BqkKTYHz
-aaXHjFkGN7CD41vGhEkFRYaoHQvKRpVQfEzoEaDATE0DJdD2zI9LI1k0iv7MOst1
-N+MqSWYOS/2NIIH9Pe3zSRA9j7Ti73xu5R7vAYzRZAVtU2hitKRnolo74bxulc/i
-FchezE4e5yMF4lzUpH6XEQzDfAidnYqOMy/sewUgg5CDmmQwNeJtJTpw1RlMDYyv
-Nn63tN4BDI5PN8aVpq1+8ljFTu/i7RbmPF5XrQIDAQABAoIBAGg9iYKnP4wSdn+J
-WtkwdC9EfWLnoPH3RlrYwt+crgskhe3TYvmfDSxk7JxL6m+god1hGBfVJi9RIOi5
-/Cwib25s0vU0xasnuBCUv/PUjJRO8Cu0nyz2Myxd1rzZUSQ3x2kfcZ+mUUW4WZLY
-RQpYb5ND8coUgT0+8hOkzeY8XqIe5c4VrX16mA+uoIMsr4QHxe0pl59oY57V3Der
-+gsaGuWZ5hDvfuoCOx03Cuc1pTx0T8ZHdliu/xe+np3ETFdQ/1cyJMAJW3w15qKt
-L6AfkeRaMAgqxs2zU1rgPdJddRS7MaSJnpDtMjeyJpeNCMDJ/h3ihgSM1SM1QCtY
-tcnWdIECgYEA1/SVGV9McAvtVtQA1D7kPEo0ifCG8frUfGy2yK9aasFHhLS3JXXY
-4R0Fy/pOwdKNtnN3ZKd0Y0wcmlwPepg2HKlUFJdjqEKZctMzOscy3n08F4AV2rLc
-48q2XLLIQNN/JuqcaeRgQByvP6YL0YuqqsAPiRhTeYgJxp4c+JgbmDUCgYEAwFL7
-jzYwmud3HEgrfpXxDoWpemlKqCqe0cUix0OtR8XfCukZ5lbnC7Mu/FtqBitVdQYd
-2r1nRK66fTJejblNd1E4TG0sIwucI5B24I7XeG78r2kECnFT+vBE8BA6c/y8nTjz
-grWVMeR3n7WFxaTL/VW/kapW2YddWPq1Jh4q4JkCgYB2QBk8kXBbkkxd1Sy3C9ES
-KlfmiGx8KCseDrFv5oUOG9O7mPEIdCVT7v5zmRZzD4ZFt6hS11bl4JFw/KQFLz/C
-Jf5CYDtTsVQxCfDtaJI0PkMfYyWUYYiOuztsOwFobeccOi931HPX510W7yddkKrd
-YNmg6k8bJyCjP4UBotjJWQKBgElP2KDQ0VpbHWZkhF/unEMi5GXLOTA9fukLsqQu
-wiD35nvsO3k4az5kgWalGhdb8Wl4eWzmgjUGPgR3bN+tYUA4b7OCci6xwEU2Tnpv
-OOeptxzOdUHdzVt8t2qjZQTNtMBh80FCIqswIgF5WpLqrO/W/f1y50Roe0bt2pu7
-KDERAoGAbhEL6OCfX6Pf5hCggb4ymm9zmAndRKHAAJ2WQ2p6v+r1vm838n6y8r7Q
-Fqc3B7NIDDYzX4oyQZepOnHNF/UPEyVyGvJ8LBDruyiuAdGakVEvSHZ+ml4LnS06
-msP5hsHh9s4ptVcaF3/mNllBys+FwEWvLewgfVPJrDBNINFvYZ8=
------END RSA PRIVATE KEY-----
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml trusted-client.pem
+#
+# Client certificate for trusted chain.
+-----BEGIN CERTIFICATE-----
+MIIDmTCCAoECBAuuqsUwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxHzAdBgNVBAMMFlRydXN0ZWQgS2Vy
+bmVsIFRlc3QgQ0EwHhcNMTkwOTI1MjMyNzQyWhcNMzkwOTI3MjMyNzQyWjCBgDEL
+MAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9y
+ayBDaXR5MRAwDgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxIzAhBgNV
+BAMMGlRydXN0ZWQgS2VybmVsIFRlc3QgQ2xpZW50MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAshH7dr+x52giy0RU4rtNH+9dC7Fu+vHKRhP33U6+Z54E
+yj0IifG8zUNoKqZcx6480xeSg8De9GpfPsc6bFRvEk6sTMkf+nNaBajLHS69OzSc
+51GRnm9kNoI1L89iSsNlzDa3+FapsPJTkq3WMkE/bChntByNOYYXZTRc0KaRz2bN
+CnesRne2e9jS/AGTTWjJpw24dITclT5q+q67LqOKs140YMFVsmhLecvN61hreBsY
+F9xsQQkNHQvy9wYs5PV9lvI3ZogjlZU94ZkabMkeaypT6yFRNgksZpC9BunjrhZ7
+izVvxJMvtMzC9ua+K3ujI38N0b9m+v57cCDyz2IeVwIDAQABoyMwITAfBgNVHREE
+GDAWgglsb2NhbGhvc3SCCTEyNy4wLjAuMTANBgkqhkiG9w0BAQsFAAOCAQEAjoCk
+2AuQHoLUi37LXZRxafzBkYVKuMBiaipAw2ZCKk3dbebQp7ohKAF25sHhTztTUFyD
+jLAwOu76skmFYKxtwN13XmiBlrlMk/lMeTeiPHTXcYVpaZULimKPO4nh/l1SzQqx
+XTL9/yNrS5nlJXGpNSJL0kYZ4O5VJfMz9aTCGWrcGteVvKQgRNxsLb7ZT13+mme+
+INvjmR9zUX299wlJHYRDUxY1AmJTm6YTnXl6KQEZF64hI6KEUrh6LnsvJS0VbJay
+6BmKVV3W9DY8HzR+yawB0v+5Bz7TYAaymdzLIuELD/QFD6ksCqbsF8XdP4bF8IuU
+0ST7eG9taRXWQdmAog==
+-----END CERTIFICATE-----
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCyEft2v7HnaCLL
+RFTiu00f710LsW768cpGE/fdTr5nngTKPQiJ8bzNQ2gqplzHrjzTF5KDwN70al8+
+xzpsVG8STqxMyR/6c1oFqMsdLr07NJznUZGeb2Q2gjUvz2JKw2XMNrf4Vqmw8lOS
+rdYyQT9sKGe0HI05hhdlNFzQppHPZs0Kd6xGd7Z72NL8AZNNaMmnDbh0hNyVPmr6
+rrsuo4qzXjRgwVWyaEt5y83rWGt4GxgX3GxBCQ0dC/L3Bizk9X2W8jdmiCOVlT3h
+mRpsyR5rKlPrIVE2CSxmkL0G6eOuFnuLNW/Eky+0zML25r4re6Mjfw3Rv2b6/ntw
+IPLPYh5XAgMBAAECggEAMO6iFEKfB4DlNsgjL17a1bC399OdNJYmyFUKYqUVy3Fv
+zYcyBn4ILLueL0Ih8rkde8BZgZ0JZ06nt5+VnVkiYHx/+mW2RONX1IBKuE00sMVH
+bIVMp6XietwS831gfDzvh0tuCG8AGGCuuHrOhmbJn9YGkUbbQ/hmC2h1LNzo6n3W
+sYCnBnhQJ6janc4OXJ7k0Sr5akJaw49A0kpB+xp4V00vwDoVZUBSYUQu7qbpuhxx
+Q9YkIZ6l9NSY4i3MPz1TX3gEM2Bq8CSvVZ/YbC1eVRmohxxDSXYlk8WhlwlvAQ9N
+sYJ1ur/3Xz7sDuO500sZRYrv+GM1R5s/NiyFBRItsQKBgQDktyqb0YyoIT2mHF78
+SU9z+EHT52CBfLk+jCRKYDvRGJFXKyYTBafz3+SLudY3o1aw2C+fHe4vZd4gYyGH
+uXI8vsym5gjOBTRl0oKHW9U6sMcQ4ZXf1eFE6j7XFK1wpHh50j3lV/szvB868B8N
+A5JG9cYsm3Tzw+9iWv8/7cOEvwKBgQDHUCPutVJyq54y/a0imUwTkUKqflVIsDzm
+BEDUuBwF8W8ScGqxWVOsQg9mM97Z5+1AkMCTMyDmOT1K7RGv1K27yzSYM3FT73uX
+DH+b+pEdnpyN1ytX0hy+rNjsJhQMpz6G/ewbvglR0+KMpim5NzGiykjUM1wnET1B
+zYivO95UaQKBgCnnIQhROQropCnV0tU3/TWLC0xufLDcj/fUpyV1QiBJ9v7Yae5c
+P+wfXfj3gDbLVyupP/hP/H50lGCsqMz7/eEBN+9v/7b3HyV0jvOLsKJDFwWRvuq2
+fcIphH/VSv1zNJtlGG/3UY+l7LbYnWe9+sPDbZ5okOHESQxlDZTB0+tzAoGBAJc4
+E3sZ8Sr1UHrJguGcQ18ZN+ZZIWWb6ShvE60Q3poXurjXt+tEpbotCLf3JN5ZG+V/
+rcxA33Ys+XbudRvdlc7Eduv/I72WFkPdBLiYHB/H5mmrVcQ0swBr7c0FevK6tTMA
+VnIZ9cIyq1EhBMj0umETbrwpF4LAjqRtR4YEO0P5AoGAWavKrREBUVtSqEo9+XiU
+7Hw75KCThDTTxByurkGwZbzjNAuxoDOWPDueAfqG5rv4ld1c6SjDyI7eCDzjoriK
+s1Nmxog8Wu+2Vpe7Q6KDsPpLYY4Bfz6ikWHuVFAeryfPWizMIWofJx5dNIDpnKPb
+PUTe4hDUB68LIOTJVfirP78=
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/trusted-client.pfx b/jstests/libs/trusted-client.pfx
index 21693928927..cecf97cee3e 100644
--- a/jstests/libs/trusted-client.pfx
+++ b/jstests/libs/trusted-client.pfx
Binary files differ
diff --git a/jstests/libs/trusted-server.pem b/jstests/libs/trusted-server.pem
index caaee422a44..92a8e3ca633 100644
--- a/jstests/libs/trusted-server.pem
+++ b/jstests/libs/trusted-server.pem
@@ -1,49 +1,54 @@
------BEGIN CERTIFICATE-----
-MIIDnTCCAoWgAwIBAgIDCWhIMA0GCSqGSIb3DQEBBQUAMHwxHzAdBgNVBAMTFlRy
-dXN0ZWQgS2VybmVsIFRlc3QgQ0ExDzANBgNVBAsTBktlcm5lbDEQMA4GA1UEChMH
-TW9uZ29EQjEWMBQGA1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlv
-cmsxCzAJBgNVBAYTAlVTMB4XDTE2MDMzMTE2MDUyM1oXDTM2MDMzMTE2MDUyM1ow
-gYAxIzAhBgNVBAMTGlRydXN0ZWQgS2VybmVsIFRlc3QgU2VydmVyMQ8wDQYDVQQL
-EwZLZXJuZWwxEDAOBgNVBAoTB01vbmdvREIxFjAUBgNVBAcTDU5ldyBZb3JrIENp
-dHkxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBAJwOsMO+MhWmHcSOdjFrZYjPMOt8uIqJ1pR/JI/E
-hTdUq7fXPHZNhUTzwX1JZB+QkXhnJiAf2ZQOnl7R49vudoPdOZo6bJQP8/Hy5F79
-B8Nw9xrcPuzGBRK3IpY7j9gnAOC5jvN2zh+nHoqNhPmarpKgbDeLosABiDFSHiCE
-degHziJ0Tj0AJ6GRbeHeTvv5K4lLwMzyYnpkG0cMpLvLIUwJa22Vp8PujMcmjX9W
-ASmSXJmcszYKjaRc7HB6ronIEZWy//PSXlvuk8xYaM40HkGy2gN6wV+2Z45QdDds
-NxUuu56TzJ7z7as/vYXXsIc/TSmvM02S01JWUjWeVGc1sb8CAwEAAaMjMCEwHwYD
-VR0RBBgwFoIJbG9jYWxob3N0ggkxMjcuMC4wLjEwDQYJKoZIhvcNAQEFBQADggEB
-AAKLZiQxz3NYvc04GDMRIUDfR50RMw4SuXXgGYTpPUP/akOes11+u5iKhgyKQ+ca
-TttX8mwwvNjQFN8hjBodsrWK9avMUenJBk+Y2ztzLSpKAmC7NUUM6sFB1D3yocsG
-aH5EuyH/dcAdb9z5vYurriRfd1ldmyGAqvA6lKGp1zxTAi0WWbYIZia0LyVoH98p
-x0s+amrSMvkVqIK+qV+CVqW2dNLe+kREjGxzGidCSfHZrHncuTX8/10xHUbAQW0z
-EWF6epmm+jniwgh2Zs/xe7+eY1Nzfq0ly06MVKCs1/lZ0vhAHGZ7V6yBX5zig02x
-VAHb45KqzmYGwKErO7ZFY2I=
------END CERTIFICATE-----
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAnA6ww74yFaYdxI52MWtliM8w63y4ionWlH8kj8SFN1Srt9c8
-dk2FRPPBfUlkH5CReGcmIB/ZlA6eXtHj2+52g905mjpslA/z8fLkXv0Hw3D3Gtw+
-7MYFErciljuP2CcA4LmO83bOH6ceio2E+ZqukqBsN4uiwAGIMVIeIIR16AfOInRO
-PQAnoZFt4d5O+/kriUvAzPJiemQbRwyku8shTAlrbZWnw+6MxyaNf1YBKZJcmZyz
-NgqNpFzscHquicgRlbL/89JeW+6TzFhozjQeQbLaA3rBX7ZnjlB0N2w3FS67npPM
-nvPtqz+9hdewhz9NKa8zTZLTUlZSNZ5UZzWxvwIDAQABAoIBAQCQFHQY1NHy8OKM
-5aaz697bV8dns0fCCI7HnTdJUPxZYGAGJL8azmmbhp1+qbK5/cSA8GLfx+ge7PxE
-uO3x0RE0n5weC5DRhoUIPeOg22Y+iF5sOyoReqWWaOSS5bzhqOkDke4sU+TsjmQB
-MbWyqaBBmcEv60jAkumF97X++azOIm1EqTXfSu1K7gqtiL9H9T8vIYOOuTAduOsD
-el/v5QQbWb3e/NLhcmzHL6rPcR/9jCn1rJ9HAhAqm6eKZS2cAgTGLLtCUhumVliO
-bEIm2fcQ5h+BDZc5EF/SURKvUaFx/xTIQ5s1oEKN8iN+kIYzgbZ/Ds/GOo7nWVmy
-1KZswK05AoGBANBvT/vSpI7vokmph+GifjToHeinceg3pssf8mHw8xv3H0mZxBkt
-CJq6rFwKwMH8K9tQfBqp4hfVgfdAWZyKqqo1Mtecohzb9D0GLYZ6Of18pAZK/aEt
-L8ADuGYbLAFAS10z4djBSqlud82d194zSgfLP3FYRsj5Ni8w9bPuMOKVAoGBAL+r
-gd1/B+kkbO/NAprjXAFT91Wjf+YMQgM8vOMXlq7LlGeGQSb0zVZpdDtZ3ohqdu1i
-38y0G/CvBLddm8VkC3/fhfO8xW8PjdRBbF87j1k4HerAxcLOO91z+MHFMbUryOJc
-U0aAzJB3B4E491xaXTL8jZLYxmgJtc4jBcLKzmIDAoGBAKXf39w9Hx5tUE6k7vE+
-uodqLdsn3nt6Rm+iRedxtFcODEUrbKbIcu+IHYDGQe5eu5w2af1iMv7auCpHeMke
-hYEdAxAZo92poa4qy3IYtSuo1HP5m+x3pGd/znDbsOJyA0fx8QrpkHxT4F2u/srj
-MEgRlLSkFvj7cwaNRQvjQ94dAoGAA2+4wVbgtm5fwaDkVhCTeradrZxj06UOne49
-2Lh4jCO8QmrmyiMDd3QmkFXZJor6HOFz78Ce657Hr93uyAg2KJHCXg9ZXtdhjJer
-sL1poYjfCHFyWj7GVf8ZS6gUbxIc5OoQ2CfBAyoPKWLzFGXOW/apNyPJ0t2xs8Nu
-/AIU1y8CgYEAyUhyJe8XaDOjoR9D1freHY6Vt9NkofDpYfWL4+y/kGD45yCDBXj0
-LYAD89/Qog1MbPN8FGrgMu2b3dI0i+iZlWduvQRn71QepT6wiB84ivxjECSpZGoH
-2F0SM1MVAK/f4Dm9H9Kaukq2BpsN8Uhvzg2EUFg1mLJ+OBArgT524Ys=
------END RSA PRIVATE KEY-----
+# Autogenerated file, do not edit.
+# Generate using jstests/ssl/x509/mkcert.py --config jstests/ssl/x509/certs.yml trusted-server.pem
+#
+# Server certificate for trusted chain.
+-----BEGIN CERTIFICATE-----
+MIIDmTCCAoECBHL7ykYwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9yayBDaXR5MRAwDgYDVQQK
+DAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxHzAdBgNVBAMMFlRydXN0ZWQgS2Vy
+bmVsIFRlc3QgQ0EwHhcNMTkwOTI1MjMyNzQyWhcNMzkwOTI3MjMyNzQyWjCBgDEL
+MAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3JrMRYwFAYDVQQHDA1OZXcgWW9y
+ayBDaXR5MRAwDgYDVQQKDAdNb25nb0RCMQ8wDQYDVQQLDAZLZXJuZWwxIzAhBgNV
+BAMMGlRydXN0ZWQgS2VybmVsIFRlc3QgU2VydmVyMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAvgLzw1ZsakCT8sOZDCQcaPZaIN6YEL6nQehjeAHDBCHQ
+MvaGkAxgk8GW+9iRzMBCMsNxDju7WiLFCQSv1qeeXbpSGl0TXPI4wUPvs83A9nSq
+0hBuw9XY85e1oXcNWQaP01EO0rR8S9bAovyW4EDvJomAopvrkFoI/eSfcANlh7rk
+6DvpZE2Ml5yGDPGLDfv5tuYMPckOV2cHo0puZqRn9Dr8M5czDSflUeH1LMYQsGwB
+zKn/tQ9a476kqwpyf6lrj5/aTpK3vIA0tGrOj5eXs1HvUUSHpstf8OdWJRciEf9I
+L5CNLRUhP7nvczTwbVRR6CQjMPFt1LO/tRLCOINH7wIDAQABoyMwITAfBgNVHREE
+GDAWgglsb2NhbGhvc3SCCTEyNy4wLjAuMTANBgkqhkiG9w0BAQsFAAOCAQEAKT2i
+1FXjd/I9pPcr5mCuePbqtNwTUfiFJvcTSPopKYz2IdEnStJHPezFQ37Z95fFAg5o
+ChZplq1jBoWDOX2XY02nIKdj7Yc157+qnqocrvQbJlUI9MWfwWoq/CqkvMG2uSmQ
+FRuHsHZi4vEK254IhB7kYgOfBMjhsX1+sE96SA0DcLAHyYoMckLgfTnLikS9ir0N
+zijVD5NE8mjV6dIOZeh/q54QdS3Ea33DMHegDDMoe2x/Eh/0Y4XU2k/Z48JGe2/d
+afsQTWQPr2qJcusi2MHTRGUsaP+UEFl3l9nM8IjaJ4dsw6umd631DNay5yNR5LsY
+7qpA1wjwbBvRR0wTpg==
+-----END CERTIFICATE-----
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC+AvPDVmxqQJPy
+w5kMJBxo9log3pgQvqdB6GN4AcMEIdAy9oaQDGCTwZb72JHMwEIyw3EOO7taIsUJ
+BK/Wp55dulIaXRNc8jjBQ++zzcD2dKrSEG7D1djzl7Whdw1ZBo/TUQ7StHxL1sCi
+/JbgQO8miYCim+uQWgj95J9wA2WHuuToO+lkTYyXnIYM8YsN+/m25gw9yQ5XZwej
+Sm5mpGf0OvwzlzMNJ+VR4fUsxhCwbAHMqf+1D1rjvqSrCnJ/qWuPn9pOkre8gDS0
+as6Pl5ezUe9RRIemy1/w51YlFyIR/0gvkI0tFSE/ue9zNPBtVFHoJCMw8W3Us7+1
+EsI4g0fvAgMBAAECggEBAJ2UdzKFpu3LVqdbPb8K56DIxeBCmlwwsSeAoZVx6Jix
+rifFub0W9rUzNJLyfaAPxhaxbT4/nVXYRg3/nBBp/HWAwvxoOlm37Aej3tQADEqY
+YN5LkIDLBdym8ZPR1vkA7yByNdfapMaEeEfzMPEUCQGtwUeaBZc2hASDqRJNTtNr
+ZUiXGaJvbpgqLAhN1N40TJstUwYAq6nR/hljSZ22EmI13oSgddi9NE49v4R0JL8P
+EsxsE9uLynz1TVS5thshX3BrN+Iz8zcJqilclOkagQycL+WZrjpfLn4HBLdCPr3b
+3+TtQHq/BIq+Qdl6yCk6Vf1C5xpu0U6PAIGJVOjrXJkCgYEA8vdb+l1iQlsd4XNX
+ipPKqyewok3HRpvZfQDAVxBOydGnr5xSt5/vT5lcM8oIpCsx/vF0tr1qGWFq4qCY
+J+j0U/TdjcsVsicg6xDQsIwviU3vXm2KqSTu41T/wSvKzuv0X9MlzP7aY5U/NR/X
+VY6e5pK2TIqC5CVEgeqgDZl0SnMCgYEAyDReeFuM4U5Y4FJ4S59azdC427uMCb9X
+acVFIom1kTWKt/cb9qIWVSXIcnxGbls9zHwnWLEIcj3A4q/B6+lGDF8yRDxnaOfs
+JJuiOg8STZAfoy4SmWxydmU2g/IGoQtOFt6lhFt3xfiUNPIQzHQRsIlpFsWt23Xw
++NdqclRwgZUCgYEA6ggYQb4nwpDv5FTs0t/vDRQLERtoQvwl70GFA5gCvGXFZuNl
+zdgxdHPdm0kVL8UnwFGmQcuL4myyvx8/0NmUVzZ7HnSrLlKAY8xrqFMwCsrWMhfD
+w49+x9z9CX38OXqQhqjlNWOayudc3fgQvCnHp4NUM8ALumSna5irmM3idT8CgYBc
+3F2NOfmob6ytr9L4UJvPpyZ3VRBpXQTwnH2qvXEoP0tudQHVbe0p5XKKF7abbVrG
+xDeD3elrA9W5z4gFIphJGMa5+8KDWD+h40Zl46O7skPabn5WB4U4AU49+T616AZ6
+eR8Qu1Rc0SX9QOIl0xh5Z+MEmwA/MP9qjJBlI2Fj2QKBgBRs5DyiQfSRC0vNlSg7
+HYBeaxx2gu0LbNg7dFizdCjhRoFhqfRI+uUZAtHnjs0iw3zedb+7YGukNR+5a3AS
+IWmjFU7wsi7ydnrWlALuNFt4oDE+JnH3AHWZ5vrlevJyVRwsE2YVRSoG1M6CT3Y/
+/5yVKapUys2TiPtZb+V/6wjD
+-----END PRIVATE KEY-----
diff --git a/jstests/libs/trusted-server.pfx b/jstests/libs/trusted-server.pfx
index f68d75f88b9..a434f9da414 100644
--- a/jstests/libs/trusted-server.pfx
+++ b/jstests/libs/trusted-server.pfx
Binary files differ
diff --git a/jstests/ssl/libs/ssl_x509_role_auth_utf8.js b/jstests/ssl/libs/ssl_x509_role_auth_utf8.js
index f94db33d27f..cd879dce580 100644
--- a/jstests/ssl/libs/ssl_x509_role_auth_utf8.js
+++ b/jstests/ssl/libs/ssl_x509_role_auth_utf8.js
@@ -6,7 +6,7 @@
const retutf8 = db.getSiblingDB("$external").auth({
mechanism: "MONGODB-X509",
user:
- "C=US,ST=New York,L=New York City,O=MongoDB,OU=Kernel Users,CN=\\D0\\9A\\D0\\B0\\D0\\BB\\D0\\BE\\D1\\8F\\D0\\BD"
+ "CN=\\D0\\9A\\D0\\B0\\D0\\BB\\D0\\BE\\D1\\8F\\D0\\BD,OU=Kernel Users,O=MongoDB,L=New York City,ST=New York,C=US"
});
assert.eq(retutf8, 1, "Auth failed");
}());
diff --git a/jstests/ssl/ssl_cert_selector.js b/jstests/ssl/ssl_cert_selector.js
index b62c9cb2890..eb4c10b16fb 100644
--- a/jstests/ssl/ssl_cert_selector.js
+++ b/jstests/ssl/ssl_cert_selector.js
@@ -14,8 +14,12 @@ requireSSLProvider('windows', function() {
// Import a pfx file since it contains both a cert and private key and is easy to import
// via command line.
- runProgram(
- "certutil.exe", "-importpfx", "-f", "-p", "foo", "jstests\\libs\\trusted-client.pfx");
+ runProgram("certutil.exe",
+ "-importpfx",
+ "-f",
+ "-p",
+ "qwerty",
+ "jstests\\libs\\trusted-client.pfx");
}
const conn = MongoRunner.runMongod(
@@ -39,7 +43,13 @@ requireSSLProvider('windows', function() {
};
assert.doesNotThrow(function() {
- testWithCert("thumbprint=9ca511552f14d3fc2009d425873599bf77832238");
+ try {
+ // trusted-client.pfx
+ testWithCert("thumbprint=6AE38B35F4551B6BDCDB89AFABE0B277046F2735");
+ } catch (e) {
+ // Transitional: Pre Oct-2019 trusted-client.pfx
+ testWithCert("thumbprint=9ca511552f14d3fc2009d425873599bf77832238");
+ }
});
assert.doesNotThrow(function() {
diff --git a/jstests/ssl/ssl_x509_roles.js b/jstests/ssl/ssl_x509_roles.js
index e9bf6493027..dc2a615d500 100644
--- a/jstests/ssl/ssl_x509_roles.js
+++ b/jstests/ssl/ssl_x509_roles.js
@@ -15,10 +15,10 @@ load('jstests/ssl/libs/ssl_helpers.js');
const CLIENT_CERT_NO_ROLES = "jstests/libs/client.pem";
const CLIENT_USER =
- "C=US,ST=New York,L=New York City,O=MongoDB,OU=Kernel Users,CN=Kernel Client Peer Role";
+ 'CN=Kernel Client Peer Role,OU=Kernel Users,O=MongoDB,L=New York City,ST=New York,C=US';
const CLIENT_USER_NO_ROLES =
- "C=US,ST=New York,L=New York City,O=MongoDB,OU=KernelUser,CN=client";
+ 'CN=client,OU=KernelUser,O=MongoDB,L=New York City,ST=New York,C=US';
const smokeScript =
'assert(db.getSiblingDB(\'$external\').auth({ mechanism: \'MONGODB-X509\' }));';
diff --git a/jstests/ssl/x509_client.js b/jstests/ssl/x509_client.js
index 68f4742fc63..416e2f561c9 100644
--- a/jstests/ssl/x509_client.js
+++ b/jstests/ssl/x509_client.js
@@ -19,10 +19,10 @@ MongoRunner.stopMongod(conn);
var SERVER_CERT = "jstests/libs/server.pem";
var CA_CERT = "jstests/libs/ca.pem";
-var SERVER_USER = "C=US,ST=New York,L=New York City,O=MongoDB,OU=Kernel,CN=server";
-var INTERNAL_USER = "C=US,ST=New York,L=New York City,O=MongoDB,OU=Kernel,CN=internal";
-var CLIENT_USER = "C=US,ST=New York,L=New York City,O=MongoDB,OU=KernelUser,CN=client";
-var INVALID_CLIENT_USER = "C=US,ST=New York,L=New York City,O=MongoDB,OU=KernelUser,CN=invalid";
+var SERVER_USER = 'CN=server,OU=Kernel,O=MongoDB,L=New York City,ST=New York,C=US';
+var INTERNAL_USER = 'CN=internal,OU=Kernel,O=MongoDB,L=New York City,ST=New York,C=US';
+var CLIENT_USER = 'CN=client,OU=KernelUser,O=MongoDB,L=New York City,ST=New York,C=US';
+var INVALID_CLIENT_USER = 'CN=invalid,OU=KernelUser,O=MongoDB,L=New York City,ST=New York,C=US';
function authAndTest(mongo) {
external = mongo.getDB("$external");
diff --git a/jstests/ssl/x509_custom.js b/jstests/ssl/x509_custom.js
index d875a5121c2..0db2ae4d8ea 100644
--- a/jstests/ssl/x509_custom.js
+++ b/jstests/ssl/x509_custom.js
@@ -30,7 +30,7 @@
function runTest(conn) {
const NAME =
- 'C=US,ST=New York,L=New York City,O=MongoDB,OU=KernelUser,CN=client,1.2.3.56=RandoValue,1.2.3.45=Value\\,Rando';
+ '1.2.3.45=Value\\,Rando,1.2.3.56=RandoValue,CN=client,OU=KernelUser,O=MongoDB,L=New York City,ST=New York,C=US';
const admin = conn.getDB('admin');
admin.createUser({user: "admin", pwd: "admin", roles: ["root"]});
diff --git a/jstests/ssl/x509_invalid.js b/jstests/ssl/x509_invalid.js
index 25310603c50..bc17cd7db8f 100644
--- a/jstests/ssl/x509_invalid.js
+++ b/jstests/ssl/x509_invalid.js
@@ -3,7 +3,7 @@
(function() {
'use strict';
- const CLIENT_NAME = 'C=US,ST=New York,L=New York City,O=MongoDB,OU=KernelUser,CN=client';
+ const CLIENT_NAME = 'CN=client,OU=KernelUser,O=MongoDB,L=New York City,ST=New York,C=US';
const CLIENT_CERT = 'jstests/libs/client.pem';
const SERVER_CERT = 'jstests/libs/server.pem';
const CA_CERT = 'jstests/libs/ca.pem';