From 51e938e3e9dc249e94817eda39af1164a3d4af5c Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Wed, 10 Jul 2024 22:26:00 +0200 Subject: [PATCH] cert-cleanup --- tests/assets/client-certificates/README.md | 59 +++++++++++++++++++ .../{bob_cert.pem => self-signed/cert.pem} | 0 .../{bob_csr.pem => self-signed/csr.pem} | 0 .../{bob_key.pem => self-signed/key.pem} | 0 .../{alice_cert.pem => trusted/cert.pem} | 0 .../client/{alice_csr.pem => trusted/csr.pem} | 0 .../client/{alice_key.pem => trusted/key.pem} | 0 .../server/server_cert2.pem | 31 ---------- .../server/server_key2.pem | 52 ---------------- tests/library/client-certificates.spec.ts | 40 ++++++------- 10 files changed, 79 insertions(+), 103 deletions(-) create mode 100644 tests/assets/client-certificates/README.md rename tests/assets/client-certificates/client/{bob_cert.pem => self-signed/cert.pem} (100%) rename tests/assets/client-certificates/client/{bob_csr.pem => self-signed/csr.pem} (100%) rename tests/assets/client-certificates/client/{bob_key.pem => self-signed/key.pem} (100%) rename tests/assets/client-certificates/client/{alice_cert.pem => trusted/cert.pem} (100%) rename tests/assets/client-certificates/client/{alice_csr.pem => trusted/csr.pem} (100%) rename tests/assets/client-certificates/client/{alice_key.pem => trusted/key.pem} (100%) delete mode 100644 tests/assets/client-certificates/server/server_cert2.pem delete mode 100644 tests/assets/client-certificates/server/server_key2.pem diff --git a/tests/assets/client-certificates/README.md b/tests/assets/client-certificates/README.md new file mode 100644 index 0000000000..bba37cbb48 --- /dev/null +++ b/tests/assets/client-certificates/README.md @@ -0,0 +1,59 @@ +# Client Certificate test-certificates + +## Server + +```bash +openssl req \ + -x509 \ + -newkey rsa:4096 \ + -keyout server/server_key.pem \ + -out server/server_cert.pem \ + -nodes \ + -days 365 \ + -subj "/CN=localhost/O=Client\ Certificate\ Demo" +``` + +## Trusted client-certificate (server signed/valid) + +``` +mkdir -p client/trusted +# generate server-signed (valid) certifcate +openssl req \ + -newkey rsa:4096 \ + -keyout client/trusted/key.pem \ + -out client/trusted/csr.pem \ + -nodes \ + -days 365 \ + -subj "/CN=Alice" + +# sign with server_cert.pem +openssl x509 \ + -req \ + -in client/trusted/csr.pem \ + -CA server/server_cert.pem \ + -CAkey server/server_key.pem \ + -out client/trusted/cert.pem \ + -set_serial 01 \ + -days 365 +``` + +## Self-signed certificate (invalid) + +``` +mkdir -p client/self-signed +openssl req \ + -newkey rsa:4096 \ + -keyout client/self-signed/key.pem \ + -out client/self-signed/csr.pem \ + -nodes \ + -days 365 \ + -subj "/CN=Bob" + +# sign with bob_csr.pem +openssl x509 \ + -req \ + -in client/self-signed/csr.pem \ + -signkey client/self-signed/key.pem \ + -out client/self-signed/cert.pem \ + -days 365 +``` diff --git a/tests/assets/client-certificates/client/bob_cert.pem b/tests/assets/client-certificates/client/self-signed/cert.pem similarity index 100% rename from tests/assets/client-certificates/client/bob_cert.pem rename to tests/assets/client-certificates/client/self-signed/cert.pem diff --git a/tests/assets/client-certificates/client/bob_csr.pem b/tests/assets/client-certificates/client/self-signed/csr.pem similarity index 100% rename from tests/assets/client-certificates/client/bob_csr.pem rename to tests/assets/client-certificates/client/self-signed/csr.pem diff --git a/tests/assets/client-certificates/client/bob_key.pem b/tests/assets/client-certificates/client/self-signed/key.pem similarity index 100% rename from tests/assets/client-certificates/client/bob_key.pem rename to tests/assets/client-certificates/client/self-signed/key.pem diff --git a/tests/assets/client-certificates/client/alice_cert.pem b/tests/assets/client-certificates/client/trusted/cert.pem similarity index 100% rename from tests/assets/client-certificates/client/alice_cert.pem rename to tests/assets/client-certificates/client/trusted/cert.pem diff --git a/tests/assets/client-certificates/client/alice_csr.pem b/tests/assets/client-certificates/client/trusted/csr.pem similarity index 100% rename from tests/assets/client-certificates/client/alice_csr.pem rename to tests/assets/client-certificates/client/trusted/csr.pem diff --git a/tests/assets/client-certificates/client/alice_key.pem b/tests/assets/client-certificates/client/trusted/key.pem similarity index 100% rename from tests/assets/client-certificates/client/alice_key.pem rename to tests/assets/client-certificates/client/trusted/key.pem diff --git a/tests/assets/client-certificates/server/server_cert2.pem b/tests/assets/client-certificates/server/server_cert2.pem deleted file mode 100644 index 0355fade92..0000000000 --- a/tests/assets/client-certificates/server/server_cert2.pem +++ /dev/null @@ -1,31 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFTTCCAzWgAwIBAgIUTivXxf4wmYQ2SLCYkHRAIa1oI/kwDQYJKoZIhvcNAQEL -BQAwNjESMBAGA1UEAwwJbG9jYWxob3N0MSAwHgYDVQQKDBdDbGllbnQgQ2VydGlm -aWNhdGUgRGVtbzAeFw0yNDA2MjQxMjUyMDlaFw0yNTA2MjQxMjUyMDlaMDYxEjAQ -BgNVBAMMCWxvY2FsaG9zdDEgMB4GA1UECgwXQ2xpZW50IENlcnRpZmljYXRlIERl -bW8wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDHVOjEeKWwo0+X5ZDV -bSVAHUDklVvcCczZWtIc3DOEU84Gc+JP/ug1AhgEAS4LbIMEpyIyzBcm0mMrLT7i -02ci7J3ybIlaIn2gNQ703WaJ2hWQ+GzubFKDCZmiiabCZy/uYyJ9D0EWZ6gK64xx -gWXiiud8Lbje73RwjquKCKDTH8kd4s99taK4UmpXa6ERVUTCbIOCq0rNvJTQYCf6 -XDVZeucnW4CceOyIbeYA0hbBA+WF4BuyC0rDYdyQLNPQPEMwo/thLc9VhEMiL0B0 -QHXvVNO3T0OSVcdgogjTpbAk6thKHjKjeqrwtFaU4pmyT68yxPk6NCKgVfMQTRt2 -5o5kCG3QyoFAWA0jMz+IGtwtjbn0wVFhVfRlX/pUQHrdxn8o+S+ynbM87b7DHEO/ -/RiMAropa4jcVWe0PC+1vJm7bXm1aLt0vUrde8lzYNN1C1iEVbF/yPvGBysxbFrh -Ec4Temuj7B9vFieKf5hw7+lEzVteABUUee+zhmR8lunQz4fa09QB59ot2Z//IZyF -+uduZZjYqV6YAzlulXzXJb+LAdpWVWXZzwq+ORhh0cExkZ0R72qrB7cj3qodR03t -yYCddmK2/Iafw7HoN7Wa0aVFw81NSEyFKwL/Mxs+QQy0jkRzBPCTh8NzdWBA40Qo -ZPjrfBZo3bHAzMFJ95MN2p04OQIDAQABo1MwUTAdBgNVHQ4EFgQUpGMrYBCb6V6L -gjM7kN+rcFqcCYcwHwYDVR0jBBgwFoAUpGMrYBCb6V6LgjM7kN+rcFqcCYcwDwYD -VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAPY42mRjSrkeQBhfINNy+ -W2S+1XIkxVcNyczt4xsxErUesrlStHFthv1n4b2RZbbAREQWNm7d06B0FvQ1/XBn -NAvVKCN6gf/jO+BYv8kn/8TniWVmrlEn9Y3sX8H0bqReYKQD9YmroO8vbHFYpDpY -vOiS1J0S5nePXz1VvhQ7VG3V/OP6jGT1NqDZU39AlbA8NN1WiftB6JxK9UvFQnCf -coG8maKoDtlf4bXTbZMbsF80ocDJLWq0BJjnKy7I79qOr66mt+nqB93v/2zTIToP -FD9Uw3lX+Vseyya3G5AqZZJj2suL/TZx3RkicGZyz/5v7dB0YuX/yjvKtdAif9Lj -w/kaLNeICuiolwSia6Ss1V8IGMYyFoRIKcQyA1pWmSYRbP2b2ZVctK/zGgt2ydHG -OUSENBoUykU3z8k+jr6cNKPwZJBITAD1vN2M6GFfET4R1iw55gcc2D5Tm8dkIHSq -WXoLDpofnABkaowaD5Xe6tySCoHWxpkIDSx8mse/sM8S15azDhL7V+IWWequ7i2p -oG5q19E3uy3IoANZdBzCZoYTcjv/CmTSJMOTMk4MaT4JmtGzMGNWwmr6dVOR1c21 -FuzKN5liY6qRzYgOisPCUwkYXkJelfwup3nK0g3jBI9S8lB2ucfB15dRmwVjGP1G -ySv953S5j/5ZLvJmGkahPTw= ------END CERTIFICATE----- diff --git a/tests/assets/client-certificates/server/server_key2.pem b/tests/assets/client-certificates/server/server_key2.pem deleted file mode 100644 index e06507a230..0000000000 --- a/tests/assets/client-certificates/server/server_key2.pem +++ /dev/null @@ -1,52 +0,0 @@ ------BEGIN PRIVATE KEY----- -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 -3bsZaDP7F6iGp+Kh73PM8Yxe9Pyc ------END PRIVATE KEY----- diff --git a/tests/library/client-certificates.spec.ts b/tests/library/client-certificates.spec.ts index ede2164ddc..622871ae2e 100644 --- a/tests/library/client-certificates.spec.ts +++ b/tests/library/client-certificates.spec.ts @@ -105,8 +105,8 @@ test.describe('fetch', () => { clientCertificates: [{ url: server.PREFIX, certs: [{ - certPath: asset('client-certificates/client/alice_cert.pem'), - keyPath: asset('client-certificates/client/alice_key.pem'), + certPath: asset('client-certificates/client/trusted/cert.pem'), + keyPath: asset('client-certificates/client/trusted/key.pem'), }], }], }); @@ -122,8 +122,8 @@ test.describe('fetch', () => { clientCertificates: [{ url: serverURL, certs: [{ - certPath: asset('client-certificates/client/alice_cert.pem'), - keyPath: asset('client-certificates/client/alice_key.pem'), + certPath: asset('client-certificates/client/trusted/cert.pem'), + keyPath: asset('client-certificates/client/trusted/key.pem'), }], }], }); @@ -136,8 +136,8 @@ test.describe('fetch', () => { clientCertificates: [{ url: serverURL, certs: [{ - certPath: asset('client-certificates/client/bob_cert.pem'), - keyPath: asset('client-certificates/client/bob_key.pem'), + certPath: asset('client-certificates/client/self-signed/cert.pem'), + keyPath: asset('client-certificates/client/self-signed/key.pem'), }], }], }); @@ -153,8 +153,8 @@ test.describe('fetch', () => { clientCertificates: [{ url: serverURL, certs: [{ - certPath: asset('client-certificates/client/alice_cert.pem'), - keyPath: asset('client-certificates/client/alice_key.pem'), + certPath: asset('client-certificates/client/trusted/cert.pem'), + keyPath: asset('client-certificates/client/trusted/key.pem'), }], }], ignoreHTTPSErrors: true, @@ -172,8 +172,8 @@ test.describe('fetch', () => { clientCertificates: [{ url: serverURL, certs: [{ - certPath: asset('client-certificates/client/alice_cert.pem'), - keyPath: asset('client-certificates/client/alice_key.pem'), + certPath: asset('client-certificates/client/trusted/cert.pem'), + keyPath: asset('client-certificates/client/trusted/key.pem'), }], }], }); @@ -201,8 +201,8 @@ test.describe('browser', () => { clientCertificates: [{ url: server.PREFIX, certs: [{ - certPath: asset('client-certificates/client/alice_cert.pem'), - keyPath: asset('client-certificates/client/alice_key.pem'), + certPath: asset('client-certificates/client/trusted/cert.pem'), + keyPath: asset('client-certificates/client/trusted/key.pem'), }], }], }); @@ -218,8 +218,8 @@ test.describe('browser', () => { clientCertificates: [{ url: 'https://not-matching.com', certs: [{ - certPath: asset('client-certificates/client/alice_cert.pem'), - keyPath: asset('client-certificates/client/alice_key.pem'), + certPath: asset('client-certificates/client/trusted/cert.pem'), + keyPath: asset('client-certificates/client/trusted/key.pem'), }], }], }); @@ -233,8 +233,8 @@ test.describe('browser', () => { clientCertificates: [{ url: serverURLRewrittenToLocalhost, certs: [{ - certPath: asset('client-certificates/client/bob_cert.pem'), - keyPath: asset('client-certificates/client/bob_key.pem'), + certPath: asset('client-certificates/client/self-signed/cert.pem'), + keyPath: asset('client-certificates/client/self-signed/key.pem'), }], }], }); @@ -249,8 +249,8 @@ test.describe('browser', () => { clientCertificates: [{ url: serverURLRewrittenToLocalhost, certs: [{ - certPath: asset('client-certificates/client/alice_cert.pem'), - keyPath: asset('client-certificates/client/alice_key.pem'), + certPath: asset('client-certificates/client/trusted/cert.pem'), + keyPath: asset('client-certificates/client/trusted/key.pem'), }], }], }); @@ -272,8 +272,8 @@ test.describe('browser', () => { clientCertificates: [{ url: serverURLRewrittenToLocalhost, certs: [{ - certPath: asset('client-certificates/client/alice_cert.pem'), - keyPath: asset('client-certificates/client/alice_key.pem'), + certPath: asset('client-certificates/client/trusted/cert.pem'), + keyPath: asset('client-certificates/client/trusted/key.pem'), }], }], });