From 407b347ce3f1fcbf4104783e6b8a717b89ca90ff Mon Sep 17 00:00:00 2001 From: Cedric Staub Date: Fri, 10 Jun 2016 15:29:33 -0700 Subject: [PATCH] Reproducible test certificates/keystores --- certs/cert.crt | 23 -------- certs/cert.der | Bin 1000 -> 0 bytes certs/cert.jks | Bin 2097 -> 0 bytes certs/cert.pem | 46 ---------------- certs/certRequest.csr | 18 ------- certs/certWithPassword.p12 | Bin 2605 -> 0 bytes certs/passwords | 1 - certs/privatekey.pem | 27 ---------- certs/publickey.pem | 9 ---- test-certs/Makefile | 70 +++++++++++++++++++++++++ test-certs/README.md | 7 +++ test-certs/example-bad-serial.crt | 21 ++++++++ test-certs/example-bad-serial.csr | 17 ++++++ test-certs/example-bad-serial.jceks | Bin 0 -> 2243 bytes test-certs/example-bad-serial.p12 | Bin 0 -> 2610 bytes test-certs/example-elliptic-sha1.crt | 13 +++++ test-certs/example-elliptic-sha1.csr | 8 +++ test-certs/example-elliptic-sha1.jceks | Bin 0 -> 779 bytes test-certs/example-elliptic-sha1.key | 8 +++ test-certs/example-elliptic-sha1.p12 | Bin 0 -> 1149 bytes test-certs/example-expired.crt | 19 +++++++ test-certs/example-expired.csr | 17 ++++++ test-certs/example-expired.jceks | Bin 0 -> 2156 bytes test-certs/example-expired.p12 | Bin 0 -> 2508 bytes test-certs/example-leaf.crt | 21 ++++++++ test-certs/example-leaf.csr | 16 ++++++ test-certs/example-leaf.jceks | Bin 0 -> 2233 bytes test-certs/example-leaf.p12 | Bin 0 -> 2582 bytes test-certs/example-md5.crt | 21 ++++++++ test-certs/example-md5.csr | 16 ++++++ test-certs/example-md5.jceks | Bin 0 -> 2230 bytes test-certs/example-md5.p12 | Bin 0 -> 2572 bytes test-certs/example-root-bad-ku.crt | 21 ++++++++ test-certs/example-root-bad-ku.csr | 17 ++++++ test-certs/example-root-bad-ku.jceks | Bin 0 -> 2213 bytes test-certs/example-root-bad-ku.p12 | Bin 0 -> 2580 bytes test-certs/example-root.crt | 20 +++++++ test-certs/example-root.csr | 16 ++++++ test-certs/example-root.jceks | Bin 0 -> 2192 bytes test-certs/example-root.p12 | Bin 0 -> 2542 bytes test-certs/example-sha1.crt | 21 ++++++++ test-certs/example-sha1.csr | 16 ++++++ test-certs/example-sha1.jceks | Bin 0 -> 2233 bytes test-certs/example-sha1.p12 | Bin 0 -> 2582 bytes test-certs/example-small-key.crt | 14 +++++ test-certs/example-small-key.csr | 11 ++++ test-certs/example-small-key.jceks | Bin 0 -> 1317 bytes test-certs/example-small-key.key | 15 ++++++ test-certs/example-small-key.p12 | Bin 0 -> 1680 bytes test-certs/openssl.ext | 9 ++++ 50 files changed, 414 insertions(+), 124 deletions(-) delete mode 100644 certs/cert.crt delete mode 100644 certs/cert.der delete mode 100644 certs/cert.jks delete mode 100644 certs/cert.pem delete mode 100644 certs/certRequest.csr delete mode 100644 certs/certWithPassword.p12 delete mode 100644 certs/passwords delete mode 100644 certs/privatekey.pem delete mode 100644 certs/publickey.pem create mode 100644 test-certs/Makefile create mode 100644 test-certs/README.md create mode 100644 test-certs/example-bad-serial.crt create mode 100644 test-certs/example-bad-serial.csr create mode 100644 test-certs/example-bad-serial.jceks create mode 100644 test-certs/example-bad-serial.p12 create mode 100644 test-certs/example-elliptic-sha1.crt create mode 100644 test-certs/example-elliptic-sha1.csr create mode 100644 test-certs/example-elliptic-sha1.jceks create mode 100644 test-certs/example-elliptic-sha1.key create mode 100644 test-certs/example-elliptic-sha1.p12 create mode 100644 test-certs/example-expired.crt create mode 100644 test-certs/example-expired.csr create mode 100644 test-certs/example-expired.jceks create mode 100644 test-certs/example-expired.p12 create mode 100644 test-certs/example-leaf.crt create mode 100644 test-certs/example-leaf.csr create mode 100644 test-certs/example-leaf.jceks create mode 100644 test-certs/example-leaf.p12 create mode 100644 test-certs/example-md5.crt create mode 100644 test-certs/example-md5.csr create mode 100644 test-certs/example-md5.jceks create mode 100644 test-certs/example-md5.p12 create mode 100644 test-certs/example-root-bad-ku.crt create mode 100644 test-certs/example-root-bad-ku.csr create mode 100644 test-certs/example-root-bad-ku.jceks create mode 100644 test-certs/example-root-bad-ku.p12 create mode 100644 test-certs/example-root.crt create mode 100644 test-certs/example-root.csr create mode 100644 test-certs/example-root.jceks create mode 100644 test-certs/example-root.p12 create mode 100644 test-certs/example-sha1.crt create mode 100644 test-certs/example-sha1.csr create mode 100644 test-certs/example-sha1.jceks create mode 100644 test-certs/example-sha1.p12 create mode 100644 test-certs/example-small-key.crt create mode 100644 test-certs/example-small-key.csr create mode 100644 test-certs/example-small-key.jceks create mode 100644 test-certs/example-small-key.key create mode 100644 test-certs/example-small-key.p12 create mode 100644 test-certs/openssl.ext diff --git a/certs/cert.crt b/certs/cert.crt deleted file mode 100644 index 1badde9..0000000 --- a/certs/cert.crt +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIID5DCCAswCCQCgrrPEnfR7ezANBgkqhkiG9w0BAQUFADCBszELMAkGA1UEBhMC -VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28x -GTAXBgNVBAoTEEFwZXJ0dXJlIFNjaWVuY2UxITAfBgNVBAsTGFJlc2VhcmNoIGFu -ZCBEZXZlbG9wbWVudDEYMBYGA1UEAxMPQXBlcnR1cmVTY2llbmNlMR8wHQYJKoZI -hvcNAQkBFhBhYmNAYXBlcnR1cmUuY29tMB4XDTE2MDUyNzIxMTUzMVoXDTE3MTAw -OTIxMTUzMVowgbMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw -FAYDVQQHEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBBcGVydHVyZSBTY2llbmNl -MSEwHwYDVQQLExhSZXNlYXJjaCBhbmQgRGV2ZWxvcG1lbnQxGDAWBgNVBAMTD0Fw -ZXJ0dXJlU2NpZW5jZTEfMB0GCSqGSIb3DQEJARYQYWJjQGFwZXJ0dXJlLmNvbTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOSjJs9oaVFhOXx6YrIIkgwN -AiL1nXmnfh8OmU62B75ZC1ob2nboWdTJEsCZk5Qrv+WqLSslOQYtONGw0K//4tOL -TH8HEbNfLdjL6ooblgbh8CyttkENac9hfz8Z/83x3Bx2h2PTXaw8SN1GQpNm1KC+ -GrkqAyiahsO4o17/Wem4AXAfwGbYH96leyY5k0AfbmmkoIq3L0hHG5Rmg+Yf5Vti -dJY1aWGxA/G7pOWQaRPlDp1xYtYD69cC3/XoZsGeTK+jLdEW50oq15a1wAc6qvMZ -aTWQ7h0+T4AX8PiduZjSfmTbz2+cHBcaw7b+hGZjuhjDO+o5gQiyLtS+wF+yZlsC -AwEAATANBgkqhkiG9w0BAQUFAAOCAQEADw2bzLhqngco0a3U5XVvC3yEGmJrDwVv -em4fuL2/QTRsNM7APeQrZ4I7SSXWVd/XL/77CeJbwfmP9UlB2+eUpBuXUf4TArua -KdLZM5HOjVWvBvCGXQxjAOVJITyd52uqeCT+kqRhEEfTmmo/DKUP6QIWYNgS7M62 -BuiOnD4OU0TS9gs7kw73qD7Kzh7MTsCLP77BrxtDAJvzYAMOyyZMnCg6ony9bCZe -7N65svyFtk6EufWydgzM62FCfuN8TMEPuFV7dcpeQsRUed7/IiEhT6NjpNODF+pL -lzFSVOaI0OaAO/6Y1lUp67BfmOdzqlIVZKaKSzpdYHoxjXj7WR9AcA== ------END CERTIFICATE----- diff --git a/certs/cert.der b/certs/cert.der deleted file mode 100644 index 389e938add594950be0eca89965990c78d0080de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1000 zcmXqLVt!)K#B_#?5ax1D%*jm4FUreIG!!!s0SU4T^9Cp8DYz9S<|StqC+8bV8i<3$xr7BA z3sQ?pN{dnzf|D~-^O92y6%FJ;QryB4L8-;5iABj73W<3s3NEQ-sX6%txv6<2h7ty1 zASKMg{4m`x&GH7aa946NiU}kpB|9WSZO}{3&oz(}=QT7lFf}qaGBh+bHjDyt%?%9< zETP;X>Z>M3CFJN~WMyD(V&rEqXkz4IYGPz$c(PdSd`4zqqGe50(k6~cJiJUwU*}dX zuaoDS>9>u2UnF;w^sTZNkylO%9hfC%ukwXZWfPo>z z$iUA#`^=84dF&b&*Is#An$KO+B9)ZQ&zfJAC%!-q7`IAKGGhk{O8dsJ(=(O3cFM1k2ZzmlS&|Kj8&mz%|3c~3VC3VGIX;aP+AzZus;HD7OtpYgnSRgh@PvMz6{ P*n}#>-iqIm@(u+60Vj4H diff --git a/certs/cert.jks b/certs/cert.jks deleted file mode 100644 index 695563230367e3a910d6c6ff287dc3e47c632065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2097 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 MsJDs2|F@F=0stP&wEzGB diff --git a/certs/passwords b/certs/passwords deleted file mode 100644 index 46d3a0a..0000000 --- a/certs/passwords +++ /dev/null @@ -1 +0,0 @@ -p12 password: password diff --git a/certs/privatekey.pem b/certs/privatekey.pem deleted file mode 100644 index 2656dcb..0000000 --- a/certs/privatekey.pem +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEA5KMmz2hpUWE5fHpisgiSDA0CIvWdead+Hw6ZTrYHvlkLWhva -duhZ1MkSwJmTlCu/5aotKyU5Bi040bDQr//i04tMfwcRs18t2MvqihuWBuHwLK22 -QQ1pz2F/Pxn/zfHcHHaHY9NdrDxI3UZCk2bUoL4auSoDKJqGw7ijXv9Z6bgBcB/A -Ztgf3qV7JjmTQB9uaaSgircvSEcblGaD5h/lW2J0ljVpYbED8buk5ZBpE+UOnXFi -1gPr1wLf9ehmwZ5Mr6Mt0RbnSirXlrXABzqq8xlpNZDuHT5PgBfw+J25mNJ+ZNvP -b5wcFxrDtv6EZmO6GMM76jmBCLIu1L7AX7JmWwIDAQABAoIBAQDYwwlHeBDpU4jB -x/IMIe38uNR+umfK7421+gxEwHVE9Hy7uE59jzmjb+J0cOWmg3fSUG20SvzuKy+E -NeMUCUBOGPG0OMqCSUlZEbLRruekrM4cPbDdqc7YCvItrAOGh7eL0J/5d2mGojze -c/8oakRKBRGm3PrTovUDV+ijZuoilkMa+EfwxE8wM5xNDoY9bPKtBLI6SyVIzFXj -vEKeSyVVxiAkW28yI0XoUOJf8O2U5h12F9wYYe1RiarI7TJeCK5M1EaxnNfdvobF -xlGIdE3ZUtgdPPTPBonL0NsM8xr5qa5xXreyhMQAG9E7a206GE76zNq9eeuwp2M9 -5wOrgadxAoGBAPR+2PkkbFXhDHeeseoWPLFkPmw3H3TWCAwVB7WKSbL5jmkOVENw -KmVmZffqxxvDEEiF4eJrColqHM8dzcxfgPn8uyQ4nwpFqZ2lwZ67CnpozN7D3e4c -JmP6wnKO1reShOZGUA/AbpdMWRCe/OZdox4g7vjwzfp1ZFYk81S9kyGTAoGBAO9l -R2i72KP/BzskGzMYdetk3eDnrusihJ1kgYzblIW/EP7ThAAvA4GeOxGajcieDIfo -wgj35JdRimknaNPt1p6ABQZnI5hdUF7+LdgvioxfZYxvEO2Jop5rDopd3o8qvDqu -bTBjGLWodO9SYOX0QqzbNw/Hjw/JsLkoZEG1SsUZAoGBANSd+tGuewezzcO4nb+T -1vPs2NwCk7hm6FiZcTrOJ4kcvFtfuqdqw3OquMH/yWa7G032H5lmvKMDREpZAL7Z -zq+WuKenFac5LWeK3fXLcjFBMegHLNgEYt5PEwnMbaz2HdyjCLyp+4JXQpzRpdwv -UcrBmQ+jWXyU2cyQFYt70JdBAoGAdSkx+5YDfq9vkIgpL6aG/39L/6gjuTwZfxYT -OSa114cdADnwXk6j/qm76u+i+E4xf8pwPAdmPpBPlwsMiLvbz5KD4xBTIVx52yO2 -uBj8S5rcjhBFTpuPlMx8P0eVhqe5m1aGZan6C9237PB6L9CNWR+oIPbfkzB4ZwXX -mzjosPECgYAYrtJ6i9hjjSRlyaDvYGieXlMtRM1viByCrxbqYwqpJ24Mbw+JGpi+ -e8a3HqyDpLI5lAfQIDXA0jn549s1vec5asNKoL5+ZvLc8CL/PrJqgOIrKti+mya5 -KjU2QKdROvsRiIUv+j1o0OVyqmHDIMtwOVrSdWaxQqS4A0DIvW1ZQw== ------END RSA PRIVATE KEY----- diff --git a/certs/publickey.pem b/certs/publickey.pem deleted file mode 100644 index 66b7067..0000000 --- a/certs/publickey.pem +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5KMmz2hpUWE5fHpisgiS -DA0CIvWdead+Hw6ZTrYHvlkLWhvaduhZ1MkSwJmTlCu/5aotKyU5Bi040bDQr//i -04tMfwcRs18t2MvqihuWBuHwLK22QQ1pz2F/Pxn/zfHcHHaHY9NdrDxI3UZCk2bU -oL4auSoDKJqGw7ijXv9Z6bgBcB/AZtgf3qV7JjmTQB9uaaSgircvSEcblGaD5h/l -W2J0ljVpYbED8buk5ZBpE+UOnXFi1gPr1wLf9ehmwZ5Mr6Mt0RbnSirXlrXABzqq -8xlpNZDuHT5PgBfw+J25mNJ+ZNvPb5wcFxrDtv6EZmO6GMM76jmBCLIu1L7AX7Jm -WwIDAQAB ------END PUBLIC KEY----- diff --git a/test-certs/Makefile b/test-certs/Makefile new file mode 100644 index 0000000..38d941d --- /dev/null +++ b/test-certs/Makefile @@ -0,0 +1,70 @@ +TARGETS = \ + example-root example-leaf example-sha1 example-md5 example-root-bad-ku \ + example-bad-serial example-small-key example-expired example-elliptic-sha1 + +all: \ + $(addsuffix .crt,$(TARGETS)) \ + $(addsuffix .p12,$(TARGETS)) \ + $(addsuffix .jceks,$(TARGETS)) + +clean: + rm -f example-* + +.PHONY: all clean + +# Generic commands +%.key: + openssl genrsa -out $@ 2048 + +%.csr: %.key + openssl req -new -key $< -out $@ -subj /C=US/ST=CA/O=certigo/OU=example/CN=$(@:.csr=) + +%.p12: %.crt %.key + openssl pkcs12 -export -out $@ -in $< -inkey $(@:.p12=.key) -name $(@:.p12=) -password pass:password + +%.jceks: %.p12 + keytool -importkeystore \ + -destkeystore $@ -deststoretype JCEKS -destkeypass password -deststorepass password -destalias $* \ + -srckeystore $< -srcstoretype PKCS12 -srcstorepass password -srcalias $* -storetype JCEKS + +# Good root cert +example-root.crt: example-root.csr + openssl x509 -req -sha256 -in $< -signkey $(@:.crt=.key) -out $@ -days 2500 -extfile openssl.ext -extensions root + +# Good leaf cert +example-leaf.crt: example-leaf.csr + openssl x509 -req -sha256 -in $< -signkey $(@:.crt=.key) -out $@ -days 2500 -extfile openssl.ext -extensions leaf + +# Bad cert with SHA-1 instead of SHA-2 +example-sha1.crt: example-sha1.csr + openssl x509 -req -in $< -signkey $(@:.crt=.key) -out $@ -days 2500 -extfile openssl.ext -extensions leaf + +# Bad cert with MD-5 instead of SHA-2 +example-md5.crt: example-md5.csr + openssl x509 -req -md5 -in $< -signkey $(@:.crt=.key) -out $@ -days 2500 -extfile openssl.ext -extensions leaf + +# Bad root cert with missing "cert sign" key usage +example-root-bad-ku.crt: example-root-bad-ku.csr + openssl x509 -req -sha256 -in $< -signkey $(@:.crt=.key) -out $@ -days 2500 -extfile openssl.ext -extensions root_bad + +# Bad cert with invalid serial +example-bad-serial.crt: example-bad-serial.csr + openssl x509 -req -sha256 -in $< -signkey $(@:.crt=.key) -out $@ -set_serial 0 -days 2500 -extfile openssl.ext -extensions leaf + +# Example with small RSA key +example-small-key.key: + openssl genrsa -out $@ 1024 + +example-small-key.crt: example-small-key.csr + openssl x509 -req -sha256 -in $< -signkey $(@:.crt=.key) -out $@ -days 2500 + +# Short expiry certificate (OpenSSL requires min. of 1 day, so let's do that) +example-expired.crt: example-expired.csr + openssl x509 -req -sha256 -in $< -signkey $(@:.crt=.key) -out $@ -days 1 + +# Example ECC key +example-elliptic-sha1.key: + openssl ecparam -genkey -name prime256v1 -out $@ + +example-elliptic-sha1.crt: example-elliptic-sha1.csr + openssl x509 -req -in $< -signkey $(@:.crt=.key) -out $@ -days 2500 -extfile openssl.ext -extensions leaf diff --git a/test-certs/README.md b/test-certs/README.md new file mode 100644 index 0000000..086c7c3 --- /dev/null +++ b/test-certs/README.md @@ -0,0 +1,7 @@ +Test certs +========== + +The certificates and keys contained in this directory have been generated for +test/development purposes only. Do not use these files in production +deployments! You can regenerate them anytime by running `make all`. The +password for the PKCS12 and JCEKS keystores is always "password". diff --git a/test-certs/example-bad-serial.crt b/test-certs/example-bad-serial.crt new file mode 100644 index 0000000..e03a801 --- /dev/null +++ b/test-certs/example-bad-serial.crt @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDgDCCAmigAwIBAgIBADANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJVUzEL +MAkGA1UECBMCQ0ExEDAOBgNVBAoTB2NlcnRpZ28xEDAOBgNVBAsTB2V4YW1wbGUx +GzAZBgNVBAMTEmV4YW1wbGUtYmFkLXNlcmlhbDAeFw0xNjA2MTAyMjE0MTJaFw0y +MzA0MTUyMjE0MTJaMFsxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UE +ChMHY2VydGlnbzEQMA4GA1UECxMHZXhhbXBsZTEbMBkGA1UEAxMSZXhhbXBsZS1i +YWQtc2VyaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuRyPfk/V +joHuWn7V4aSyuzXclHANdIWnuxR/mW07jDoHlju8dqEiMFl1DM7wHPSCk4m/vYNK +N8g5yRrDTLmG2LZi3gbRv+0zy1/gLGH75D+4nlOAB+HAkOtHBFnxewcSKMmG2IpH +O7vr2AtnIk7rRTSWkAITMJeIyO9Lzyi/RvGmjBoCf4DZtYe7mh+YC0XG81IlmR4C +lyXdBJ8O0QdeIDEE0egFYsku+4p2Hgt4obYm8W8NbTMsoxaEWhvA2SnSMx+e2UW2 +Co+tsV+BjfCwLqPXOr+awKMPk22n56Ev3aG6h6gzXOHy/YOVGYp3xIFY6yQwApIC +EJtGHtVYZ0+B5QIDAQABo08wTTAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH +AwEwLAYDVR0RBCUwI4cEfwAAAYcQAAAAAAAAAAAAAAAAAAAAAYIJbG9jYWxob3N0 +MA0GCSqGSIb3DQEBCwUAA4IBAQB6zkdwhzIOelObaUFZFiZ9eFqaZdKr74CWvTBc +K7mmryX0CdXDJS+iKgwpT+gZP36x4nahh0YEaU0XDjm8Zb8GiYeDJKei1vsSRbGC +62J8n6ZQVcxcMYX0wuiwfXgtxlt9Xpdgf52S+PA9X293siCAlaIDfNUD386kBtDa +U90Q82HfLXmaMTfb1z+6blEnxvOGOHe0XaRIJRV6kUP3YvBbC+jW/5fj89lr35UB +6sI4pLvbGdV88E3Rw3TAsFKIJa8nOrzLvnICBdwfN76JyovH5t3n3txp2RIdGilw +JWDAZZJA838IXbIrUbNiH3ZugzA7KJjyn/hA2igKYszJ9lNG +-----END CERTIFICATE----- diff --git a/test-certs/example-bad-serial.csr b/test-certs/example-bad-serial.csr new file mode 100644 index 0000000..7f204bf --- /dev/null +++ b/test-certs/example-bad-serial.csr @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICoDCCAYgCAQAwWzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQK +EwdjZXJ0aWdvMRAwDgYDVQQLEwdleGFtcGxlMRswGQYDVQQDExJleGFtcGxlLWJh +ZC1zZXJpYWwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5HI9+T9WO +ge5aftXhpLK7NdyUcA10hae7FH+ZbTuMOgeWO7x2oSIwWXUMzvAc9IKTib+9g0o3 +yDnJGsNMuYbYtmLeBtG/7TPLX+AsYfvkP7ieU4AH4cCQ60cEWfF7BxIoyYbYikc7 +u+vYC2ciTutFNJaQAhMwl4jI70vPKL9G8aaMGgJ/gNm1h7uaH5gLRcbzUiWZHgKX +Jd0Enw7RB14gMQTR6AViyS77inYeC3ihtibxbw1tMyyjFoRaG8DZKdIzH57ZRbYK +j62xX4GN8LAuo9c6v5rAow+TbafnoS/dobqHqDNc4fL9g5UZinfEgVjrJDACkgIQ +m0Ye1VhnT4HlAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEABFYpzaNEUu+bRMVl +1OlikjOX0S92HGO+qXp/GBNUhMIWH9A/w6j4bRfMuAPzpOKXWRoastH1rixVtGG8 +zeko+sn1k7QyXFhk+VN8PGUymdpFcV0VnpmomkcEg6FGHkERiaTuuspYvvKkFZDc +/P7J4YBk/iET6o9F64p9+LGxMDNvAgqtOhrUW+7IDLoigwL3cFZBXGem8BSSn2ot +hkyjNbIJPgqJs/XiYF4wxxNmL3xCTSDxbAByPRZY9UZt4yPKlBFvsuOoOWRb+33a +uvIAkiE8WoR9qArx+iBs8RLaqd27K/PLQMKSbSyY4ZJAQoUg0nTP8a18zRX9JZoV +utwczA== +-----END CERTIFICATE REQUEST----- diff --git a/test-certs/example-bad-serial.jceks b/test-certs/example-bad-serial.jceks new file mode 100644 index 0000000000000000000000000000000000000000..bdf740092153a1def248ec9b23d8c120f4ceca6d GIT binary patch literal 2243 zcmcIlc{G#_7oX>uF_u9XQDluW44$zsNxe0cM9pLu22&;mAxmj6G=o$avXotsC2Qoh zrW#8{gzQ_A3?aQ#l27k>-|zIt_wRSlx#!$_fA^ew?s9&&tE;OE27`gy3jD1i0n$-@7!0uh(Ghcy1d>+;2_OJv5Dh>A2%hqqs#j-zxJrS5 zD1we?&up*mQ%Kh^ZhBMH&9BKi$+ABM0Mv(R+QNbUBjqy|yV{aWI89M{=opq)E)r2y zC6_w(2|h}2uE zX7f(G_ovpgHm#sO+3EQl_H=p<>7j_9Tc2+kN+Cn!PRXI{w9fD5gpVb{CE?fm1?w!y zi!~oVRGP5{Y?F>xDP$2E_~?Ia>Qc_!H2ZPITE}|8@26Ej*j+r8{Q!#l> z)7bm@6zvR0%{7|4_Zc1d4^rxVH8JPEE*TI#HZZf7aRsP@McF?YufMRb%`ypIZIEG0 z#9S@8#>==rA^0$`v?$IAj$Xm2Cz0(%T?WnH+ljR`GK6LLl~M%Y8n6ls$3Lz+c;ajXz;&`Cb>PFY&W=%ccOgmt z5II67t@zqj-hlCZm-k|!p4?5}%m}AfNcrQ{6x-^wrixn^zN-}Z626&g*|s=SzAhe? zIcW68;>o30?-J!&xQ!VU!bepoy*K>G4tdux+RwRO>uvzU?MZU&rf{5gePFWE(SDdj z6xHHZ*w)B;Qfg6+*o(lE*r*{H(sY8(S0!HEgfzK)%p|Xr$df^fILB|s-I7}D z(Ri5&{euayr3@7AU@E_)=X#&m)ZH=j*4leU=Tr}ro(0~ke63jKdx#%9bcSqlVsmrp zWr4d=v)=W2@a%i}gfXtx%9>=_%v{#dVZ!?t_$xbCgpn+Tc)X?dtHO6c`-tg6YtwoV zz112iNM$VD49Y&I#PLIZ$<2PK#=h_@-Z^CCNCy6b(NZ-w1iMgz_sAo7HuBf%tvz;9 zu$+95-JUGeuy4GyDs#C!(8a;k@RWK>9W9pILpnsRY;|^%XF%a}>fSjiuzkTW2p8Je zY^jp~!9)#wp^E=R}@Wt@B zfI@#=)#(n#Ye|&=9dots4sjR`y1kB(rm^u{CP6KW*h!tQ8I&nHy5mUUi03W!Xo{-H zK(VLGIB%Dvi@)sGl`l5_QAX{=IsWlXC0Q9Zr8`P4@7>e z3>{@~W6IRq!o)**4Zub!TiB&o8DOV2m(HDFElE3tjXLnNzY*JFX%*m3pr=5r+PlxN z)W$oPIJ$9BU)8^lGUgH4qtBD+XH)FVog8CmZ6J~{ttHJx_HyuVn8%uRfBQoKR*bpR z6x3fhDQQfNQrQBxhI&zA!@B1>I6j79Ni8h*!$re?^C6e5nl`jeeefuV4iAUuphq?w z1V9jgK>|o#WyUeax&Q#6xL}Y24h8Wd;Z_JF8nhz*>+qn#BZqN9kl-(b56$gH_6wk# z_xU%1LUaE^xHw5@_pcl{`hQR`BrPt0(}8qwkcI|M3#VZ(E})?aY2md0asR)?>45z2 z%>rC7I33slgXjPsNCyB|-JV-C%l?}YpX_PP5rSsD^O{+_w!I z0(0acyG#6C%X_}iSuxFxk!HH>`W+Ha&FdJ0HLl~xp5{f(7tWJd(#DMO<4j^W_f$(f z#}r|=a)nz&se>^XYid}}8AP3zx8UHlZpVXYC?&dm=|s0uv&qW+I0-N;eCQFgK3ygi zg=eo46w{=^6vZ(_mS7LJlPnI=GsorHp|%klD2)ovsoA&UBS6)}=7~kwOSTMQdNpM- zhwwFgw@NFVBW^60tL42lXijg*+rgq1e8^EB%lVU8sOdQMc{4J3cWltJ2wRQ<1SWz) zcTA-FZO>aqya(X`49K&DPC`=K8h@e6PNQ$_V$Wqyq1+-_r9#dKf}(*!{|DK4nrKyF6HFe4QTatAg<@D+59 zYiQQ}Q&uk>ao4`I&Xr#cR%JU}bxLsw%SimXY~<_{R4E&toC^=_hfj3nBVP{_$Anf% z6RIKUINg!A#(#RB-p^iT=mk}u%|E8N^K!zGb=PGF)ZD;U%DdGe&xvGUzEv;3eq?ul z=<>;)rvWYHglNUG{RRy$n*2bnQ5oH)n9l2Mvtu8|M=3)hQW6+nMVA(G;-S?rp0kxI xr>k6L0=*+4L#5QuSziwgEAhF$>{uh3%#vI>6L@@z4TiPKrc>C3_aZj__z%zogjhH7^DYZAJjxAJ?qE^eXDuU3&-fBjTD9$0RqG}W^ zs)E`rLd}{*wTN+@=ehTud;fT!-~0Xk-sk=EgTOM%f`DKI7WSPUCWSM^{bT_$086p3 zWe66wa8b`9un^aOR`jJ(BEv| zzP01LGwY+TAHO!b9@0;&m|M!BkJ{ljMhVcaI8R4}6KZI7@J3j%s#VyUdfp+6T4rp1 zlFf$4tC|nDepXCLV%+eJl0|;tur2+8I*CyAV`&EMC8wgUOq6n6c*rZshaX#g;z|Z_ z9?A*J%|UzP?<-sfHK1CjBWAXIN>I4Z8z;9XHivdVGk0(x2A0^SVfoShfhEUj4#(k< z%kk*&9I2=8!SZ01$TNogZ=RYtwzdt|3>KG-8p>aM7pa?X8M=CPMHnT?DK+!#=a%!QPS+<1-TlN;eo)068S?sER@8Cf?g`uocBSY7x{1_WDkUj-US5U#T#B3^BnagiCyPz7#c8x*L zWFN#(Y5s*!MglCIB1FcSb z!tX6cOD*hR(g5kS^mePhn*bVmF}z}`sLS?e2idkl;;WVNnND)vW=oW+vyq^id2f7@ zi4v2%OJC43WO!>u`tY3nJlP`K6R60$X|q=zeDKy6rnT+ z2t=vUlC7ZT2sG*OMB$AUP{@GnT1_(8I!@pOHQ=C67~`KS7+`0m8$6k+FxarRZ!db` zW@0agV5}quW|gDHh;51Vu6jEQ^Ek#aUX>iD|9adfzrfm!To5TE`HW%zC|ca9>lZU^-p?L9p*xkB zUsD<%%E0AWk-D1Zt*>DU`l2H==Iw-t_JT+4Pm8-!e#R6wHYSF>f9b|vubJdyW)5v) zlGwpTqvBMG+H-hF1sdGyT(0BuR&&tZDn9Bf+a9l2mf%Nozac{N$nh%kzvWTFX6SPp z3)%F>k1vHLy&?`ZAtl0*u>J}2Psn+)0_->H+!RbEl|GZb8LcCAqDr&4(G7Q9-w;jV zDX&U<%ckyr=D{aKHfTHCxzU?xZ1E+hM2G`g6Wda(=W-jr09*<{O!6r_wcdnTO7pQ- zXPK0zQ;$1sz9X=7A^!tODVEL)f~C82QM+CoM|!6Ju)+ugUHG$o0nhsXX#@US8?!~~ zR?TiV{BLa_SV-UMf&1hSjV#ZAoBH6*stuMrW^aH7xfms+#QZ+54N zIM)58C;1+hEQjJTI0wBaqa+P@5HNhfNt|rq94EvCy~EYA;Z55zRxM6F50TXCep7r_ zf>AzP-SM-<_fZ}3%NQtHR+G!L-JN=`);}wgyI6-YzZ02V6@_QP&nLJ`P1o8KX)aoJ zN~CLCGnM6OjVg>5mI8Z&b*AP|xH`nQizUCAFiQk1#AykpCs|FpZ8NtdP8~ z_wrPE0zecmv7S4Ms@5?X0{fSh!&t$qCaNQ%d~TcC1+kQdeecE63iizM> z(Zh^NWAtrr{dz|q5{3Nfht~5Qeyjb;(z#(JV$C$ii9oVkc&LEf4RTqxW^)pc%2v5G z^D3(nSyVvm7dqopl-Q~xnC)Isw!yF_DpGmR%(qm;LgR5BcKNnsUagleYQ5n3q0&8v zLeoU8b)IaMUVPO7O-)JfZ8)0yL(ksvsnTUn$NCp>V*LFpCp3SHDQL$PZC!zD#qx!% z8|M9JI4zlY`sWz%)AITzmrPNO;ZH&iO9I>X(kPh&l7PtUwAn$JXlkmB{^k#6*RUev zTXFMttDuP$ulAw&k!cZiyXEBmp4x}3ze~yuYwZDV9P!$F5`yxf_jq?~W{wnY&aip0 zzppt#MbZ#kIvxIy)|k?LT~4V(j$GJfc0*x%dvWS|weQQMKjOdT3ccIYq<%(Da^B71 z&ARz8qFi^^haejnp~G0&HDf<+$kl@pghCxS~!=@#&(JpF8+Ylp?#)J3deo zak1Hu)%Zp9;2+iv3>1Coa7Qrr1GB{RK}LbUUWktgkVBj@BejobZt02$3>#VPm=hzR3I;Tv z)#o}crd?H;=TvW#$O_tsjXe`UU4dJEUYVgY-anmJBysRT`v@(Po#EIE{eav|(M1am4*VUEtpcTBi z*Hk!koo=a19p8~!V6u@=1gl5Ol$r&%TFvHv=qLABFqeiVO;v1I@jgp_tD^%DdFhyj zBjVeYP>%h1-5p&N%b3vCZ5FM`ow+p>FN;>^e8s!f^*)=Ve$X2VPUjs-0ojW@sFG)H zkwMq#XJ>NF)CyHu)Ns*^KTmb+rQ9cNoA=p%1Nm3GXQjzIAVmJFBaBm?3&K%cgOEOi zN;?Lm$nx4jZ0%4j=mv!1KaV)%#RWwHcL9F@+yH)n0D$ksT?XKOkvuMD@I?v&pf8dy zLLMQEfYH-kX9a_J=>QN8@)yx7Z)L}5C#^>q9P727!?;{11Zus@>s0!~?&III{tFcd B!C(LY literal 0 HcmV?d00001 diff --git a/test-certs/example-elliptic-sha1.crt b/test-certs/example-elliptic-sha1.crt new file mode 100644 index 0000000..b4753d2 --- /dev/null +++ b/test-certs/example-elliptic-sha1.crt @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB/zCCAaegAwIBAgIJAJo7hMg5Z4KeMAkGByqGSM49BAEwXjELMAkGA1UEBhMC +VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQKEwdjZXJ0aWdvMRAwDgYDVQQLEwdleGFt +cGxlMR4wHAYDVQQDExVleGFtcGxlLWVsbGlwdGljLXNoYTEwHhcNMTYwNjEwMjIx +NDEyWhcNMjMwNDE1MjIxNDEyWjBeMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex +EDAOBgNVBAoTB2NlcnRpZ28xEDAOBgNVBAsTB2V4YW1wbGUxHjAcBgNVBAMTFWV4 +YW1wbGUtZWxsaXB0aWMtc2hhMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM8V +3EeolNVmL+Hie/hVzYWucKMFH0LpJecnBaGnFRNz3WoL4fYe6aEKx2YRdTOyFSiC +DTZYyIU38sVDF3q5Hy2jTzBNMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD +ATAsBgNVHREEJTAjhwR/AAABhxAAAAAAAAAAAAAAAAAAAAABgglsb2NhbGhvc3Qw +CQYHKoZIzj0EAQNHADBEAiBeoQ8fJeQ8NVSvVWsA1sSjZX2JeF1AieqAKC/AlusM +uQIgM0iXusIK2OmatfJepYfZCJrXNnLi9piROfX0jvstreM= +-----END CERTIFICATE----- diff --git a/test-certs/example-elliptic-sha1.csr b/test-certs/example-elliptic-sha1.csr new file mode 100644 index 0000000..eff4caa --- /dev/null +++ b/test-certs/example-elliptic-sha1.csr @@ -0,0 +1,8 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIBGDCBwAIBADBeMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNVBAoT +B2NlcnRpZ28xEDAOBgNVBAsTB2V4YW1wbGUxHjAcBgNVBAMTFWV4YW1wbGUtZWxs +aXB0aWMtc2hhMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM8V3EeolNVmL+Hi +e/hVzYWucKMFH0LpJecnBaGnFRNz3WoL4fYe6aEKx2YRdTOyFSiCDTZYyIU38sVD +F3q5Hy2gADAJBgcqhkjOPQQBA0gAMEUCIQDy8yncmMV6lW+WKrOnGC5CErrlo1TL +HaI9p2weexenLgIgLiO+4pINprkogDRDqPBow5qzTkyydxtiA+1npjjcYqY= +-----END CERTIFICATE REQUEST----- diff --git a/test-certs/example-elliptic-sha1.jceks b/test-certs/example-elliptic-sha1.jceks new file mode 100644 index 0000000000000000000000000000000000000000..5dc743c19247d3cc6cf68cb7b4d5a0d1a9b8f26b GIT binary patch literal 779 zcmX?i?%X*B1_mY|W&~r=)QZI1f}B*{)SR5mf|AT+-QtWyL!fM^O`>NhP{}5P#`OkL zY@FI`j4X^=Ou~!?yeu3stqGGZo_fBLiBW{5al)f>U9lp*U4c)(@b;}XFTRqQ*j~9t z@vua8N`q-gugk~hYxdkb+^a8oXH|87Pv*RnXZ~^LUY{cryC5(*aM8lPwa;ZXuT0*X z@NxJ5`KOpqSj_D?B%pDlvE};dJ#W-Q>R)|O^l|#L_})qF9|t5~=zOViUiLg8F0`Y~ zbJK+bObkt-T$e#jAG8>n`>;@HLPHdR|tQMa)2ijRTla zSXtSbncyr&109gGAd9Mjayv^sFm1I90HX*QFg9`KTQWaJl@AVmwaJA;7>lS14= zetFd=Hl`u#L$evK9a)@O+gTCo(D|xCL;t|E*E~C!6pTHl?>fYFFb-{hEe p-K^-*w;2;Hzkccat-JQ|qlO7bcj!7@_S`zh#E3`q9rv^FGXPI=`ThU^ literal 0 HcmV?d00001 diff --git a/test-certs/example-elliptic-sha1.key b/test-certs/example-elliptic-sha1.key new file mode 100644 index 0000000..b04c71c --- /dev/null +++ b/test-certs/example-elliptic-sha1.key @@ -0,0 +1,8 @@ +-----BEGIN EC PARAMETERS----- +BggqhkjOPQMBBw== +-----END EC PARAMETERS----- +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIJ2Y2TSl0hYXHzCwS8H8EbgG7QwF8yShSsJq5UOrfcgXoAoGCCqGSM49 +AwEHoUQDQgAEzxXcR6iU1WYv4eJ7+FXNha5wowUfQukl5ycFoacVE3Pdagvh9h7p +oQrHZhF1M7IVKIINNljIhTfyxUMXerkfLQ== +-----END EC PRIVATE KEY----- diff --git a/test-certs/example-elliptic-sha1.p12 b/test-certs/example-elliptic-sha1.p12 new file mode 100644 index 0000000000000000000000000000000000000000..4d7d6858010846d3f885aa2e1aa455d2cce990a7 GIT binary patch literal 1149 zcmXqLVyR?eWHxAGv1jAdYV&CO&dbQoxS)x}fTf8=2Pmvz(8P2fA;q?!iRl7R=nNAh z1CTn3kYO~CVdH|Dz{AL9z{kQdFIYfmO7l}uCMFJsh9;&N?{)4s-?^20Y5$G2)~x=) zM!H^_=O?Bvk}c;izV$PGZ9@;!+1Hg;Zx*^6&t11{HGh(V;Zj$|=pfyKC7s*9{+$27 zd)6|%n*#uS|hV(^^SdbdCT!Gp-ri8ALZM!P$b=-4Rj%IB-5K~uu>||$ZM&J39rN z8`or=ZXe-h`9AH&t?=?gkJ&GX9FBZ{>oT|O!+FbdE7#na<}c>u+k9;{W5jl`_+X<2 zmw)MBdu*yPxrLE$y7%OIjt=2>M-8p?!*x%-WnffojQiC2`}~emClc}sHp={Zbm)$g z@~5P|3l&#{F~7dOF0o{#QZK!-mHOb7q*i1ueJ;S}!4 zj@EaXX`XB;*!1#nZ2MZLzi2x z-}s^QMM1UoaEQ*@>ZI1AwgP;1OvwwCgwjnPs>|qXnijjfxwQDH_KoJP!Q$L!_O!WQ zXxZ1>c<4=C>su9(oqPFi6h2vf&-;*`!AI#lY3===Rxhic)3>;%&MlTP?2uZ7-hab9 zL)8T`*1|s|eW2O>jQy;xhcxu7oDK<&hI74M|=ahN12R<$9KU24Jw#viRr`)t>HVHS} z?5%vb;OwFUuM2Ld2yfxx3i|#`J}!EDZMnn$uOH>^pI^>V%+q+>;=V$u$i`*sciD^W zFPzxMq|a`cV4w{5BB!XK7>h^~=a1iKE-gF0-N!>A>I%E(>=5R=29^j#B8ED0S`4WS z6%2_CxeNsiIY7295a$44CXinOB$I(6#S9rh6@~_e28srpY^>UR%uG_O3@jp3_g=it iw13r;)!Yp;_gMxeK52e`nT10t+jZvtUCXUO;RFEMb>%?- literal 0 HcmV?d00001 diff --git a/test-certs/example-expired.crt b/test-certs/example-expired.crt new file mode 100644 index 0000000..54a56d9 --- /dev/null +++ b/test-certs/example-expired.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDLDCCAhQCCQCa74bQsAj2/jANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJV +UzELMAkGA1UECBMCQ0ExEDAOBgNVBAoTB2NlcnRpZ28xEDAOBgNVBAsTB2V4YW1w +bGUxGDAWBgNVBAMTD2V4YW1wbGUtZXhwaXJlZDAeFw0xNjA2MTAyMjE0MTJaFw0x +NjA2MTEyMjE0MTJaMFgxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UE +ChMHY2VydGlnbzEQMA4GA1UECxMHZXhhbXBsZTEYMBYGA1UEAxMPZXhhbXBsZS1l +eHBpcmVkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs6JY7Hm/NAsH +3nuMOOSBno6WmwsTYEw3hk4eyprWiI/NpoiaiZVCGahT8NAKqLDW5t9vgKz6c4ff +i5/aQ2scichq3QS7pELAYlS4b+ey3dA6hj62MOTTO4Ad5bFbbRZG+Mdm2Ayvl6eV +6catQhMvxt7aIoY9+bodyIYC1zZVqwQ5sOT+CPLDnxK+GvhoyD2jL/XwZplWiIVL +oX6eEpKIo/QtB6mSU216F/PuAzl/BJond+RzF9mcxJjdZYZlhwT8+o8oXEMI4vEf +3yzd+zB/mjuxDJR2iw3bSL+zZr2GV/CsMLG/jmvbpIuyI/p5eTy0alz+iHOiyeCN +9pgD6jyonwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAMUuv/zVYniJ94GdOVcNJ/ +bL3CxR5lo6YB04S425qsVrmOex3IQBL1fUduKSSxh5nF+6nzhRzRrDzp07f9pWHL +ZHt6rruVhE1Eqt7TKKCtZg0d85lmx5WddL+yWc5cI1UtCohB9+iZDPUBUR9RcszQ +dGD9PmxnPc9soEcQw/3iNffhMMpLRhPaRW9qtJU8wk16DZunWR8E0Oeq42jVTnb4 +ZiD1Idajj0tj/rT5/M1K/ZLEiOzXVpo/+l/+hoXw9eVnRa2nBwjoiZ9cMuGKUpHm +YSv7SyFevNwDwcxcAq6uVitKi0YCqHiNZ7Ye3/BGRDUFpK2IASUo8YbXYNyA/6nu +-----END CERTIFICATE----- diff --git a/test-certs/example-expired.csr b/test-certs/example-expired.csr new file mode 100644 index 0000000..e9b783d --- /dev/null +++ b/test-certs/example-expired.csr @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICnTCCAYUCAQAwWDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQK +EwdjZXJ0aWdvMRAwDgYDVQQLEwdleGFtcGxlMRgwFgYDVQQDEw9leGFtcGxlLWV4 +cGlyZWQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzoljseb80Cwfe +e4w45IGejpabCxNgTDeGTh7KmtaIj82miJqJlUIZqFPw0AqosNbm32+ArPpzh9+L +n9pDaxyJyGrdBLukQsBiVLhv57Ld0DqGPrYw5NM7gB3lsVttFkb4x2bYDK+Xp5Xp +xq1CEy/G3toihj35uh3IhgLXNlWrBDmw5P4I8sOfEr4a+GjIPaMv9fBmmVaIhUuh +fp4Skoij9C0HqZJTbXoX8+4DOX8Emid35HMX2ZzEmN1lhmWHBPz6jyhcQwji8R/f +LN37MH+aO7EMlHaLDdtIv7NmvYZX8Kwwsb+Oa9uki7Ij+nl5PLRqXP6Ic6LJ4I32 +mAPqPKifAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAUVa413jOpJ4iCvMLoYFy +UnGGnZGAFN6DwrjzV1WJzeBq8XEdOB6qFmWRXjCisd8yHBLF/iP2TXo2XXCUzvF0 +CMczIp83xd6IoUwNqLaSSvDlhb1EyDd07fAtkf+gFI7KSQlWFSSYJIKEc9JtjNGc +QSjoeEN6QJ/wCHDVIXAHrEoy4Po+bdjJdwfRXavdaCR2SYe78Q/ORSkuDP7F0jGw +duGn87c8Gq+givSLK0njX6rn1Ts5YdGAf94RdeHttkKwktJJglpr3ySczVh2zFFz +hwLv4os9hHDHUX2f0EMugbKOBFozaiMLXNiHRPV/3MlnoiI64oTrZ8W6ReCtl/F1 +Qw== +-----END CERTIFICATE REQUEST----- diff --git a/test-certs/example-expired.jceks b/test-certs/example-expired.jceks new file mode 100644 index 0000000000000000000000000000000000000000..4a120a245be27ec82c731b66a283c57ad7ddb107 GIT binary patch literal 2156 zcmcIlc{J3G8lDYf7HUS6!bM6c{e~=qF(26?6wR2VtTSZEgfwxpOc`5^nv60L$-Xa< z>`O!#vZUow9xqaX1JLlf}|NZ0n<9XiqocFxXdC&9m`FuVI1cLkm_%Dc38IE3b zPwH_hgMP(_>hen`={On}gFvu3fC-xgBn5?)1i>)yQ3w_cpkZ)&&9ll9dG&b+SPaI5 zwUpf|>%_#Euh@KaUTv(sx2w5ixXYV-GJ!RZFIod3c<8?T5V+?F&hSz<^*eR~^;(fB<^sl7rv0{z{u3_`E2tqS|_)1DAI zz7A&^c`ANIx?JY?dW&pkGn8Kjbv!r=bH6Kq!5^@4G9oAhX5>4VG6la>lsPFa?!;ct ztl!Vpy(o4N<#8d|M~dJ~d#sC?ypZOh^?Vk|n|C$xN0qfJ>*CeCuI^F6DeGCqR=Xg$ z!C2WfRT)L-9jhj?B}<>L_B4yJE0@6QQV zUJGeb>?9&AAB3|SqIw2)Dyg0rpk^iZj~~Idt%9f8O!likQs`43ROVDu?Df{5Td%8< zFlQF3UtP^h=>gg zO*OAP=n)liGY(Q=$H-MBd&%)RJyWaDXZPfKZ(b8{CxN9B*C;an4_b`l(*xZdX+z=8 zxcfWq68E z>C`W2frL~_!A169bV4?<20G_QA0k~_6A5@_C}H_YlXgvkrVD9^LyZ&)Oz2BWz6mw8mP}4Tk}cHC4cGcv@h$GfNyr^&%DM$(e4_bb#x)f!W9v0F}^2rSrmy%bW=ObTeNBFu){ z^h3IT+9$O4+^|%~E5q%Nu=kYe#^R0o5+l;3{N^WRb2N@5a&G$=6zMc=oRrdn`O-^A z4ppJk-I>HBr;4mus}MN;=4bRPY>%Z@Mw8ykW<$_;g)P;nRG!xb2DcdWNTY< z%r)t&RY~1xLiLQzc14*;bRLUxqcquH_IAob7T-C>EIho9CvI=YbL+b5%N?(cdPpPM z3cI#a_75mc$)Gaegr>JHr+Zg_XjG)^5*#{nuTxRW>)+us!ToBkgsGr@BIxh7Zu z1Z9FnK>!nsfH1*eP)Q19?q=;tq|iv{-xL3@76GkK;mF9BZ!tiKTB)d@zi6_{OBK#K(l!kB6x&YB+3jJx0;) z6ny-<%;>S<4Ir4OU4)ADk46ug)RxeySvCu~Kv6B*V=y(kSbqKHO`R9+cH0rYDXnAo zem;hN(aB7LK*6A2U+}*U;g>^T5X$Q7P6zpLL=t0P50~B@>{;E=Bu#yu4(_>AKFG@@ zzhVbUwfuouzGZy%$ibrU_@<4lrLY6wxJ#swKz*G%?=Tc3shD(xT3vhSbAm^p91SljF{-Qv8CnCmC=i0k&- ztgwaUDObb13?cYzWRjiArzooj(~e3TX0n&7hM@KBc98shvXW`E5hRmw&$Uc?biv3# qO&~Qd0<56;oz?F!6ta``Z7RKzsIIzO)GI~ZRv|IY<1OfW%D(}Ljm32U literal 0 HcmV?d00001 diff --git a/test-certs/example-expired.p12 b/test-certs/example-expired.p12 new file mode 100644 index 0000000000000000000000000000000000000000..04bc3a852349a6cb01f05fbe589f246fd1013209 GIT binary patch literal 2508 zcmY+Ec{mh|7RJXc%n-7FGcj4SWEn)3P_kwxB$93H*|MgYm>EnF*>{aCDwDOyI_Sfo z&=krpJE2A*6QA!s_ulW`KhAT`dEfJ#|K1-82kQeeflxSDGBZpj-YEVjI}-~N2?x6e z#=)YG

lGbo7tKOu~V-kEIPD6X3Wl{^KyA1esa?{ow=?Gl~NYMSNd3h6KEc1p=Xf z7#ygH$HcB80At`F>gUu6*EFalgtDbg$)1F9<4x^CCva9OIk7~*xYvrUFEVn?9>Xt2 zk9G7Nlm80uw~yr-iQ}-tuBVxokKl6KetX(nHI&4fT>l`=2>k{jTDoxb#Si*IV)RiB z9b-a^KLUw`?h}e0UsV00v2|ElJD@N%-{GU&BRv8zdQW#`D?kqiXYkgOzgqPeoy(_Q z+K|^!neZ@D7p!=ADTJ_G9fYM$+%ChnG{NUtE8S({?$`!*&@7qAvMt0gLXo&UnHK3! z&ZJ04zZ&FOnrH5qq{XPZFhm=p^aC0rQ88ySlk(AV+B*roZOkJ>_Rcr+k zL+x4=rB7gqpP9I=J(@&)gbiH&{G8O*mn!fr`^meDRo`Rko_}56_h|x7@4ZYqubqcZ ziLICqmBlbxW7@M-H~s7oHT!k``&F=Vsj_KKG=e1jh3c3b111C})aS&TKNv6NJo$`a zm_hWG$tp$tN>9}xsBP0)(GB9F7{Mo3r8_)xl^wX~W0A{|MsopoJyV{S&uI%TJ;jp3 zBq{E_2LPGJ;#QZ#H%?5%I4^)xjHC(|r;(K{(Rb{)s#R@mB&ovegD{C@7lt0pl9T;Z zQ~&O~+tuv?iX81!aUY-k^<5ON5AHUUiA~u88D8Jb{%$1;ZvM>A*J|8Xu2C*^tiZZz ztC4()P2(l6$5P!Z8Lrdvre72uzyyE( zCS}Y?zIKsfbh!D!FgpF_uoH-q75-x~ay4n9%SHuV`(T86C{?u5T4@w>}+n(4)pz#(Zh1JvXC!KS)4+6z#&`4-Oybqp;dVx=!9*3 z@!$-`eSR{|kZJ-Gz5;>13Fsr7N%)(n-uKR0B7w;MvjMga;q%!&_X8 zr<94X{%Uu<LFNyWjm?^RQ3tS;L_ z@9k8M=8hnHpO4ZUA4vw~*=nEB#dCeMK4(d&<4JQqEZz(*7k65gLsTqOw8L$)!xXr7 zJ)P^TJMlyCh6fl}R&Lbj&AGPRdNRTyAlO1CzCc4$;(REdmI3}5et%Bd|3KW@{QR=g zBA2g7xP~`HqBghJ8H!s>8;+P#>iCjziRdb!REj~x0axjKI@1iUqR0(nHIIu50Y|qk zMu3-`GCy@?hP}3=`N?K6hd9i^yvVct*0K{N=L27{)&2BdM_w!J5y6QoHMUzf_CL`{W!x8GYy^EtZ^|dm#T78mLq(*G*XJBP{>B0kKN)rxj6 zq(QVc#}87PWR>J`(sl$bR0fk#j=coW^%h}ZRV3l3FU(XRqG6BcR( z5Sh(RAq_fW+!^-r5C#Ers;nK^H1XH?$!`4qzU;y zPp)x;l}Ag2H>Mks1j_Q5E3w~J@zT5ZdFM)(kZO$!`Wy};3UXUQW zkeh6;*pzi~QT;KqlW%wSTJ*h<`DMAgo!fU>kepn15$fF)@mdFc@hZW=le(h%y^!3` ziED-E7M+s>amX|dE%o9dpQ36e9~9cb~Gog=uWmQyr54F8PY_Yql< z-x3n~dFa%4dn#ebM`%pmygoH6t)#~Q#eS|kBy!=9+dHbc>1H8jW+_!q@hVE}zjTE0 zDe{APn=>0EKB&L-0qqY1duv_`Wz1;kpyd8J;#CwzA^~VXB)}DL3lIeGKc40OwFd!w z03pYd2TBnof`Tza&T@c&2nYbos|l@UVO^0+#Dt%g_oJu@i|H%T!BD#X*o$e$t{;Cx F^)KeolZXHS literal 0 HcmV?d00001 diff --git a/test-certs/example-leaf.crt b/test-certs/example-leaf.crt new file mode 100644 index 0000000..b9ee9fe --- /dev/null +++ b/test-certs/example-leaf.crt @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIJANWAkzF7PA8/MA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV +BAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UEChMHY2VydGlnbzEQMA4GA1UECxMH +ZXhhbXBsZTEVMBMGA1UEAxMMZXhhbXBsZS1sZWFmMB4XDTE2MDYxMDIyMTQxMVoX +DTIzMDQxNTIyMTQxMVowVTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYD +VQQKEwdjZXJ0aWdvMRAwDgYDVQQLEwdleGFtcGxlMRUwEwYDVQQDEwxleGFtcGxl +LWxlYWYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7stSvfQyGuHw3 +v34fisqIdDXberrFoFk9ht/WdXgYzX2uLNKdsR/J5sbWSl8K/5djpzj31eIzqU69 +w8v7SChM5x9bouDsABHz3kZucx5cSafEgJojysBkcrq3VY+aJanzbL+qErYX+lhR +pPcZK6JMWIwar8Y3B2la4yWwieecw2/WfEVvG0M/DOYKnR8QHFsfl3US1dnBM84c +zKPyt9r40gDk2XiH/lGts5a94rAGvbr8IMCtq0mA5aH3Fx3mDSi3+4MZwygCAHrF +5O5iSV9rEI+m2+7j2S+jHDUnvV+nqcpb9m6ENECnYX8FD2KcqlOjTmw8smDy09N2 +Np6i464lAgMBAAGjTzBNMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAs +BgNVHREEJTAjhwR/AAABhxAAAAAAAAAAAAAAAAAAAAABgglsb2NhbGhvc3QwDQYJ +KoZIhvcNAQELBQADggEBAGM4aa/qrURUweZBIwZYv8O9b2+r4l0HjGAh982/B9sM +lM05kojyDCUGvj86z18Lm8mKr4/y+i0nJ+vDIksEvfDuzw5ALAXGcBzPJKtICUf7 +LstA/n9NNpshWz0kld9ylnB5mbUzSFDncVyeXkEf5sGQXdIIZT9ChRBoiloSaa7d +vBVCcsX1LGP2LWqKtD+7nUnw5qCwtyAVT8pthEUxFTpywoiJS5ZdzeEx8MNGvUeL +Fj2kleqPF78EioEQlSOxViCuctEtnQuPcDLHNFr10byTZY9roObiqdsJLMVvb2Xl +iJjAqaPa9AkYwGE6xHw2ispwg64Rse0+AtKups19WIU= +-----END CERTIFICATE----- diff --git a/test-certs/example-leaf.csr b/test-certs/example-leaf.csr new file mode 100644 index 0000000..1f98c63 --- /dev/null +++ b/test-certs/example-leaf.csr @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICmjCCAYICAQAwVTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQK +EwdjZXJ0aWdvMRAwDgYDVQQLEwdleGFtcGxlMRUwEwYDVQQDEwxleGFtcGxlLWxl +YWYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7stSvfQyGuHw3v34f +isqIdDXberrFoFk9ht/WdXgYzX2uLNKdsR/J5sbWSl8K/5djpzj31eIzqU69w8v7 +SChM5x9bouDsABHz3kZucx5cSafEgJojysBkcrq3VY+aJanzbL+qErYX+lhRpPcZ +K6JMWIwar8Y3B2la4yWwieecw2/WfEVvG0M/DOYKnR8QHFsfl3US1dnBM84czKPy +t9r40gDk2XiH/lGts5a94rAGvbr8IMCtq0mA5aH3Fx3mDSi3+4MZwygCAHrF5O5i +SV9rEI+m2+7j2S+jHDUnvV+nqcpb9m6ENECnYX8FD2KcqlOjTmw8smDy09N2Np6i +464lAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAZW13CST8BtPCINS0CiIv9BMv +zXpkCRz3riPvrPkllnOY3Dp0NQzQkdj3aE4at5GSN9fOTWCQ0tGnjOLAZ8tqHcyg +FLgU3MjDcsRvyeQ8mYpCqeUbwq/nHIs33jM/x087lTP7aNXGH4sncxZdIv71+sqF +f4WnumxsJUARaeb0AnUZmtAC/OR+9vpiUw+wMMhMbDNCboKYANqnFhWkTKp5/85f +eC21haSG55pT7bGvlG9WNawgXJ3WX48yw29dSyDKd/buVM5Andrp7hYVuC57wz0u +wng/cxCCQrENS4qSvxOgFiLK2j1LHccMuChPFFGyOyXqBNs9pr8F4/2qPJ7tOw== +-----END CERTIFICATE REQUEST----- diff --git a/test-certs/example-leaf.jceks b/test-certs/example-leaf.jceks new file mode 100644 index 0000000000000000000000000000000000000000..77f17920ae274e9d553e8d6a1ee9d009de875fb6 GIT binary patch literal 2233 zcmcIlhf|Y@692v=1OkLAqEaGFcr?GzQCjGU6orcfl-{KT5Dr9YMB1GO5jYM3BOs7N zX(|YUgx(GiDHcSLE=@`V2?&QbcW-=uz}uOf+28KY>};9e_V@Sq0{{R!Q1EZ%_Ka{1 z2=ez-^7nN0I&czoTy=i}0K^hRLCizPkSGNthydkbf*^!OaLl?ae}U0`;$Yw*1O?G` zh@Uze6Mxpyf4KLgbiww|8WE(ht{Sf#%bimF%|A)p^W-Gf5wj76$PX7=b)|`lH8Ce6)c{;L~3+9F);*U(d#`=(TF1 z+#}_4Dr$txjzk$oDc;=ow}waN;wO2TMroXywi3fufuD_qnpi-RM}A)U_~L$b>I`w$ zCQ`AY%{JhLqpJZ{H-=j3*MY;L6E4TLpsa{h)#_|x z_uqF{L{KR$F^@mT+E(gwJcy#HRK2)ueC5$5t#knU$yOo^@AOI%u-t$BNbsbkA^%`E z7l(~pIwZbWna~cvQmO-b)4ErQMke8kx73)bcikYxeKSHaaFe7&k@sb@IT|*e=*5 z5=(X(nk=5<-nCBqU83mGmFHkg8+<&^si}Nm8f}s)O}&neY#t~uTeQD+)xYzcmSS*! zo%|>HPb_t*qUC1ZXCJL-wWYX*5yGtv#~0bmG-gHU9Y!bB;WACkJRWW#;m(CSk2|lh zyPrFp$O!Gt!;GE?yTO;(DHUG9%Ov@D566tOTe*?K+~~@F(!w#0EFLA(Y!<_5`6js9 z;bt-=Il&`59lg+hQG;h(BCkNe*mgo-Z;=paJ=vOS&A7u6%V&@7{*PqRhqUtdcvG{vyTv(L0R>4}n+A7gvWdU)tRhc%aFoD_N#tWxT&IP`pdRZB z!814a;`zR$@v>a`Vv07Ap76#RTU zzw&yf*{|r|jd4@Md5onG*jIl5OCzIM-)N-)JhrSTnWUXPu5#kedcvNR!Kijw>Q%9~GYi4y#T6LRydeMkHQ+tr-M2CO1g_$<1;>|S;hkr!7XOnn zJvRwoZ1vvGxO@haE@_mmwD)&GJ2ud)#z5a>6Je2t2DEu88JNd>Wz;_+3O~L7!8X!(idH> z_%g2w(>>cUN^s`f|INKbYindum2TD8+Ph;eXEBGlP%yCs@Nc{~4ZJLV5ns|4mm}4~ z@Cd1|B~o)_=o|h`e+bkFvq2uF= z=3)3mFJOKP6Bv2ZtlBU7XW@G7+pjNy={FHcd*>cL%4(dfL^js%9%no(!^h3s+Y%O= zMa$LhTszt-2LmG8r&rwY&VGE<;<1&fHzx~4)nyxaNgIPAX`2q}IK^CM&+ zsU$?~!AnizJGieO1*D+-$?mTHKIF@xKaTw1rVd690`6MA6$=lIe`=n^Ng+v1t&L=I z*`y=;uPzc>eNF6R+!=k^>B;NdGRWuprv{w4?sTVCP}f;Xva*YL)Ph9T`=6x}zKE~P%!f0l<|ouyUQ9v8Ci2}m%(3Y`jRNlrPF<=FQTyV`2n zX!grt-J;9|s&Eq`HJ&e1s_Ojl@{mELJT7XGN~fB`m%)bHo>V{D>?C~*rPxj;d(I?h zGw6kHnW!TS*Hdj#8mT=&*UI^;mi1sS%ZvM>N!QJ>46%&0$}~ZX&+lG2r8OEE+_w1( DK6243 literal 0 HcmV?d00001 diff --git a/test-certs/example-leaf.p12 b/test-certs/example-leaf.p12 new file mode 100644 index 0000000000000000000000000000000000000000..4b857d2f8d29170f46590467b2ef5bd54dfbeb4f GIT binary patch literal 2582 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 literal 0 HcmV?d00001 diff --git a/test-certs/example-md5.crt b/test-certs/example-md5.crt new file mode 100644 index 0000000..c4f216a --- /dev/null +++ b/test-certs/example-md5.crt @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDejCCAmKgAwIBAgIJAIx/wkxu2k9LMA0GCSqGSIb3DQEBBAUAMFQxCzAJBgNV +BAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UEChMHY2VydGlnbzEQMA4GA1UECxMH +ZXhhbXBsZTEUMBIGA1UEAxMLZXhhbXBsZS1tZDUwHhcNMTYwNjEwMjIxNDEyWhcN +MjMwNDE1MjIxNDEyWjBUMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNV +BAoTB2NlcnRpZ28xEDAOBgNVBAsTB2V4YW1wbGUxFDASBgNVBAMTC2V4YW1wbGUt +bWQ1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApQFCsYnp/odw6Y9E +vNF6z1xmpiQTiJpBI5DAEhhRqDuETRtpiSd34KHlwIpriGccwKs8/suRLqpHgmYI +2oN442/yJroH96M0WlRFn3rT33Vbh0tpo27y5fsFw7QlQHfQFyZtaRbFyloWh2Ww +0XpHw5Lvk9qZt2bHYssgErlb34g1zqYg9197/zoJS/1eCPFgHo/J9mfDSohQS8G1 ++lR4iuzc3Fv3xJJvbJ2MmFjCiv/+ItjlJqUhB0RE86kWvpf5QF8ix5mRN0ZT9TMy +RaFoJdyjLLD2Le3H8ffz8HbB0hhlqd/CNd/hBjV9MmFN9iswV3ML5gJBZAWC7XRl +ZZpaJQIDAQABo08wTTAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwLAYD +VR0RBCUwI4cEfwAAAYcQAAAAAAAAAAAAAAAAAAAAAYIJbG9jYWxob3N0MA0GCSqG +SIb3DQEBBAUAA4IBAQBYKtQ+QvaGZvDwJ1enDvI95/OQXn3Up8/7I6CAV9wbFq7e +a5gIp8tPSdu2qzf0jEp3qadWZUTqL/2vffXrsy2simjCEQQ8tgkDJHhjQhOgSmxm +IV80F6mpfSeLtEbNcpobDe9PlNhXCf5mCSWC4N7Us29hMaCYyPocT50UMp9g6PrT +JNDjuh2AovI38QUgDNk0ZnjfMNuFERae/gN8X9Kin0kx5dncsuF4cvaGuOv/C90h +XIga1dTuOXQtac48f4TUc8mTq52mSwDceIePYEK1+5UebvhWbwJz4oxkmVFmLhTe +8qY6j9Lv+cc5dr3nNMI2CoJj2h3E5G6I371GC0Vv +-----END CERTIFICATE----- diff --git a/test-certs/example-md5.csr b/test-certs/example-md5.csr new file mode 100644 index 0000000..69b19d7 --- /dev/null +++ b/test-certs/example-md5.csr @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICmTCCAYECAQAwVDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQK +EwdjZXJ0aWdvMRAwDgYDVQQLEwdleGFtcGxlMRQwEgYDVQQDEwtleGFtcGxlLW1k +NTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKUBQrGJ6f6HcOmPRLzR +es9cZqYkE4iaQSOQwBIYUag7hE0baYknd+Ch5cCKa4hnHMCrPP7LkS6qR4JmCNqD +eONv8ia6B/ejNFpURZ960991W4dLaaNu8uX7BcO0JUB30BcmbWkWxcpaFodlsNF6 +R8OS75Pambdmx2LLIBK5W9+INc6mIPdfe/86CUv9XgjxYB6PyfZnw0qIUEvBtfpU +eIrs3Nxb98SSb2ydjJhYwor//iLY5SalIQdERPOpFr6X+UBfIseZkTdGU/UzMkWh +aCXcoyyw9i3tx/H38/B2wdIYZanfwjXf4QY1fTJhTfYrMFdzC+YCQWQFgu10ZWWa +WiUCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQCI52QJ9JZchuAFmWR1rIzMZ8I6 +9yrkh74IMhpDDVVjy5VEbCWIv3k+dOyctSLG6uzl/n0beyp+i8Hk3tGV760upEWV +3QnvbbO++UoiVv7nb0axDxE6JuJ3D6R0XrtdF2ganhhDyTWZ7k3WKHtRONxp0eHX +SUetvSUgpvmWtB+i551BXUu/c15l2TY/c46vavgAc2Iio7HFbew8YsQUfU4Nz3Wf +Z420Jot4DemLAkRRDswLgZMPV5xHr8r5sEfms7T8ymeFZvzx2BIpPDV4UkMONf4f +QhuCdv+Xeg+7jadhkJxohripthoHsehVeUNefqt2XHrGUeax0HjGAAIwD2G7 +-----END CERTIFICATE REQUEST----- diff --git a/test-certs/example-md5.jceks b/test-certs/example-md5.jceks new file mode 100644 index 0000000000000000000000000000000000000000..0c0bc582702c16b0c99719dd0a429978dc9b335d GIT binary patch literal 2230 zcmcIli8s`X7oYEJwuUmYMs_0OJJV1~Ldd>k>*3jlFc~2RF`8(`(nCm8*0PL}ed$CR z^-#T$EHT!yZ`nel;_03Dey4xnch9-!+|RxDoO|waK9|K}u^fZgdiNd({#IEy}fU1kp{EB2qxc^;qs20gMudW-IA19hUypm^yVSaRolrngkhiOeU z(f$#^RNW9b;fiNlH%bong||H$^Xh9>rE}}%_vVNel=1Rf39bBKc9;Ziu6G7_O!a&w zVB7L2IYy((Ta>67ZaMk-epw;Ou1r5Q$?@jXKnx7&k!T?!>MNavWI`)dvF}?bp z&Q67MN0!ci$F67<=03^)gP)vdJbe3Yj>LH*#>(UGr_Yr?#vHUMNHt*-^?vNTyn~E* z>$OM>Vb~V zcyz=PukL9?3+*7Kv%ag<_}(;4Eq~$B=kS!f0b>5j*58OMq~$tAW6YCdoISj+_RP^x zLnvab>P_T>2i@Z8-eFe0m*OvPbvGqd$Ct#D>3TE3GIEZdT zAOL?ri5|g;lns3J^>XWpIn}h)jJ0Y05tM^bY*Hwlo}`PpEECl~biB0C`G&%|)wh0( zfcN^4{unJ6*JpG3Do{S%sQfPq((5-_VXKE-!-XzcZe)!xbsD0u?q-bW)MfX5hRI$9 z!NzJWW^z19dB#%Ri7ihnkJvYOy4LJa zvbW7i^8?$ZpxNNvslX6+t>od^sEJ7dWuGmP_-@(QMKSG$czw`fh{IuU(!S3>$wZ7^u`7^Se&xzXgm8Sf&n0u!Ch?{9ra8|BfSGy&< z6%*Wl+HZ>4#R#D{7ITs_rzG>c7>&il0@A9O%e@bSkSa`c#lZ|;8JoV}V&#^&SWS&S zmgvcu@#T)+84zvNjjQA;D*Msvn)1)hnSR3wZUdr++t{#bTqPToyh{Ep=fmn>imVr= zuoS2ME8aX&!b&nFj{&Eb!MD@niAF+6is4}!rRweVAuZxW(*Ua~`I5%7J`MhAJbxSu z4M>;sJXo`^IPGa+<_r<#QV4!97qZPEXqXj~yoFxfHgRxtn>6ic`Lw>diGX0MeJW_#yi&4>x5J;h@e|W!4t4kT=#euu^;{yKXgKsP&~UYxIGyIdnkSZb5#Y+b<-P z$jC@OSc@>#yV^5QpK6#SV3L;uRbpp*y-s|jjiK^zW?$KsqsP`G0t9;@*${6AHt0sQ@pO3ILFYfPPiN+zu^hF2&$kcVw4~Pq93jo}(w1+A1h&Q+g`SLc%XW zDSW(Osx>iy?t7@UTzltD8isL>>ch>xPM#pGDL&=eD#AP28RkXyj9qc2nfVn3u1$SI zwACu;hQAY0yyPeR>a~+FjZoPgd9Ll&aymP^!KdBxjkI8s^B7%&RV=;b7PWhl$LxnI z_o};8O6R6;n_y$S9XWAvc-VRC^l1s4^Di;h-qsx7szZmq9`y?8H5C>vvHjD19EMB_XxHdR5#5WZ=s zo;QNJ6iOiEI4MA300bzq0xdwvy`4!az=c5}B=_EPL?F0e(EnKgc=TuZ09*l-qroYA z50$om@49{!fXYK8d3g{ol0rg%9r@lx?Ts9OTu|xN(ciq`v$CS(Si-+{dS*SziDDtmCkRaK&iA9qy7hRwhIB<;TAyn}(N_I1mix)qgyR-dLzndz5&Qc>u0m&jXVu zd+DR|O^H4-Zg`QhvS_8GTBE;$b0kp9Rv811JUc!-3e@q@-WrkzHvdk?_93hLLbyEl z+3gq$T}BnHey=18gJkZ-hzDCIA2c literal 0 HcmV?d00001 diff --git a/test-certs/example-md5.p12 b/test-certs/example-md5.p12 new file mode 100644 index 0000000000000000000000000000000000000000..8fad77420e8cd084632d99316164e287dc2aa02a GIT binary patch literal 2572 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 Xj_LWC1?*`4k(;|zouc9;rWgMLQr5nk literal 0 HcmV?d00001 diff --git a/test-certs/example-root.p12 b/test-certs/example-root.p12 new file mode 100644 index 0000000000000000000000000000000000000000..f8ac2af59bec0319ca90e448d4bc329b2b74df0f GIT binary patch literal 2542 zcmY+`cQhM%8wc=2VqRNB>|HgR*n5jvq13pjS*1o>F=HbKslYG?gpEA_oI3mE2qA0aMjqTFAM+a)#TO}kZ0dOhAyn9OL0jj)5B6$1a#u{ z6~_&|vZu#o7>Q@>pwWcKU-@0yLkS58Q9jbRiI!0I@pY(Ok zL*pu$E*e+{tZ}+CjXn8K8mUKK>Q&FsA#hXM`p(@lw=D#)sJXp&=Bmbt-Vv+8!n!6I zDxU-?1*y!j0x9TEjx#IA=MUntz!iud2eIg^3k|EjYXM1_IXZ$~QT;XAoM*zlwGb@x zy)!BbxX?eB?0xUr^W?nHmLKLeflmD+H~Gc*7cx%fjcZ)gdqke&S!Lh4ea$Ci>>YJ{ z_ngHA;jj4x#}6LweO55xb-1!I@v5io0|xmW_JQyGtzy#XlJK+xe@yOwlF%^fRfKq~8qIpB(0XN^3V)P)LEM=Xs(06Cpar@ZJX4O5SqFIxUM zxdkRoZR60a@;3U&M~HzMdCvzs!fruQ8`M`65@;FZ{MO<~Z_Nax?D*4KY?F9bqEX~N zmffJwHem1RqUwz`skpG8Zk)D!G*h0dzGGIIS^LUGjEZ_+9c@6A+!%Fbtr%A1JS_AE z@A*k9%b^+nTCMB%Y;`}+L;>s$r7C?ixq5y#TV!r)YI0erp%|!jhg|-7POaRQ;4I;y zh2iT$bEs8_bIYYKn@6REQ>lpuBGvn3e+P{1Sk3jOB}grhW>gj@9<=2^nWa4hNzNKp zzu426t%s@H$@GT1DY2SLg{#=P@KXRg!(dOlsQE=i{Rf)$i9T=;VCVcs&f=Av`P_az zp2a?tS(Hq#{YUnP+E{S~F$14zTxy=zqXOjZXY*lSA(KL~>g>5W?c}MW$e+pQtDE5< zO6ILnWFW`VPT1j}2ZPv`-zXS{7mA%NGpc|WmDu>}pNGv{u)d02S;%d7){Wtmi8H4V zO6Yq@#w-yyhWhURfPlwPJApCO_Ls5E|6q}`G0DF{#K*j+ABq& z#WU(}HNY5fpF~rVt6DhSxOXYK1B!q8vF3qCse;i7``v(5U3;nYPmX#yk?!G)8Vx&a z;d-_gjmK|)dw%CHTMxq;(vrFm%EBX&?@5JA_0uf#zbf=e20CS3(mHbEqX=r zn>U&A!<*`Gdm?2;fCVyNm2hafrNl~x%lw*)0ck+1 z3!X9xj@2p5P>hGsqcS5K6-E0_7M;$O+Nv%LY!kieJ7KM03jv0Z^!-q;C6$IFzwv#( zT&bmnqF^q&dFEyLZ)lXKxG*ad)v=vW!tzH+)}m&Er!Oe1OPf{tf6SIYZHqH>n--YD zY8*Zk4#h9#8b;4=Ge52vq=>R0P0T18L9`e6q-lJ+R*`eaz1cU*(^d&+RF;qH23Okh z)j)^xg^)XCQM0ZDlJsDR!RT6XnJMvyu+eeFz~Rld_o??+WhIv_bKS3( z-fyJ@zb?s*j8n=Tf8=*deyDi;HxB+Ci!kXmsA6r!tro{E;-SWf)^Qy{W=hucN`}dC z*4m-DV$8+pIQBqJt}=l1L-=kWwJftJduPna`67!V3rMR z_?ldkbAKltkY7bC7XGZDoBFFeUysK=A`zNX>A*Y`UFjTZB$T)BRMC$$0snAJ7Pqyo zSSQw^%H}yQsu7HWmVvey06nd^L>))OoC*oliXUR=0ieL=NEaem6 zQi~e$rDdC1OHq=pNU7bmFQGLM=|%>qtIUjer(g)<`>6D*y7mUbEfRN1y#+ zpuE#4$%95oDYS96#Sp%bE`Gk0i1f92%%qjyh1*8*tcDC`kpYo}2vYmLTZkkGJVTJ)QjvfT4S_N58h(``*nbGp?E_P}>KCP4HT(^ugMN-uf$ zt6ajo7S6|(5U6{^)b&6&bM}~|{I}maa1omgyIgI|RvzSuJAX;5mC5rNJE@{1NQSCR zlT2fw4wdPN=@L5cb(`DAktMNbRcL6*nrT;|M#*~QYi=I9xJ7!=TZgL}VokO&W8V=$ zsN6f)aZ7VQs8rB0)J8C*?W&IX?EAY%F?M^p#8liOs^{zMYUso=_v{9(7wltLVnq~p zY=Cp*%?t+B8=vY6R%DM&Bz~1kk9XXmY>$@>&K!7s8bS`p*2d?#J4_bpqb7 literal 0 HcmV?d00001 diff --git a/test-certs/example-sha1.crt b/test-certs/example-sha1.crt new file mode 100644 index 0000000..c1f1250 --- /dev/null +++ b/test-certs/example-sha1.crt @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIJAKmeSDe4ln5zMA0GCSqGSIb3DQEBBQUAMFUxCzAJBgNV +BAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UEChMHY2VydGlnbzEQMA4GA1UECxMH +ZXhhbXBsZTEVMBMGA1UEAxMMZXhhbXBsZS1zaGExMB4XDTE2MDYxMDIyMTQxMVoX +DTIzMDQxNTIyMTQxMVowVTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYD +VQQKEwdjZXJ0aWdvMRAwDgYDVQQLEwdleGFtcGxlMRUwEwYDVQQDEwxleGFtcGxl +LXNoYTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUuAbvyfPJsBEr +41hyeAX26jhZJWVbioCveouRbgfO9JQOdHxKRNJtWiI2+rVwUfIRxF9qO/wsNeRD +HjsbW5KD4prsp8RNLZJqVKm171XwCCUSDeiHTUJfTzsMiV2PwwbzQOK41m0uywtr +hEULcW9+Z+UZ7wnE6+NlU9aLNGEZ94hh3BsnKip/pGHGsIh14vaXE4M+OTJvXkUs +/6/dL2yBdiZiw9bqv1GIU3vliI5h28tjB118duwf7ZMqxoRQ32wsUmskNMN/S0OL +oS/9BTNyGH2vG/juZnt//Wh35563cun2Qp0va8WzNTRrqRtULfn/+5Cwaswnuter +vIu99xnxAgMBAAGjTzBNMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAs +BgNVHREEJTAjhwR/AAABhxAAAAAAAAAAAAAAAAAAAAABgglsb2NhbGhvc3QwDQYJ +KoZIhvcNAQEFBQADggEBADZJcu8Rb/ehLSlv5cf0D7zlAAyGtnfE0yB8rNi8T1RZ +aoKO9mbg3YoStT0mmqZB/K3v0SAaFMe3UFZK870MrjL5VLjj/+X/djW+ENiXpCCp +Ao/oK9WYG3EPDmz6AtSermlAJ1Ae7kaKbJY9SwZwM4QMz9xMR8tNKuo+i/NiMHtm +KgkNPMxNjzdOFWQ8rBMfV2ZYWP8Z6R97VuCMGDnA1Hy6/95IPzvh7KfgIy+0jua9 +Fo8aq8RPkpEgqkvhciFzn2lw2AroQLUfAxQ7nSF35aCbDCnN0bK4sd9Y0zRU53/f +clEIdVP9l8nN4DBMRvwCSIQbHaDxM/6PYVTDDdpWqnA= +-----END CERTIFICATE----- diff --git a/test-certs/example-sha1.csr b/test-certs/example-sha1.csr new file mode 100644 index 0000000..290ab98 --- /dev/null +++ b/test-certs/example-sha1.csr @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICmjCCAYICAQAwVTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQK +EwdjZXJ0aWdvMRAwDgYDVQQLEwdleGFtcGxlMRUwEwYDVQQDEwxleGFtcGxlLXNo +YTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUuAbvyfPJsBEr41hy +eAX26jhZJWVbioCveouRbgfO9JQOdHxKRNJtWiI2+rVwUfIRxF9qO/wsNeRDHjsb +W5KD4prsp8RNLZJqVKm171XwCCUSDeiHTUJfTzsMiV2PwwbzQOK41m0uywtrhEUL +cW9+Z+UZ7wnE6+NlU9aLNGEZ94hh3BsnKip/pGHGsIh14vaXE4M+OTJvXkUs/6/d +L2yBdiZiw9bqv1GIU3vliI5h28tjB118duwf7ZMqxoRQ32wsUmskNMN/S0OLoS/9 +BTNyGH2vG/juZnt//Wh35563cun2Qp0va8WzNTRrqRtULfn/+5CwaswnutervIu9 +9xnxAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAECEYs5iOXzghMNgRB0bCgCKA +Gw8hfiDCZ1qJLei+ozK8lndbWmXnqDBKPUQnNrLcMHRIrqL1h1nS2wDXJjRn8Tdk +CyvGGWpTfN2weOtcxoOs/kQLN5AJWfOhmPmBoImAt9CJw5zRL1d7CRU/+DoZY3Fr +FTZM8hHPghL5O838535sqerwIGFtkX6LkFG/gkz6JzZHI1fusEx73FpgNj3UaBZ4 +zOlEkbtOAABq8RVGNXZ5DJQLCTsu0p9w6jsgcYs3PYNyFoW1RMUcTvDEWCExLLr4 +m0syZsTfgBNuhaCUNr97BNHR0t1Uy1AnSACZpYdwi254gp0nL5673/CYbZT38A== +-----END CERTIFICATE REQUEST----- diff --git a/test-certs/example-sha1.jceks b/test-certs/example-sha1.jceks new file mode 100644 index 0000000000000000000000000000000000000000..132df27f274ca99382dd949365c3c96b6f01ef10 GIT binary patch literal 2233 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 A;{X5v literal 0 HcmV?d00001 diff --git a/test-certs/example-sha1.p12 b/test-certs/example-sha1.p12 new file mode 100644 index 0000000000000000000000000000000000000000..c29705b39957d7062b8b9255dc11557336915401 GIT binary patch literal 2582 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 O`R0erz6RNS0^)CX@%Q8a literal 0 HcmV?d00001 diff --git a/test-certs/openssl.ext b/test-certs/openssl.ext new file mode 100644 index 0000000..e48c744 --- /dev/null +++ b/test-certs/openssl.ext @@ -0,0 +1,9 @@ +[root] +keyUsage=critical, keyCertSign +basicConstraints=critical, CA:TRUE, pathlen:0 +[leaf] +extendedKeyUsage = clientAuth, serverAuth +subjectAltName = IP:127.0.0.1,IP:::1,DNS:localhost +[root_bad] +keyUsage=critical, cRLSign +basicConstraints=critical, CA:TRUE, pathlen:0