diff --git a/pyproject.toml b/pyproject.toml index a276c81d..19a0a7c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,7 +49,6 @@ dev = [ "ruff<0.15", "setuptools>=80.9.0", "stopit<1.2", - "urllib3<2.4", ] diff --git a/tests/assets/pki/cacert_valid.pem b/tests/assets/pki/cacert_valid.pem index e169a7fd..7c74ebea 100644 --- a/tests/assets/pki/cacert_valid.pem +++ b/tests/assets/pki/cacert_valid.pem @@ -1,49 +1,48 @@ -----BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDN4PgIebnsjVfY -cwop20PNA2w8vRZvU3M9Ust7YP6ZrOaGFrg0l4uipDSyJa8G4jlbmIpr0ypwf7bZ -2uE8ICLQ0QBRmywA6KsOoiC3JP1/c6AD0veiAl8587S4i8+HtKd5CVjxsZkHmvqo -fuLK4/xporLES1+RU5E6d64gafbSI0dUJFIVfUySTaDvzJIPl6kfZFJqA1NQNJ24 -B0aa6y0dbXfUtMialRNCJyIuVny0kWKyPIVho+pVgJxEp8xyrkDld0urOG8EkQkU -Hk9MHcPaeKwQ0T0l+qzKRjyTG3ymx+af68xU6s4dM2g9YM0+2tkZCeDoWkTA9OQE -+GmOJAc/AgMBAAECggEAFHQoUDc/uHemZZOwS85D4ydW5oXmp7LDvTDvlFdjlALw -eBvjux3fOo5Tyesig22QQ0BZaDL3gWu+z9AGFoIe014gSPtAmOqErBSBaZCcOsBT -Am5AOfFAYrKKntcNDC9vf//kvUZmrLHB+2F3yK5z0k7esc/HM9n4kLV5MDE221OG -EsEx4peGpizFn5K7O9Ek4caVTYcDVMjBp2dug6N626cMBfcIdSiZKkdGOROHEWZk -DdGf3oWoGGVQ8wzMYyw4ZV2B6TNDFB0afaEkF5Z7Yj86Z1KC+uK8nJMVtqJmZbtt -DfjvrflB4uJf91ddDpq0o15AxyczGtCMfWvRnk0HoQKBgQD+sWfouFMX7mtaY47G -rV7M9RFHKsrdYhHqiMdtef1cIIO1srYhX3tjUis90WJdDWyEqC6xbMZhpgafCeXE -MwPTcOswrP6irITaTRzwPE7as7nrj2axbTRJUYxktWFruYE8uPWidGz/g0vfDhu8 -kIP5Bfee2Qe9kmH3MK3zFgP/jwKBgQDO729cwE8Tld6+sLbw6S+r4slZVAv1Shja -au5OQSF19h1lTWZRgooBmx5GkNz/ur7l0OXur+F7FE+rWtn1sRMR5lZs53QssqEY -iKlPTk0phpQbCI5GJwiy17DoHZMt5iqZVWgK28aXHikBoIg+fOL0wL5Y92DoiG3q -MjWpdcelUQKBgQCS9F3WI3SeXEzI7KTW8fW/ILAFdiVzM0DPKHiZLEgJviEA18rK -2sLg/epBUu0Eb9hrenbmnLKiaR9s6FMQr7bHa2HoxghuaEiHhPLrkoCVJBpkVmuU -eEQxAcKV4SoC9BgjpzzjrXWuwF0oqIVMeb4ME2ta1jLnKO0pqYbUuaE49QKBgBHg -wcBDpRFOG2ZiIgwCOWoiN78N8dKJSkhkgJ4mJlvonXWJEFPucTneSulRzqYRXjjA -qXzLmTFm+dMWEEqXt8wOGF1kSbcq35wdAnOlkikKRXVocdJBwRCibdg/5d1LS1bf -+BMoFaosouJPGjY71+fJVyichrTQRJ69I8G2OT9hAoGBAKSTyncv8s8Z1M44PCZA -IozDM+tj1I6ipZv2QihweI1goATDcaRhqLGlS++WI5SOCtXcW57VzLBXi05eFJoK -ylYmuLOFzELE8J9l5uERzEag6ioov69hne4drHxpY7Tr2zmEE6TKKczIKtx+oipD -wNTpdf2QRgs5LjpQ7UqM4n9B +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDZQ39/x7oQ8OpO +8+uT2rA2zxmXT7/5EP7bQuhTXRlZdBSR3UmTm5YMGvCSFGMkNMxoD30it/9i8Ind +54egJuoVgqi8/XEi048hX4aT3QFuJjsHmslkrXhKuvsBFwhkJomVE0OHeLPPA4EY +LAB1F0SWmiQrujpwqcJtVqX0NaVr0O40T7yfswmWwdCG9hCXOTfbXToCVzBnsiRf +l1zsTt5ZyC2Cc5e2po5o203jecwMO0NrFFDbkCyhJuJ11m7oTyuu1FaSwRIoR2aN +jLTLBXhbh7nWsLtcIEDQbX765SJFmRdscOyM3pkuaTFPM6e2MbD7zFzqVXNe8kfB +BPID/jYTAgMBAAECggEBAIPsGlUKf46d2ohKT/cdSPZe1lksUZL4oOeePtevph7M +/1h6l5yLUpbTHNR2kKSBcsSU8xTLyMTY7b3SQmYaevTIu5DWC4ZsE3LeQCc0gRPT +HvDFKhh5xJsL4jGNPMkjJVNhuRVfUz8WD6MPxM9Ua49O1Tu//pA+ZBJkFKyujl1i +B2uiLhAP2jjOiJ2ViS+ygbJn0YvQbNBLTJOOCiRKwST+TmHHPz+mgCf4QT2Qe9IN +zBlSPGvanKZ8b6uiMR04zvcnS2IcaPR5frCHOGp7GLCwGTTCMLlkZzuRHOqWuadv +fQcONZRUCh5f5fioDPs+vrsHX+oEr3eDPpfajTbKLEECgYEA8IryaXlWZ7yz1zS6 +Gemwl+6WKbF7whKWF1sIgyx3OASBGuSSLCsYgzwHtDerX6xwW1CVAYpFDOzFhwrN +SxZMTlzP/gdzyZkEhiBECUyhgBwb9fJLwYv5YZk6ge9DNupjlCaA33zEkZyb75Yv +mKI7Z2ZwEl/iteDv5DLy96ZBoJECgYEA5zmZEJdUApAvPKZNKSuFqBA6LbEfaYql +NmPknnjuPxvVU3zk0rN3tYV48x5X9Gsn7cHpM2j5PV39PmQxFbkDNfGEsj0aIhi/ +STJbYl0iZU211kJ59srOGoQzlw53IzHgEKGdXkwJAS9p0vQY+1UyHZ7x+KAPRkJh +65HsOLUaPmMCgYEAusapREz7UsGrw0cl2kki3lZcMzOlLSTRdoExMumsCMs2lHM3 +LSSpe/143e78GuYCuGTxzqhWxZp0Jk+06MD/rzlSJ6YRulAeuycCrVXbcWZiL69c +M4VEtwwL6iimwFVvzPG4z9BJsecxDfBINPSDu95G132sxB1NKJyHHNTz0IECgYEA +3WqtZVLT8sRpR3Wka+kuSvqHC5wSDXnjrQrJMOtykWIwzIrLf+y1lFBkusJyzS4T +hTxr+HvsN9SaHbXJvxh0t6I4RIn4TXBPNGORWMcAmetpVexAaJBZ/tBbqqoCceRf +wO1SCatb8BOcDZMLnRk/LVg4M7HqDoigxfjtMHxTzisCgYAob3Uj8b4Gq3OlNwt0 +FEx4aS32LiRNVsHsOi4CuO71GtLJoY3vs+wAxDEGjx+TNO2vS6nMZ+ey4Ov0s3oP +MSswtSQmJd/txUn2MAdixmLOgXQRLNxRFixOtyi6Zk4URQUbIDKL9oXPh9w+HKMG +P28ts0ZcnBZuSNiKFPBqsgbcEw== -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- -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 -----END CERTIFICATE----- diff --git a/tests/assets/pki/client_invalid.pem b/tests/assets/pki/client_invalid.pem index 78547390..8a71f1cf 100644 --- a/tests/assets/pki/client_invalid.pem +++ b/tests/assets/pki/client_invalid.pem @@ -1,49 +1,48 @@ -----BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDN4lSw+BESq83X -tfWcFfvXSKrErh+DpN06XpL0tCP/wGobnHtjzEMXSrFC+zO2bqU8HwmdjuAGSVEy -3Gtn1krBr1LUhMDNXKywRlh69JylAFgXhllCCe7e4U06cV1Mn3TgMKeFr8TEZJIp -EKP74HxCKYgnp068h0P/JpDZDjUpjoOHRYR3Fw6PlCR6Y8N4jkOxz6p7M9gBumx8 -cIZDI4wEIZ1nWGj4Sw+x54EdrmBweFYb8jTSOcjsPbEhcPcyP2uxo2lcaXtjz3/F -an278pGXsdfDCS5L5XCdxTcppDqMFd7WH1309H767mjxFlI1wqA3GF7ilEjlSVIr -MOREzQEJAgMBAAECggEAW1kupo6KVLRx0mHjpeuDIBQX4Mg5J1nA5qMLpRNAXbtr -2PBnNvJsWitD1ypJ2YniOniy9XttHpztMBnoddv4s1Ms9yonuXaDEHtFytg5oGQ0 -sctkUw7BM5bXgzTFZrfhTY+I5KIGNfVBfILrn1gNCfYPeTickL2bh9v+rK/HGrZa -xnCTZRVsaYyZohpNcSrGj8QIKg/4LjLY/Y1dxPkZ7nck6CwZJhLakuefeUWwkfkK -R9gO6eIdpopDS7t0e5RQ35NtAMlWIMUv5qwjKz80ueyhsTwfJZE0W5EI5eAaRJ9y -P4iJZIZDUY2A4DsadoxX/oryygDUQ2iZ2+kXXbVquQKBgQDzZyF8DubkQrDVmPSt -H4LyDY3/31yZEyB2D3DeWs7X8IAEmjDFeVRqq09BHvt9jEBGyBxlUtLZLoci5cYk -Fi8OgLwDBgIxQmFhQUCXH0OVuW4iZbyLzwLhpIUaUjgQi+k9hHrXioo9odThuy7F -81k1wZI7hDC6G+qXp/FS/+aLrwKBgQDYihw76a+4fhNC6zBxVQKWe8DZKbkv6T1V -xMC7Re0k10egYPatY9jvPqyDY8Zlqu008pWSEIRB8jhqJ5r5yO4u6yyg6rYKkMC2 -J+8BC/quGieBDYUeAmbmRDHUIX1iHELleFr4FRczWfkOOsgzKr1h+17KY1cNyief -X+IqFI9UxwKBgQDyAaNoXsSxRaHe7jKwgzlGA7YhJ2tBA6Rt3hJh8rXgPE58xPYj -EeyeFnA5ll2EydMKzWJ2V/AuYjWYvA7SyH/HErZc5zd81LxP33oiB8LB9lmLt83M -0GnUAikZL5Bw2ztvn+4nqqaieupX+i2aQcd8TFdh96AfGyyX1zJ5TNhkHwKBgEaE -A1nHaf/snp0mNepSQrt6pXySx8nAbMbngdP6m5VpvduOeAZTA6w1frxy24L0PLcH -YInmcwt+s7xuFVvOgTIqR6hHhuy94uPu8TgoDIRx4/d0zarOIXBPOOLZ3Rj8FxTf -MtCjHaENZbuqjNOM0Yt87ot9+jV1ZZ3S/bWyaFK1AoGBAJREK4guQ0qmTjzWuT6S -U/3SodR0kiRkfEM7u73dGMrRKk+9m1C0z7wY4hN8BIjvBzzwABXzwScuSFhIH0rY -B4GNWdzAOZwKRyV9YjtM+pK6bY+Kx5hRnGmTWsaAEt14SjGYOdU6lwdhuP5EWdoc -MU0GzRm9x98HSQD1dyrtT4MX +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDRr/6ySMYRxcx2 +ntVoj6ZWZP5E+aBrtrJATltiqfC//q4/XOXKUdhEsXdj5jAzff7WNE0PSLV6106I +pvSBjEqnzBFwTfIZJ+U7ORs4z2G00r5d4wrUYdO6KkIXD5OUNNytr7i29H+oQndm +B78WgWXZoTO3c0aqexFsPCGTQtY3KI9MNmHOL7MCARFoKZDVlTS96eGEoQ8LMmS6 +HasMd38lELKH7Me81bad7vkozWD4Ditc3Ab4Czc5BlmGc2qofhSH+w5hhAftVaZP +D/8LAQa9ki6Fn4Ag+gDVEZJfPs4itBaZtXvVubZ/p24LUOpW89eaNeQuvroZX9NJ +MEJjDiXzAgMBAAECggEAJx0+VIFwuSX9gu8T/gI11A3YxIMQIqeczpQPRfNPXnEi +jd1FXB0yS3YTQEZTHXfWTpzI9x3oBHcfRixmlbfWwUA2zI0tqPWhNA/t/QXqQvHA +4wCUJ5PsC+EQHP8h11aZB6ksuqwXGAr1/MlbItaWaidA32qYdvqoAFmjJbYlAXqv +7XHlbrjEZYuYVa6n+Bf8JJWQj5/7uIuerGuZaHfc11fXl+Eb8Ni9RCqPUQASPp8O +AkHqVraSg4yNbtbIgSzxVAtTWKwQfKagUHpwe/4TD9D4MDmqgdpEX2u1NVd5YznI +34TaUi8UNV4V2UwIrYNZ/q7FLYJpDoR3qP8We/V52QKBgQDvBZ55ISU3dCyIM4df +0C5gJzTQ1E8F4udPawu1FZXt2voglv+RQjhjbUlHQOQ0ZP8S04ocrEXBguruGCGD +1dzcoGGiQTEQ2PLxn1zQ6/ZRhKGTWsyZvWC8EvyW5C9qqFrzxPK4ewH4lLRaFowr +2QYecrHZGyJtSuWnpi47VBilxQKBgQDglPUI5AbrlIgKx+ODSAkzGmN0zV/u4v5P +YGdBfv1u4Sk1aPcETlTo4EfOxXnpPFD7pxQLPlRKokECMhxkF0OU/IFf0Czpnufp +CS9Gh3DAMpgcU04kPKy3wAHUUhCb20dwaPa9wy63+3HT0+Tje4/LKaK+yKbHip5P +dOF/IaOQVwKBgQCWehghtA9FERt0B9TDKkH4ANbMXcz+LLJpGkA9mcBRBVoRKF7u +6Rys48GNXToODkNTa9/4WzBzOmOCz6hR4lLwhvvQdXBZZevU1/pMATGKcpByP2it +pT8ASIfCyxda83CHJUeVgsNj5uKAEM/gTvn+M0DqKJ4M5mkcmY9jhHcb7QKBgQC8 +UArbJqEq3oPoTk3Wogucvy7QHPmpDMtjcZmDUOFfHQv5zgb6pFgMYSu1FN8xlDLv +oNxsxRnW7xCFr9EgmGVBwy0UUzGlv2oEfIAYqq7/ai0j6zJlrj7BYQ3no9xrY8YW +Wt0ypzxAZ2W90jpmCRC8sS/Wu9clEHXIeGAwwtssxwKBgQCy5hhNX/5GCo8v4XkA +Na1V/U2+o9NWHCf7eewH5up3TAiN1C3fMHDZnIA/1z4JdXebiURsXKJfheteDmku +gmA1edWrbDklcUKaw2BOKEuRHVt/5jy3VoikNciGaETgOg+ABF1FCNwMMD7Zouig +V0gva4sjUnr5uXeKLfD8Sq4csw== -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgIUNtmyUs7LRi9mvG1Y7NtDAbHlyJMwDQYJKoZIhvcNAQEL -BQAwWTELMAkGA1UEBhMCQVQxEzARBgNVBAgMClZvcmFybGJlcmcxETAPBgNVBAcM -CERvcm5iaXJuMQ4wDAYDVQQKDAVDcmF0ZTESMBAGA1UEAwwJbG9jYWxob3N0MCAX -DTIzMDEyNjE1MzQxOFoYDzE5MjMwMjIwMTUzNDE4WjB4MQswCQYDVQQGEwJBVDET +MIIDUDCCArmgAwIBAgIUKv3ztxeHaA+A/oV3nSyMwqfpulEwDQYJKoZIhvcNAQEL +BQAwgYgxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJl +cmxpbjEiMCAGA1UECgwZQ3LDg8KkdGUgVGVjaG5vbG9naWUgR21iSDETMBEGA1UE +AwwKbG9jYWxob3JzdDEeMBwGCSqGSIb3DQEJARYPbm9ib2R5QGNyYXRlLmlvMCAX +DTI1MTIxODAwNTQxMFoYDzMwMDYwMjE5MDA1NDEwWjB4MQswCQYDVQQGEwJBVDET MBEGA1UECAwKVm9yYXJsYmVyZzERMA8GA1UEBwwIRG9ybmJpcm4xETAPBgNVBAoM CENyYXRlLmlvMQ4wDAYDVQQDDAVob3JzdDEeMBwGCSqGSIb3DQEJARYPbm9ib2R5 -QGNyYXRlLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzeJUsPgR -EqvN17X1nBX710iqxK4fg6TdOl6S9LQj/8BqG5x7Y8xDF0qxQvsztm6lPB8JnY7g -BklRMtxrZ9ZKwa9S1ITAzVyssEZYevScpQBYF4ZZQgnu3uFNOnFdTJ904DCnha/E -xGSSKRCj++B8QimIJ6dOvIdD/yaQ2Q41KY6Dh0WEdxcOj5QkemPDeI5Dsc+qezPY -AbpsfHCGQyOMBCGdZ1ho+EsPseeBHa5gcHhWG/I00jnI7D2xIXD3Mj9rsaNpXGl7 -Y89/xWp9u/KRl7HXwwkuS+VwncU3KaQ6jBXe1h9d9PR++u5o8RZSNcKgNxhe4pRI -5UlSKzDkRM0BCQIDAQABoxQwEjAQBgNVHREECTAHggVob3JzdDANBgkqhkiG9w0B -AQsFAAOCAQEAJvqhvFiMpXTzH5dE/t2UFqMy7UPd4mypI2YqBelvN7pw/wQI1OIZ -N9bk52N6M9CuaENpgxkUAFVuPFSOa9Bp2/qA+TysyWC4+iSukL9+pQg8fmd3Ul7e -DYVHsOLjB2DwiK+og/P/kUvBEJ2z13EmtjNr4id1cWAD9r2Eh+dAbKS1MtvXCFMc -USJzAJ/QKw5h1x+ddub38zxgXgIQiDlWt4uwN9M6d/T+dAMm5FIU3MHQsdADBMtG -iXT5F/wz7f7UBbGK3kt3EuhBXHN8i84eTxZKb4a9g8L6AIzuSx4dg4q6vg9lee7P -umKNSySbfHF8ex/R2CLoDPW8NbXzOoBdCg== +QGNyYXRlLmlvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0a/+skjG +EcXMdp7VaI+mVmT+RPmga7ayQE5bYqnwv/6uP1zlylHYRLF3Y+YwM33+1jRND0i1 +etdOiKb0gYxKp8wRcE3yGSflOzkbOM9htNK+XeMK1GHTuipCFw+TlDTcra+4tvR/ +qEJ3Zge/FoFl2aEzt3NGqnsRbDwhk0LWNyiPTDZhzi+zAgERaCmQ1ZU0venhhKEP +CzJkuh2rDHd/JRCyh+zHvNW2ne75KM1g+A4rXNwG+As3OQZZhnNqqH4Uh/sOYYQH +7VWmTw//CwEGvZIuhZ+AIPoA1RGSXz7OIrQWmbV71bm2f6duC1DqVvPXmjXkLr66 +GV/TSTBCYw4l8wIDAQABo0AwPjAfBgNVHSMEGDAWgBQhaSXE45HsPHiBcQ6kG8BZ +rfKxkTAJBgNVHRMEAjAAMBAGA1UdEQQJMAeCBWhvcnN0MA0GCSqGSIb3DQEBCwUA +A4GBAKKdX4G3ColM07yxVUQPTdXI/WFkHMRwJhRhHpV01xedo83fxJVi5DjZbg4u ++JxBJKhfNsBVQxflgWiZ7kQlhRpjCIf65LZGApD86PLjwKaQzriTQGFsnduoGBrt +oLGCQMYXjC3ApZoDuA+/BgBgY6OBKdXuDelaUN+T/I7cHkYy -----END CERTIFICATE----- diff --git a/tests/assets/pki/client_valid.pem b/tests/assets/pki/client_valid.pem index 8473b9dd..446332a9 100644 --- a/tests/assets/pki/client_valid.pem +++ b/tests/assets/pki/client_valid.pem @@ -1,49 +1,47 @@ -----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCguOpnDbcZvnH2 -trOBWGCkwTfEjLSHYA3S+f799Kiyc33CrvqRjxH9m+0N2Lt5JIrV2ToiRS49lxc0 -nEhbGAIXSjLVq1UMhTeXTWP1Rkl2v7Q01dQc1Oe/895mjGMrKoA+Mj+x4mkJfiAx -HDIhZ+YDs/DCR6ONKb/3xpr85YuBDEpXNINYAov/B6DSH4/N57F/5o6/PQhaa51b -8eMhF90aPPWNGxLBOzOJPGbp+ci9gee7tQimihtk5UDhFJn1CXRd7+3VoL4PM4JI -rq7veZDEA4JFEqcBPcYuwd+R+MdIK3kPy+Y+tXIqAL9weC66xImUvafRBH9Bae1o -hzOzNXItAgMBAAECggEAepjzPI7Kt5l9BwuQW77VYXd9mbEW2BjeEqvd5UvmDtFo -AcRFoBi5SXHSXniPcLX+LWeZH6ETx6lj6x63Vr02gxt3MWOS6Y0IvaIr+GGYEjvj -M1ZUiXWiHdrhL+owjzHJRyg/S+p/4tzRo4R1fOPrIbH1mczZpglNxKw7d2OFiXZn -5Y4RcFn2rx3O6Qzldo6Am+pPm0FLugvzQ8pFlWyO1OI9NcAJ9fMjMNjXwmis6bUj -gZTXESsBLHaljefWC5CK2iDUo0VwZKJG15b2rskPShStlSIwhmnP46osizfZ2gCK -9C0GJ0PVYbHp15SnbWzoYx3Ny3sXGA6PxpRl7Xj7xQKBgQDSn9rXhxBqSdXFqAUn -6bGuhumN2KmezQOSGiMFVjZLZT6DR/fyh+5pah8v7okZHUxI+pTzQu0aBzWMpZqp -dPuVPyJyfyK/J8c5MiFbf7jqKhlEBTFDkhDvtoTTXc1+iSpusz76WMwnm5yJNq9/ -M/uj0z23ufUgl/+rHScZX/jNDwKBgQDDWOkRNqKRVp550QP1TFr37LVvm2QVuJux -JpEwJhLjMFipQjJPlli7FiruPPsKnMXmqKAEJuzFreGCkRnsI+fCcJHuiZ/KV6zf -jTxL0rCoY0EkTYNztJpWPpY46uwpz7YsPjQ5tYInDibdlHz/liqR3WMnUqhtEkCZ -4xeRR5pFAwKBgHCEGOI+MtS08NAQPADgZJz5UVcHQUWl+5xW/hJhxcttIIH9NkWH -vCLwIAz4/qA9+Hyb8GorfIIFC+RAq2iPJ77I5VwI8sTvOQwi7ZL1nhDpwGmH5JNW -Oln0ROytFZPdLp/IfYI7YYRfKrZaUlI/sNQJitTVME/jIx+ECVkS3dSdAoGAUGqy -j36BT/lrhdRQn9OOA0/zpP1AJ1z24udwj3StA8+sQAlbMr4+ys2mYKrD4auGIJ08 -OllX0Uzyb9CR7k8dokK7IIqRODf9l43Jy6DxTnCFqY8rVR99BZIAP3AeRlwWr4Hv -9+3LpY5C26a8Cm9kGOYdYlu5sCT6aR8+XXUvgccCgYEArsqN2ialQsUseutRn/kf -apBHxGm9ihPDZ9csnnX7OPlQL3Y4X4B5p3k98pwZ9dJlm/HAm0cM2KoXo7DdR2O+ -XDBkTvPLPJaNA9y/AS2Lam9IVqVfx5vkOSwLdWXh1wgNDnSn4Q3x63MbCkFbNEuH -jZ3cOn6SqwD0tiV+Dg45NRM= +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCYmZUgstwotlwu +BMBRgZkCWyCsHNokOxeXgIet3cysYbShGdAlYSvF/3y7in0+9A7ayOkYpkL71G5H +e5SOlF3wl0CO2b3LLOMb6VBaXgx4xdwjlsNOu8Be83oq2Mc6X8oTg5kHscXSwRqk +gmXONJjeSDxr5S0erLpuJmY2M7n4ISTmZ2XGHzrWPPnpXxtuK6ihxFLdG6VhIlXE +ukiYCEQ+yaX3h4Z2tsbrx4F8rvFvviLCvZgd2eXM8iXpxqq5K/5wsQ8CoNCS35cc +lnukR78mrMgs9otKXqWPb3+IjNjBt79tjsr/LpNvlHtmDNytQF42q2PC5QIi6u54 +NybhJyddAgMBAAECggEAL12MckfSGjjwR8BlyWbGjXqnm4ShGRnWasoUUx1DSEZT +gKW4e8G7iouQtc14rq+mZLZz05jXtb7sM/fh1peqyODJww1G4eee3qz+qe4DRQF1 +IP7MxIV2YoKEawQ6Yp4U5RW1zDObyZzynhlzbBvbTzNwvbS22oyWmVYF59EKaj+0 +qpiQpeK+SSNHVHo2hPDzYzQ+CMLNPQsJF/LL3t0KXToTcAZYgcuWuMFaSJBwUBA7 +78TDfF2OVv226LWxRM7uxJmkjCyAri75u7ms/ZdXno5e1l349Woms9cn3dRhQOb4 +DaUl91gu6XjBjjMHZccVMM9YybZ0eN4PS94GwouWQQKBgQDAEkk0qjHHv6aYztqq +wzm68zZZcKuQNeymhGKtGdwEjvCaPxf3clsDVVN1Ek34KcWPVWfNa72pZgeebJ47 +kFZjKujaSjhEallZrd5BbLoWX4aojAFriVo/vreSG3kf6lVWDGiwsJFN27Ty92bx +Z8jdoMYwdkWFK8X+U490/dzCZQKBgQDLZBKSr5rxA2N0kBCsLei8xn7bYjVcrXV8 +3+TJNIPftjxBiCNWoqYbxxR92yEoYm5RvAGowL7y0wtGsm82Hm/TdP676JhPA0Cl +pqdntSuvGMYo1N9JCjJHyb+OucQFfedYbsAe1NeJQ1WqhmafX/bfmiRoBCtT/3GN +YOtrGo8FmQKBgQCJfI1qZWm80jMuruNX2Oc6K158J2qnj/IWQC1iO2CC4s7XmtJN +Dk6X1DwpUTD+suf38eqb4MOivqY1gQrDGE6+LbkAiKA+WOIcj5jIvEt4OGjrvUxG +7crsVliQ/Zl2fwcW0UsfL0TTtrGQOgg2RVRDURKNHhwld3AC3U2TMSUVAQKBgDvj +8dwjvXoux0Bxk5c/xYKg6IXtO01Y/nmQ7CubPSHI5aFeVxmRt1wCmTQeLHtZ0KZc +uBha+V9DadSdgkXrXH5luwTWDtNlX8nncvAE1yIuJ1uqoz08tWWSMMf0R5ZeZpsR +sZzii70tiLI39UwE1AsvtnyyjZekZml9GpVlMqwxAoGAcT7F/MP8o4C/U7Rx8viK +9Xg+OLC8V12NSABZpHXL1fJZBi88yqjlol8RTlhfjhMRxaOBEr7lixtYnYgEAehc +1Vd/04W7Zj7M3iyPFkcPqzGxgBoX1lcBefSMMrWiPQ2h5FRWF1M/77HG94WqUbrN +dgR1BU4l90CAn3ZBbSsomdY= -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- -MIIDejCCAmKgAwIBAgIUNtmyUs7LRi9mvG1Y7NtDAbHlyI4wDQYJKoZIhvcNAQEL -BQAwWTELMAkGA1UEBhMCQVQxEzARBgNVBAgMClZvcmFybGJlcmcxETAPBgNVBAcM -CERvcm5iaXJuMQ4wDAYDVQQKDAVDcmF0ZTESMBAGA1UEAwwJbG9jYWxob3N0MCAX -DTIzMDEyNjE1MTMyMVoYDzMwMDMwMzMwMTUxMzIxWjB5MQswCQYDVQQGEwJBVDET -MBEGA1UECAwKVm9yYXJsYmVyZzERMA8GA1UEBwwIRG9ybmJpcm4xDjAMBgNVBAoM -BUNyYXRlMRIwEAYDVQQDDAlsb2NhbGhvc3QxHjAcBgkqhkiG9w0BCQEWD25vYm9k -eUBjcmF0ZS5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKC46mcN -txm+cfa2s4FYYKTBN8SMtIdgDdL5/v30qLJzfcKu+pGPEf2b7Q3Yu3kkitXZOiJF -Lj2XFzScSFsYAhdKMtWrVQyFN5dNY/VGSXa/tDTV1BzU57/z3maMYysqgD4yP7Hi -aQl+IDEcMiFn5gOz8MJHo40pv/fGmvzli4EMSlc0g1gCi/8HoNIfj83nsX/mjr89 -CFprnVvx4yEX3Ro89Y0bEsE7M4k8Zun5yL2B57u1CKaKG2TlQOEUmfUJdF3v7dWg -vg8zgkiuru95kMQDgkUSpwE9xi7B35H4x0greQ/L5j61cioAv3B4LrrEiZS9p9EE -f0Fp7WiHM7M1ci0CAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqG -SIb3DQEBCwUAA4IBAQBCTZ3nMg+Y2ymj9DgNPW5KAMGwdphv8ugO5fCRoGUtYc1B -Yz6ZGYUIbIDImgSr/czE2O7BVOwOkWmeXOCTRL8n30Wm2yVT90NZ9jG6dOX2eF2M -7Lyh7+Vy4XuDcura+/5y3PjTsApNUeCZWQgwrLSV8xNvrSH8Cbv3yS4b3rzMVb4l -RipVO9V75SNcduvLDR3VNK3c+mlhX03FYuJ6XZjgX/hvf8fZdCrUqfmM2NSwvQdj -QH3m1Fh5rh3xi+ReiBVP4R4uF2mSDqaqd+iTpLzV6VSwfT58m+AgRss5xgzCWxlf -Xwwb1pa5q7eZXxZOjnfWaIgJmkdGYLco/ZVvWV11 +MIIDLDCCAhSgAwIBAgIIaO9BWgPy+NcwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE +AxMVbWluaWNhIHJvb3QgY2EgMDY4YmQwMB4XDTI1MTIxODAwMzE0NFoXDTI4MDEx +NzAwMzE0NFowFDESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAmJmVILLcKLZcLgTAUYGZAlsgrBzaJDsXl4CHrd3MrGG0 +oRnQJWErxf98u4p9PvQO2sjpGKZC+9RuR3uUjpRd8JdAjtm9yyzjG+lQWl4MeMXc +I5bDTrvAXvN6KtjHOl/KE4OZB7HF0sEapIJlzjSY3kg8a+UtHqy6biZmNjO5+CEk +5mdlxh861jz56V8bbiuoocRS3RulYSJVxLpImAhEPsml94eGdrbG68eBfK7xb74i +wr2YHdnlzPIl6caquSv+cLEPAqDQkt+XHJZ7pEe/JqzILPaLSl6lj29/iIzYwbe/ +bY7K/y6Tb5R7ZgzcrUBeNqtjwuUCIurueDcm4ScnXQIDAQABo3YwdDAOBgNVHQ8B +Af8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB +/wQCMAAwHwYDVR0jBBgwFoAUcMMtcOpg/rfCp2ai5Ya/BsGrErswFAYDVR0RBA0w +C4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQCnjPvjIH4azFQWf2kXflYj +bO0l0N+OFUDRdzp8NuaEM1HGesizh8SRrGfFUlWxBus1l5OR2T7uYEcH5KdsuezL +wDDGZtUAv92PAttM9i+YHIh/Ri4zAaj5T1t5ZvPfeTzLt6NgvKw2kwEHiE+7ne+A +ywPjv5tZ0LPTM/wLMuhdCYCXzztCPrA5TfbjYXnFC5N+WXxrpGflhoPWUq3bZCyM +GwtW/SqWkjZI4lvd/gavtmQyGsuUyxXcsHBTvDX3/EcNe4OJ8KfLRyiUb/Qrkg4J +0xXVSNNWA9zioOrKrDERyISquvLDFFwwKFJTd+4zLZJBtkn2ixCgq2t9I1Vdvrqw -----END CERTIFICATE----- diff --git a/tests/assets/pki/readme.rst b/tests/assets/pki/readme.rst index b65a666d..0bcc7318 100644 --- a/tests/assets/pki/readme.rst +++ b/tests/assets/pki/readme.rst @@ -23,69 +23,56 @@ Details ``*_valid.pem`` =============== -By example, this will renew the ``client_valid.pem`` X.509 certificate. The -``server_valid.pem`` certificate can be generated in the same manner. +By example, this will renew the ``server_valid.pem`` and ``client_valid.pem`` +X.509 certificates. -Create RSA private key and certificate request:: - - openssl req -nodes \ - -newkey rsa:2048 -keyout key.pem -out request.csr \ - -subj "/C=AT/ST=Vorarlberg/L=Dornbirn/O=Crate.io/CN=localhost/emailAddress=nobody@crate.io" - -Display the certificate request:: - - openssl req -in request.csr -text - -Sign certificate request:: +Create keys and certificates for certificate authority and one application/user:: - openssl x509 -req -in request.csr \ - -CA cacert_valid.pem -CAkey cacert_valid.pem -CAcreateserial -sha256 \ - -days 358000 -extfile <(printf "subjectAltName=DNS:localhost") -out client.pem + brew install minica + minica -ca-alg rsa -domains localhost -Display the certificate:: +Combine private key and certificate into single PEM file:: - openssl x509 -in client.pem -text + cat minica-key.pem > cacert_valid.pem; cat minica.pem >> cacert_valid.pem + cat localhost/key.pem > server_valid.pem; cat localhost/cert.pem >> server_valid.pem + cp server_valid.pem client_valid.pem -Combine private key and certificate into single PEM file:: +Display the certificates:: - cat key.pem > client_valid.pem - cat client.pem >> client_valid.pem + openssl x509 -in cacert_valid.pem -text + openssl x509 -in server_valid.pem -text + openssl x509 -in client_valid.pem -text -``client_invalid.pem`` -====================== +``*_invalid.pem`` +================= -This will renew the ``client_invalid.pem`` X.509 certificate. Please note that, -in order to create an invalid certificate, two attributes are used: +This will renew the ``client_invalid.pem`` X.509 certificate. +In order to create an invalid certificate, it is using a wrong hostname. - ``CN=horst`` and ``subjectAltName=DNS:horst`` do not match ``localhost``. -- The validity end date will be adjusted a few years into the past, by using - ``-days -36500``. Create RSA private key and certificate request:: openssl req -nodes \ - -newkey rsa:2048 -keyout invalid_key.pem -out invalid.csr \ + -newkey rsa:2048 -keyout invalid-key.pem -out invalid.csr \ -subj "/C=AT/ST=Vorarlberg/L=Dornbirn/O=Crate.io/CN=horst/emailAddress=nobody@crate.io" -Display the certificate request:: - - openssl req -in invalid.csr -text - -Sign certificate request:: +Create certificate:: openssl x509 -req -in invalid.csr \ - -CA cacert_valid.pem -CAkey cacert_valid.pem -CAcreateserial -sha256 \ - -days -36500 -extfile <(printf "subjectAltName=DNS:horst") -out invalid_cert.pem - -Display the certificate:: - - openssl x509 -in invalid_cert.pem -text + -CA cacert_invalid.pem -CAkey cacert_invalid.pem -CAcreateserial -sha256 \ + -days 358000 \ + -out invalid.pem \ + -extfile - < client_invalid.pem - cat invalid_cert.pem >> client_invalid.pem + cat invalid-key.pem > client_invalid.pem; cat invalid.pem >> client_invalid.pem .. _tests/assets/pki/*.pem: https://github.com/crate/crate-python/tree/main/tests/assets/pki diff --git a/tests/assets/pki/server_valid.pem b/tests/assets/pki/server_valid.pem index 7b1cf8f4..446332a9 100644 --- a/tests/assets/pki/server_valid.pem +++ b/tests/assets/pki/server_valid.pem @@ -1,49 +1,47 @@ -----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOORP/4SVgETya -ve7+HQqJa/Aye6qw9K1YL1t86FL82TIUwyAk86YQ8yrdCVzrGb52ZVF/4YDgNBpV -SHfCgLhGUSjcdmLxpKtKoTiwnb7z3KqdRUPFF7LegN0MHX6fCAalGr89pAE1AcUb -MQ57FV2uwVikq3DFRAufoA7xNXrOVc5N0Q+r4GEHp3HPCxd1bqneSCmDZe3nZwp9 -y8nllOPChB9CcUXz2yY0ZkJUd+2CwYXjfKR+09UnaoYlmkSm6+8BlzHOvneBp37z -68m9Dsuref10L7nOpH7nKUrYoJZy6+hq+pzNvtFJbrdgqfUmxseFtfYZH6+5kmcM -CpATIvFVAgMBAAECggEAUO3Xamh52WyKQxPckX7mHq3sUnNztgQfbucO2UL3JmE6 -JSm6GKZBeo9jN+EvxNeShjYWuL/Paq0n1GYfEYagSoAZMAOJqtj7m8sPS0hsopjr -n9KJ2PQG7wjVNqbwhQqKSQrpGBCfpKSwLI6g5y6oWCdqWR0qoU+l3BvdIU3ihswz -UgDCw1boSoki9paZsdHNiYfTNON6Wpx6yibmYBt9lJgHsmqds/a1XEU1j09un4MN -MkCc9MsIPSj9qKYdxGllMeg/Kmfg4qXZvKeK0AS8NCeWqVhoJLPmmt+WPC6LhhOb -4glnOjHJ2KnTEqPbiCXLaO+Izxbmo/tTN/eO9LOzQQKBgQDozxshxDBIKFR7i2NK -A3RVUBa4mhP+zyy77/W5VsIkBKbqFA+tRaQXp1XOjTeHJ14jskDzUo0loJ8ZL82S -yQr2LqxUtvEwDctp+/kkN6WkXtEEDjP0ACVtsBgR5kZygi6pWT44Ae8nUjmhZ/M5 -/JD2KoXH8aAHtJ8kRE7aVFlFMQKBgQDiw/9uFAZraguCVf6du5nD/nzNqcI4Nr9f -0UabNA5261i4fw2Yft77piv+9MeugI8GDC/x0YIW1ZshxfRJXgBo5l9hnEaP+uyr -wzXPSAphv7UUbGScR1B1+BF103U6OHl2PIOiiwrHWsIF+KUSTL8Virzb4WhJo6SV -pu2PGi+1ZQKBgQDWQj0LL37r+cn+xcLETDeViJbQoGUEnnDiKi6wuysDcRCY34uq -ASzK5CMxbIANL+sQ2S2zgmcKmS+zQ25jyAkBluTdNlz0x81Mpiyd62TTyLt+iv+/ -cR8BOw578r0lB7CgBNUhQI50VtVZOcz8sfhLxcjHwhVw4geQnhkgEH70EQKBgFHf -jiPCWycBHLKsNcfhaf0XrxvaRONi8Om5d5Kl0usgweGrDc+XTw7wykW9PzND+1+l -mtHmYN+5s88X18F9jQxS0PE/KULmx/ij/JOgYQ811j1PfWvnW6ecL0GpXVPt+/yy -kJxpMzUTEaZyRbc7umoes114Ht0nlk7p/C+EtuD5AoGAYKMYspyKgYeiPS9nfdP2 -nzfNjCx4WiPMw3zvQ7QF3T+icu4+oTPU8aYBEHZc3lnhFdGzIm27ww/pmAbEqiJ9 -72QM9jFlGObGVm+Dypbrj1eFMxm0tcAyKg4f2nYC1CH2n8JMiLERFpmXZQacLHZx -O7sBCdj90ycqRiUcRDXvzlk= +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCYmZUgstwotlwu +BMBRgZkCWyCsHNokOxeXgIet3cysYbShGdAlYSvF/3y7in0+9A7ayOkYpkL71G5H +e5SOlF3wl0CO2b3LLOMb6VBaXgx4xdwjlsNOu8Be83oq2Mc6X8oTg5kHscXSwRqk +gmXONJjeSDxr5S0erLpuJmY2M7n4ISTmZ2XGHzrWPPnpXxtuK6ihxFLdG6VhIlXE +ukiYCEQ+yaX3h4Z2tsbrx4F8rvFvviLCvZgd2eXM8iXpxqq5K/5wsQ8CoNCS35cc +lnukR78mrMgs9otKXqWPb3+IjNjBt79tjsr/LpNvlHtmDNytQF42q2PC5QIi6u54 +NybhJyddAgMBAAECggEAL12MckfSGjjwR8BlyWbGjXqnm4ShGRnWasoUUx1DSEZT +gKW4e8G7iouQtc14rq+mZLZz05jXtb7sM/fh1peqyODJww1G4eee3qz+qe4DRQF1 +IP7MxIV2YoKEawQ6Yp4U5RW1zDObyZzynhlzbBvbTzNwvbS22oyWmVYF59EKaj+0 +qpiQpeK+SSNHVHo2hPDzYzQ+CMLNPQsJF/LL3t0KXToTcAZYgcuWuMFaSJBwUBA7 +78TDfF2OVv226LWxRM7uxJmkjCyAri75u7ms/ZdXno5e1l349Woms9cn3dRhQOb4 +DaUl91gu6XjBjjMHZccVMM9YybZ0eN4PS94GwouWQQKBgQDAEkk0qjHHv6aYztqq +wzm68zZZcKuQNeymhGKtGdwEjvCaPxf3clsDVVN1Ek34KcWPVWfNa72pZgeebJ47 +kFZjKujaSjhEallZrd5BbLoWX4aojAFriVo/vreSG3kf6lVWDGiwsJFN27Ty92bx +Z8jdoMYwdkWFK8X+U490/dzCZQKBgQDLZBKSr5rxA2N0kBCsLei8xn7bYjVcrXV8 +3+TJNIPftjxBiCNWoqYbxxR92yEoYm5RvAGowL7y0wtGsm82Hm/TdP676JhPA0Cl +pqdntSuvGMYo1N9JCjJHyb+OucQFfedYbsAe1NeJQ1WqhmafX/bfmiRoBCtT/3GN +YOtrGo8FmQKBgQCJfI1qZWm80jMuruNX2Oc6K158J2qnj/IWQC1iO2CC4s7XmtJN +Dk6X1DwpUTD+suf38eqb4MOivqY1gQrDGE6+LbkAiKA+WOIcj5jIvEt4OGjrvUxG +7crsVliQ/Zl2fwcW0UsfL0TTtrGQOgg2RVRDURKNHhwld3AC3U2TMSUVAQKBgDvj +8dwjvXoux0Bxk5c/xYKg6IXtO01Y/nmQ7CubPSHI5aFeVxmRt1wCmTQeLHtZ0KZc +uBha+V9DadSdgkXrXH5luwTWDtNlX8nncvAE1yIuJ1uqoz08tWWSMMf0R5ZeZpsR +sZzii70tiLI39UwE1AsvtnyyjZekZml9GpVlMqwxAoGAcT7F/MP8o4C/U7Rx8viK +9Xg+OLC8V12NSABZpHXL1fJZBi88yqjlol8RTlhfjhMRxaOBEr7lixtYnYgEAehc +1Vd/04W7Zj7M3iyPFkcPqzGxgBoX1lcBefSMMrWiPQ2h5FRWF1M/77HG94WqUbrN +dgR1BU4l90CAn3ZBbSsomdY= -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- -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 -----END CERTIFICATE-----