From 862972d3a819d47483e562a0ffbf567f62d13dd8 Mon Sep 17 00:00:00 2001 From: Ciprian Dorin Craciun Date: Tue, 21 Dec 2021 22:56:08 +0200 Subject: [PATCH] [tls] Generate custom self-signed TLS certificates. --- examples/tls-bundle.pem | 48 +-- examples/tls-private.pem | 29 +- examples/tls-public.pem | 20 +- .../conf/self-signed--any--certificate.conf | 291 ++++++++++++++++++ .../conf/testing--ca--any--certificate.conf | 30 ++ .../testing--client--any--certificate.conf | 11 + .../testing--server--any--certificate.conf | 291 ++++++++++++++++++ .../ed25519/self-signed--ed25519--bundle.p12 | Bin 0 -> 1775 bytes .../ed25519/self-signed--ed25519--bundle.pem | 33 ++ .../self-signed--ed25519--certificate.pem | 30 ++ .../self-signed--ed25519--private-key.pem | 3 + .../testing--ca--ed25519--certificate.pem | 13 + .../testing--ca--ed25519--private-key.pem | 3 + .../testing--client--ed25519--bundle.p12 | Bin 0 -> 1375 bytes .../testing--client--ed25519--bundle.pem | 26 ++ .../testing--client--ed25519--certificate.pem | 10 + .../testing--client--ed25519--private-key.pem | 3 + .../testing--client--ed25519--request.pem | 7 + .../testing--server--ed25519--bundle.p12 | Bin 0 -> 2351 bytes .../testing--server--ed25519--bundle.pem | 46 +++ .../testing--server--ed25519--certificate.pem | 30 ++ .../testing--server--ed25519--private-key.pem | 3 + .../testing--server--ed25519--request.pem | 28 ++ examples/tls/rsa/self-signed--rsa--bundle.p12 | Bin 0 -> 3418 bytes examples/tls/rsa/self-signed--rsa--bundle.pem | 67 ++++ .../tls/rsa/self-signed--rsa--certificate.pem | 39 +++ .../tls/rsa/self-signed--rsa--private-key.pem | 28 ++ .../tls/rsa/testing--ca--rsa--certificate.pem | 23 ++ .../tls/rsa/testing--ca--rsa--private-key.pem | 28 ++ .../tls/rsa/testing--client--rsa--bundle.p12 | Bin 0 -> 3474 bytes .../tls/rsa/testing--client--rsa--bundle.pem | 70 +++++ .../rsa/testing--client--rsa--certificate.pem | 19 ++ .../rsa/testing--client--rsa--private-key.pem | 28 ++ .../tls/rsa/testing--client--rsa--request.pem | 17 + .../tls/rsa/testing--server--rsa--bundle.p12 | Bin 0 -> 4450 bytes .../tls/rsa/testing--server--rsa--bundle.pem | 91 ++++++ .../rsa/testing--server--rsa--certificate.pem | 40 +++ .../rsa/testing--server--rsa--private-key.pem | 28 ++ .../tls/rsa/testing--server--rsa--request.pem | 37 +++ examples/tls/testing--ca.pem | 36 +++ scripts/tls.z-run | 248 +++++++++++++++ scripts/z-run | 2 + 42 files changed, 1662 insertions(+), 94 deletions(-) mode change 100644 => 120000 examples/tls-bundle.pem mode change 100644 => 120000 examples/tls-private.pem mode change 100644 => 120000 examples/tls-public.pem create mode 100644 examples/tls/conf/self-signed--any--certificate.conf create mode 100644 examples/tls/conf/testing--ca--any--certificate.conf create mode 100644 examples/tls/conf/testing--client--any--certificate.conf create mode 100644 examples/tls/conf/testing--server--any--certificate.conf create mode 100644 examples/tls/ed25519/self-signed--ed25519--bundle.p12 create mode 100644 examples/tls/ed25519/self-signed--ed25519--bundle.pem create mode 100644 examples/tls/ed25519/self-signed--ed25519--certificate.pem create mode 100644 examples/tls/ed25519/self-signed--ed25519--private-key.pem create mode 100644 examples/tls/ed25519/testing--ca--ed25519--certificate.pem create mode 100644 examples/tls/ed25519/testing--ca--ed25519--private-key.pem create mode 100644 examples/tls/ed25519/testing--client--ed25519--bundle.p12 create mode 100644 examples/tls/ed25519/testing--client--ed25519--bundle.pem create mode 100644 examples/tls/ed25519/testing--client--ed25519--certificate.pem create mode 100644 examples/tls/ed25519/testing--client--ed25519--private-key.pem create mode 100644 examples/tls/ed25519/testing--client--ed25519--request.pem create mode 100644 examples/tls/ed25519/testing--server--ed25519--bundle.p12 create mode 100644 examples/tls/ed25519/testing--server--ed25519--bundle.pem create mode 100644 examples/tls/ed25519/testing--server--ed25519--certificate.pem create mode 100644 examples/tls/ed25519/testing--server--ed25519--private-key.pem create mode 100644 examples/tls/ed25519/testing--server--ed25519--request.pem create mode 100644 examples/tls/rsa/self-signed--rsa--bundle.p12 create mode 100644 examples/tls/rsa/self-signed--rsa--bundle.pem create mode 100644 examples/tls/rsa/self-signed--rsa--certificate.pem create mode 100644 examples/tls/rsa/self-signed--rsa--private-key.pem create mode 100644 examples/tls/rsa/testing--ca--rsa--certificate.pem create mode 100644 examples/tls/rsa/testing--ca--rsa--private-key.pem create mode 100644 examples/tls/rsa/testing--client--rsa--bundle.p12 create mode 100644 examples/tls/rsa/testing--client--rsa--bundle.pem create mode 100644 examples/tls/rsa/testing--client--rsa--certificate.pem create mode 100644 examples/tls/rsa/testing--client--rsa--private-key.pem create mode 100644 examples/tls/rsa/testing--client--rsa--request.pem create mode 100644 examples/tls/rsa/testing--server--rsa--bundle.p12 create mode 100644 examples/tls/rsa/testing--server--rsa--bundle.pem create mode 100644 examples/tls/rsa/testing--server--rsa--certificate.pem create mode 100644 examples/tls/rsa/testing--server--rsa--private-key.pem create mode 100644 examples/tls/rsa/testing--server--rsa--request.pem create mode 100644 examples/tls/testing--ca.pem create mode 100644 scripts/tls.z-run diff --git a/examples/tls-bundle.pem b/examples/tls-bundle.pem deleted file mode 100644 index c8b6d30..0000000 --- a/examples/tls-bundle.pem +++ /dev/null @@ -1,47 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDIzCCAgugAwIBAgIUVyUIITgu0+by4ASAy3b9vOM+B2wwDQYJKoZIhvcNAQEL -BQAwHzEdMBsGA1UEAxMUa2F3aXBpa28udm9sdXRpb24ucm8wIBcNMTkwODE0MTUw -OTEzWhgPMjA1OTA4MTQxNTA5MTNaMB8xHTAbBgNVBAMTFGthd2lwaWtvLnZvbHV0 -aW9uLnJvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvo6I70Xe87KO -aj764hlWEcAWWaEnBmzMgJtOiAgFfG6B3vMuSE84Ro7a0uqVwkHqhYOrE66jFBo8 -moPBOBABovVpDtNGjWGE+xFqf609MEuWloDNu4d6wgBjdjcXfZZ6KYcsfsctcoRe -eYljgujx+lvRgORKS4nWnOOyY3O9wJRMxa3ITkRfVUwlQgampKKcIk3iXdRqdAOt -ws6TO3VTwVZ1poDDSyYcKTW6aQoQmsOCDEgQh+pyYQJSVIEqiFP32cjq43opHonf -OpykAiL2e7MiRYJur5E5xH2ZmT9SersPcACMoCu1DiHPJaGvxfl693gf4pgX6rDb -PWTNJqWpqwIDAQABo1UwUzAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUF -BwMBMA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFPDjABVCI490LdvHPeotzNq3 -xa9KMA0GCSqGSIb3DQEBCwUAA4IBAQA0cYKpYneOgBRGL/5q86g17qGOrQOWjdDr -1k7i817pBjIfRj9bm1n2iaSrC4GCt4Ok+hl/DyjPNDDUXZxEmfmxlugi6dKLPQp9 -p30hlTB7E3ArHKkWXYGo19URewAUYOMEIR1lB5/RS21rnpUKHawrwi9pZHTwYQ5Q -QcnpA9/FvCbPo8gb9kPAuDyj39tdzzgNK/Xvj8ym9RhUbTtBgbWujRCIWU0L6bfl -i7DLfJoPSK+s6S5YGr88VAz0y9zAGD/2wGq9R1hUSDw0OfMgEm9GoSz6FpXKKBtl -M01bP11akztK8sWChdels4OXOsPQ1SdF2XE4od82cm6lA8IgE1hY ------END CERTIFICATE----- ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+jojvRd7zso5q -PvriGVYRwBZZoScGbMyAm06ICAV8boHe8y5ITzhGjtrS6pXCQeqFg6sTrqMUGjya -g8E4EAGi9WkO00aNYYT7EWp/rT0wS5aWgM27h3rCAGN2Nxd9lnophyx+xy1yhF55 -iWOC6PH6W9GA5EpLidac47Jjc73AlEzFrchORF9VTCVCBqakopwiTeJd1Gp0A63C -zpM7dVPBVnWmgMNLJhwpNbppChCaw4IMSBCH6nJhAlJUgSqIU/fZyOrjeikeid86 -nKQCIvZ7syJFgm6vkTnEfZmZP1J6uw9wAIygK7UOIc8loa/F+Xr3eB/imBfqsNs9 -ZM0mpamrAgMBAAECggEAORjSVQeVj2XAIHuwhtDapkTtLXwJCnbNK/fdJwtoQWmH -RnuNMaNzFEk3rh0WNHe1wr26JBKe0KYv5Ih3+8loBCEOkp+hszk2NFh6lbkd7Xuo -qn37pyYoFTsykjhdtIbDIfBb17zslDSvbjFJfO85mi+q7bj5vfqWMLpVOFF02N/S -SmASAzAYTAOE+wheMuTWkm8r3PXh8WhJViWLp/9l6gyLT0mOazxaVayOWyJ/pg1w -qPZiNOavTbNyP7jzUysA4LX9CdBQx3k48IQm0c59Zu49Rl7H6ZT9Vp2CSkvbZRZS -qVLKYtE4o5SIyAPI5QBCRyNVkHQnZAzPIv/vwbky4QKBgQDmcxY9YVIVpjZQCcVg -R++ClrjKKzuR4dmUvmF3H6F4uT6S+7zPsaaIbgBUo2B/Z5QZ+vv6FeKcGZhGSVzU -gtiQeNvEPE25oHbJm3ui71Wvw2mEpTp52bYL6k68b45ydq/CCpohSLym/WjlVVSz -ce2IJZaviGn68jY175bRRDAb2wKBgQDTrykGt8gfACmSBZcULkaXCDqT0nfnWccx -OHuimbIDgSU0Q/KJA9P0pSbtL/2rUXEnZpUJ0oDDEi0MpBkSX3Tb3U959aY97hXK -arHI0iziUcW1ZZ2XGO5KtRviQ0D5CKZWR1Ttjm1oCJkmxAag070CF/UdcTGEizrK -OeI7o1l6cQKBgBo21z3ON0ctLBp4shIcvLsPKCAfQNx8Y4LPEUk6uOSBtgOETVsW -60mzsafvGcgEYU1/RnCRUsDNDIxaRgwKglYU2XL+JR1Lipeubyb+sLGYugUTwo4f -3NyIH8LBseOFasLY7+V/X65jPy5vQX5UJGALXpPDIcMhEFecVHyjlBFnAoGABtWs -+W6No5KZxQExM5Ga7d1yJruw62NWrxwnwcQ8nyhYTyuydQIOoeODMj1Ob22dvavu -O/bz+Vho4/OYa6NxXnfyzPlFeNJrGbIAM3+1u0jwnT6+q9Y+O2NFlzScsG27ESYU -c+cZWTaN21aQ8Dhl7d9gJqc09haYu1bLGynXBcECgYEAsxgIbbO3CtxPfqgtJrAo -eRPPLX7UOdXmarOBYFL+jsG5SWSyECqKDgkjyeQFVqHzK+W4k654TobZoMUhDIUL -GeNAoNAIjPciush/0yYI8w3EybHIkB6JSi4LyhWBQazGaAr3Ai0NHbKt3ZzcOM1D -azCipM9H6CJO+MjoG+S53Xo= ------END PRIVATE KEY----- diff --git a/examples/tls-bundle.pem b/examples/tls-bundle.pem new file mode 120000 index 0000000..ae3ecb5 --- /dev/null +++ b/examples/tls-bundle.pem @@ -0,0 +1 @@ +./tls/rsa/testing--server--rsa--bundle.pem \ No newline at end of file diff --git a/examples/tls-private.pem b/examples/tls-private.pem deleted file mode 100644 index 28c676c..0000000 --- a/examples/tls-private.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+jojvRd7zso5q -PvriGVYRwBZZoScGbMyAm06ICAV8boHe8y5ITzhGjtrS6pXCQeqFg6sTrqMUGjya -g8E4EAGi9WkO00aNYYT7EWp/rT0wS5aWgM27h3rCAGN2Nxd9lnophyx+xy1yhF55 -iWOC6PH6W9GA5EpLidac47Jjc73AlEzFrchORF9VTCVCBqakopwiTeJd1Gp0A63C -zpM7dVPBVnWmgMNLJhwpNbppChCaw4IMSBCH6nJhAlJUgSqIU/fZyOrjeikeid86 -nKQCIvZ7syJFgm6vkTnEfZmZP1J6uw9wAIygK7UOIc8loa/F+Xr3eB/imBfqsNs9 -ZM0mpamrAgMBAAECggEAORjSVQeVj2XAIHuwhtDapkTtLXwJCnbNK/fdJwtoQWmH -RnuNMaNzFEk3rh0WNHe1wr26JBKe0KYv5Ih3+8loBCEOkp+hszk2NFh6lbkd7Xuo -qn37pyYoFTsykjhdtIbDIfBb17zslDSvbjFJfO85mi+q7bj5vfqWMLpVOFF02N/S -SmASAzAYTAOE+wheMuTWkm8r3PXh8WhJViWLp/9l6gyLT0mOazxaVayOWyJ/pg1w -qPZiNOavTbNyP7jzUysA4LX9CdBQx3k48IQm0c59Zu49Rl7H6ZT9Vp2CSkvbZRZS -qVLKYtE4o5SIyAPI5QBCRyNVkHQnZAzPIv/vwbky4QKBgQDmcxY9YVIVpjZQCcVg -R++ClrjKKzuR4dmUvmF3H6F4uT6S+7zPsaaIbgBUo2B/Z5QZ+vv6FeKcGZhGSVzU -gtiQeNvEPE25oHbJm3ui71Wvw2mEpTp52bYL6k68b45ydq/CCpohSLym/WjlVVSz -ce2IJZaviGn68jY175bRRDAb2wKBgQDTrykGt8gfACmSBZcULkaXCDqT0nfnWccx -OHuimbIDgSU0Q/KJA9P0pSbtL/2rUXEnZpUJ0oDDEi0MpBkSX3Tb3U959aY97hXK -arHI0iziUcW1ZZ2XGO5KtRviQ0D5CKZWR1Ttjm1oCJkmxAag070CF/UdcTGEizrK -OeI7o1l6cQKBgBo21z3ON0ctLBp4shIcvLsPKCAfQNx8Y4LPEUk6uOSBtgOETVsW -60mzsafvGcgEYU1/RnCRUsDNDIxaRgwKglYU2XL+JR1Lipeubyb+sLGYugUTwo4f -3NyIH8LBseOFasLY7+V/X65jPy5vQX5UJGALXpPDIcMhEFecVHyjlBFnAoGABtWs -+W6No5KZxQExM5Ga7d1yJruw62NWrxwnwcQ8nyhYTyuydQIOoeODMj1Ob22dvavu -O/bz+Vho4/OYa6NxXnfyzPlFeNJrGbIAM3+1u0jwnT6+q9Y+O2NFlzScsG27ESYU -c+cZWTaN21aQ8Dhl7d9gJqc09haYu1bLGynXBcECgYEAsxgIbbO3CtxPfqgtJrAo -eRPPLX7UOdXmarOBYFL+jsG5SWSyECqKDgkjyeQFVqHzK+W4k654TobZoMUhDIUL -GeNAoNAIjPciush/0yYI8w3EybHIkB6JSi4LyhWBQazGaAr3Ai0NHbKt3ZzcOM1D -azCipM9H6CJO+MjoG+S53Xo= ------END PRIVATE KEY----- diff --git a/examples/tls-private.pem b/examples/tls-private.pem new file mode 120000 index 0000000..84191ea --- /dev/null +++ b/examples/tls-private.pem @@ -0,0 +1 @@ +./tls/rsa/testing--server--rsa--private-key.pem \ No newline at end of file diff --git a/examples/tls-public.pem b/examples/tls-public.pem deleted file mode 100644 index 3c7ca52..0000000 --- a/examples/tls-public.pem +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDIzCCAgugAwIBAgIUVyUIITgu0+by4ASAy3b9vOM+B2wwDQYJKoZIhvcNAQEL -BQAwHzEdMBsGA1UEAxMUa2F3aXBpa28udm9sdXRpb24ucm8wIBcNMTkwODE0MTUw -OTEzWhgPMjA1OTA4MTQxNTA5MTNaMB8xHTAbBgNVBAMTFGthd2lwaWtvLnZvbHV0 -aW9uLnJvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvo6I70Xe87KO -aj764hlWEcAWWaEnBmzMgJtOiAgFfG6B3vMuSE84Ro7a0uqVwkHqhYOrE66jFBo8 -moPBOBABovVpDtNGjWGE+xFqf609MEuWloDNu4d6wgBjdjcXfZZ6KYcsfsctcoRe -eYljgujx+lvRgORKS4nWnOOyY3O9wJRMxa3ITkRfVUwlQgampKKcIk3iXdRqdAOt -ws6TO3VTwVZ1poDDSyYcKTW6aQoQmsOCDEgQh+pyYQJSVIEqiFP32cjq43opHonf -OpykAiL2e7MiRYJur5E5xH2ZmT9SersPcACMoCu1DiHPJaGvxfl693gf4pgX6rDb -PWTNJqWpqwIDAQABo1UwUzAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUF -BwMBMA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFPDjABVCI490LdvHPeotzNq3 -xa9KMA0GCSqGSIb3DQEBCwUAA4IBAQA0cYKpYneOgBRGL/5q86g17qGOrQOWjdDr -1k7i817pBjIfRj9bm1n2iaSrC4GCt4Ok+hl/DyjPNDDUXZxEmfmxlugi6dKLPQp9 -p30hlTB7E3ArHKkWXYGo19URewAUYOMEIR1lB5/RS21rnpUKHawrwi9pZHTwYQ5Q -QcnpA9/FvCbPo8gb9kPAuDyj39tdzzgNK/Xvj8ym9RhUbTtBgbWujRCIWU0L6bfl -i7DLfJoPSK+s6S5YGr88VAz0y9zAGD/2wGq9R1hUSDw0OfMgEm9GoSz6FpXKKBtl -M01bP11akztK8sWChdels4OXOsPQ1SdF2XE4od82cm6lA8IgE1hY ------END CERTIFICATE----- diff --git a/examples/tls-public.pem b/examples/tls-public.pem new file mode 120000 index 0000000..29f0201 --- /dev/null +++ b/examples/tls-public.pem @@ -0,0 +1 @@ +./tls/rsa/testing--server--rsa--certificate.pem \ No newline at end of file diff --git a/examples/tls/conf/self-signed--any--certificate.conf b/examples/tls/conf/self-signed--any--certificate.conf new file mode 100644 index 0000000..1516355 --- /dev/null +++ b/examples/tls/conf/self-signed--any--certificate.conf @@ -0,0 +1,291 @@ + +cn = "kawipiko-self-signed" + +tls_www_server +signing_key +encryption_key + +activation_date = "2020-01-01 00:00:00 UTC" +expiration_date = "2040-12-31 23:59:59 UTC" +serial = 1 + + +dns_name = "kawipiko" +dns_name = "*.kawipiko" + +dns_name = "localhost" +dns_name = "*.localhost" + +dns_name = "test" +dns_name = "*.test" + +dns_name = "example" +dns_name = "*.example" +dns_name = "example.com" +dns_name = "*.example.com" +dns_name = "example.net" +dns_name = "*.example.net" +dns_name = "example.org" +dns_name = "*.example.org" + +dns_name = "invalid" +dns_name = "*.invalid" + +ip_address = "127.0.0.0" +ip_address = "127.0.0.1" +ip_address = "127.0.0.2" +ip_address = "127.0.0.3" +ip_address = "127.0.0.4" +ip_address = "127.0.0.5" +ip_address = "127.0.0.6" +ip_address = "127.0.0.7" +ip_address = "127.0.0.8" +ip_address = "127.0.0.9" +ip_address = "127.0.0.10" +ip_address = "127.0.0.11" +ip_address = "127.0.0.12" +ip_address = "127.0.0.13" +ip_address = "127.0.0.14" +ip_address = "127.0.0.15" +ip_address = "127.0.0.16" +ip_address = "127.0.0.17" +ip_address = "127.0.0.18" +ip_address = "127.0.0.19" +ip_address = "127.0.0.20" +ip_address = "127.0.0.21" +ip_address = "127.0.0.22" +ip_address = "127.0.0.23" +ip_address = "127.0.0.24" +ip_address = "127.0.0.25" +ip_address = "127.0.0.26" +ip_address = "127.0.0.27" +ip_address = "127.0.0.28" +ip_address = "127.0.0.29" +ip_address = "127.0.0.30" +ip_address = "127.0.0.31" +ip_address = "127.0.0.32" +ip_address = "127.0.0.33" +ip_address = "127.0.0.34" +ip_address = "127.0.0.35" +ip_address = "127.0.0.36" +ip_address = "127.0.0.37" +ip_address = "127.0.0.38" +ip_address = "127.0.0.39" +ip_address = "127.0.0.40" +ip_address = "127.0.0.41" +ip_address = "127.0.0.42" +ip_address = "127.0.0.43" +ip_address = "127.0.0.44" +ip_address = "127.0.0.45" +ip_address = "127.0.0.46" +ip_address = "127.0.0.47" +ip_address = "127.0.0.48" +ip_address = "127.0.0.49" +ip_address = "127.0.0.50" +ip_address = "127.0.0.51" +ip_address = "127.0.0.52" +ip_address = "127.0.0.53" +ip_address = "127.0.0.54" +ip_address = "127.0.0.55" +ip_address = "127.0.0.56" +ip_address = "127.0.0.57" +ip_address = "127.0.0.58" +ip_address = "127.0.0.59" +ip_address = "127.0.0.60" +ip_address = "127.0.0.61" +ip_address = "127.0.0.62" +ip_address = "127.0.0.63" +ip_address = "127.0.0.64" +ip_address = "127.0.0.65" +ip_address = "127.0.0.66" +ip_address = "127.0.0.67" +ip_address = "127.0.0.68" +ip_address = "127.0.0.69" +ip_address = "127.0.0.70" +ip_address = "127.0.0.71" +ip_address = "127.0.0.72" +ip_address = "127.0.0.73" +ip_address = "127.0.0.74" +ip_address = "127.0.0.75" +ip_address = "127.0.0.76" +ip_address = "127.0.0.77" +ip_address = "127.0.0.78" +ip_address = "127.0.0.79" +ip_address = "127.0.0.80" +ip_address = "127.0.0.81" +ip_address = "127.0.0.82" +ip_address = "127.0.0.83" +ip_address = "127.0.0.84" +ip_address = "127.0.0.85" +ip_address = "127.0.0.86" +ip_address = "127.0.0.87" +ip_address = "127.0.0.88" +ip_address = "127.0.0.89" +ip_address = "127.0.0.90" +ip_address = "127.0.0.91" +ip_address = "127.0.0.92" +ip_address = "127.0.0.93" +ip_address = "127.0.0.94" +ip_address = "127.0.0.95" +ip_address = "127.0.0.96" +ip_address = "127.0.0.97" +ip_address = "127.0.0.98" +ip_address = "127.0.0.99" +ip_address = "127.0.0.100" +ip_address = "127.0.0.101" +ip_address = "127.0.0.102" +ip_address = "127.0.0.103" +ip_address = "127.0.0.104" +ip_address = "127.0.0.105" +ip_address = "127.0.0.106" +ip_address = "127.0.0.107" +ip_address = "127.0.0.108" +ip_address = "127.0.0.109" +ip_address = "127.0.0.110" +ip_address = "127.0.0.111" +ip_address = "127.0.0.112" +ip_address = "127.0.0.113" +ip_address = "127.0.0.114" +ip_address = "127.0.0.115" +ip_address = "127.0.0.116" +ip_address = "127.0.0.117" +ip_address = "127.0.0.118" +ip_address = "127.0.0.119" +ip_address = "127.0.0.120" +ip_address = "127.0.0.121" +ip_address = "127.0.0.122" +ip_address = "127.0.0.123" +ip_address = "127.0.0.124" +ip_address = "127.0.0.125" +ip_address = "127.0.0.126" +ip_address = "127.0.0.127" +ip_address = "127.0.0.128" +ip_address = "127.0.0.129" +ip_address = "127.0.0.130" +ip_address = "127.0.0.131" +ip_address = "127.0.0.132" +ip_address = "127.0.0.133" +ip_address = "127.0.0.134" +ip_address = "127.0.0.135" +ip_address = "127.0.0.136" +ip_address = "127.0.0.137" +ip_address = "127.0.0.138" +ip_address = "127.0.0.139" +ip_address = "127.0.0.140" +ip_address = "127.0.0.141" +ip_address = "127.0.0.142" +ip_address = "127.0.0.143" +ip_address = "127.0.0.144" +ip_address = "127.0.0.145" +ip_address = "127.0.0.146" +ip_address = "127.0.0.147" +ip_address = "127.0.0.148" +ip_address = "127.0.0.149" +ip_address = "127.0.0.150" +ip_address = "127.0.0.151" +ip_address = "127.0.0.152" +ip_address = "127.0.0.153" +ip_address = "127.0.0.154" +ip_address = "127.0.0.155" +ip_address = "127.0.0.156" +ip_address = "127.0.0.157" +ip_address = "127.0.0.158" +ip_address = "127.0.0.159" +ip_address = "127.0.0.160" +ip_address = "127.0.0.161" +ip_address = "127.0.0.162" +ip_address = "127.0.0.163" +ip_address = "127.0.0.164" +ip_address = "127.0.0.165" +ip_address = "127.0.0.166" +ip_address = "127.0.0.167" +ip_address = "127.0.0.168" +ip_address = "127.0.0.169" +ip_address = "127.0.0.170" +ip_address = "127.0.0.171" +ip_address = "127.0.0.172" +ip_address = "127.0.0.173" +ip_address = "127.0.0.174" +ip_address = "127.0.0.175" +ip_address = "127.0.0.176" +ip_address = "127.0.0.177" +ip_address = "127.0.0.178" +ip_address = "127.0.0.179" +ip_address = "127.0.0.180" +ip_address = "127.0.0.181" +ip_address = "127.0.0.182" +ip_address = "127.0.0.183" +ip_address = "127.0.0.184" +ip_address = "127.0.0.185" +ip_address = "127.0.0.186" +ip_address = "127.0.0.187" +ip_address = "127.0.0.188" +ip_address = "127.0.0.189" +ip_address = "127.0.0.190" +ip_address = "127.0.0.191" +ip_address = "127.0.0.192" +ip_address = "127.0.0.193" +ip_address = "127.0.0.194" +ip_address = "127.0.0.195" +ip_address = "127.0.0.196" +ip_address = "127.0.0.197" +ip_address = "127.0.0.198" +ip_address = "127.0.0.199" +ip_address = "127.0.0.200" +ip_address = "127.0.0.201" +ip_address = "127.0.0.202" +ip_address = "127.0.0.203" +ip_address = "127.0.0.204" +ip_address = "127.0.0.205" +ip_address = "127.0.0.206" +ip_address = "127.0.0.207" +ip_address = "127.0.0.208" +ip_address = "127.0.0.209" +ip_address = "127.0.0.210" +ip_address = "127.0.0.211" +ip_address = "127.0.0.212" +ip_address = "127.0.0.213" +ip_address = "127.0.0.214" +ip_address = "127.0.0.215" +ip_address = "127.0.0.216" +ip_address = "127.0.0.217" +ip_address = "127.0.0.218" +ip_address = "127.0.0.219" +ip_address = "127.0.0.220" +ip_address = "127.0.0.221" +ip_address = "127.0.0.222" +ip_address = "127.0.0.223" +ip_address = "127.0.0.224" +ip_address = "127.0.0.225" +ip_address = "127.0.0.226" +ip_address = "127.0.0.227" +ip_address = "127.0.0.228" +ip_address = "127.0.0.229" +ip_address = "127.0.0.230" +ip_address = "127.0.0.231" +ip_address = "127.0.0.232" +ip_address = "127.0.0.233" +ip_address = "127.0.0.234" +ip_address = "127.0.0.235" +ip_address = "127.0.0.236" +ip_address = "127.0.0.237" +ip_address = "127.0.0.238" +ip_address = "127.0.0.239" +ip_address = "127.0.0.240" +ip_address = "127.0.0.241" +ip_address = "127.0.0.242" +ip_address = "127.0.0.243" +ip_address = "127.0.0.244" +ip_address = "127.0.0.245" +ip_address = "127.0.0.246" +ip_address = "127.0.0.247" +ip_address = "127.0.0.248" +ip_address = "127.0.0.249" +ip_address = "127.0.0.250" +ip_address = "127.0.0.251" +ip_address = "127.0.0.252" +ip_address = "127.0.0.253" +ip_address = "127.0.0.254" +ip_address = "127.0.0.255" +ip_address = "127.255.255.254" + diff --git a/examples/tls/conf/testing--ca--any--certificate.conf b/examples/tls/conf/testing--ca--any--certificate.conf new file mode 100644 index 0000000..b19d9ba --- /dev/null +++ b/examples/tls/conf/testing--ca--any--certificate.conf @@ -0,0 +1,30 @@ + +cn = "kawipiko-ca" + +ca + +activation_date = "2020-01-01 00:00:00 UTC" +expiration_date = "2040-12-31 23:59:59 UTC" +serial = 1 + + +nc_permit_dns = kawipiko +nc_permit_dns = localhost +nc_permit_dns = test +nc_permit_dns = example +nc_permit_dns = example.com +nc_permit_dns = example.net +nc_permit_dns = example.org +nc_permit_dns = invalid + +nc_permit_email = kawipiko +nc_permit_email = localhost +nc_permit_email = test +nc_permit_email = example +nc_permit_email = example.com +nc_permit_email = example.net +nc_permit_email = example.org +nc_permit_email = invalid + +nc_permit_ip = 127.0.0.0/8 + diff --git a/examples/tls/conf/testing--client--any--certificate.conf b/examples/tls/conf/testing--client--any--certificate.conf new file mode 100644 index 0000000..76c1703 --- /dev/null +++ b/examples/tls/conf/testing--client--any--certificate.conf @@ -0,0 +1,11 @@ + +cn = "kawipiko-client" + +tls_www_client +signing_key +encryption_key + +activation_date = "2020-01-01 00:00:00 UTC" +expiration_date = "2040-12-31 23:59:59 UTC" +serial = 3 + diff --git a/examples/tls/conf/testing--server--any--certificate.conf b/examples/tls/conf/testing--server--any--certificate.conf new file mode 100644 index 0000000..ab1aac1 --- /dev/null +++ b/examples/tls/conf/testing--server--any--certificate.conf @@ -0,0 +1,291 @@ + +cn = "kawipiko-server" + +tls_www_server +signing_key +encryption_key + +activation_date = "2020-01-01 00:00:00 UTC" +expiration_date = "2040-12-31 23:59:59 UTC" +serial = 2 + + +dns_name = "kawipiko" +dns_name = "*.kawipiko" + +dns_name = "localhost" +dns_name = "*.localhost" + +dns_name = "test" +dns_name = "*.test" + +dns_name = "example" +dns_name = "*.example" +dns_name = "example.com" +dns_name = "*.example.com" +dns_name = "example.net" +dns_name = "*.example.net" +dns_name = "example.org" +dns_name = "*.example.org" + +dns_name = "invalid" +dns_name = "*.invalid" + +ip_address = "127.0.0.0" +ip_address = "127.0.0.1" +ip_address = "127.0.0.2" +ip_address = "127.0.0.3" +ip_address = "127.0.0.4" +ip_address = "127.0.0.5" +ip_address = "127.0.0.6" +ip_address = "127.0.0.7" +ip_address = "127.0.0.8" +ip_address = "127.0.0.9" +ip_address = "127.0.0.10" +ip_address = "127.0.0.11" +ip_address = "127.0.0.12" +ip_address = "127.0.0.13" +ip_address = "127.0.0.14" +ip_address = "127.0.0.15" +ip_address = "127.0.0.16" +ip_address = "127.0.0.17" +ip_address = "127.0.0.18" +ip_address = "127.0.0.19" +ip_address = "127.0.0.20" +ip_address = "127.0.0.21" +ip_address = "127.0.0.22" +ip_address = "127.0.0.23" +ip_address = "127.0.0.24" +ip_address = "127.0.0.25" +ip_address = "127.0.0.26" +ip_address = "127.0.0.27" +ip_address = "127.0.0.28" +ip_address = "127.0.0.29" +ip_address = "127.0.0.30" +ip_address = "127.0.0.31" +ip_address = "127.0.0.32" +ip_address = "127.0.0.33" +ip_address = "127.0.0.34" +ip_address = "127.0.0.35" +ip_address = "127.0.0.36" +ip_address = "127.0.0.37" +ip_address = "127.0.0.38" +ip_address = "127.0.0.39" +ip_address = "127.0.0.40" +ip_address = "127.0.0.41" +ip_address = "127.0.0.42" +ip_address = "127.0.0.43" +ip_address = "127.0.0.44" +ip_address = "127.0.0.45" +ip_address = "127.0.0.46" +ip_address = "127.0.0.47" +ip_address = "127.0.0.48" +ip_address = "127.0.0.49" +ip_address = "127.0.0.50" +ip_address = "127.0.0.51" +ip_address = "127.0.0.52" +ip_address = "127.0.0.53" +ip_address = "127.0.0.54" +ip_address = "127.0.0.55" +ip_address = "127.0.0.56" +ip_address = "127.0.0.57" +ip_address = "127.0.0.58" +ip_address = "127.0.0.59" +ip_address = "127.0.0.60" +ip_address = "127.0.0.61" +ip_address = "127.0.0.62" +ip_address = "127.0.0.63" +ip_address = "127.0.0.64" +ip_address = "127.0.0.65" +ip_address = "127.0.0.66" +ip_address = "127.0.0.67" +ip_address = "127.0.0.68" +ip_address = "127.0.0.69" +ip_address = "127.0.0.70" +ip_address = "127.0.0.71" +ip_address = "127.0.0.72" +ip_address = "127.0.0.73" +ip_address = "127.0.0.74" +ip_address = "127.0.0.75" +ip_address = "127.0.0.76" +ip_address = "127.0.0.77" +ip_address = "127.0.0.78" +ip_address = "127.0.0.79" +ip_address = "127.0.0.80" +ip_address = "127.0.0.81" +ip_address = "127.0.0.82" +ip_address = "127.0.0.83" +ip_address = "127.0.0.84" +ip_address = "127.0.0.85" +ip_address = "127.0.0.86" +ip_address = "127.0.0.87" +ip_address = "127.0.0.88" +ip_address = "127.0.0.89" +ip_address = "127.0.0.90" +ip_address = "127.0.0.91" +ip_address = "127.0.0.92" +ip_address = "127.0.0.93" +ip_address = "127.0.0.94" +ip_address = "127.0.0.95" +ip_address = "127.0.0.96" +ip_address = "127.0.0.97" +ip_address = "127.0.0.98" +ip_address = "127.0.0.99" +ip_address = "127.0.0.100" +ip_address = "127.0.0.101" +ip_address = "127.0.0.102" +ip_address = "127.0.0.103" +ip_address = "127.0.0.104" +ip_address = "127.0.0.105" +ip_address = "127.0.0.106" +ip_address = "127.0.0.107" +ip_address = "127.0.0.108" +ip_address = "127.0.0.109" +ip_address = "127.0.0.110" +ip_address = "127.0.0.111" +ip_address = "127.0.0.112" +ip_address = "127.0.0.113" +ip_address = "127.0.0.114" +ip_address = "127.0.0.115" +ip_address = "127.0.0.116" +ip_address = "127.0.0.117" +ip_address = "127.0.0.118" +ip_address = "127.0.0.119" +ip_address = "127.0.0.120" +ip_address = "127.0.0.121" +ip_address = "127.0.0.122" +ip_address = "127.0.0.123" +ip_address = "127.0.0.124" +ip_address = "127.0.0.125" +ip_address = "127.0.0.126" +ip_address = "127.0.0.127" +ip_address = "127.0.0.128" +ip_address = "127.0.0.129" +ip_address = "127.0.0.130" +ip_address = "127.0.0.131" +ip_address = "127.0.0.132" +ip_address = "127.0.0.133" +ip_address = "127.0.0.134" +ip_address = "127.0.0.135" +ip_address = "127.0.0.136" +ip_address = "127.0.0.137" +ip_address = "127.0.0.138" +ip_address = "127.0.0.139" +ip_address = "127.0.0.140" +ip_address = "127.0.0.141" +ip_address = "127.0.0.142" +ip_address = "127.0.0.143" +ip_address = "127.0.0.144" +ip_address = "127.0.0.145" +ip_address = "127.0.0.146" +ip_address = "127.0.0.147" +ip_address = "127.0.0.148" +ip_address = "127.0.0.149" +ip_address = "127.0.0.150" +ip_address = "127.0.0.151" +ip_address = "127.0.0.152" +ip_address = "127.0.0.153" +ip_address = "127.0.0.154" +ip_address = "127.0.0.155" +ip_address = "127.0.0.156" +ip_address = "127.0.0.157" +ip_address = "127.0.0.158" +ip_address = "127.0.0.159" +ip_address = "127.0.0.160" +ip_address = "127.0.0.161" +ip_address = "127.0.0.162" +ip_address = "127.0.0.163" +ip_address = "127.0.0.164" +ip_address = "127.0.0.165" +ip_address = "127.0.0.166" +ip_address = "127.0.0.167" +ip_address = "127.0.0.168" +ip_address = "127.0.0.169" +ip_address = "127.0.0.170" +ip_address = "127.0.0.171" +ip_address = "127.0.0.172" +ip_address = "127.0.0.173" +ip_address = "127.0.0.174" +ip_address = "127.0.0.175" +ip_address = "127.0.0.176" +ip_address = "127.0.0.177" +ip_address = "127.0.0.178" +ip_address = "127.0.0.179" +ip_address = "127.0.0.180" +ip_address = "127.0.0.181" +ip_address = "127.0.0.182" +ip_address = "127.0.0.183" +ip_address = "127.0.0.184" +ip_address = "127.0.0.185" +ip_address = "127.0.0.186" +ip_address = "127.0.0.187" +ip_address = "127.0.0.188" +ip_address = "127.0.0.189" +ip_address = "127.0.0.190" +ip_address = "127.0.0.191" +ip_address = "127.0.0.192" +ip_address = "127.0.0.193" +ip_address = "127.0.0.194" +ip_address = "127.0.0.195" +ip_address = "127.0.0.196" +ip_address = "127.0.0.197" +ip_address = "127.0.0.198" +ip_address = "127.0.0.199" +ip_address = "127.0.0.200" +ip_address = "127.0.0.201" +ip_address = "127.0.0.202" +ip_address = "127.0.0.203" +ip_address = "127.0.0.204" +ip_address = "127.0.0.205" +ip_address = "127.0.0.206" +ip_address = "127.0.0.207" +ip_address = "127.0.0.208" +ip_address = "127.0.0.209" +ip_address = "127.0.0.210" +ip_address = "127.0.0.211" +ip_address = "127.0.0.212" +ip_address = "127.0.0.213" +ip_address = "127.0.0.214" +ip_address = "127.0.0.215" +ip_address = "127.0.0.216" +ip_address = "127.0.0.217" +ip_address = "127.0.0.218" +ip_address = "127.0.0.219" +ip_address = "127.0.0.220" +ip_address = "127.0.0.221" +ip_address = "127.0.0.222" +ip_address = "127.0.0.223" +ip_address = "127.0.0.224" +ip_address = "127.0.0.225" +ip_address = "127.0.0.226" +ip_address = "127.0.0.227" +ip_address = "127.0.0.228" +ip_address = "127.0.0.229" +ip_address = "127.0.0.230" +ip_address = "127.0.0.231" +ip_address = "127.0.0.232" +ip_address = "127.0.0.233" +ip_address = "127.0.0.234" +ip_address = "127.0.0.235" +ip_address = "127.0.0.236" +ip_address = "127.0.0.237" +ip_address = "127.0.0.238" +ip_address = "127.0.0.239" +ip_address = "127.0.0.240" +ip_address = "127.0.0.241" +ip_address = "127.0.0.242" +ip_address = "127.0.0.243" +ip_address = "127.0.0.244" +ip_address = "127.0.0.245" +ip_address = "127.0.0.246" +ip_address = "127.0.0.247" +ip_address = "127.0.0.248" +ip_address = "127.0.0.249" +ip_address = "127.0.0.250" +ip_address = "127.0.0.251" +ip_address = "127.0.0.252" +ip_address = "127.0.0.253" +ip_address = "127.0.0.254" +ip_address = "127.0.0.255" +ip_address = "127.255.255.254" + diff --git a/examples/tls/ed25519/self-signed--ed25519--bundle.p12 b/examples/tls/ed25519/self-signed--ed25519--bundle.p12 new file mode 100644 index 0000000000000000000000000000000000000000..b4351010fd9f7c84f5c3177b083f770909f0069c GIT binary patch literal 1775 zcmZXUdpOez1IK4(Hn&&^dmEYSOZ7u;2@^4dTr$lq!ohKgxpW%SaKy-nBG-|Ga+@gZ zXwGqY3B!3^rqV`K496ve>2#jwec#^aIe&eh=lgk{@ALiZ10+M2!2*InGPD^A|7RLD zZAV-{Sb&xct%M{)%f8h`K(Y|)JA%@Zg_z$e23P>}En2@50pK4{k^d}+eOr`(z|N|z zA!nf*abPeEbSqgX9rAJnf2}<9*3hS0=gwU9b5|%}ok8Rf7J2fB*MNFZ?{$?pywTiB z>{)uxl6FX@$&P1V0J<&JhJUMQt1>Bnq;e+2cRn$-abQ!iet8ho5WPN9iqk*lU|h8$ z39!BC9kO8-k%K?BDrd3+hey)-hzr)LtC7}%NyxA^cKH_D-r}J?zdM3@QWvGZl`uSu ztSbzZaYL$Lc!@OTDP<$!vF9;irp5K_sNULtD{;>Dbl>qzcgazuM@6_fePC>NIA7QB z4tpp0Y8uWd8Bw_;hr`%jwy!^zKV^Bh%Nl6|&|+mSxxjOnjtrv&CeJ*~H3vj06Cklf z$x=6W_qpYvqyyrv1!L0bm468+1kI?f4-O?^O?AdBqqhp=TufdFvk+G+srGNrI@?g) zD)X(}on#s;Z=ekQ&pdtf zf@`Nj&fbUIg;RuBO&MP4GR}c8J2WaBgGCy8<|lbe+1v>9zQflfMJ=bgYsNc$wBq9h zpHVfpxPZEn7j95*rnvc$8L>R$Yfg>9jr49@n=)fo6Cmla$f!-{=9cUcgEu`cXf0SyvkU zlRS24>P5-v_;u{y9v+!#Lc5&ws!U0;ieH9H% z^{eIR3I)LH3on}!duRMgsYIB3mx<~DnLvlnNOZ{mv9y$x>Y*rM%wMsMy2`62TIDq3 z6SI$?eM=2FhdmL!8g8l14bl3Sad}C!3|*9{ln7(V?6sb#`(3J6c;f|4>17e#!2@GV zeCPWMTok*xrY8|Ix#z4s=3q9FB|pP4{fJ z_iNweD>SdG>UsE2Za-|*O=^%Ay1Oj~f18r$+nM*l;UoKjBKY`Z0V@cZ7TH-E%A&P)i|1 zO>NsX*ja>o=Ks3(5XeeTe{3CK!tqzFTZ!F^7_z|;5{`9{%61Pqk;)T!@fUZ?k8w!a zBR&&uKlzuBQeu~{FK44i z%}1=O(Y_&2XlC!Cu0+Na)GsNP(YX}Zp|XUo7p5CRe@bv!9b6rKBKE%UKJ8h!vDD<# z72vYj=@oVOLsV@;~8ywSNiFeSH+uah2mp|F2~sK{bIxL8#42@2!X2N$--;l zw%2WNqaoF3L)L9|+fD!=_xzu?Y2-Etxdk9M0pxn9=zk3^A^@i00gt~+T?t|4*nR^e z^q15jM*Mev6u}<1je~BffBE!Jm5p0Gw8Kti4@zBXyfSO$)go8BZc>rQoRHgO6S}B~ zjK>zAnMJD;B|7H;XqN#;r zwUO}r1AZvJ6wm=q0C1>~mV_W!K?nqqPSgXdPNR;rhSmTYMGLixqT_d`A+X*gwWk~P JmxKR0{3m}CHQE3G literal 0 HcmV?d00001 diff --git a/examples/tls/ed25519/self-signed--ed25519--bundle.pem b/examples/tls/ed25519/self-signed--ed25519--bundle.pem new file mode 100644 index 0000000..b7f1e9b --- /dev/null +++ b/examples/tls/ed25519/self-signed--ed25519--bundle.pem @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFDjCCBMCgAwIBAgIBATAFBgMrZXAwHzEdMBsGA1UEAxMUa2F3aXBpa28tc2Vs +Zi1zaWduZWQwHhcNMjAwMTAxMDAwMDAwWhcNNDAxMjMxMjM1OTU5WjAfMR0wGwYD +VQQDExRrYXdpcGlrby1zZWxmLXNpZ25lZDAqMAUGAytlcAMhAHpSTz32jvUuzYL9 +zo5sLTwaG7W8SPBAAAjeJvIGKXHNo4IEHzCCBBswDAYDVR0TAQH/BAIwADCCA8UG +A1UdEQSCA7wwggO4gghrYXdpcGlrb4IKKi5rYXdpcGlrb4IJbG9jYWxob3N0ggsq +LmxvY2FsaG9zdIIEdGVzdIIGKi50ZXN0ggdleGFtcGxlggkqLmV4YW1wbGWCC2V4 +YW1wbGUuY29tgg0qLmV4YW1wbGUuY29tggtleGFtcGxlLm5ldIINKi5leGFtcGxl +Lm5ldIILZXhhbXBsZS5vcmeCDSouZXhhbXBsZS5vcmeCB2ludmFsaWSCCSouaW52 +YWxpZIcEfwAAAIcEfwAAAYcEfwAAAocEfwAAA4cEfwAABIcEfwAABYcEfwAABocE +fwAAB4cEfwAACIcEfwAACYcEfwAACocEfwAAC4cEfwAADIcEfwAADYcEfwAADocE +fwAAD4cEfwAAEIcEfwAAEYcEfwAAEocEfwAAE4cEfwAAFIcEfwAAFYcEfwAAFocE +fwAAF4cEfwAAGIcEfwAAGYcEfwAAGocEfwAAG4cEfwAAHIcEfwAAHYcEfwAAHocE +fwAAH4cEfwAAIIcEfwAAIYcEfwAAIocEfwAAI4cEfwAAJIcEfwAAJYcEfwAAJocE +fwAAJ4cEfwAAKIcEfwAAKYcEfwAAKocEfwAAK4cEfwAALIcEfwAALYcEfwAALocE +fwAAL4cEfwAAMIcEfwAAMYcEfwAAMocEfwAAM4cEfwAANIcEfwAANYcEfwAANocE +fwAAN4cEfwAAOIcEfwAAOYcEfwAAOocEfwAAO4cEfwAAPIcEfwAAPYcEfwAAPocE +fwAAP4cEfwAAQIcEfwAAQYcEfwAAQocEfwAAQ4cEfwAARIcEfwAARYcEfwAARocE +fwAAR4cEfwAASIcEfwAASYcEfwAASocEfwAAS4cEfwAATIcEfwAATYcEfwAATocE +fwAAT4cEfwAAUIcEfwAAUYcEfwAAUocEfwAAU4cEfwAAVIcEfwAAVYcEfwAAVocE +fwAAV4cEfwAAWIcEfwAAWYcEfwAAWocEfwAAW4cEfwAAXIcEfwAAXYcEfwAAXocE +fwAAX4cEfwAAYIcEfwAAYYcEfwAAYocEfwAAY4cEfwAAZIcEfwAAZYcEfwAAZocE +fwAAZ4cEfwAAaIcEfwAAaYcEfwAAaocEfwAAa4cEfwAAbIcEfwAAbYcEfwAAbocE +fwAAb4cEfwAAcIcEfwAAcYcEfwAAcocEfwAAc4cEfwAAdIcEfwAAdYcEfwAAdocE +fwAAd4cEfwAAeIcEfwAAeYcEfwAAeocEfwAAe4cEfwAAfIcEfwAAfYcEfwAAfocE +fwAAfzATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0O +BBYEFLfHB6bHoanuRwG+6p8mHYv0krhOMAUGAytlcANBAPy9B5CNv3X2mHr0pG7M +AbzehD740Wdns3F769iLYzX+SJgjFZ9qk8VlRGAsF+y9e9gD1m3i0iwozAtTpe0N +8wg= +-----END CERTIFICATE----- +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIJgIs5FrZgFyP1qv84MfkfHTY1ul0joETV26NJozbgrW +-----END PRIVATE KEY----- diff --git a/examples/tls/ed25519/self-signed--ed25519--certificate.pem b/examples/tls/ed25519/self-signed--ed25519--certificate.pem new file mode 100644 index 0000000..a02ccf9 --- /dev/null +++ b/examples/tls/ed25519/self-signed--ed25519--certificate.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFDjCCBMCgAwIBAgIBATAFBgMrZXAwHzEdMBsGA1UEAxMUa2F3aXBpa28tc2Vs +Zi1zaWduZWQwHhcNMjAwMTAxMDAwMDAwWhcNNDAxMjMxMjM1OTU5WjAfMR0wGwYD +VQQDExRrYXdpcGlrby1zZWxmLXNpZ25lZDAqMAUGAytlcAMhAHpSTz32jvUuzYL9 +zo5sLTwaG7W8SPBAAAjeJvIGKXHNo4IEHzCCBBswDAYDVR0TAQH/BAIwADCCA8UG +A1UdEQSCA7wwggO4gghrYXdpcGlrb4IKKi5rYXdpcGlrb4IJbG9jYWxob3N0ggsq +LmxvY2FsaG9zdIIEdGVzdIIGKi50ZXN0ggdleGFtcGxlggkqLmV4YW1wbGWCC2V4 +YW1wbGUuY29tgg0qLmV4YW1wbGUuY29tggtleGFtcGxlLm5ldIINKi5leGFtcGxl +Lm5ldIILZXhhbXBsZS5vcmeCDSouZXhhbXBsZS5vcmeCB2ludmFsaWSCCSouaW52 +YWxpZIcEfwAAAIcEfwAAAYcEfwAAAocEfwAAA4cEfwAABIcEfwAABYcEfwAABocE +fwAAB4cEfwAACIcEfwAACYcEfwAACocEfwAAC4cEfwAADIcEfwAADYcEfwAADocE +fwAAD4cEfwAAEIcEfwAAEYcEfwAAEocEfwAAE4cEfwAAFIcEfwAAFYcEfwAAFocE +fwAAF4cEfwAAGIcEfwAAGYcEfwAAGocEfwAAG4cEfwAAHIcEfwAAHYcEfwAAHocE +fwAAH4cEfwAAIIcEfwAAIYcEfwAAIocEfwAAI4cEfwAAJIcEfwAAJYcEfwAAJocE +fwAAJ4cEfwAAKIcEfwAAKYcEfwAAKocEfwAAK4cEfwAALIcEfwAALYcEfwAALocE +fwAAL4cEfwAAMIcEfwAAMYcEfwAAMocEfwAAM4cEfwAANIcEfwAANYcEfwAANocE +fwAAN4cEfwAAOIcEfwAAOYcEfwAAOocEfwAAO4cEfwAAPIcEfwAAPYcEfwAAPocE +fwAAP4cEfwAAQIcEfwAAQYcEfwAAQocEfwAAQ4cEfwAARIcEfwAARYcEfwAARocE +fwAAR4cEfwAASIcEfwAASYcEfwAASocEfwAAS4cEfwAATIcEfwAATYcEfwAATocE +fwAAT4cEfwAAUIcEfwAAUYcEfwAAUocEfwAAU4cEfwAAVIcEfwAAVYcEfwAAVocE +fwAAV4cEfwAAWIcEfwAAWYcEfwAAWocEfwAAW4cEfwAAXIcEfwAAXYcEfwAAXocE +fwAAX4cEfwAAYIcEfwAAYYcEfwAAYocEfwAAY4cEfwAAZIcEfwAAZYcEfwAAZocE +fwAAZ4cEfwAAaIcEfwAAaYcEfwAAaocEfwAAa4cEfwAAbIcEfwAAbYcEfwAAbocE +fwAAb4cEfwAAcIcEfwAAcYcEfwAAcocEfwAAc4cEfwAAdIcEfwAAdYcEfwAAdocE +fwAAd4cEfwAAeIcEfwAAeYcEfwAAeocEfwAAe4cEfwAAfIcEfwAAfYcEfwAAfocE +fwAAfzATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0O +BBYEFLfHB6bHoanuRwG+6p8mHYv0krhOMAUGAytlcANBAPy9B5CNv3X2mHr0pG7M +AbzehD740Wdns3F769iLYzX+SJgjFZ9qk8VlRGAsF+y9e9gD1m3i0iwozAtTpe0N +8wg= +-----END CERTIFICATE----- diff --git a/examples/tls/ed25519/self-signed--ed25519--private-key.pem b/examples/tls/ed25519/self-signed--ed25519--private-key.pem new file mode 100644 index 0000000..da80271 --- /dev/null +++ b/examples/tls/ed25519/self-signed--ed25519--private-key.pem @@ -0,0 +1,3 @@ +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIJgIs5FrZgFyP1qv84MfkfHTY1ul0joETV26NJozbgrW +-----END PRIVATE KEY----- diff --git a/examples/tls/ed25519/testing--ca--ed25519--certificate.pem b/examples/tls/ed25519/testing--ca--ed25519--certificate.pem new file mode 100644 index 0000000..38675a2 --- /dev/null +++ b/examples/tls/ed25519/testing--ca--ed25519--certificate.pem @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB+TCCAaugAwIBAgIBATAFBgMrZXAwFjEUMBIGA1UEAxMLa2F3aXBpa28tY2Ew +HhcNMjAwMTAxMDAwMDAwWhcNNDAxMjMxMjM1OTU5WjAWMRQwEgYDVQQDEwtrYXdp +cGlrby1jYTAqMAUGAytlcAMhAG7iAxaqyOj/Yckknf09zbMt1ABMqJINuxs78UeE +GYato4IBHDCCARgwDwYDVR0TAQH/BAUwAwEB/zCB5QYDVR0eAQH/BIHaMIHXoIHU +MAqHCH8AAAD/AAAAMAqCCGthd2lwaWtvMAuCCWxvY2FsaG9zdDAGggR0ZXN0MAmC +B2V4YW1wbGUwDYILZXhhbXBsZS5jb20wDYILZXhhbXBsZS5uZXQwDYILZXhhbXBs +ZS5vcmcwCYIHaW52YWxpZDAKgQhrYXdpcGlrbzALgQlsb2NhbGhvc3QwBoEEdGVz +dDAJgQdleGFtcGxlMA2BC2V4YW1wbGUuY29tMA2BC2V4YW1wbGUubmV0MA2BC2V4 +YW1wbGUub3JnMAmBB2ludmFsaWQwHQYDVR0OBBYEFNBVyhfrfaWPG/bQaHw0BL/V +Viq3MAUGAytlcANBAJQ1/xxifLV25+92zUki6efxjrDzKQ50WmK7vjMcFTrvPSg0 +K43TIK6/bV2YWAiAOTCdBjVYGhlF6tiPEeuingo= +-----END CERTIFICATE----- diff --git a/examples/tls/ed25519/testing--ca--ed25519--private-key.pem b/examples/tls/ed25519/testing--ca--ed25519--private-key.pem new file mode 100644 index 0000000..eb21158 --- /dev/null +++ b/examples/tls/ed25519/testing--ca--ed25519--private-key.pem @@ -0,0 +1,3 @@ +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIJvyMl+mQiRKtt6hi7rtAE2aaYUAflweecnKjZSxaLRS +-----END PRIVATE KEY----- diff --git a/examples/tls/ed25519/testing--client--ed25519--bundle.p12 b/examples/tls/ed25519/testing--client--ed25519--bundle.p12 new file mode 100644 index 0000000000000000000000000000000000000000..5ddd3b7eed3c198739416522725278b4558c1e6f GIT binary patch literal 1375 zcmXqLVvS~EWHxAGRb=DTYV&CO&dbQoxS)wuh^2{@4=BuK(8OYokYZcV#9{yx(qUp` z08*+58AbycHZG_MJU|oqSU426b1XmJlPb={#KF+e#QfuSQslO+XF`^lOiEb1Uf}A6 zmwXy0H-FJ^_B;03=-A9SsXHF~tlKZfX1T@PdJq%-?|S(~yYnZH$)*IJm~rE*VNqL7 zy~RV3k3O}FS{`nh*Qxc0<+N$d#xAE_w-^O~Co0G*wHDrT^sV~5WQOqiQ^)j@_f|1l zeO!LP>A1jVr<;!DjOvX+p~;`W&hWgKcS1JZyw&VdWf2!=@X4#4jJK}6`n@wf?EktY zYxu)moZa`Gow=W7v!Td>lN;Liru}nb51(Zh%VscJF#X$UwimNE3V3BWwKu$#kofR= zLkH8%4)+S(_Z{pUr~Z^Le$TMYow0QK`^$zY&OE2;QuI?)f{kyeA5eq%w;F% z`gotO+o#=>H+B1Ay_Ml@)^omFB(uJsAKUrh*0%%ovQ;^{D}?)d*D4>dyuy@Mv^Di< z%SqQm^Bb~x=POt~nDENlJ4|irG!~}7_&0UAqQ~y4P3(gx$w zQ`a!~E={p3i2w4+B=w7r0pmx{=Rb}fJR@@Q<0TEQ`RR=XQ(3f6-rlZV?)+(=m3h#s zaMz=SmSvhX)8qc07nF`jdH2oo^?K$h6HKc+mkVAGmD?=&{KkwB?l1qQ2TPp)o96n# zN`_m?V%gc*yeYput{T+xw5*#r>3D+TnTbc<@Nf3~`@)YkInz|RcT4gOJ^p_yf+F?3 zGVT}bVV}bCBzxY8wXUj1vof+gCN69$GkGwzJat;l6^+>iX9d64h{k!pY}zp~Ry)J( zk>ZaeiGPpgPW;D_+L|7^?(P!S&%IWS8nLtHU!TNt?&Pm^r@pKVJ+(Yzr|W0NDZb10 zK55xqSSitZYepffLu>H=?tkj{RNm}(UUgxMb&)Y%>#OgiYkoTMGDUNn zKmE&G_sjZ)pmvt3^1IF7*I)a-N?>Z)TD|ADvW;GOw`U(OnqvBR@!58cCPO|=UN`yJ z`2M|rj{l6z-F9S4p7=A-$E)14eZJo?UC_rPXtkzH{^5~pGAS;rj(#~Mv!vp3+OKs- zt!K8zU8)zlD%E)R_S8PE*Ng#f|CyHBW|@Ba`f>jwo>Vo*H_1%1Uo~h-o?D|Sd+l7B z;01QO?GYjczvTRH+}~l)cm%1OSkSnQrE#-C;|7DqwQSt55`&A8X+e}h1ZE);wCkpF zeCC{ophASjqF+shSHaQMS^Z}IVYe3L!=du~GkLFEt#3PVg6TR>&P`v#4$XVJ?xm?n zIqW$3Zuy>yoj>i$vX6TiIvGgA-M}eg$S23cki<~RkjIe1ki(E_pp1|dH56kJdHe5! zLVd&hBoVGpyVsYeuIP2Xe$v3uK+%Acja8eEnMsP3fkmW?^?1w9nZ9+`SN4gYe5Td9 V$oBDW7LKNzy{C#&!xn-Z3;@5GYRUir literal 0 HcmV?d00001 diff --git a/examples/tls/ed25519/testing--client--ed25519--bundle.pem b/examples/tls/ed25519/testing--client--ed25519--bundle.pem new file mode 100644 index 0000000..bf3072b --- /dev/null +++ b/examples/tls/ed25519/testing--client--ed25519--bundle.pem @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIBVDCCAQagAwIBAgIBAzAFBgMrZXAwFjEUMBIGA1UEAxMLa2F3aXBpa28tY2Ew +HhcNMjAwMTAxMDAwMDAwWhcNNDAxMjMxMjM1OTU5WjAaMRgwFgYDVQQDEw9rYXdp +cGlrby1jbGllbnQwKjAFBgMrZXADIQDS92jWoJqIAiv/W+d2rKeiUMr4Lyrd7sAZ +FJB1uLoldqN1MHMwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAjAO +BgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFLksmJu0qomLfYqT+lJWKJA32qSmMB8G +A1UdIwQYMBaAFNBVyhfrfaWPG/bQaHw0BL/VViq3MAUGAytlcANBACC/2jpXDnoo +LnGh2FZPEZHsWUYs97znJzsenBUpSJhr3jBUqUOdHr6zd2oWS5TqH8wEC5fzfnbT +E9MiPEWlvw0= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB+TCCAaugAwIBAgIBATAFBgMrZXAwFjEUMBIGA1UEAxMLa2F3aXBpa28tY2Ew +HhcNMjAwMTAxMDAwMDAwWhcNNDAxMjMxMjM1OTU5WjAWMRQwEgYDVQQDEwtrYXdp +cGlrby1jYTAqMAUGAytlcAMhAG7iAxaqyOj/Yckknf09zbMt1ABMqJINuxs78UeE +GYato4IBHDCCARgwDwYDVR0TAQH/BAUwAwEB/zCB5QYDVR0eAQH/BIHaMIHXoIHU +MAqHCH8AAAD/AAAAMAqCCGthd2lwaWtvMAuCCWxvY2FsaG9zdDAGggR0ZXN0MAmC +B2V4YW1wbGUwDYILZXhhbXBsZS5jb20wDYILZXhhbXBsZS5uZXQwDYILZXhhbXBs +ZS5vcmcwCYIHaW52YWxpZDAKgQhrYXdpcGlrbzALgQlsb2NhbGhvc3QwBoEEdGVz +dDAJgQdleGFtcGxlMA2BC2V4YW1wbGUuY29tMA2BC2V4YW1wbGUubmV0MA2BC2V4 +YW1wbGUub3JnMAmBB2ludmFsaWQwHQYDVR0OBBYEFNBVyhfrfaWPG/bQaHw0BL/V +Viq3MAUGAytlcANBAJQ1/xxifLV25+92zUki6efxjrDzKQ50WmK7vjMcFTrvPSg0 +K43TIK6/bV2YWAiAOTCdBjVYGhlF6tiPEeuingo= +-----END CERTIFICATE----- +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIPDQBN2OBblUD9zd2mE8SBP3PzwMtV+blmusd7s3n4EZ +-----END PRIVATE KEY----- diff --git a/examples/tls/ed25519/testing--client--ed25519--certificate.pem b/examples/tls/ed25519/testing--client--ed25519--certificate.pem new file mode 100644 index 0000000..7b3671c --- /dev/null +++ b/examples/tls/ed25519/testing--client--ed25519--certificate.pem @@ -0,0 +1,10 @@ +-----BEGIN CERTIFICATE----- +MIIBVDCCAQagAwIBAgIBAzAFBgMrZXAwFjEUMBIGA1UEAxMLa2F3aXBpa28tY2Ew +HhcNMjAwMTAxMDAwMDAwWhcNNDAxMjMxMjM1OTU5WjAaMRgwFgYDVQQDEw9rYXdp +cGlrby1jbGllbnQwKjAFBgMrZXADIQDS92jWoJqIAiv/W+d2rKeiUMr4Lyrd7sAZ +FJB1uLoldqN1MHMwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAjAO +BgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFLksmJu0qomLfYqT+lJWKJA32qSmMB8G +A1UdIwQYMBaAFNBVyhfrfaWPG/bQaHw0BL/VViq3MAUGAytlcANBACC/2jpXDnoo +LnGh2FZPEZHsWUYs97znJzsenBUpSJhr3jBUqUOdHr6zd2oWS5TqH8wEC5fzfnbT +E9MiPEWlvw0= +-----END CERTIFICATE----- diff --git a/examples/tls/ed25519/testing--client--ed25519--private-key.pem b/examples/tls/ed25519/testing--client--ed25519--private-key.pem new file mode 100644 index 0000000..93d7998 --- /dev/null +++ b/examples/tls/ed25519/testing--client--ed25519--private-key.pem @@ -0,0 +1,3 @@ +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIPDQBN2OBblUD9zd2mE8SBP3PzwMtV+blmusd7s3n4EZ +-----END PRIVATE KEY----- diff --git a/examples/tls/ed25519/testing--client--ed25519--request.pem b/examples/tls/ed25519/testing--client--ed25519--request.pem new file mode 100644 index 0000000..4bdc804 --- /dev/null +++ b/examples/tls/ed25519/testing--client--ed25519--request.pem @@ -0,0 +1,7 @@ +-----BEGIN NEW CERTIFICATE REQUEST----- +MIHhMIGUAgEAMBoxGDAWBgNVBAMTD2thd2lwaWtvLWNsaWVudDAqMAUGAytlcAMh +ANL3aNagmogCK/9b53asp6JQyvgvKt3uwBkUkHW4uiV2oEcwRQYJKoZIhvcNAQkO +MTgwNjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAK +BggrBgEFBQcDAjAFBgMrZXADQQA/hJEs0iWUri7o7oeDJ+jOrMWJTqKbLxEY4pHb +hf5Xq8JlzreyqtCR1006yFgjSRi04c++WwWLcMv0udRiMYIG +-----END NEW CERTIFICATE REQUEST----- diff --git a/examples/tls/ed25519/testing--server--ed25519--bundle.p12 b/examples/tls/ed25519/testing--server--ed25519--bundle.p12 new file mode 100644 index 0000000000000000000000000000000000000000..98ed8f04a2744a071e20885fdd65d2f2a2256708 GIT binary patch literal 2351 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 literal 0 HcmV?d00001 diff --git a/examples/tls/rsa/self-signed--rsa--bundle.pem b/examples/tls/rsa/self-signed--rsa--bundle.pem new file mode 100644 index 0000000..b2d4858 --- /dev/null +++ b/examples/tls/rsa/self-signed--rsa--bundle.pem @@ -0,0 +1,67 @@ +-----BEGIN CERTIFICATE----- +MIIG2jCCBcKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDExRrYXdp +cGlrby1zZWxmLXNpZ25lZDAeFw0yMDAxMDEwMDAwMDBaFw00MDEyMzEyMzU5NTla +MB8xHTAbBgNVBAMTFGthd2lwaWtvLXNlbGYtc2lnbmVkMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4e7dfq4YtoZc1YyTRsoEadEfa0qmuo0CFxO66rKp +WYmEjb6wu4c13WgKSduUGVJ0A0yszTMZi9drU6za/nsEAtELcEwDOI1Qly3pq6U5 +qCQt3g2P4/h3rKfjRzyBw7HDjI6UO3gd1Qb8Rf1yD8tKuckBob/QisxxI77cxukV +FApdFvt66Baw0u+G4sFYdV5pcvnkwk9aNicPKw6jcAg8JzN+b3PFllPKCs6+1way +BEhBO+YmvWH4tVPspc3Vp6dsrbNmxby3bOO1/zwRUztnPZVDwpq10ZV04NGsr9Vt +7kLRk6roh9UJIEHcIyTutTzaG2unUW/bYrRStc27RZ+jxwIDAQABo4IEHzCCBBsw +DAYDVR0TAQH/BAIwADCCA8UGA1UdEQSCA7wwggO4gghrYXdpcGlrb4IKKi5rYXdp +cGlrb4IJbG9jYWxob3N0ggsqLmxvY2FsaG9zdIIEdGVzdIIGKi50ZXN0ggdleGFt +cGxlggkqLmV4YW1wbGWCC2V4YW1wbGUuY29tgg0qLmV4YW1wbGUuY29tggtleGFt +cGxlLm5ldIINKi5leGFtcGxlLm5ldIILZXhhbXBsZS5vcmeCDSouZXhhbXBsZS5v +cmeCB2ludmFsaWSCCSouaW52YWxpZIcEfwAAAIcEfwAAAYcEfwAAAocEfwAAA4cE +fwAABIcEfwAABYcEfwAABocEfwAAB4cEfwAACIcEfwAACYcEfwAACocEfwAAC4cE +fwAADIcEfwAADYcEfwAADocEfwAAD4cEfwAAEIcEfwAAEYcEfwAAEocEfwAAE4cE +fwAAFIcEfwAAFYcEfwAAFocEfwAAF4cEfwAAGIcEfwAAGYcEfwAAGocEfwAAG4cE +fwAAHIcEfwAAHYcEfwAAHocEfwAAH4cEfwAAIIcEfwAAIYcEfwAAIocEfwAAI4cE +fwAAJIcEfwAAJYcEfwAAJocEfwAAJ4cEfwAAKIcEfwAAKYcEfwAAKocEfwAAK4cE +fwAALIcEfwAALYcEfwAALocEfwAAL4cEfwAAMIcEfwAAMYcEfwAAMocEfwAAM4cE +fwAANIcEfwAANYcEfwAANocEfwAAN4cEfwAAOIcEfwAAOYcEfwAAOocEfwAAO4cE +fwAAPIcEfwAAPYcEfwAAPocEfwAAP4cEfwAAQIcEfwAAQYcEfwAAQocEfwAAQ4cE +fwAARIcEfwAARYcEfwAARocEfwAAR4cEfwAASIcEfwAASYcEfwAASocEfwAAS4cE +fwAATIcEfwAATYcEfwAATocEfwAAT4cEfwAAUIcEfwAAUYcEfwAAUocEfwAAU4cE +fwAAVIcEfwAAVYcEfwAAVocEfwAAV4cEfwAAWIcEfwAAWYcEfwAAWocEfwAAW4cE +fwAAXIcEfwAAXYcEfwAAXocEfwAAX4cEfwAAYIcEfwAAYYcEfwAAYocEfwAAY4cE +fwAAZIcEfwAAZYcEfwAAZocEfwAAZ4cEfwAAaIcEfwAAaYcEfwAAaocEfwAAa4cE +fwAAbIcEfwAAbYcEfwAAbocEfwAAb4cEfwAAcIcEfwAAcYcEfwAAcocEfwAAc4cE +fwAAdIcEfwAAdYcEfwAAdocEfwAAd4cEfwAAeIcEfwAAeYcEfwAAeocEfwAAe4cE +fwAAfIcEfwAAfYcEfwAAfocEfwAAfzATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNV +HQ8BAf8EBAMCBaAwHQYDVR0OBBYEFL3OKySvOY9MCNSZtxUKYDu0m++7MA0GCSqG +SIb3DQEBCwUAA4IBAQAdpRsF/EnW4n/QlIs4oNjvAvMs8Yz2k8/LTeum+QANLDIZ +sQTVtv28GBV8mrJnAPsejPl1hdv0i1QPycdtU/oswyxVvv9q0AoQHXNBmDhC2NKs +iOzoRX2OuHNF9vyigZGt7k6XlY7TTaJzRUyMZOivMn1mNmXpAEUpx9EBwemhdlYP +KhWIYqfk0SytcTeqCr66kv20daTA2Q9dq0necfxJ/WTvuFniI5UdMAHXIuQLajNS +Wfm0QRN5nk/5Ri85ng4kKebgUkGxicR8ilUY9b5z9YJoi/ZJOwZjjNliczG6DAus +Au+n6V1KEGpuho9q2ImXucRlnTmUJlzDhUANae5/ +-----END CERTIFICATE----- +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDh7t1+rhi2hlzV +jJNGygRp0R9rSqa6jQIXE7rqsqlZiYSNvrC7hzXdaApJ25QZUnQDTKzNMxmL12tT +rNr+ewQC0QtwTAM4jVCXLemrpTmoJC3eDY/j+Hesp+NHPIHDscOMjpQ7eB3VBvxF +/XIPy0q5yQGhv9CKzHEjvtzG6RUUCl0W+3roFrDS74biwVh1Xmly+eTCT1o2Jw8r +DqNwCDwnM35vc8WWU8oKzr7XBrIESEE75ia9Yfi1U+ylzdWnp2yts2bFvLds47X/ +PBFTO2c9lUPCmrXRlXTg0ayv1W3uQtGTquiH1QkgQdwjJO61PNoba6dRb9titFK1 +zbtFn6PHAgMBAAECggEBAIMDE1epNtVo1p5SlPiAnsyJopGByWr155dgLox4K7Gr +B712LV+hCUApW4X2mUuRv4pGRRH8pryrnyX3X0ogJXRIqjxlJ5z8fRYdXpnVBrkU +ubBA5waIB0WMWUPut0S2aTGxYA2YGpx0H4eqbyDvfpZ7E8Iqy5Ag+x6CR93kPP/P +572rXm5MvZZ2G1ijUWf4rOCFJz6dv/LawqQfqzo8/BWqhdwoZkxjs5G50o1fvs7O +lgA/8CJgJTp/7o5njbSf9cgqJcg+4dpn/3ymRXEgiZx6n2ASVOjjNcFCFJMsvUkb +7BhbdWCANKkG7U588fvvnmh4RRaCgtwueQ6cIkK62kECgYEA8TUFngqYTJYzb0I2 +5UEiYZ2iOKuJ570cuRHP2s/6RQCJkFfnw+Jy8faHExqR1xOgtYhET9twC3+163Mf +tELDc0iUi65nQvg2Np1aiUftI4cJkNDzAEHjYBEeU27Spv8DThrrnmG0ZqiInqky +dg7MljbAmKVh9Ak7eLd0fh50mCECgYEA78oJ/XwScWRTeot4zqyose49WuQZzVrj +/yPvBf5eQpRw/AZapYmyDc4eYBl7n76PhMH18kUz4m1P2zrYB5DeDpYrB1iXOIjL +GP/h/Sb4zX2fTzOUIHw7zryxG0jv91l1RlFLsIqHO/rZQW2CnlBMGjVWcgww3pFC +jGykEsvGnucCgYAboRoynz4Qz8e2f9wv6IUar2bMnQGf9O6cWGj5xIcDbmtTiG44 +5vCJvNZ+HrYD7/ChuqkwiI9OEePxw28nQ9qFkxPI6EJVzn7PRLkBLqcAQdCbsQOU +zPdRosRZhEFG9cEYKkdBDioO9FEp83GfSlSvBDiNg6wzuvb//euvIqfyYQKBgQCk +9luVFWwisiBz58t+c23CquFuzAmsKuE7P19KwknaiACKgVyPEYF62dgvyJgxt4lI +jZ9DwrQFC6qqaXsBCXqaklibvyiZbhI66p5v6AW2aLvWYud+ybjjaxB0cuMTSWnS +rE7j7wlGDDa2Oj5n51nTleoYn6ZnF4uuy3a8r4++9QKBgQCvF72uJJ0BdeBib2q1 +xCJOiRHfMZ1zckwrNbOcNJHabVvS3GZN2hCADVBz5SAg3ERhdOD8Iy6oXtJqyYPN +PRJ9pMIqm5mV2kBNAZyzL4iPqy3GwJJzIsgDFl3LYiGNhXLS1+6FaRS5NN3E5maH +dqiff1xNNEHgbNdL99cvAQALgw== +-----END PRIVATE KEY----- diff --git a/examples/tls/rsa/self-signed--rsa--certificate.pem b/examples/tls/rsa/self-signed--rsa--certificate.pem new file mode 100644 index 0000000..6026a2d --- /dev/null +++ b/examples/tls/rsa/self-signed--rsa--certificate.pem @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG2jCCBcKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDExRrYXdp +cGlrby1zZWxmLXNpZ25lZDAeFw0yMDAxMDEwMDAwMDBaFw00MDEyMzEyMzU5NTla +MB8xHTAbBgNVBAMTFGthd2lwaWtvLXNlbGYtc2lnbmVkMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4e7dfq4YtoZc1YyTRsoEadEfa0qmuo0CFxO66rKp +WYmEjb6wu4c13WgKSduUGVJ0A0yszTMZi9drU6za/nsEAtELcEwDOI1Qly3pq6U5 +qCQt3g2P4/h3rKfjRzyBw7HDjI6UO3gd1Qb8Rf1yD8tKuckBob/QisxxI77cxukV +FApdFvt66Baw0u+G4sFYdV5pcvnkwk9aNicPKw6jcAg8JzN+b3PFllPKCs6+1way +BEhBO+YmvWH4tVPspc3Vp6dsrbNmxby3bOO1/zwRUztnPZVDwpq10ZV04NGsr9Vt +7kLRk6roh9UJIEHcIyTutTzaG2unUW/bYrRStc27RZ+jxwIDAQABo4IEHzCCBBsw +DAYDVR0TAQH/BAIwADCCA8UGA1UdEQSCA7wwggO4gghrYXdpcGlrb4IKKi5rYXdp +cGlrb4IJbG9jYWxob3N0ggsqLmxvY2FsaG9zdIIEdGVzdIIGKi50ZXN0ggdleGFt +cGxlggkqLmV4YW1wbGWCC2V4YW1wbGUuY29tgg0qLmV4YW1wbGUuY29tggtleGFt +cGxlLm5ldIINKi5leGFtcGxlLm5ldIILZXhhbXBsZS5vcmeCDSouZXhhbXBsZS5v +cmeCB2ludmFsaWSCCSouaW52YWxpZIcEfwAAAIcEfwAAAYcEfwAAAocEfwAAA4cE +fwAABIcEfwAABYcEfwAABocEfwAAB4cEfwAACIcEfwAACYcEfwAACocEfwAAC4cE +fwAADIcEfwAADYcEfwAADocEfwAAD4cEfwAAEIcEfwAAEYcEfwAAEocEfwAAE4cE +fwAAFIcEfwAAFYcEfwAAFocEfwAAF4cEfwAAGIcEfwAAGYcEfwAAGocEfwAAG4cE +fwAAHIcEfwAAHYcEfwAAHocEfwAAH4cEfwAAIIcEfwAAIYcEfwAAIocEfwAAI4cE +fwAAJIcEfwAAJYcEfwAAJocEfwAAJ4cEfwAAKIcEfwAAKYcEfwAAKocEfwAAK4cE +fwAALIcEfwAALYcEfwAALocEfwAAL4cEfwAAMIcEfwAAMYcEfwAAMocEfwAAM4cE +fwAANIcEfwAANYcEfwAANocEfwAAN4cEfwAAOIcEfwAAOYcEfwAAOocEfwAAO4cE +fwAAPIcEfwAAPYcEfwAAPocEfwAAP4cEfwAAQIcEfwAAQYcEfwAAQocEfwAAQ4cE +fwAARIcEfwAARYcEfwAARocEfwAAR4cEfwAASIcEfwAASYcEfwAASocEfwAAS4cE +fwAATIcEfwAATYcEfwAATocEfwAAT4cEfwAAUIcEfwAAUYcEfwAAUocEfwAAU4cE +fwAAVIcEfwAAVYcEfwAAVocEfwAAV4cEfwAAWIcEfwAAWYcEfwAAWocEfwAAW4cE +fwAAXIcEfwAAXYcEfwAAXocEfwAAX4cEfwAAYIcEfwAAYYcEfwAAYocEfwAAY4cE +fwAAZIcEfwAAZYcEfwAAZocEfwAAZ4cEfwAAaIcEfwAAaYcEfwAAaocEfwAAa4cE +fwAAbIcEfwAAbYcEfwAAbocEfwAAb4cEfwAAcIcEfwAAcYcEfwAAcocEfwAAc4cE +fwAAdIcEfwAAdYcEfwAAdocEfwAAd4cEfwAAeIcEfwAAeYcEfwAAeocEfwAAe4cE +fwAAfIcEfwAAfYcEfwAAfocEfwAAfzATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNV +HQ8BAf8EBAMCBaAwHQYDVR0OBBYEFL3OKySvOY9MCNSZtxUKYDu0m++7MA0GCSqG +SIb3DQEBCwUAA4IBAQAdpRsF/EnW4n/QlIs4oNjvAvMs8Yz2k8/LTeum+QANLDIZ +sQTVtv28GBV8mrJnAPsejPl1hdv0i1QPycdtU/oswyxVvv9q0AoQHXNBmDhC2NKs +iOzoRX2OuHNF9vyigZGt7k6XlY7TTaJzRUyMZOivMn1mNmXpAEUpx9EBwemhdlYP +KhWIYqfk0SytcTeqCr66kv20daTA2Q9dq0necfxJ/WTvuFniI5UdMAHXIuQLajNS +Wfm0QRN5nk/5Ri85ng4kKebgUkGxicR8ilUY9b5z9YJoi/ZJOwZjjNliczG6DAus +Au+n6V1KEGpuho9q2ImXucRlnTmUJlzDhUANae5/ +-----END CERTIFICATE----- diff --git a/examples/tls/rsa/self-signed--rsa--private-key.pem b/examples/tls/rsa/self-signed--rsa--private-key.pem new file mode 100644 index 0000000..fb4eb7b --- /dev/null +++ b/examples/tls/rsa/self-signed--rsa--private-key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDh7t1+rhi2hlzV +jJNGygRp0R9rSqa6jQIXE7rqsqlZiYSNvrC7hzXdaApJ25QZUnQDTKzNMxmL12tT +rNr+ewQC0QtwTAM4jVCXLemrpTmoJC3eDY/j+Hesp+NHPIHDscOMjpQ7eB3VBvxF +/XIPy0q5yQGhv9CKzHEjvtzG6RUUCl0W+3roFrDS74biwVh1Xmly+eTCT1o2Jw8r +DqNwCDwnM35vc8WWU8oKzr7XBrIESEE75ia9Yfi1U+ylzdWnp2yts2bFvLds47X/ +PBFTO2c9lUPCmrXRlXTg0ayv1W3uQtGTquiH1QkgQdwjJO61PNoba6dRb9titFK1 +zbtFn6PHAgMBAAECggEBAIMDE1epNtVo1p5SlPiAnsyJopGByWr155dgLox4K7Gr +B712LV+hCUApW4X2mUuRv4pGRRH8pryrnyX3X0ogJXRIqjxlJ5z8fRYdXpnVBrkU +ubBA5waIB0WMWUPut0S2aTGxYA2YGpx0H4eqbyDvfpZ7E8Iqy5Ag+x6CR93kPP/P +572rXm5MvZZ2G1ijUWf4rOCFJz6dv/LawqQfqzo8/BWqhdwoZkxjs5G50o1fvs7O +lgA/8CJgJTp/7o5njbSf9cgqJcg+4dpn/3ymRXEgiZx6n2ASVOjjNcFCFJMsvUkb +7BhbdWCANKkG7U588fvvnmh4RRaCgtwueQ6cIkK62kECgYEA8TUFngqYTJYzb0I2 +5UEiYZ2iOKuJ570cuRHP2s/6RQCJkFfnw+Jy8faHExqR1xOgtYhET9twC3+163Mf +tELDc0iUi65nQvg2Np1aiUftI4cJkNDzAEHjYBEeU27Spv8DThrrnmG0ZqiInqky +dg7MljbAmKVh9Ak7eLd0fh50mCECgYEA78oJ/XwScWRTeot4zqyose49WuQZzVrj +/yPvBf5eQpRw/AZapYmyDc4eYBl7n76PhMH18kUz4m1P2zrYB5DeDpYrB1iXOIjL +GP/h/Sb4zX2fTzOUIHw7zryxG0jv91l1RlFLsIqHO/rZQW2CnlBMGjVWcgww3pFC +jGykEsvGnucCgYAboRoynz4Qz8e2f9wv6IUar2bMnQGf9O6cWGj5xIcDbmtTiG44 +5vCJvNZ+HrYD7/ChuqkwiI9OEePxw28nQ9qFkxPI6EJVzn7PRLkBLqcAQdCbsQOU +zPdRosRZhEFG9cEYKkdBDioO9FEp83GfSlSvBDiNg6wzuvb//euvIqfyYQKBgQCk +9luVFWwisiBz58t+c23CquFuzAmsKuE7P19KwknaiACKgVyPEYF62dgvyJgxt4lI +jZ9DwrQFC6qqaXsBCXqaklibvyiZbhI66p5v6AW2aLvWYud+ybjjaxB0cuMTSWnS +rE7j7wlGDDa2Oj5n51nTleoYn6ZnF4uuy3a8r4++9QKBgQCvF72uJJ0BdeBib2q1 +xCJOiRHfMZ1zckwrNbOcNJHabVvS3GZN2hCADVBz5SAg3ERhdOD8Iy6oXtJqyYPN +PRJ9pMIqm5mV2kBNAZyzL4iPqy3GwJJzIsgDFl3LYiGNhXLS1+6FaRS5NN3E5maH +dqiff1xNNEHgbNdL99cvAQALgw== +-----END PRIVATE KEY----- diff --git a/examples/tls/rsa/testing--ca--rsa--certificate.pem b/examples/tls/rsa/testing--ca--rsa--certificate.pem new file mode 100644 index 0000000..0ad4b6e --- /dev/null +++ b/examples/tls/rsa/testing--ca--rsa--certificate.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDEwtrYXdp +cGlrby1jYTAeFw0yMDAxMDEwMDAwMDBaFw00MDEyMzEyMzU5NTlaMBYxFDASBgNV +BAMTC2thd2lwaWtvLWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +qVvdvjwNaOykQoa/Qz2GkiY/qUEL4vFuLoUAy2UqWuCTsWFYdMcK67KGGz6u9BRq +7t5MTx3/WIiNHLWA/A4nAL1To4jrE+3Aj/oYXXnozqk7z2lGCVywxgLbZBo2vWVG ++hgUEghikagU5fN3NsdTmdQeGnKv6Vm6ZJUNZDySYN1Tt50nzoA1pa5zvHlcLlzX +dQNr/A9L/hJpVqiEub25DgxXUsCJgA+1KFiY1rMWXY6pzelcVoiZ2A40oXVI2cst +UtNmTKwCvnyzlzMhgsLbY7iTp5xfnZE3QzIziaWkq9dOLqNi4oiaF4nkLjqzItjs +99lteqQ9c1cqyxGY8X0AEwIDAQABo4IBHDCCARgwDwYDVR0TAQH/BAUwAwEB/zCB +5QYDVR0eAQH/BIHaMIHXoIHUMAqHCH8AAAD/AAAAMAqCCGthd2lwaWtvMAuCCWxv +Y2FsaG9zdDAGggR0ZXN0MAmCB2V4YW1wbGUwDYILZXhhbXBsZS5jb20wDYILZXhh +bXBsZS5uZXQwDYILZXhhbXBsZS5vcmcwCYIHaW52YWxpZDAKgQhrYXdpcGlrbzAL +gQlsb2NhbGhvc3QwBoEEdGVzdDAJgQdleGFtcGxlMA2BC2V4YW1wbGUuY29tMA2B +C2V4YW1wbGUubmV0MA2BC2V4YW1wbGUub3JnMAmBB2ludmFsaWQwHQYDVR0OBBYE +FIYvnZN/WTP9CLtCmE8NoDvZ2Fs0MA0GCSqGSIb3DQEBCwUAA4IBAQCD9Rq/CTOZ +9v0XoEq208y1akWLG0l3YDvor+ee9Ier8GcQKuaX/WaOLceqPuMFpi2hmlblmkw+ +X11IVefWGcO9TCO0gPRpzXXpx/ZMlbgvOoM/WE3PtrVfPLxNn91LeENPUj+jrCNo +594Prq+/FaBKs/xOfzgLR1wVEHt2lyXsvQbJ38qkAkIlQdjpolmDopNkFnlglM5Y +cMO/3ywYpI/X5+ge5TpOlDf4iwo6dm8uxpY/12gwlSpf/B5KuDqaeae6oHTB7Gn4 +Q8TCLS2Awha2lFFcQEoes14Lri0ARFygav0X1aP4P2vPM5ioA8vW2vgCPHLOccP8 +vOyisHCQ3eIe +-----END CERTIFICATE----- diff --git a/examples/tls/rsa/testing--ca--rsa--private-key.pem b/examples/tls/rsa/testing--ca--rsa--private-key.pem new file mode 100644 index 0000000..c141ec6 --- /dev/null +++ b/examples/tls/rsa/testing--ca--rsa--private-key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCpW92+PA1o7KRC +hr9DPYaSJj+pQQvi8W4uhQDLZSpa4JOxYVh0xwrrsoYbPq70FGru3kxPHf9YiI0c +tYD8DicAvVOjiOsT7cCP+hhdeejOqTvPaUYJXLDGAttkGja9ZUb6GBQSCGKRqBTl +83c2x1OZ1B4acq/pWbpklQ1kPJJg3VO3nSfOgDWlrnO8eVwuXNd1A2v8D0v+EmlW +qIS5vbkODFdSwImAD7UoWJjWsxZdjqnN6VxWiJnYDjShdUjZyy1S02ZMrAK+fLOX +MyGCwttjuJOnnF+dkTdDMjOJpaSr104uo2LiiJoXieQuOrMi2Oz32W16pD1zVyrL +EZjxfQATAgMBAAECggEBAKLp9zXfSLsNILnKK0SAc+o1Fvo20ztdKbNgSDJgP80p +yYlRbijvq6atlemxc9Thqzfa6acV4SMGQFBEnS5aYtSIS2O9+vyxsZIOb8/DzNq3 +2wwbZb7txjLEXs09lji8qvk7nlr2a/NXr7rAaIZuWhJZBRhGCMg9g1rsMvSge+Lm +lNbzAwTfPN3Q6RWk6mKiYJoIbYqIFZPYNuYFKYj0KT6QaOhRWpV7wHJc6Zx1MnN3 +rci5F026n2cxGX1QwUcI6D+jVBCfViI6e35IET+E9m1Xk/jcNMPzS3nOJj17UKK3 +9Ynoadzs6wgcfEdKsmrVPQFZn9lHAQL/Bje7OKDmjRkCgYEAzZkZbtsDbx/RpP7P +UTdEXgD7gOuQK80uCE2tu+Bq1hZtRy813KhFNAuPHHkuj1QdqWR9GrPUiQJts/+k +UIhPRoUA7FaBk6e7Am590yrqZCnv848r9BfqQbE5eZsbljFHNYCLpduIpBT2iy3A +YY+vhX9MMZ60+0aFwbtiXG9M150CgYEA0uB4rWxXbhrEGC0/ry/HuNPGRCcaqLVp +Fqdmd/NmHgszEPbaN4qj2cL2Y6yz1+dHLeHS4PmTHdVmzhOTjaHAYm0lcTPraJK9 +dj40Ekpz1EBj9XZTiqvVu6O6ARTH6LKbRT0m8EfHAF1iJG/OfpgKQUsuye2J1jZz +LCGTA0z1n28CgYBRzcTM0t++604i9C/RBMhzDrkDRrcKdo0GSMIDqvtXS30XgbVQ +orNGTgMXNTBNXw6eQ5lzcnHyQcEciW77jADe8jS31IOiGG7UPNpblwvD5tvOcPzw +FkPi930C4bBMRjcrFoZ566umfaDLJ90P9HfGCixq4dbo09qMht5QIQjWEQKBgQCF +CBcZUL/XNgt/NQx3+CyG7RKm7ARlagxhvjlmcqZ5TZdpnFENuOik99l4B/tsuPqu +d0gRpWCp8XZpivAK6X/0l+aHA7n+vpPHhHZVE6L+w6BLudn6IW00cpVlGTcEFaje +hTWLX7yq/j5rvh0Gv+O4TTW3LaNHABKoRIX6DxLlAQKBgQDGMFWVeXZSnx3l5sso +mhPgSQlo4AECVsjYfExmGULyjunNjqhbjvIn5bduwoXLO1CkGWUmuVgcfgMDznFN +ejL4GDpQEYIN0r/8/UHDPVPH0CvSQHdKRDCrgz+mW8pncPb9jz7rMZszz9yu1lzy +Xf4gCQI4m9/jKPsfR9aK9ZZPow== +-----END PRIVATE KEY----- diff --git a/examples/tls/rsa/testing--client--rsa--bundle.p12 b/examples/tls/rsa/testing--client--rsa--bundle.p12 new file mode 100644 index 0000000000000000000000000000000000000000..11c01e038412e457bf3c44cd83fee7ba7fdb492d GIT binary patch literal 3474 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 /dev/null \ + # + + certtool \ + --generate-self-signed \ + --hash "${_hash}" \ + --pkcs8 \ + --password '' \ + --load-privkey "./examples/tls/${_type}/self-signed--${_type}--private-key.pem" \ + --outfile "./examples/tls/${_type}/self-signed--${_type}--certificate.pem" \ + --template "./examples/tls/conf/self-signed--any--certificate.conf" \ + --no-text \ + 2> /dev/null \ + # + + cat -- \ + "./examples/tls/${_type}/self-signed--${_type}--certificate.pem" \ + "./examples/tls/${_type}/self-signed--${_type}--private-key.pem" \ + >| "./examples/tls/${_type}/self-signed--${_type}--bundle.pem" \ + # + + openssl pkcs12 \ + -export \ + -name bundle \ + -password pass:bundle \ + -des3 -descert -macalg sha1 \ + -in "./examples/tls/${_type}/self-signed--${_type}--bundle.pem" \ + -out "./examples/tls/${_type}/self-signed--${_type}--bundle.p12" \ + # + + done +!! + + + + +<< tls / generate / testing / ca + + test "${#}" -eq 0 + + for _type in rsa:sha256 ed25519:sha512 ; do + _hash="${_type#*:}" + _type="${_type%:*}" + + certtool \ + --generate-privkey \ + --key-type "${_type}" \ + --sec-param medium \ + --pkcs8 \ + --pkcs-cipher aes-128 \ + --password '' \ + --outfile "./examples/tls/${_type}/testing--ca--${_type}--private-key.pem" \ + --no-text \ + 2> /dev/null \ + # + + certtool \ + --generate-self-signed \ + --hash "${_hash}" \ + --pkcs8 \ + --password '' \ + --load-privkey "./examples/tls/${_type}/testing--ca--${_type}--private-key.pem" \ + --outfile "./examples/tls/${_type}/testing--ca--${_type}--certificate.pem" \ + --template "./examples/tls/conf/testing--ca--any--certificate.conf" \ + --no-text \ + 2> /dev/null \ + # + done + + cat -- \ + "./examples/tls/rsa/testing--ca--rsa--certificate.pem" \ + "./examples/tls/ed25519/testing--ca--ed25519--certificate.pem" \ + >| "./examples/tls/testing--ca.pem" \ + # +!! + + + + +<< tls / generate / testing / server + + test "${#}" -eq 0 + + for _type in rsa:sha256 ed25519:sha512 ; do + _hash="${_type#*:}" + _type="${_type%:*}" + + certtool \ + --generate-privkey \ + --key-type "${_type}" \ + --sec-param medium \ + --pkcs8 \ + --pkcs-cipher aes-128 \ + --password '' \ + --outfile "./examples/tls/${_type}/testing--server--${_type}--private-key.pem" \ + --no-text \ + 2> /dev/null \ + # + + certtool \ + --generate-request \ + --hash "${_hash}" \ + --pkcs8 \ + --password '' \ + --load-privkey "./examples/tls/${_type}/testing--server--${_type}--private-key.pem" \ + --outfile "./examples/tls/${_type}/testing--server--${_type}--request.pem" \ + --template "./examples/tls/conf/testing--server--any--certificate.conf" \ + --no-text \ + 2> /dev/null \ + # + + certtool \ + --generate-certificate \ + --hash "${_hash}" \ + --pkcs8 \ + --password '' \ + --load-ca-privkey "./examples/tls/${_type}/testing--ca--${_type}--private-key.pem" \ + --load-ca-certificate "./examples/tls/${_type}/testing--ca--${_type}--certificate.pem" \ + --load-request "./examples/tls/${_type}/testing--server--${_type}--request.pem" \ + --outfile "./examples/tls/${_type}/testing--server--${_type}--certificate.pem" \ + --template "./examples/tls/conf/testing--server--any--certificate.conf" \ + --no-text \ + 2> /dev/null \ + # + + cat -- \ + "./examples/tls/${_type}/testing--server--${_type}--certificate.pem" \ + "./examples/tls/${_type}/testing--ca--${_type}--certificate.pem" \ + "./examples/tls/${_type}/testing--server--${_type}--private-key.pem" \ + >| "./examples/tls/${_type}/testing--server--${_type}--bundle.pem" \ + # + + openssl pkcs12 \ + -export \ + -name bundle \ + -password pass:bundle \ + -des3 -descert -macalg sha1 \ + -in "./examples/tls/${_type}/testing--server--${_type}--bundle.pem" \ + -out "./examples/tls/${_type}/testing--server--${_type}--bundle.p12" \ + # + + done +!! + + + + +<< tls / generate / testing / client + + test "${#}" -eq 0 + + for _type in rsa:sha256 ed25519:sha512 ; do + _hash="${_type#*:}" + _type="${_type%:*}" + + certtool \ + --generate-privkey \ + --key-type "${_type}" \ + --sec-param medium \ + --pkcs8 \ + --pkcs-cipher aes-128 \ + --password '' \ + --outfile "./examples/tls/${_type}/testing--client--${_type}--private-key.pem" \ + --no-text \ + 2> /dev/null \ + # + + certtool \ + --generate-request \ + --hash "${_hash}" \ + --pkcs8 \ + --password '' \ + --load-privkey "./examples/tls/${_type}/testing--client--${_type}--private-key.pem" \ + --outfile "./examples/tls/${_type}/testing--client--${_type}--request.pem" \ + --template "./examples/tls/conf/testing--client--any--certificate.conf" \ + --no-text \ + 2> /dev/null \ + # + + certtool \ + --generate-certificate \ + --hash "${_hash}" \ + --pkcs8 \ + --password '' \ + --load-ca-privkey "./examples/tls/${_type}/testing--ca--${_type}--private-key.pem" \ + --load-ca-certificate "./examples/tls/${_type}/testing--ca--${_type}--certificate.pem" \ + --load-request "./examples/tls/${_type}/testing--client--${_type}--request.pem" \ + --outfile "./examples/tls/${_type}/testing--client--${_type}--certificate.pem" \ + --template "./examples/tls/conf/testing--client--any--certificate.conf" \ + --no-text \ + 2> /dev/null \ + # + + cat -- \ + "./examples/tls/${_type}/testing--client--${_type}--certificate.pem" \ + "./examples/tls/${_type}/testing--ca--${_type}--certificate.pem" \ + "./examples/tls/${_type}/testing--client--${_type}--private-key.pem" \ + >| "./examples/tls/${_type}/testing--client--${_type}--bundle.pem" \ + # + + openssl pkcs12 \ + -export \ + -name bundle \ + -password pass:bundle \ + -des3 -descert -macalg sha1 \ + -in "./examples/tls/${_type}/testing--client--${_type}--bundle.pem" \ + -out "./examples/tls/${_type}/testing--client--${_type}--bundle.p12" \ + # + + done +!! + diff --git a/scripts/z-run b/scripts/z-run index 692a7dd..8ea0afd 100644 --- a/scripts/z-run +++ b/scripts/z-run @@ -9,6 +9,7 @@ ::// go / ... ::// documentation / ... ::// tools / ... +::// tls / ... ::// * @@ -19,4 +20,5 @@ && _/benchmark.z-run && _/workspace.z-run && _/tools.z-run +&& _/tls.z-run