diff options
author | Sven-Hendrik Haase <svenstaro@gmail.com> | 2023-04-16 14:02:26 +0000 |
---|---|---|
committer | Sven-Hendrik Haase <svenstaro@gmail.com> | 2023-04-16 14:02:26 +0000 |
commit | 6464935adf0c3121f7bc297d01e6b011ed2f3216 (patch) | |
tree | 70bab8362db93d2d456181e3b1adf1202b59207e | |
parent | Document range request support (diff) | |
download | miniserve-6464935adf0c3121f7bc297d01e6b011ed2f3216.tar.gz miniserve-6464935adf0c3121f7bc297d01e6b011ed2f3216.zip |
Add EC key support (closes #1080)
Diffstat (limited to '')
-rw-r--r-- | src/config.rs | 4 | ||||
-rw-r--r-- | tests/data/cert_ec.pem | 12 | ||||
-rw-r--r-- | tests/data/cert_rsa.pem | 29 | ||||
-rwxr-xr-x | tests/data/generate_tls_certs.sh | 3 | ||||
-rw-r--r-- | tests/data/key_ec.pem | 6 | ||||
-rw-r--r-- | tests/data/key_pkcs1.pem | 103 | ||||
-rw-r--r-- | tests/data/key_pkcs8.pem | 100 | ||||
-rw-r--r-- | tests/tls.rs | 8 |
8 files changed, 160 insertions, 105 deletions
diff --git a/src/config.rs b/src/config.rs index 6c2d978..8976d35 100644 --- a/src/config.rs +++ b/src/config.rs @@ -199,7 +199,9 @@ impl MiniserveConfig { .context("Reading private key file")? .into_iter() .find_map(|item| match item { - pemfile::Item::RSAKey(key) | pemfile::Item::PKCS8Key(key) => Some(key), + pemfile::Item::RSAKey(key) + | pemfile::Item::PKCS8Key(key) + | pemfile::Item::ECKey(key) => Some(key), _ => None, }) .ok_or_else(|| anyhow!("No supported private key in file"))?; diff --git a/tests/data/cert_ec.pem b/tests/data/cert_ec.pem new file mode 100644 index 0000000..42d4a08 --- /dev/null +++ b/tests/data/cert_ec.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIBujCCAUCgAwIBAgIUd5MqZqnOPFxMKaYipL6S6B3D3cswCgYIKoZIzj0EAwIw +FDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDQxNjEzNDUxNVoXDTMzMDQxMzEz +NDUxNVowFDESMBAGA1UEAwwJbG9jYWxob3N0MHYwEAYHKoZIzj0CAQYFK4EEACID +YgAEPcNbYA4vrYfVtR1EZgRZ9/iRvRXtpx9ww3avV9echQj80xZ3KpCTA0T1gQ35 +0pCHpd9gMTnDZdHqWfSpBYrFBll26q8rRvSwSTqRQv5YdgrI/yAgZb+CXmjxAZWf +GoHso1MwUTAdBgNVHQ4EFgQU301zfi7+pUOUzs1ObVTwxNHM908wHwYDVR0jBBgw +FoAU301zfi7+pUOUzs1ObVTwxNHM908wDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjO +PQQDAgNoADBlAjEAxoOsn/1Kj1sfc3DhoA/UGetA+porz5dSHJOuuHVl5jS5nuAO +IrQmVvINVuVV3oQyAjBd8HoemembnGCz78Y40v7vLbd2yqWZt8sKX90f/Mj2hGsn +KjraTX2m52X4W8KLhMU= +-----END CERTIFICATE----- diff --git a/tests/data/cert_rsa.pem b/tests/data/cert_rsa.pem new file mode 100644 index 0000000..5448200 --- /dev/null +++ b/tests/data/cert_rsa.pem @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIIFCTCCAvGgAwIBAgIUTUIU8j6S7RXbFFhW/yFftSQvUCYwDQYJKoZIhvcNAQEL +BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDQxNjEzNDUxNVoXDTMzMDQx +MzEzNDUxNVowFDESMBAGA1UEAwwJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEArVsX/kqzqJAvuTiXiJZUAyYy3rxo1krwBY4KejzKw3JY +UFP63utA8EgGwXjnABua8bA1WKbl+MZwSOz2QOytuR6kkqwKWWdFeCzhOZDAAudd +LTqkkAxPX56Iv7y/v0emYfc0XNYjSaoq6yhvELVfeWabZ+WuZF9fisJ+Up1NvnLQ +6K5c+NB++gVHS+URgy0Z4jIaDnm5ofETDZSS9cjDLBMKK9X0bC+JFIXa9x5pQU2u +NTnYWtvRuaqAtt0fozT3hqzjAdBf0jhmKOySy/tK0W9n2FHJrqlo68gN0uP1PhQR +9EUCB4ZkElOXpBdoDub4iKVVjtdpBfppOuq+I2hSxtosP+9N0vBSBPrmDPGpdUP+ +lhxWEo1wKVW1AhPcOSDhKQM50SLxTk6ZmSKd0Z/obgjttVxqNlHw9GUoXZbztwZb +VPDVVEGJ6OZYSm2KENb1VxhLg/6dS/WXN7J240At9yj8PDEEaIa5YTJhGa2j4fDi +qsGiEx4AQEgliDUPhXhzmROMBdvynITU55au7bnadxPiGPOWj//qZL0URhCNDl2d +Habm7mlgEgaP90R+il5QTe9R+Lg4bTR4f01lXVdB/GE7oent5m82zqpV1TDnCM0Q +UneD6nfZjt9oqtTxr/ldcDFFtQhDD0SMtX82+wll+tzVU6lAUCgRC7+4Ob2CEVcC +AwEAAaNTMFEwHQYDVR0OBBYEFExLPelY6s7HpSVKWjUL6QFbQUeKMB8GA1UdIwQY +MBaAFExLPelY6s7HpSVKWjUL6QFbQUeKMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggIBAFzYxVXZTtsT8QAn6lCTcQ59sFRuhPKeuINHlcQRVsYDBukD +/ErkamNNycXrpRvQaYj8/cmk+mPaoleOf0e0iTlOs/IIzWKNy2drlmBuRi8FU5Gg +lsWt4FvEG3RRsDfTo7gjrqKpwnfkGxx7RZ74ZWg5pVXrzFV7N2XoA1Ln49+2oMJV +iZYYSdWdgGxHgivUfEhjliG2CDw6Z5NlEtbu/dXA4sBrSMtP2uW04F/8N61NEhSf +KNMQ2/qXkYHyYcwtsnxAjmgpQJK/yR95vLyTnuC5IT33icvXNLKCIa5gnyok2Lxj +qIx1SCPp7o6onB3otKkrniZEBpTqW4y5ELW1SHLGkSXqm3cwbxK0Fm2bphF0mhIJ +air31ZiENy1ICYGDPv/EetG/bkzy2Cqc9pa+/N5N/9nKh6C9Wi/OsGCn72DvW9OV +6GW/W3HQwiZdTuLYvk0dpsfuFZvEaZrKsvLwkJGA1cS1IHv2V+mPxaHAMPPd+SyA +naZj/1vBWxHAenQoUBRxW2qpK708ITJ/PGodi6l0Kv6NSMlSq+JB/gU/fmBJXgL8 +Nmc7pn5UJX74CSaBHnxjEfa3F6RPz00nNUStNl0ZjVZW3kKwQfbsCTiSXIvS/whM +iQxO+l9Ae7ebWcQ4Qd38ZCMjA6e5CUaCj3oJA4VhNh4zNva8fkQ4mfKWleVv +-----END CERTIFICATE----- diff --git a/tests/data/generate_tls_certs.sh b/tests/data/generate_tls_certs.sh index ed23639..facd033 100755 --- a/tests/data/generate_tls_certs.sh +++ b/tests/data/generate_tls_certs.sh @@ -1,3 +1,4 @@ #!/usr/bin/env bash -openssl req -subj '/CN=localhost' -x509 -newkey rsa:4096 -keyout key_pkcs8.pem -out cert.pem -nodes -days 3650 +openssl req -subj '/CN=localhost' -x509 -newkey rsa:4096 -keyout key_pkcs8.pem -out cert_rsa.pem -nodes -days 3650 openssl rsa -in key_pkcs8.pem -out key_pkcs1.pem +openssl req -subj '/CN=localhost' -x509 -nodes -newkey ec -pkeyopt ec_paramgen_curve:secp384r1 -keyout key_ec.pem -out cert_ec.pem -days 3650 diff --git a/tests/data/key_ec.pem b/tests/data/key_ec.pem new file mode 100644 index 0000000..484e5d8 --- /dev/null +++ b/tests/data/key_ec.pem @@ -0,0 +1,6 @@ +-----BEGIN PRIVATE KEY----- +MIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDBZiwh8yRBpDgAx+Oa4 +qgvw0OOBiDnOHgY9+WuIA74dfGbPQDPwAVIVXfUX0a8YHa6hZANiAAQ9w1tgDi+t +h9W1HURmBFn3+JG9Fe2nH3DDdq9X15yFCPzTFncqkJMDRPWBDfnSkIel32AxOcNl +0epZ9KkFisUGWXbqrytG9LBJOpFC/lh2Csj/ICBlv4JeaPEBlZ8agew= +-----END PRIVATE KEY----- diff --git a/tests/data/key_pkcs1.pem b/tests/data/key_pkcs1.pem index 73055c7..695ff09 100644 --- a/tests/data/key_pkcs1.pem +++ b/tests/data/key_pkcs1.pem @@ -1,51 +1,52 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +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 +u4ePzLXxbfS9k7lshmbr2ix5s1Ypjg== +-----END PRIVATE KEY----- diff --git a/tests/data/key_pkcs8.pem b/tests/data/key_pkcs8.pem index 4263815..695ff09 100644 --- a/tests/data/key_pkcs8.pem +++ b/tests/data/key_pkcs8.pem @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDCZg6pOgjRHfSU -/Ji0X1tK6Eg4Kn1ynSOXae4do7yamvWAyIkoo3geMB2Bpz7eFiRNEWoraYoqlX1B -1UpHbghvuYLjkSTsGUvDdVvE9Eqsr+Ospbcze6L7jncHbjJ/orx0ffrH2BmjiCXO -CEXG6h0VqQhfbM0qjq0THRdWRuGy7/C+Paz7QvehOg8BhlqI4H/vFhTpi72ftOfq -sT3+isN8rUOWtkM/eHPLEvO5/q2pcKHrpyBo9BOH7HLJZly+XrSRsHgfdt2GptgY -wxA7xtTFdNBePC9Sy+XTKf2oKkwif30+b3GF8NBIXfNrAzcJD+Waf24VDN04R9iU -7qhqJ1OrEu0GFVRwS60hyahb2eaa/aASLj3/c6a9ZBwR0xa3zHDFKsy8oNJ5R0Xe -ttqVMcEVAcmUmIpFf3BM21JnlPwVNTvgingTMC0/zBjk0O/bneZ10A2jIqxVEbK1 -LfksMWQJL9PG5UNmuOW5zzrKpQh3+N8dkDNDuJ+kLz3RobQk6r/SaZUO9ufszN1O -xNbCETxRo6IWWNOI1BfdCNfdNoS7fYxccqjmd5s2oNVEacUwWZ9fDZk/yWBAJaTU -fEuvSqFHEjLxeYgrVlTPtRzgJtrvdcGlLFwg/K2kO64qi2yUGOghi70NjTufUe7j -Ng++k/0Odq6cRbrOYA0S2NLKsT9NDQIDAQABAoICAQC9eAEEGQcs4fhXGZav/lyZ -Nqnk7CzWf6eH1Pv6sXKKcUukmE9uZ10UdyrbCimxBX2eC8Ihy7yZYpfxiTPbSLg6 -RGH48Kc+4izAtWqbHMqHYusRg3Z6XB9u9Ny4RkQ7uF3bYEoDa3EZvQGzvMZdaCKu -0M/TSdTxjJvNjEYJlg42e7t1f+FQB2YZIuArSUqGK+ElIq2BLuzDcuuzB8r3g0Gj -C7BbfQswGnMpUzBvcHTMN3Xpmztwb6t1iBQcjYMJHH77nDaH3C9vJMBr6fqxeEo6 -pW7M2fX5ybcXR87tj0QjP4TPTIkl1Z77WW59N2X1lCPhoB+nrqESUJwcFDvbMrdM -yUZoDTdGui/fGa+91Yl2wn7IIB5AzSH3Vkb6Z2cEFKuKCNcfobfNSOVrrnFBj52u -IJGJhOj8FZz0HTYnIBQDpjVE92/+2CaCms5thlihm2ccG6jG2KGyjyNXRw548q/K -NVr65VG3B9IS0PVQ5z5ue5pt36ig057OtmCBGx23fqKwprzSTWQhsgZoUKSH4+UN -aBjqwcuhQJVPf4In6eJtW9Gf04cLDUMAWiaCHUTLVci3kauGqoxjj0Y4ysYbq16j -di51k+XVwas0LLjFf2+eaGfd0nMFHPoXXlfaPGJSl2QAnIQGJ2d1b+/EYHlhswr3 -EPO+V22U5aiAXjBYGEb9IQKCAQEA+GlAJzigOc8F9A1HPXuDYAFZxDYF8TEjQOrW -btFek55RTqO3pPgi5XR7gQLsqpno+3IMwkJPi9LE4HJ04dGlIiLAFsWWWsB7eshE -E/dm9ddfcvUlcMQ5vT0Z8r6kyLZR5NG+x5KMZ5AB4Uv8PLLaXQd2LyXQzysfPX00 -tWs0/6/DA99uVNiAi9K6ebV5ZJxgbEqiDd0wn1W0MH0lvxIJumTKLiWpOR7FlXlL -c+xRmyC0YqcX8LpI880GdnRI13SGPD9cu+/nivgjl18UC+j+WapeBLDCQHRcjaVy -UBKGwOTla3mdx6//jWxFQzZNsapR8dxIxuxY5b+cNUhV7W2LNQKCAQEAyFZkJxQf -Of7fHyBCL9ldzxgu4MHtGIeH/z+0nnJj+/b5HFlWAK9A1lSmTEMwNZ7tSQWAhmQb -lS3DEA4a12JKvqtpamYyj17hdx3dCGe9wU8z2aS08wDuM9L1g5xqhhrn2ewcpJNp -9cqoBKoqLjk9yA2X4GEUCaKuHbOMrkfQAq8jQBgYe3aPWZjMuDAI2RNpGxGwyslR -AM+LnWFskGtgB5q1rBNQduNXEKVqNd5Zsqztd/tkcLmgqLZHbpUWwqYYTaVE3wW9 -cir+9VGTuOi9kKEjZ2P35f4VP2GNA7V3fgU/LYv81V2osQPsngheL5RVA1RVvCqo -XTpsEUKie9WdeQKCAQEAhry34k4xggmLRhupp2yGDp3M7cMLqA4p+/0kgAkqDlGR -8mCUrHM2olRy5MAMVGCU4UW0K+3BraqNxNvwD8ghlIlavT9A1UqP70IOwvGvM+s0 -x2q2exrD4qPwnhzPzlotwzoNC7yuUUHn8ya+0sGD9W+lp98QCj5ufHCcFUboAUN5 -OHGJK5Ye6zhKktde17aGClbU3UY7KEFZMe+/eIq1IhenHi6pQeUx8GhRB7iHbufn -T5coQhcYmLx9I+Tg2ZRHdwg7KWjvow4CaAlXGzquMz5YLp0dT86NoPq7LTlPQ/Mj -iQ73CKeqqi+uxcz/iT1DozcDdnodocgzVyc8DEMdfQKCAQAQ37Xv1LIMoHsKlBz/ -Cr/sAY1xQORHfKLnzOXZsqjZQCQbTyr/Q8OiSd737XDSE2DJFb2NlED+f6w+XfHE -0nKZPLbUT2dSzBsRfWJwosxIy/MCEe1rylhF5S7otvQB96IvqMOA2SnDmh4sxmhn -HEsn3n08WPDnHtyrg8QFqebLUxUVAPKO851/Xm9f1CvqnMftj7/kVLCN8O1BhEMw -ptqfyVgj9jyAxwU+UbBweRn1Aru9r172X6w4iaHanpQcMQE7CQCUCFe8lgKDhyt6 -F6Bf3jKtMq5eoNgJTp4iAdbetnJr066oCgt7XWlAplPIjiXa8e+GudEUiScxDPvC -kmuBAoIBAH/+OwEZBEnMb5c+aWTgxUh3NGtAy6LgD+1cj5IT2s215si6ea4QzPM0 -Ddht4nbs2oPML5kwpym4IKI1OY+07haZJoxt14xo7eLhO8+7+t6yka/Y6SlIuSqP -Cku40Ok2JyWRQxe3n371wmEKKuJyqVMDR1bY5tkwhh1MYUO8xkGbbZcbrUx6GLuJ -E53ybjzdaxFYbHO2ZvqQALZq5h8mb+5IFFhIQjM2PLXHY3Ok3xNgrR9Se1Bb6tZY -x+j6/xEBVw1Yg2J/UgMjRQDzax/wTBzTlUkc1kpp0Xi2iQcxVQSZZ1nQU3opcmwJ -UbBWUEN95O4LnWFuyhEIOIEmp5JtGks= +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 +u4ePzLXxbfS9k7lshmbr2ix5s1Ypjg== -----END PRIVATE KEY----- diff --git a/tests/tls.rs b/tests/tls.rs index a1c819a..7750c82 100644 --- a/tests/tls.rs +++ b/tests/tls.rs @@ -10,13 +10,17 @@ use select::{document::Document, node::Node}; /// Can start the server with TLS and receive encrypted responses. #[rstest] #[case(server(&[ - "--tls-cert", "tests/data/cert.pem", + "--tls-cert", "tests/data/cert_rsa.pem", "--tls-key", "tests/data/key_pkcs8.pem", ]))] #[case(server(&[ - "--tls-cert", "tests/data/cert.pem", + "--tls-cert", "tests/data/cert_rsa.pem", "--tls-key", "tests/data/key_pkcs1.pem", ]))] +#[case(server(&[ + "--tls-cert", "tests/data/cert_ec.pem", + "--tls-key", "tests/data/key_ec.pem", +]))] fn tls_works(#[case] server: TestServer) -> Result<(), Error> { let client = ClientBuilder::new() .danger_accept_invalid_certs(true) |