From a56a35647ef8b173302bd30bace1b6a17a3aa58a Mon Sep 17 00:00:00 2001 From: Eric Rodrigues Pires Date: Sun, 4 Jan 2026 11:41:56 -0300 Subject: [PATCH] Use Minica to generate test certificates --- .github/workflows/cachix.yml | 5 +- flake.nix | 1 + justfile | 11 ++++ tests/data/ca/rootCA-key.pem | 42 ++----------- tests/data/ca/rootCA.pem | 36 ++++------- .../certificates/foobar.tld/fullchain.pem | 34 ++++------ .../data/certificates/foobar.tld/privkey.pem | 30 ++------- .../data/certificates/localhost/fullchain.pem | 33 ++++------ tests/data/certificates/localhost/privkey.pem | 30 ++------- tests/data/custom_certificate/README.txt | 1 + tests/data/custom_certificate/fullchain.pem | 13 ++++ tests/data/custom_certificate/privkey.pem | 6 ++ tests/integration/sni_aliasing.rs | 63 +++---------------- tests/integration/sni_aliasing_timeout.rs | 63 +++---------------- tests/integration/sni_proxy.rs | 63 +++---------------- tests/integration/sni_timeout.rs | 63 +++---------------- 16 files changed, 113 insertions(+), 381 deletions(-) create mode 100644 tests/data/custom_certificate/README.txt create mode 100644 tests/data/custom_certificate/fullchain.pem create mode 100644 tests/data/custom_certificate/privkey.pem diff --git a/.github/workflows/cachix.yml b/.github/workflows/cachix.yml index 1e3921c..adc5e39 100644 --- a/.github/workflows/cachix.yml +++ b/.github/workflows/cachix.yml @@ -1,6 +1,9 @@ on: check_suite: - types: [completed] + types: ["completed"] + +permissions: + contents: read concurrency: group: "cachix" diff --git a/flake.nix b/flake.nix index 726f9ff..7586430 100644 --- a/flake.nix +++ b/flake.nix @@ -196,6 +196,7 @@ pkgs.just mdbook mdbook-mermaid + pkgs.minica pkgs.to-html ]; }; diff --git a/justfile b/justfile index 7040cea..3cffe14 100644 --- a/justfile +++ b/justfile @@ -25,6 +25,17 @@ nixos-docs: flamegraph-test test: cargo flamegraph --dev --test {{ test }} +minica: + minica -ca-cert tests/data/ca/rootCA.pem -ca-key tests/data/ca/rootCA-key.pem -domains 'localhost' + mv localhost/cert.pem tests/data/certificates/localhost/fullchain.pem + mv localhost/key.pem tests/data/certificates/localhost/privkey.pem + minica -ca-cert tests/data/ca/rootCA.pem -ca-key tests/data/ca/rootCA-key.pem -domains 'foobar.tld,*.foobar.tld' + mv foobar.tld/cert.pem tests/data/certificates/foobar.tld/fullchain.pem + mv foobar.tld/key.pem tests/data/certificates/foobar.tld/privkey.pem + minica -ca-cert tests/data/ca/rootCA.pem -ca-key tests/data/ca/rootCA-key.pem -domains 'sandhole.com.br' + mv sandhole.com.br/cert.pem tests/data/custom_certificate/fullchain.pem + mv sandhole.com.br/key.pem tests/data/custom_certificate/privkey.pem + install-dev-deps: install-book-deps install-profiling-deps install-test-deps install-book-deps: diff --git a/tests/data/ca/rootCA-key.pem b/tests/data/ca/rootCA-key.pem index a949d7a..f0d730f 100644 --- a/tests/data/ca/rootCA-key.pem +++ b/tests/data/ca/rootCA-key.pem @@ -1,40 +1,6 @@ -----BEGIN PRIVATE KEY----- -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 -WKcloQv42I+K7AkFUNucVjY= +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDAyAST1kgVhI9g741Uu +aKBBJlPBDNJwau9GtzBfJagb7Dv6tsc262XpS4U5IICryzmhZANiAARHf9dqnWo5 +4HH5LjMYG/u00WmMY2HFlDIrmru+dRIpYnGZfBB0s/aOsj5kunNdppYb1jVDoBc/ +806rTRGS+rkHoOR902tkVV0ZKu7bqEYm+DlfWfarWk2Kg6nSi8Ermnk= -----END PRIVATE KEY----- diff --git a/tests/data/ca/rootCA.pem b/tests/data/ca/rootCA.pem index 630fdab..e76e517 100644 --- a/tests/data/ca/rootCA.pem +++ b/tests/data/ca/rootCA.pem @@ -1,27 +1,13 @@ -----BEGIN CERTIFICATE----- -MIIEmjCCAwKgAwIBAgIRAJjYa51AITgq4Tf4h3He4IgwDQYJKoZIhvcNAQELBQAw -ZTEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMR0wGwYDVQQLDBRlcmlj -QGVyaWMtcG9wIChFcmljKTEkMCIGA1UEAwwbbWtjZXJ0IGVyaWNAZXJpYy1wb3Ag -KEVyaWMpMB4XDTI0MTExODE1NDUwOFoXDTM0MTExODE1NDUwOFowZTEeMBwGA1UE -ChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMR0wGwYDVQQLDBRlcmljQGVyaWMtcG9w -IChFcmljKTEkMCIGA1UEAwwbbWtjZXJ0IGVyaWNAZXJpYy1wb3AgKEVyaWMpMIIB -ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAv280OHSps3D4MRauRX9KiLBd -XJ34ecA/72qdcqooKmsGzhRCMHYXRNKt/t2kmWDeDKVzM6QeurP32lgjKuqKNxZJ -OVNS/Ocbcs9l/CLXYslGSQx3d66O1BFc9L1AtWGniy6QqBuQ58XYMrhD+Ph4AqXb -6rZxPCgFWKYGIqhN4kGBLKh9MA+UrUZTRgit0CkWAP3+MG/q+KwGsbyVTu8RBMUR -6TCpOEqnPscR4GUlzygrBF4QoSkmYtFn0GxVgd4bX7GMoQ7iockz42zsV8QTAxdL -Qe3PQemxo0aoiNz4cIOjwMfj5gTqrEf5gsQg/y3fws1YUA2CCt4MkXLbE2ucNKj0 -uNK5cDII+0IpzN4aeVoVowhwORN1mUte090NNzz92wLAWoRVEDX0qUB732ZnGMYW -jQfpZccQ5Aa7gX8E6tN6eLtGfw8k0YN5ja0LCLa3gMejnuoHJcazHbTlmM6gvzrg -2APy4MPUZOGJ6BQtk4QjMASr2+zuA1qT8EFZk1nVAgMBAAGjRTBDMA4GA1UdDwEB -/wQEAwICBDASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS3+yB84S41rTCx -pRqz3ytchwVrgTANBgkqhkiG9w0BAQsFAAOCAYEASh24LdZvlRLM3jGbqL7+MkSN -EPvIbNPxSJ+/yl/k5b8Qdo90x5X2KSwNJ7hb2WKiV++qWZQumgweWpGR8LKOZqfb -t9J4IZZ/ZxwFXVwg+QvIffMD8XAXrjyYN9S6rxvvgPCf0e1MFP3zdkCFr2SVid68 -1sUr/3A60Re1nOfk1RKNN7ZM2G4/YF8c4N7feEURYivTlKYfTjFU01Ps9zXajJ6z -pQW9gJUeu7N/gnr8fisMkuCiSZ0VMnt2MDXp0aEbxzHMRQ70ZaCm6MNX7euafkOP -/teUe9jdxJWfOfDuHdFdHyvVmy5DMwo6DDCsMxS13oE2Rb0YrFs42sLvxfGCyLcl -ci3ICxk9VyjRjhZFVN1J1wXkL3uoiDG7fesY7eBfoerEQXQI2fLpq8ZAkmOPWVsp -bopicDUzn+PDSQ6+/K/FzBDlobqmvITVnS7zVOKm4lsclUGqLDjyaXpnWNc8bZCs -1HS3cmjgByYbPWGq3e3OVqy/NS9ZrhU+irfruMYx +MIIB/TCCAYKgAwIBAgIIR1OiIupsAi0wCgYIKoZIzj0EAwMwIDEeMBwGA1UEAxMV +bWluaWNhIHJvb3QgY2EgNDc1M2EyMCAXDTI2MDEwNDE0MjgyMFoYDzIxMjYwMTA0 +MTQyODIwWjAgMR4wHAYDVQQDExVtaW5pY2Egcm9vdCBjYSA0NzUzYTIwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAARHf9dqnWo54HH5LjMYG/u00WmMY2HFlDIrmru+dRIp +YnGZfBB0s/aOsj5kunNdppYb1jVDoBc/806rTRGS+rkHoOR902tkVV0ZKu7bqEYm ++DlfWfarWk2Kg6nSi8ErmnmjgYYwgYMwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQW +MBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1Ud +DgQWBBQaJsgifbij84kXUapRjk5fLEmc7DAfBgNVHSMEGDAWgBQaJsgifbij84kX +UapRjk5fLEmc7DAKBggqhkjOPQQDAwNpADBmAjEAle6S8zSHdXPHYpGzWTNolz3S ++Bg/lpPwTrDq3olVCOkDQb237uqWBa15amUHGV/fAjEAyrTgZLEqjNLyTVSAbbEr +UXh6GhR3taS+TIiD1hEsfHp+GoSteg6Pr87tLPqQ8mZb -----END CERTIFICATE----- diff --git a/tests/data/certificates/foobar.tld/fullchain.pem b/tests/data/certificates/foobar.tld/fullchain.pem index 162164a..97b6d99 100644 --- a/tests/data/certificates/foobar.tld/fullchain.pem +++ b/tests/data/certificates/foobar.tld/fullchain.pem @@ -1,25 +1,13 @@ -----BEGIN CERTIFICATE----- -MIIEJDCCAoygAwIBAgIQKNdE5NXKqG15misXYzWoBjANBgkqhkiG9w0BAQsFADBl -MR4wHAYDVQQKExVta2NlcnQgZGV2ZWxvcG1lbnQgQ0ExHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMSQwIgYDVQQDDBtta2NlcnQgZXJpY0BlcmljLXBvcCAo -RXJpYykwHhcNMjQxMTE4MTU0NzI5WhcNMjcwMjE4MTU0NzI5WjBIMScwJQYDVQQK -Ex5ta2NlcnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUxHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -w/0Gb8KtbQiIAdaMph9hNsdhFFfXdzZ36eaphEutOuoS825eqyykMdcDoeoz2BIu -iWZBOsId79W0gLNWhDU85g2PjM+n4OXb6s6a6L4cqto4uVg8/v8IQtWSef31sF3/ -PVu+3qSHuwkC6qWr7DGkT13qYT5lUsxQJT7zTND4OcSkSJb6ewKiuPl/EczaEQ1O -nCEwk46vqg3ILmpPixOlQljfeRS67XEEtwoGCXsAkHRmibFJI2dD6yssuLoIFW6K -VZy1t8Z6lwAxqKWAdSo3xdSsbALjQECa49YcdW8RGDuLjx1xD/JoGSg7cXdBHG0W -c/HOk727dlC9HafyX9oxgQIDAQABo20wazAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0l -BAwwCgYIKwYBBQUHAwEwHwYDVR0jBBgwFoAUt/sgfOEuNa0wsaUas98rXIcFa4Ew -IwYDVR0RBBwwGoIKZm9vYmFyLnRsZIIMKi5mb29iYXIudGxkMA0GCSqGSIb3DQEB -CwUAA4IBgQBNUOzvuoC64/+Ewsy4J5KdHQFDWO/S8Cyd02rNF37e80jkdeEB5mjG -uHp6ZMHXob/IzvnpxQRjlZaVsWI949DCTdMe5JFYsmCoIvoMBXIR5sD7mLpp9Oaf -HJrc9Q4C8Zf7Bf3fYwOUyWV1h+I7j72gQVB/lUADDBRwVLKbQXHmKy4dHrbr10cd -0WdHsoD+q8OqEZi8pvBiBdvkcGf5N2FHsS6fL+fodT/EXVmHTmb5TQm8a2SYMfnb -bwLgzQMLX/CNevNbZ+T2I3sIfjNeVniGJkfJ3TXTJjDdXJI52GZHk62234HS9Ln1 -93uaGefH6YLaWMj0AIVtg8Ls2N3Zn1n4Ni9BfEJdNnpriQlksIti5UCx/GSdPBOs -JR7ziVuqN93uIFROeARRtwTwEPMUudWHIMca9Y9Z6PMeaZ1edzmjZrsdHJGgQczy -TjV/4h1m2EU+usC6bymsnYP+hdd8hrfgZUTkV04AXh6BmgXj8arT5+z+Rd0haZ0S -2GTtr0Tm2bQ= +MIIB8DCCAXWgAwIBAgIIPqUTpvX2d7AwCgYIKoZIzj0EAwMwIDEeMBwGA1UEAxMV +bWluaWNhIHJvb3QgY2EgNDc1M2EyMB4XDTI2MDEwNDE0MzQ1NVoXDTI4MDIwMzE0 +MzQ1NVowFTETMBEGA1UEAxMKZm9vYmFyLnRsZDB2MBAGByqGSM49AgEGBSuBBAAi +A2IABApepNmN/dd1iKf8cHBGNAZLS9R4OnP8RAbcvS0qKTFmLuhd0+Q1Jo5L8M0x +LpWGnIa36N9Nk9urcOY5cf349YOkcbPGzWT7gu+sY+Oh9l0+qA+LyginMrutoiaO +gQp506OBhjCBgzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG +CCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUGibIIn24o/OJF1Gq +UY5OXyxJnOwwIwYDVR0RBBwwGoIKZm9vYmFyLnRsZIIMKi5mb29iYXIudGxkMAoG +CCqGSM49BAMDA2kAMGYCMQD50s1qfJmEP4k7Wq+hpFavSnCy5enhBuXLqLoXiAqQ +nn65551IcUgOQQqqLxKGD24CMQDKF0MhP12gUgtx/oO3a4ZJqdrzI+N+LxRetFgT +JHUo+D5gTuHD5I4sHlBpytCZlLA= -----END CERTIFICATE----- diff --git a/tests/data/certificates/foobar.tld/privkey.pem b/tests/data/certificates/foobar.tld/privkey.pem index bc7ba0b..d226283 100644 --- a/tests/data/certificates/foobar.tld/privkey.pem +++ b/tests/data/certificates/foobar.tld/privkey.pem @@ -1,28 +1,6 @@ -----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDD/QZvwq1tCIgB -1oymH2E2x2EUV9d3Nnfp5qmES6066hLzbl6rLKQx1wOh6jPYEi6JZkE6wh3v1bSA -s1aENTzmDY+Mz6fg5dvqzprovhyq2ji5WDz+/whC1ZJ5/fWwXf89W77epIe7CQLq -pavsMaRPXephPmVSzFAlPvNM0Pg5xKRIlvp7AqK4+X8RzNoRDU6cITCTjq+qDcgu -ak+LE6VCWN95FLrtcQS3CgYJewCQdGaJsUkjZ0PrKyy4uggVbopVnLW3xnqXADGo -pYB1KjfF1KxsAuNAQJrj1hx1bxEYO4uPHXEP8mgZKDtxd0EcbRZz8c6Tvbt2UL0d -p/Jf2jGBAgMBAAECggEAGVFMTY+me5lIiIRAsw0Gr97dqZUXXm0I3IxRhaeI/z1R -qWSukgo4Q7/01iu8+sKOhG1TK9X7rAm9QYrpODbwYP+LdbM1ipXm7NQ3qq00YtXB -0h+V8ZLcbFXOkDfAT0I1QKXjaDt01TJ6z/kK1n4rLZ2CM4Gt8R43lDgnkdrE1iFY -3CedW7sUUE9yaqTC/rMi4R6u/9zCrb2bD18XFtglTwlYh18Qdlr6jtWmwK9lduuW -oGqQVA77ApXvfaRqk+tkmIlm9MF0ErVKp96or0mGMMakjyBCYhAgIblqBzxaZiSw -PKiSfTyfdmYwksN9RbDjpu+ZiH3GDEXZKOMC5dPdYQKBgQDQ19nPConHO+zxrsPY -iepPgdfpVnhHdUTKzRfG+zFOINz4xBbKXvScv92pUxmUGfubyP8gIBa/1gq4QKZm -TJAwrY74Xd2KfvJKTH/Hzo3Num9nNuZleTwaMhkGCfM+Ilg1GT4vN9Sos8gMln5p -6HgdCouVZn+DNwnHvOBpZUvszQKBgQDwPhrskBakHBx/DQ+62KfwKDWPISeBeHNU -cBMEuUYQCMocgpD2/BZp94eifjFW+9pLgi/equrxQcp0PWqm6kC7Jdin8AB/uPFg -s9wqDBXeRcqW+slZmjBIRgreZff+q6ZOA2y9OTV+eRoPf9S8Es9/jjErsAQGOyr5 -h1vU6ajXhQKBgH7z5/y6/Dw3yna0dWtJkz0Xwkee/+j4eYQKnryf8D39LjavBOeq -R2qOG9IVqQPls5Tk32oI96tQEx4kdsLTIgflSXbjoIvTVbgivr6Yao04GwaUUgQ3 -aXjHIX0RSWNo/1Pv72RGvSh8eUxlo5z/6xxET8vXDgaWy4Q25fhL0pa1AoGBAM1p -HJY14NXynz7WiSOGCZlil+DIRUIDHgENToWUcF5XVZAo5w/2nKeAGH2MDl3EO3Ki -XpGxa+5aBWN7+8u5sR0TD/sPTy3lkKTRRCbDbJM+8yhCR5SQLEYvdS2Q3Ajo9Onx -LbFgz+dSXkDwWJFyN+5lQo+LEPXO80ClRpR2MIINAoGAD3bVYs+MhElpIkL5p5HB -yOAZtYZAYi8HXhlL1PpNBZm7S31MPORvOjUVBOgy834o6xGUqWMnrzd4eDXCtkuu -ACKJg4iqjRM2qIgIWOR8lWP2NxuwwWi0ghuN2dvKayd4VyjgddkFV0F/xsIcgRGo -f/kzSCIxYfMPYQUF2yboNnw= +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDDDkUrs/XcL6t+ZKyrX +xHe6WMWiaXadtaS+j/Ljqi0Gp5pexi7gudz5kqcguLFIBuyhZANiAAQKXqTZjf3X +dYin/HBwRjQGS0vUeDpz/EQG3L0tKikxZi7oXdPkNSaOS/DNMS6VhpyGt+jfTZPb +q3DmOXH9+PWDpHGzxs1k+4LvrGPjofZdPqgPi8oIpzK7raImjoEKedM= -----END PRIVATE KEY----- diff --git a/tests/data/certificates/localhost/fullchain.pem b/tests/data/certificates/localhost/fullchain.pem index 1f0a053..9d27118 100644 --- a/tests/data/certificates/localhost/fullchain.pem +++ b/tests/data/certificates/localhost/fullchain.pem @@ -1,24 +1,13 @@ -----BEGIN CERTIFICATE----- -MIIEFjCCAn6gAwIBAgIRAKb9ORVh0a9IrVLYY0IKrjMwDQYJKoZIhvcNAQELBQAw -ZTEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMR0wGwYDVQQLDBRlcmlj -QGVyaWMtcG9wIChFcmljKTEkMCIGA1UEAwwbbWtjZXJ0IGVyaWNAZXJpYy1wb3Ag -KEVyaWMpMB4XDTI0MTExODE1NDg0N1oXDTI3MDIxODE1NDg0N1owSDEnMCUGA1UE -ChMebWtjZXJ0IGRldmVsb3BtZW50IGNlcnRpZmljYXRlMR0wGwYDVQQLDBRlcmlj -QGVyaWMtcG9wIChFcmljKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -AKII3pCNmODuxzzKYwtN0cTgJYBMvO5nX3FCm6+7XA3oR30IGWnpQlkQhIWRUcsV -uTyXWBxWPQame+b+N+s4CjwGxvFYr5NChaZjdkWRAca2T8r2HlAlOILaBLrUh6o9 -TQFligmwV+pCObBBtZFd7ZWkMXZUiaMkN38490XeNVmJHCBPrnUN8e4lPk1wwhHX -PdmX2SwROK1x9vN9xp4fRBj4KbzTVeHHtrSpH0W6OJGeTOsa5/nXWHTVKcCQGbfB -1WXLDt35aiJZQsTTe6uGAzTqzh0M8sADzksC/qW9+DQF8KGLiYsrjZSZcpcI9S2S -e1Yu6NphcTl8V6DBCX70848CAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMBMGA1Ud -JQQMMAoGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFLf7IHzhLjWtMLGlGrPfK1yHBWuB -MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAYEAKp/ekinJ -pytmSEbeAM9d6mKcNVCXwLa3y+/6MxMwtc7mCx/rMIPCSM5DdCOwhQFd4nEWTGXo -qEcikooW0gOX4ds0FGJpA2jyH8+3YvRfzvi3a135MpLajNA68GTjXF3vM+j1s/pn -zrL9Vak5NQB0CLB02IhXxf4E7CU3UTfJ9DDrdBE5tBe4m2YxNvKxXKjC3gnFSQwv -YLnQPGM8Rajb2l3otQsjiWQ4qIuJp7VeEK71jRXvQ06pnbqHvCxwl4VB+YUpYI9E -C8L8St9YXYsU8zbm9BywXS4jvMZJC3cYzXKY970DGofIh+rgVetdijoItJxCklEM -8M4LHAwN3as9iw/BoKQvneNAgO0gwEiS0lw2okgkhJS6RzWP1q5/j/lNPXCpE8yE -GVg5JVyIvkkLB+mTGU4HSrrxt/5P9tJ6BayibMb3hLxqQPgz41pxyG8KSTvn4FGf -ZJ+vwgVp92BhkoFqdv63xSM8DK4iMF2gCoVVfUm2QRJAOW2T5K38uyrE +MIIB3TCCAWOgAwIBAgIIYKNirFVzQ38wCgYIKoZIzj0EAwMwIDEeMBwGA1UEAxMV +bWluaWNhIHJvb3QgY2EgNDc1M2EyMB4XDTI2MDEwNDE0MzQ1NVoXDTI4MDIwMzE0 +MzQ1NVowFDESMBAGA1UEAxMJbG9jYWxob3N0MHYwEAYHKoZIzj0CAQYFK4EEACID +YgAETXWzt/7OiAWQJMAscBeVV+wIa7n1laNC7POV+V5fzS46GtrtZfcxLKvZilN0 +Be1y+ucecV0miyMxvBNlL4SBhJr/bEzTy0uLahwO2KzohDszAJ0JJogpi66sz0vh +MI1Co3YwdDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG +AQUFBwMCMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUGibIIn24o/OJF1GqUY5O +XyxJnOwwFAYDVR0RBA0wC4IJbG9jYWxob3N0MAoGCCqGSM49BAMDA2gAMGUCMHD/ +Ytg+iMyAnp+uue/W6dYfA0UbtmbufpVI5VDmE81Z1OAKN8k2JBmtwwOJ+K8HAgIx +AMxD9asNhTUbA8wJyox1Me1wRy1S77LC2TgDGx8+cucwefNVHXatcedvzYwEvuaT +fw== -----END CERTIFICATE----- diff --git a/tests/data/certificates/localhost/privkey.pem b/tests/data/certificates/localhost/privkey.pem index c44a186..826635c 100644 --- a/tests/data/certificates/localhost/privkey.pem +++ b/tests/data/certificates/localhost/privkey.pem @@ -1,28 +1,6 @@ -----BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCiCN6QjZjg7sc8 -ymMLTdHE4CWATLzuZ19xQpuvu1wN6Ed9CBlp6UJZEISFkVHLFbk8l1gcVj0Gpnvm -/jfrOAo8BsbxWK+TQoWmY3ZFkQHGtk/K9h5QJTiC2gS61IeqPU0BZYoJsFfqQjmw -QbWRXe2VpDF2VImjJDd/OPdF3jVZiRwgT651DfHuJT5NcMIR1z3Zl9ksETitcfbz -fcaeH0QY+Cm801Xhx7a0qR9FujiRnkzrGuf511h01SnAkBm3wdVlyw7d+WoiWULE -03urhgM06s4dDPLAA85LAv6lvfg0BfChi4mLK42UmXKXCPUtkntWLujaYXE5fFeg -wQl+9POPAgMBAAECggEAKDBo+5OTSp8O3b4ZCNG5aMprosHlzn/nRVFPCiw/bdeh -+5oJq6JGaY7WP8bGccemlSe4m/ar1j1u1+FP/1B8AV1w9KWZjr3eJmHfEOwhc6b+ -bYnUBO7mcFYg/DIAoDHqKqGDtll9xMW+R0BVB4QzjH0YI5BePw+ZkD2R30t5Egax -yqrO6KltPy6KUSy2ncz97g5cVGVW1cgd2G5knixqMi+mqpfzzLDOJvgwUdWNF8rh -gzEPfRoXvCEJS8MwVSCpiluZpfB3r6lMlMqTsucMLu0GIz76rp7tMRDcjFD8WkQh -eg8TiWNsf9urYQTxeaXkWRRgSWfEmwQqp3fDL9Xm8QKBgQDDN57+5e63ZfC0NRsX -ys6eVbL9bsGjhR58vPMNASHVtGOy0CTdauL/eObCxqrGOUaII2e89hKAridV9E3i -8COetshpWf1PGDhM9R3UBHbNDHSAoYJur7wMZA2WTpR7QgZIItuuYzH86UNZjqdj -9HlQTBm0KJ2P5IxDL2ZIY6ZcJwKBgQDUfFPeKzB1oOMkB8AdrZTjUFvR+px3M3Yd -hYT1zAgedQ5JD0Gvn4AlJjWPidm2U/8c3PO2ZAyVB0DmithtK/yKIyQpCu+ncJuT -/i6xqVDF9mydtCgqHJIYfYSqpBZnzmHvnUdOCaymFV8mVG2Paxh5qKnzCk4f7/2E -2WLGqBoGWQKBgQCFfrOre3ES2RMRKH+udXF1tQUBaYvhVlbS1iMe8XdBvGmxDcUn -5L/2E6c56sE9bE1fK1b1URC2DmG31aitV6oEDtpdsLwYKmfVuIj9Q1A6SBojHE8l -gecGUiU4c+P1peDF05CGYC7+1ETKKVMudy++SUwKdvvIOnHwP6miNwK8YQKBgGLD -vz/fF1E1jR5sM9IXosLd0TASqrOFSfuC2kBdq9BsXE19N+zn2GpsDi0/x+BFvqit -0uIOMwL6MiJ2mw5ziZizqNUi7i4H22i4lv+hUZgSaH4NBTY9vXKAtS+TwY5SkZcM -pd4SBRvVhzqLt7kX8HJsAUKkoZeat14OpSjtbdtRAoGBALJEZc9Hvo8RI6NLi58n -314CLFcRi8hH+mrovNOdXiMw3zNP7vNJG1vC0KiwRTXs01W5t0+/U92ZFRRFUfR7 -GX9uKJir9sUOlawtikwX1D5QLnuP1dMYy30ucwUC5MzH2s23c+a7DAW6SFNJpOoz -Qh1bUhi71syb8oD5Zu7E3xgr +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDAze9V2svj+kDPMo/wQ +bZIymFAMBf8uWpxOZQxzuVMosRehOhIG17+BVQOj/LfQIbWhZANiAARNdbO3/s6I +BZAkwCxwF5VX7AhrufWVo0Ls85X5Xl/NLjoa2u1l9zEsq9mKU3QF7XL65x5xXSaL +IzG8E2UvhIGEmv9sTNPLS4tqHA7YrOiEOzMAnQkmiCmLrqzPS+EwjUI= -----END PRIVATE KEY----- diff --git a/tests/data/custom_certificate/README.txt b/tests/data/custom_certificate/README.txt new file mode 100644 index 0000000..a4045ca --- /dev/null +++ b/tests/data/custom_certificate/README.txt @@ -0,0 +1 @@ +Certificate is valid for "sandhole.com.br" diff --git a/tests/data/custom_certificate/fullchain.pem b/tests/data/custom_certificate/fullchain.pem new file mode 100644 index 0000000..1b7b449 --- /dev/null +++ b/tests/data/custom_certificate/fullchain.pem @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB6DCCAW+gAwIBAgIIL1+je+PdWDkwCgYIKoZIzj0EAwMwIDEeMBwGA1UEAxMV +bWluaWNhIHJvb3QgY2EgNDc1M2EyMB4XDTI2MDEwNDE0MzQ1NVoXDTI4MDIwMzE0 +MzQ1NVowGjEYMBYGA1UEAxMPc2FuZGhvbGUuY29tLmJyMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAEinKaIKA7vtc11hCYFFd1IZRlplXnKotDbczhGwpx8KBacMXhamXZ +lOBn86KSV5+hExjIljr+L3054NtzTsKbbIU+8nqSQsmvDt8aetOIhkeUDiz4ehBf +F7QCcHUcoEpBo3wwejAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH +AwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUGibIIn24o/OJ +F1GqUY5OXyxJnOwwGgYDVR0RBBMwEYIPc2FuZGhvbGUuY29tLmJyMAoGCCqGSM49 +BAMDA2cAMGQCMDFlith+n5J54k6oHvXMWuG3Hv1B3+gnQXHsNxEhpZ6siPTVeb6A +qfmNqIGR6YMHCgIwGm1qjGo/C+IKbqPYotQj/G5d9v9EC3W9wpvzyzLtHgAnszQf +e/R54ePDPVwHz4Hq +-----END CERTIFICATE----- diff --git a/tests/data/custom_certificate/privkey.pem b/tests/data/custom_certificate/privkey.pem new file mode 100644 index 0000000..e80f1e9 --- /dev/null +++ b/tests/data/custom_certificate/privkey.pem @@ -0,0 +1,6 @@ +-----BEGIN PRIVATE KEY----- +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDC6h3IWUJk/Mq5MSVas +1TNFmBIgVnvOCnggx/qNPuVpCvlvPXk8U0W2JMcUcXVjsXWhZANiAASKcpogoDu+ +1zXWEJgUV3UhlGWmVecqi0NtzOEbCnHwoFpwxeFqZdmU4GfzopJXn6ETGMiWOv4v +fTng23NOwptshT7yepJCya8O3xp604iGR5QOLPh6EF8XtAJwdRygSkE= +-----END PRIVATE KEY----- diff --git a/tests/integration/sni_aliasing.rs b/tests/integration/sni_aliasing.rs index da27689..cd0d938 100644 --- a/tests/integration/sni_aliasing.rs +++ b/tests/integration/sni_aliasing.rs @@ -34,61 +34,14 @@ use tower::Service; use crate::common::SandholeHandle; // Certificate for sandhole.com.br with custom CA -const TLS_CERTIFICATE: &str = "-----BEGIN CERTIFICATE----- -MIIEGzCCAoOgAwIBAgIQKpoWlpOe+o/75k2YOODeVzANBgkqhkiG9w0BAQsFADBl -MR4wHAYDVQQKExVta2NlcnQgZGV2ZWxvcG1lbnQgQ0ExHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMSQwIgYDVQQDDBtta2NlcnQgZXJpY0BlcmljLXBvcCAo -RXJpYykwHhcNMjUwMzI4MDExMDI0WhcNMjcwNjI4MDExMDI0WjBIMScwJQYDVQQK -Ex5ta2NlcnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUxHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -0IYz3Shy2GM7g8usGNO2ezCEgwsslrBX/VHE/nOlt/IUI2O3OIjNyP/smjITM8nu -6hHVsxBBEFS5e3D9HJUTRi8sftzZ4+lzWDSP6eYh8IeVk+taFbeQ2VKbSrhKsdHT -7URaV7o2IGYiKIMdTxD314aIZ5p+tRrMJyuFOmV1RU+jlnaa1n522fs8fC2AGkyt -aYP7NrqKoTvqTv9I9loxpbXxQMHUATZSoABnG/A7Ije4QsdeaE4i8ZABzVaCGSCl -IBKdbpOtLiT/RHKL0wMpJ+DlSWQnyOwz+mpM3R83my5x7WJrTB1eu5ro9vBR9NW3 -CuLNNjOkW1kxUdqaObVirwIDAQABo2QwYjAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0l -BAwwCgYIKwYBBQUHAwEwHwYDVR0jBBgwFoAUt/sgfOEuNa0wsaUas98rXIcFa4Ew -GgYDVR0RBBMwEYIPc2FuZGhvbGUuY29tLmJyMA0GCSqGSIb3DQEBCwUAA4IBgQBz -VYkidjXl6wdn6Lng0oKQBzJxBTSRFfG+gYetuXjL8t5XTu+THYUpd9gjjZ3Fikug -bm09qAAGzmYCk+RcEkcOTM6BBZoDwk9zxwTmIi+sTqnCicXi3KpwTY890OTsZlJ8 -LRpGHFvPT8Kv6dnZNbFqwoqFH1gUjoHdXNbwvzk6alXrRou3o9QjRJNctbOMekIW -sb24kNUsQ6VrLA2dHssSqKcZaiZvheXhLGYFLS4FPKfmFSXKpE6kjaWHRnKPa4bz -VuMylFcMWBI+62N6uWo9l5pcWWp12hwt7FskJmC6ROWJ08gEJTm1p7G7ZPq1/ygf -dtw9MMzodcnHvIBylk9B7mkAckgOvmnnLsKtVOvD73nZYpZJovYeBMj/RPLUcUtq -n3cJTrBy2R+HYXfW3I14esz2kskcpYeJP1ateSOtvQcIH0cFkgS+uREl+9WO31NE -84Ps5Z/Z0Wr7FeBl7AJ9dvI2EgUuNVcYRpvlJSFQhrtxho/pqywVP3S6Yjz6nkA= ------END CERTIFICATE----- -"; - -const TLS_KEY: &str = "-----BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDQhjPdKHLYYzuD -y6wY07Z7MISDCyyWsFf9UcT+c6W38hQjY7c4iM3I/+yaMhMzye7qEdWzEEEQVLl7 -cP0clRNGLyx+3Nnj6XNYNI/p5iHwh5WT61oVt5DZUptKuEqx0dPtRFpXujYgZiIo -gx1PEPfXhohnmn61GswnK4U6ZXVFT6OWdprWfnbZ+zx8LYAaTK1pg/s2uoqhO+pO -/0j2WjGltfFAwdQBNlKgAGcb8DsiN7hCx15oTiLxkAHNVoIZIKUgEp1uk60uJP9E -covTAykn4OVJZCfI7DP6akzdHzebLnHtYmtMHV67muj28FH01bcK4s02M6RbWTFR -2po5tWKvAgMBAAECggEAEWxlQQF0NyhzfJu0EY7/HGP9boWsgBrT/1Kpxykam7ga -fqqCULL9nuHjfy7X8+fXkq9Sz9d32El8Bhh2zcCXD7I5YZBKlISZIrGhpMWZ6GMr -2GQ97rqb28zPNPsZIqqJrrWbZuEkTKi8Ce6KsGSWkOeo1h9OnwtSK6OzSiHYHqZW -HHWjJJINVKES6BVst/rOzKm6RpfPJtU45gl0BqfZqHZD8AvzOS1Wfic/0xnuOnUo -P5iqxxgqbObNpoKzART6XAvlDzw6DyTCXgw5PhYvLf6IHB5JdWg/6BE3kKX9mHWY -ufjJB///7alAxeWyvTsvtIUDKFKMCTUKRZ/WYlzxoQKBgQDTK48I1sNLCXR15Mns -XsweTyv7E/lv0TqO4BWG1wIAEhFh9fqelwavoS+sI3Hq39UyA0RfVYS5Jzmzy5E1 -kyF/a7UuCDoiJIBt0g4U3jSMfaCZ7RXZ5nWhjo1gSlzTHPcS7tQznZ8GwLYjLFyY -L6n7dsMUAC2dr/ogOqji1ZlR0wKBgQD8ytihCuUoIuFN7HUeC48zr4sZvU3VIDW6 -pldt9+TNJPGViryVep2bWi0DyjkP6fav6dLrowLwAUHNel4xO2Kn/n9qw/m9XphX -uGU+75kSRz/Sb6Q/38PteXYXrrx9n4on2aVzq9POFcQfB2w9R5rz4PJMUN8dHuK8 -0SiNlnGGNQKBgQDQaKT57DtBy0sNL4e5qLV7FFgrrEL5gF1ytOWJ9pkayLovHD0E -V7lZjJMoKLM9Qzt96IuKKzSaJ4RjVf0yCst8nihqDeSR3cSCnlUXc1YZccMXJ03x -h+mAUNhmt/10vZl7LgpwBpf0ai1X+WhJKoFwlH1jN+nNPuh09m/Hr1dp0QKBgQCg -Mf+j1l6v16LFmdICLzsZeuYAcrlvFRFXbfA7zPsekYnSxW+KnoBgIX4jR7RvhEmC -4v95ufyzkWhcyW4FbuevJBUk2Hpb6iVKeZ0XjAiJz8L/HSaOH8RuqikPCvmB9mc7 -p640pi/8CkkVjMOn9ceZQvTpLdql/pubIkS7rRnV/QKBgQDK68UzGJJrK2MWuecE -gv/IFroGyBkT+srvbFP9VVbS8GZgxU/Io88UnQz8j3NW96gvyIJha9JpjGhSt7fA -8FDgfgzg3Yk2dumXG51R/LpITxB9mwuqWPZZ/sTVK2OOoxXD3ooeyC257TltLJ5k -o6ioYnJQHPsfaym/DY0seYghtg== ------END PRIVATE KEY----- -"; +const TLS_CERTIFICATE: &str = include_str!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/tests/data/custom_certificate/fullchain.pem" +)); +const TLS_KEY: &str = include_str!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/tests/data/custom_certificate/privkey.pem" +)); /// This test ensures that local forwarding works for SNI proxies. #[test_log::test(tokio::test(flavor = "multi_thread"))] diff --git a/tests/integration/sni_aliasing_timeout.rs b/tests/integration/sni_aliasing_timeout.rs index c9322b9..df2a638 100644 --- a/tests/integration/sni_aliasing_timeout.rs +++ b/tests/integration/sni_aliasing_timeout.rs @@ -33,61 +33,14 @@ use tower::Service; use crate::common::SandholeHandle; // Certificate for sandhole.com.br with custom CA -const TLS_CERTIFICATE: &str = "-----BEGIN CERTIFICATE----- -MIIEGzCCAoOgAwIBAgIQKpoWlpOe+o/75k2YOODeVzANBgkqhkiG9w0BAQsFADBl -MR4wHAYDVQQKExVta2NlcnQgZGV2ZWxvcG1lbnQgQ0ExHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMSQwIgYDVQQDDBtta2NlcnQgZXJpY0BlcmljLXBvcCAo -RXJpYykwHhcNMjUwMzI4MDExMDI0WhcNMjcwNjI4MDExMDI0WjBIMScwJQYDVQQK -Ex5ta2NlcnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUxHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -0IYz3Shy2GM7g8usGNO2ezCEgwsslrBX/VHE/nOlt/IUI2O3OIjNyP/smjITM8nu -6hHVsxBBEFS5e3D9HJUTRi8sftzZ4+lzWDSP6eYh8IeVk+taFbeQ2VKbSrhKsdHT -7URaV7o2IGYiKIMdTxD314aIZ5p+tRrMJyuFOmV1RU+jlnaa1n522fs8fC2AGkyt -aYP7NrqKoTvqTv9I9loxpbXxQMHUATZSoABnG/A7Ije4QsdeaE4i8ZABzVaCGSCl -IBKdbpOtLiT/RHKL0wMpJ+DlSWQnyOwz+mpM3R83my5x7WJrTB1eu5ro9vBR9NW3 -CuLNNjOkW1kxUdqaObVirwIDAQABo2QwYjAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0l -BAwwCgYIKwYBBQUHAwEwHwYDVR0jBBgwFoAUt/sgfOEuNa0wsaUas98rXIcFa4Ew -GgYDVR0RBBMwEYIPc2FuZGhvbGUuY29tLmJyMA0GCSqGSIb3DQEBCwUAA4IBgQBz -VYkidjXl6wdn6Lng0oKQBzJxBTSRFfG+gYetuXjL8t5XTu+THYUpd9gjjZ3Fikug -bm09qAAGzmYCk+RcEkcOTM6BBZoDwk9zxwTmIi+sTqnCicXi3KpwTY890OTsZlJ8 -LRpGHFvPT8Kv6dnZNbFqwoqFH1gUjoHdXNbwvzk6alXrRou3o9QjRJNctbOMekIW -sb24kNUsQ6VrLA2dHssSqKcZaiZvheXhLGYFLS4FPKfmFSXKpE6kjaWHRnKPa4bz -VuMylFcMWBI+62N6uWo9l5pcWWp12hwt7FskJmC6ROWJ08gEJTm1p7G7ZPq1/ygf -dtw9MMzodcnHvIBylk9B7mkAckgOvmnnLsKtVOvD73nZYpZJovYeBMj/RPLUcUtq -n3cJTrBy2R+HYXfW3I14esz2kskcpYeJP1ateSOtvQcIH0cFkgS+uREl+9WO31NE -84Ps5Z/Z0Wr7FeBl7AJ9dvI2EgUuNVcYRpvlJSFQhrtxho/pqywVP3S6Yjz6nkA= ------END CERTIFICATE----- -"; - -const TLS_KEY: &str = "-----BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDQhjPdKHLYYzuD -y6wY07Z7MISDCyyWsFf9UcT+c6W38hQjY7c4iM3I/+yaMhMzye7qEdWzEEEQVLl7 -cP0clRNGLyx+3Nnj6XNYNI/p5iHwh5WT61oVt5DZUptKuEqx0dPtRFpXujYgZiIo -gx1PEPfXhohnmn61GswnK4U6ZXVFT6OWdprWfnbZ+zx8LYAaTK1pg/s2uoqhO+pO -/0j2WjGltfFAwdQBNlKgAGcb8DsiN7hCx15oTiLxkAHNVoIZIKUgEp1uk60uJP9E -covTAykn4OVJZCfI7DP6akzdHzebLnHtYmtMHV67muj28FH01bcK4s02M6RbWTFR -2po5tWKvAgMBAAECggEAEWxlQQF0NyhzfJu0EY7/HGP9boWsgBrT/1Kpxykam7ga -fqqCULL9nuHjfy7X8+fXkq9Sz9d32El8Bhh2zcCXD7I5YZBKlISZIrGhpMWZ6GMr -2GQ97rqb28zPNPsZIqqJrrWbZuEkTKi8Ce6KsGSWkOeo1h9OnwtSK6OzSiHYHqZW -HHWjJJINVKES6BVst/rOzKm6RpfPJtU45gl0BqfZqHZD8AvzOS1Wfic/0xnuOnUo -P5iqxxgqbObNpoKzART6XAvlDzw6DyTCXgw5PhYvLf6IHB5JdWg/6BE3kKX9mHWY -ufjJB///7alAxeWyvTsvtIUDKFKMCTUKRZ/WYlzxoQKBgQDTK48I1sNLCXR15Mns -XsweTyv7E/lv0TqO4BWG1wIAEhFh9fqelwavoS+sI3Hq39UyA0RfVYS5Jzmzy5E1 -kyF/a7UuCDoiJIBt0g4U3jSMfaCZ7RXZ5nWhjo1gSlzTHPcS7tQznZ8GwLYjLFyY -L6n7dsMUAC2dr/ogOqji1ZlR0wKBgQD8ytihCuUoIuFN7HUeC48zr4sZvU3VIDW6 -pldt9+TNJPGViryVep2bWi0DyjkP6fav6dLrowLwAUHNel4xO2Kn/n9qw/m9XphX -uGU+75kSRz/Sb6Q/38PteXYXrrx9n4on2aVzq9POFcQfB2w9R5rz4PJMUN8dHuK8 -0SiNlnGGNQKBgQDQaKT57DtBy0sNL4e5qLV7FFgrrEL5gF1ytOWJ9pkayLovHD0E -V7lZjJMoKLM9Qzt96IuKKzSaJ4RjVf0yCst8nihqDeSR3cSCnlUXc1YZccMXJ03x -h+mAUNhmt/10vZl7LgpwBpf0ai1X+WhJKoFwlH1jN+nNPuh09m/Hr1dp0QKBgQCg -Mf+j1l6v16LFmdICLzsZeuYAcrlvFRFXbfA7zPsekYnSxW+KnoBgIX4jR7RvhEmC -4v95ufyzkWhcyW4FbuevJBUk2Hpb6iVKeZ0XjAiJz8L/HSaOH8RuqikPCvmB9mc7 -p640pi/8CkkVjMOn9ceZQvTpLdql/pubIkS7rRnV/QKBgQDK68UzGJJrK2MWuecE -gv/IFroGyBkT+srvbFP9VVbS8GZgxU/Io88UnQz8j3NW96gvyIJha9JpjGhSt7fA -8FDgfgzg3Yk2dumXG51R/LpITxB9mwuqWPZZ/sTVK2OOoxXD3ooeyC257TltLJ5k -o6ioYnJQHPsfaym/DY0seYghtg== ------END PRIVATE KEY----- -"; +const TLS_CERTIFICATE: &str = include_str!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/tests/data/custom_certificate/fullchain.pem" +)); +const TLS_KEY: &str = include_str!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/tests/data/custom_certificate/privkey.pem" +)); /// This test ensures that an aliased SNI connection times out after a certain /// time configured by the server. diff --git a/tests/integration/sni_proxy.rs b/tests/integration/sni_proxy.rs index 672063c..e0da496 100644 --- a/tests/integration/sni_proxy.rs +++ b/tests/integration/sni_proxy.rs @@ -31,61 +31,14 @@ use tower::Service; use crate::common::SandholeHandle; // Certificate for sandhole.com.br with custom CA -const TLS_CERTIFICATE: &str = "-----BEGIN CERTIFICATE----- -MIIEGzCCAoOgAwIBAgIQKpoWlpOe+o/75k2YOODeVzANBgkqhkiG9w0BAQsFADBl -MR4wHAYDVQQKExVta2NlcnQgZGV2ZWxvcG1lbnQgQ0ExHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMSQwIgYDVQQDDBtta2NlcnQgZXJpY0BlcmljLXBvcCAo -RXJpYykwHhcNMjUwMzI4MDExMDI0WhcNMjcwNjI4MDExMDI0WjBIMScwJQYDVQQK -Ex5ta2NlcnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUxHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -0IYz3Shy2GM7g8usGNO2ezCEgwsslrBX/VHE/nOlt/IUI2O3OIjNyP/smjITM8nu -6hHVsxBBEFS5e3D9HJUTRi8sftzZ4+lzWDSP6eYh8IeVk+taFbeQ2VKbSrhKsdHT -7URaV7o2IGYiKIMdTxD314aIZ5p+tRrMJyuFOmV1RU+jlnaa1n522fs8fC2AGkyt -aYP7NrqKoTvqTv9I9loxpbXxQMHUATZSoABnG/A7Ije4QsdeaE4i8ZABzVaCGSCl -IBKdbpOtLiT/RHKL0wMpJ+DlSWQnyOwz+mpM3R83my5x7WJrTB1eu5ro9vBR9NW3 -CuLNNjOkW1kxUdqaObVirwIDAQABo2QwYjAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0l -BAwwCgYIKwYBBQUHAwEwHwYDVR0jBBgwFoAUt/sgfOEuNa0wsaUas98rXIcFa4Ew -GgYDVR0RBBMwEYIPc2FuZGhvbGUuY29tLmJyMA0GCSqGSIb3DQEBCwUAA4IBgQBz -VYkidjXl6wdn6Lng0oKQBzJxBTSRFfG+gYetuXjL8t5XTu+THYUpd9gjjZ3Fikug -bm09qAAGzmYCk+RcEkcOTM6BBZoDwk9zxwTmIi+sTqnCicXi3KpwTY890OTsZlJ8 -LRpGHFvPT8Kv6dnZNbFqwoqFH1gUjoHdXNbwvzk6alXrRou3o9QjRJNctbOMekIW -sb24kNUsQ6VrLA2dHssSqKcZaiZvheXhLGYFLS4FPKfmFSXKpE6kjaWHRnKPa4bz -VuMylFcMWBI+62N6uWo9l5pcWWp12hwt7FskJmC6ROWJ08gEJTm1p7G7ZPq1/ygf -dtw9MMzodcnHvIBylk9B7mkAckgOvmnnLsKtVOvD73nZYpZJovYeBMj/RPLUcUtq -n3cJTrBy2R+HYXfW3I14esz2kskcpYeJP1ateSOtvQcIH0cFkgS+uREl+9WO31NE -84Ps5Z/Z0Wr7FeBl7AJ9dvI2EgUuNVcYRpvlJSFQhrtxho/pqywVP3S6Yjz6nkA= ------END CERTIFICATE----- -"; - -const TLS_KEY: &str = "-----BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDQhjPdKHLYYzuD -y6wY07Z7MISDCyyWsFf9UcT+c6W38hQjY7c4iM3I/+yaMhMzye7qEdWzEEEQVLl7 -cP0clRNGLyx+3Nnj6XNYNI/p5iHwh5WT61oVt5DZUptKuEqx0dPtRFpXujYgZiIo -gx1PEPfXhohnmn61GswnK4U6ZXVFT6OWdprWfnbZ+zx8LYAaTK1pg/s2uoqhO+pO -/0j2WjGltfFAwdQBNlKgAGcb8DsiN7hCx15oTiLxkAHNVoIZIKUgEp1uk60uJP9E -covTAykn4OVJZCfI7DP6akzdHzebLnHtYmtMHV67muj28FH01bcK4s02M6RbWTFR -2po5tWKvAgMBAAECggEAEWxlQQF0NyhzfJu0EY7/HGP9boWsgBrT/1Kpxykam7ga -fqqCULL9nuHjfy7X8+fXkq9Sz9d32El8Bhh2zcCXD7I5YZBKlISZIrGhpMWZ6GMr -2GQ97rqb28zPNPsZIqqJrrWbZuEkTKi8Ce6KsGSWkOeo1h9OnwtSK6OzSiHYHqZW -HHWjJJINVKES6BVst/rOzKm6RpfPJtU45gl0BqfZqHZD8AvzOS1Wfic/0xnuOnUo -P5iqxxgqbObNpoKzART6XAvlDzw6DyTCXgw5PhYvLf6IHB5JdWg/6BE3kKX9mHWY -ufjJB///7alAxeWyvTsvtIUDKFKMCTUKRZ/WYlzxoQKBgQDTK48I1sNLCXR15Mns -XsweTyv7E/lv0TqO4BWG1wIAEhFh9fqelwavoS+sI3Hq39UyA0RfVYS5Jzmzy5E1 -kyF/a7UuCDoiJIBt0g4U3jSMfaCZ7RXZ5nWhjo1gSlzTHPcS7tQznZ8GwLYjLFyY -L6n7dsMUAC2dr/ogOqji1ZlR0wKBgQD8ytihCuUoIuFN7HUeC48zr4sZvU3VIDW6 -pldt9+TNJPGViryVep2bWi0DyjkP6fav6dLrowLwAUHNel4xO2Kn/n9qw/m9XphX -uGU+75kSRz/Sb6Q/38PteXYXrrx9n4on2aVzq9POFcQfB2w9R5rz4PJMUN8dHuK8 -0SiNlnGGNQKBgQDQaKT57DtBy0sNL4e5qLV7FFgrrEL5gF1ytOWJ9pkayLovHD0E -V7lZjJMoKLM9Qzt96IuKKzSaJ4RjVf0yCst8nihqDeSR3cSCnlUXc1YZccMXJ03x -h+mAUNhmt/10vZl7LgpwBpf0ai1X+WhJKoFwlH1jN+nNPuh09m/Hr1dp0QKBgQCg -Mf+j1l6v16LFmdICLzsZeuYAcrlvFRFXbfA7zPsekYnSxW+KnoBgIX4jR7RvhEmC -4v95ufyzkWhcyW4FbuevJBUk2Hpb6iVKeZ0XjAiJz8L/HSaOH8RuqikPCvmB9mc7 -p640pi/8CkkVjMOn9ceZQvTpLdql/pubIkS7rRnV/QKBgQDK68UzGJJrK2MWuecE -gv/IFroGyBkT+srvbFP9VVbS8GZgxU/Io88UnQz8j3NW96gvyIJha9JpjGhSt7fA -8FDgfgzg3Yk2dumXG51R/LpITxB9mwuqWPZZ/sTVK2OOoxXD3ooeyC257TltLJ5k -o6ioYnJQHPsfaym/DY0seYghtg== ------END PRIVATE KEY----- -"; +const TLS_CERTIFICATE: &str = include_str!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/tests/data/custom_certificate/fullchain.pem" +)); +const TLS_KEY: &str = include_str!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/tests/data/custom_certificate/privkey.pem" +)); /// This test ensures that SNI proxies can be connected to. #[test_log::test(tokio::test(flavor = "multi_thread"))] diff --git a/tests/integration/sni_timeout.rs b/tests/integration/sni_timeout.rs index 54734d5..33b5ee2 100644 --- a/tests/integration/sni_timeout.rs +++ b/tests/integration/sni_timeout.rs @@ -29,61 +29,14 @@ use tower::Service; use crate::common::SandholeHandle; // Certificate for sandhole.com.br with custom CA -const TLS_CERTIFICATE: &str = "-----BEGIN CERTIFICATE----- -MIIEGzCCAoOgAwIBAgIQKpoWlpOe+o/75k2YOODeVzANBgkqhkiG9w0BAQsFADBl -MR4wHAYDVQQKExVta2NlcnQgZGV2ZWxvcG1lbnQgQ0ExHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMSQwIgYDVQQDDBtta2NlcnQgZXJpY0BlcmljLXBvcCAo -RXJpYykwHhcNMjUwMzI4MDExMDI0WhcNMjcwNjI4MDExMDI0WjBIMScwJQYDVQQK -Ex5ta2NlcnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUxHTAbBgNVBAsMFGVyaWNA -ZXJpYy1wb3AgKEVyaWMpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -0IYz3Shy2GM7g8usGNO2ezCEgwsslrBX/VHE/nOlt/IUI2O3OIjNyP/smjITM8nu -6hHVsxBBEFS5e3D9HJUTRi8sftzZ4+lzWDSP6eYh8IeVk+taFbeQ2VKbSrhKsdHT -7URaV7o2IGYiKIMdTxD314aIZ5p+tRrMJyuFOmV1RU+jlnaa1n522fs8fC2AGkyt -aYP7NrqKoTvqTv9I9loxpbXxQMHUATZSoABnG/A7Ije4QsdeaE4i8ZABzVaCGSCl -IBKdbpOtLiT/RHKL0wMpJ+DlSWQnyOwz+mpM3R83my5x7WJrTB1eu5ro9vBR9NW3 -CuLNNjOkW1kxUdqaObVirwIDAQABo2QwYjAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0l -BAwwCgYIKwYBBQUHAwEwHwYDVR0jBBgwFoAUt/sgfOEuNa0wsaUas98rXIcFa4Ew -GgYDVR0RBBMwEYIPc2FuZGhvbGUuY29tLmJyMA0GCSqGSIb3DQEBCwUAA4IBgQBz -VYkidjXl6wdn6Lng0oKQBzJxBTSRFfG+gYetuXjL8t5XTu+THYUpd9gjjZ3Fikug -bm09qAAGzmYCk+RcEkcOTM6BBZoDwk9zxwTmIi+sTqnCicXi3KpwTY890OTsZlJ8 -LRpGHFvPT8Kv6dnZNbFqwoqFH1gUjoHdXNbwvzk6alXrRou3o9QjRJNctbOMekIW -sb24kNUsQ6VrLA2dHssSqKcZaiZvheXhLGYFLS4FPKfmFSXKpE6kjaWHRnKPa4bz -VuMylFcMWBI+62N6uWo9l5pcWWp12hwt7FskJmC6ROWJ08gEJTm1p7G7ZPq1/ygf -dtw9MMzodcnHvIBylk9B7mkAckgOvmnnLsKtVOvD73nZYpZJovYeBMj/RPLUcUtq -n3cJTrBy2R+HYXfW3I14esz2kskcpYeJP1ateSOtvQcIH0cFkgS+uREl+9WO31NE -84Ps5Z/Z0Wr7FeBl7AJ9dvI2EgUuNVcYRpvlJSFQhrtxho/pqywVP3S6Yjz6nkA= ------END CERTIFICATE----- -"; - -const TLS_KEY: &str = "-----BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDQhjPdKHLYYzuD -y6wY07Z7MISDCyyWsFf9UcT+c6W38hQjY7c4iM3I/+yaMhMzye7qEdWzEEEQVLl7 -cP0clRNGLyx+3Nnj6XNYNI/p5iHwh5WT61oVt5DZUptKuEqx0dPtRFpXujYgZiIo -gx1PEPfXhohnmn61GswnK4U6ZXVFT6OWdprWfnbZ+zx8LYAaTK1pg/s2uoqhO+pO -/0j2WjGltfFAwdQBNlKgAGcb8DsiN7hCx15oTiLxkAHNVoIZIKUgEp1uk60uJP9E -covTAykn4OVJZCfI7DP6akzdHzebLnHtYmtMHV67muj28FH01bcK4s02M6RbWTFR -2po5tWKvAgMBAAECggEAEWxlQQF0NyhzfJu0EY7/HGP9boWsgBrT/1Kpxykam7ga -fqqCULL9nuHjfy7X8+fXkq9Sz9d32El8Bhh2zcCXD7I5YZBKlISZIrGhpMWZ6GMr -2GQ97rqb28zPNPsZIqqJrrWbZuEkTKi8Ce6KsGSWkOeo1h9OnwtSK6OzSiHYHqZW -HHWjJJINVKES6BVst/rOzKm6RpfPJtU45gl0BqfZqHZD8AvzOS1Wfic/0xnuOnUo -P5iqxxgqbObNpoKzART6XAvlDzw6DyTCXgw5PhYvLf6IHB5JdWg/6BE3kKX9mHWY -ufjJB///7alAxeWyvTsvtIUDKFKMCTUKRZ/WYlzxoQKBgQDTK48I1sNLCXR15Mns -XsweTyv7E/lv0TqO4BWG1wIAEhFh9fqelwavoS+sI3Hq39UyA0RfVYS5Jzmzy5E1 -kyF/a7UuCDoiJIBt0g4U3jSMfaCZ7RXZ5nWhjo1gSlzTHPcS7tQznZ8GwLYjLFyY -L6n7dsMUAC2dr/ogOqji1ZlR0wKBgQD8ytihCuUoIuFN7HUeC48zr4sZvU3VIDW6 -pldt9+TNJPGViryVep2bWi0DyjkP6fav6dLrowLwAUHNel4xO2Kn/n9qw/m9XphX -uGU+75kSRz/Sb6Q/38PteXYXrrx9n4on2aVzq9POFcQfB2w9R5rz4PJMUN8dHuK8 -0SiNlnGGNQKBgQDQaKT57DtBy0sNL4e5qLV7FFgrrEL5gF1ytOWJ9pkayLovHD0E -V7lZjJMoKLM9Qzt96IuKKzSaJ4RjVf0yCst8nihqDeSR3cSCnlUXc1YZccMXJ03x -h+mAUNhmt/10vZl7LgpwBpf0ai1X+WhJKoFwlH1jN+nNPuh09m/Hr1dp0QKBgQCg -Mf+j1l6v16LFmdICLzsZeuYAcrlvFRFXbfA7zPsekYnSxW+KnoBgIX4jR7RvhEmC -4v95ufyzkWhcyW4FbuevJBUk2Hpb6iVKeZ0XjAiJz8L/HSaOH8RuqikPCvmB9mc7 -p640pi/8CkkVjMOn9ceZQvTpLdql/pubIkS7rRnV/QKBgQDK68UzGJJrK2MWuecE -gv/IFroGyBkT+srvbFP9VVbS8GZgxU/Io88UnQz8j3NW96gvyIJha9JpjGhSt7fA -8FDgfgzg3Yk2dumXG51R/LpITxB9mwuqWPZZ/sTVK2OOoxXD3ooeyC257TltLJ5k -o6ioYnJQHPsfaym/DY0seYghtg== ------END PRIVATE KEY----- -"; +const TLS_CERTIFICATE: &str = include_str!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/tests/data/custom_certificate/fullchain.pem" +)); +const TLS_KEY: &str = include_str!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/tests/data/custom_certificate/privkey.pem" +)); /// This test ensures that an SNI connection times out after a certain time /// configured by the server. -- 2.51.2