diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /testing/web-platform/tests/tools/certs | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/tools/certs')
-rw-r--r-- | testing/web-platform/tests/tools/certs/README.md | 99 | ||||
-rw-r--r-- | testing/web-platform/tests/tools/certs/cacert.key | 30 | ||||
-rw-r--r-- | testing/web-platform/tests/tools/certs/cacert.pem | 125 | ||||
-rw-r--r-- | testing/web-platform/tests/tools/certs/config.json | 17 | ||||
-rw-r--r-- | testing/web-platform/tests/tools/certs/web-platform.test.key | 28 | ||||
-rw-r--r-- | testing/web-platform/tests/tools/certs/web-platform.test.pem | 133 |
6 files changed, 432 insertions, 0 deletions
diff --git a/testing/web-platform/tests/tools/certs/README.md b/testing/web-platform/tests/tools/certs/README.md new file mode 100644 index 0000000000..95d9fbd2a8 --- /dev/null +++ b/testing/web-platform/tests/tools/certs/README.md @@ -0,0 +1,99 @@ +# WPT Test Certificates + +The web-platform-tests project maintains a set of SSL certificates to allow +contributors to execute tests requiring HTTPS locally. + +## Trusting Root CA + +To prevent browser SSL warnings when running HTTPS tests locally, the +web-platform-tests Root CA file `cacert.pem` in the `tools/certs/` directory +must be added as a trusted certificate in your OS/browser. + +For Firefox, go to about:preferences and search for "certificates". + +For browsers that use the Certificate Authorities of the underlying OS, such as +Chrome and Safari, you need to adjust the OS. For macOS, go to Keychain Access +and add the certificate under **login**. + +**NOTE**: The CA should not be installed in any browser profile used +outside of tests, since it may be used to generate fake +certificates. For browsers that use the OS certificate store, tests +should therefore not be run manually outside a dedicated OS instance +(e.g. a VM). To avoid this problem when running tests in Chrome or +Firefox, use `wpt run`, which disables certificate checks and therefore +doesn't require the root CA to be trusted. + +## Regenerating certificates + +The easiest way to regenerate the pregenerated certificates is to the +the command + +``` +wpt regen-certs +``` + +By default this will not generate new certificates unless the existing +ones are about to expire. In cases where the certificates need to be +updated anyway (e.g. because the server configuration changed), this +can be overridden with `--force`. + +Generating the certificates requires OpenSSL to be installed. + +### Implementation Details + +If you wish to manually generate new certificates for any reason, it's +possible to use OpenSSL when starting the server, or starting a test +run, by providing the `--ssl-type=openssl` argument to the `wpt serve` +or `wpt run` commands. + +If you installed OpenSSL in such a way that running `openssl` at a +command line doesn't work, you also need to adjust the path to the +OpenSSL binary. This can be done by adding a section to `config.json` +like: + +``` +"ssl": {"openssl": {"binary": "/path/to/openssl"}} +``` + +### Windows-specific Instructions + +For Windows users, the easiest approach is likely to be using +[WSL](https://docs.microsoft.com/en-us/windows/wsl/) and generate +certificates in a Linux environment. However it is possible to install +OpenSSL and generate the certificates without using WSL. + +[Shining Light](https://slproweb.com/products/Win32OpenSSL.html) +provide a convenient installer that is known to work, but requires a +little extra setup: + +Run the installer for Win32_OpenSSL_v1.1.0b (30MB). During installation, +change the default location for where to Copy OpenSSL Dlls from the +System directory to the /bin directory. + +After installation, ensure that the path to OpenSSL (typically, +this will be `C:\OpenSSL-Win32\bin`) is in your `%Path%` +[Environment Variable](http://www.computerhope.com/issues/ch000549.htm). +If you forget to do this part, you will most likely see a 'File Not Found' +error when you start wptserve. + +Finally, set the path value in the server configuration file to the +default OpenSSL configuration file location. To do this, create a file +called `config.json`. Then add the OpenSSL configuration below, +ensuring that the key `ssl/openssl/base_conf_path` has a value that is +the path to the OpenSSL config file (typically this will be +`C:\\OpenSSL-Win32\\bin\\openssl.cfg`): + +``` +{ + "ssl": { + "type": "openssl", + "encrypt_after_connect": false, + "openssl": { + "openssl_binary": "openssl", + "base_path: "_certs", + "force_regenerate": false, + "base_conf_path": "C:\\OpenSSL-Win32\\bin\\openssl.cfg" + }, + }, +} +``` diff --git a/testing/web-platform/tests/tools/certs/cacert.key b/testing/web-platform/tests/tools/certs/cacert.key new file mode 100644 index 0000000000..39a1bf60a7 --- /dev/null +++ b/testing/web-platform/tests/tools/certs/cacert.key @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIjHFNizMFnigCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECMHkdsnaSMH7BIIEyBv07wsA9kBS +Y64dr+vX2SHx1yY1HsI0u39L9OnIGcjSjqnXxNTRsHom4hf/18SCeo9hEDjpOWO2 +3arTVWLf4xRgGlS7rvbZuQlBXjFoVhm0hpDugy20vU8PZO+aWg4Hc5b2bMQgX0Jx +4Q2P+5V+CK/PfBCtmLqVWw7WzbFMObOH1wDKFJsfPZqfaTjJVz/FvTqwXTkvmdgv +5jF/jD9HzOu70C0Mxo/cqciWatBvs4bevQZgdB+kLygrefoypsQTseQfnwHrdHfZ +XEtlWY8Stvrxc5a/+yRJaF8PF6wbhIgKN7IvZO08Ph2Ay8ssiCS0iX8eMLqSpVVG +3+Hd5EyyGGXVTUaSITACRgzJRg79dn4ij2mVCAgItsuDZJcZ4USnrTLDEj6hjz3j +v0Ii/y2s6F3tq1ExrzPey3W49Cwvq1pZKHDxmaLD6qPVFbwAV76+gB4tNUyx47s6 +Iv9+1k+M1d40IFZ5/xfMb07JCyFMtfHuW4dNcrW8YFasu4hXPzgkTlN6YMzcZrr+ +8YgqbSaKMbBTaRow3KCOSbh7LBGmSztUeimB1aU2yUcKL9L4hMcv+gITl6tENzio +npzxSqj2IuSPMsaHyzGXhFZKqU9jP8zDF2UVfEvA46Ny20XEr9xiEkVqNZVsL8M3 +9PGCIMeF5L38jHfKbc8eV/rIeQIYEOti+e0vT0jUhFX85S0Y7pRciUbL1EkjLXRh +lndsOyw8cJrjvjSdRPnfZrCBjr+5PtEOdMzIhEj88pceoH3dskCfovabhJICUTgp +Y/BoHbOPdV35cJgNy38zY9BJTA3jCqvNcjomoNQ7iX5HFAw7FA4AoolpaVGoJGzd +oDbXFzYJJq5/x+9whY5xnesv3zUvVjM8e62mt30nnB9EJg6EtivwIV2Kwvz0Gs5m +IeCDkaVicmQ0IY2MJkTQm0cxq78PC9Acji4krJHDkeh0F2tv7t9OEv6D69rqgY7Q +hqIQSMEVJFvihTKD1oGxzngeCRpsrjvnrVK+oNFD43QRYU3/OoO0EMKHkuOMlexK +l28IOHvrYogw6nBX5bUGqx3N8XXvT5WHxxH4/3UALyJYVc/Niox5PRb9FbP7OIkf ++/8EEJQlh0jLqJvB6jRUTTusc4/S7bCLWqGuj9KeH4rYnfzDieNJc4w6n6fafas+ +hYTSqz08SJIz7Bj/lZvXkVZQWwlWpUq2PzTeflGazAkhmnBcisz7NkikwCkSHUem +wykUwqiQDdeyZ8nOjOJYIrilYiAciNT/3M2OvKS3lX6lArkhlFPLrd5nSC/A34fC +tA6g2LY81DK6EXLrvjV1J1Rk9/QnmpLLqXTR5bWtjFUL+OeYolju1dRjZMns1hws +MLwympcF2QzCZRLPAom9QOpHEB1kcc5kpovJWFEKSx/vOKtbBb1SP+TdrwZmjuQe +yRo67OEYZl8CU/0dRmdTBn8mDZ2JvUvGWE2cwt4Sr1OjrV3THvR53NubPW9cnl86 +fvxA9Z8i9woxm7145iHkQI9A2UDvwXJBYygObmf4w73kFog0uPZszEyjWxhwRHlI +tALvx2eo8onz4w+Pv0WhpeAyPkUP9xNH53LzMKwhBheLIUmgXwuKksis+HDeKLSc +UmIQjHnnIJBz35ME536TBQ== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/testing/web-platform/tests/tools/certs/cacert.pem b/testing/web-platform/tests/tools/certs/cacert.pem new file mode 100644 index 0000000000..79bf67fe51 --- /dev/null +++ b/testing/web-platform/tests/tools/certs/cacert.pem @@ -0,0 +1,125 @@ +-----BEGIN CERTIFICATE----- +MIIW5zCCFc+gAwIBAgIDBwluMA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl +Yi1wbGF0Zm9ybS10ZXN0czAeFw0yMzA1MTIwMDU3MzFaFw0yNDA1MTEwMDU3MzFa +MB0xGzAZBgNVBAMMEndlYi1wbGF0Zm9ybS10ZXN0czCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBALGQERXCyZ4A9Ptm/ykUNcakBY1e02WQWcGjIQBEI15X +HdGBoloXg+Nz1Q9yPNtJX4Iy+RUaOEQ+OROMeIytk3pLreNLT6U7b7aaLMYGNltO +ldfwecpOTJpowt6npqXfGXfYZg87GQnft15eowH7RGC7MRS/6jtatqfHq3A3gq27 +u/R67V9YnnMhPd0JkFQ55Rwfaq/ekNlpH8zEHaz4Nm78ztUXEHbjemsMq78dt1QI +hWFCxBUsaL7SQsSV9mXdhxTjsfMARWQKjAKVGudaBbCCQ53R+oTkItykW1n6oDAr +AjBGz9j8LlxEAvpJKwEQegoPKLkKWiuYULJhMxtoZU0CAwEAAaOCFC4wghQqMAwG +A1UdEwQFMAMBAf8wHQYDVR0OBBYEFPESRpt+4PjsmOP+jnFDhkkg+KTlMEcGA1Ud +IwRAMD6AFPESRpt+4PjsmOP+jnFDhkkg+KTloSGkHzAdMRswGQYDVQQDDBJ3ZWIt +cGxhdGZvcm0tdGVzdHOCAwcJbjALBgNVHQ8EBAMCAgQwggoFBgNVHR4Eggn8MIIJ ++KCCCfQwE4IRd2ViLXBsYXRmb3JtLnRlc3QwF4IVbm90LXdlYi1wbGF0Zm9ybS50 +ZXN0MBeCFXd3dy53ZWItcGxhdGZvcm0udGVzdDAYghZ3d3cxLndlYi1wbGF0Zm9y +bS50ZXN0MBiCFnd3dzIud2ViLXBsYXRmb3JtLnRlc3QwG4IZd3d3Lm5vdC13ZWIt +cGxhdGZvcm0udGVzdDAbghl3d3cud3d3LndlYi1wbGF0Zm9ybS50ZXN0MByCGnd3 +dy53d3cyLndlYi1wbGF0Zm9ybS50ZXN0MByCGnd3dy53d3cxLndlYi1wbGF0Zm9y +bS50ZXN0MByCGnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0MByCGnd3dzIud3d3 +LndlYi1wbGF0Zm9ybS50ZXN0MByCGnd3dzEud3d3LndlYi1wbGF0Zm9ybS50ZXN0 +MByCGnd3dzEubm90LXdlYi1wbGF0Zm9ybS50ZXN0MB2CG3d3dzEud3d3Mi53ZWIt +cGxhdGZvcm0udGVzdDAdght3d3cxLnd3dzEud2ViLXBsYXRmb3JtLnRlc3QwHYIb +d3d3Mi53d3cyLndlYi1wbGF0Zm9ybS50ZXN0MB2CG3d3dzIud3d3MS53ZWItcGxh +dGZvcm0udGVzdDAfgh13d3cud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdDAggh53 +d3cud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwIIIed3d3Lnd3dzEubm90LXdl +Yi1wbGF0Zm9ybS50ZXN0MCCCHnd3dzIud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVz +dDAggh53d3cxLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwIIIeeG4tLWx2ZS02 +bGFkLndlYi1wbGF0Zm9ybS50ZXN0MCGCH3d3dzEud3d3MS5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3QwIYIfd3d3MS53d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdDAhgh93 +d3cyLnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0MCGCH3d3dzIud3d3MS5ub3Qt +d2ViLXBsYXRmb3JtLnRlc3QwJIIieG4tLWx2ZS02bGFkLnd3dy53ZWItcGxhdGZv +cm0udGVzdDAkgiJ4bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0MCSC +Ind3dy54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3QwJYIjeG4tLWx2ZS02 +bGFkLnd3dzIud2ViLXBsYXRmb3JtLnRlc3QwJYIjd3d3MS54bi0tbHZlLTZsYWQu +d2ViLXBsYXRmb3JtLnRlc3QwJYIjd3d3Mi54bi0tbHZlLTZsYWQud2ViLXBsYXRm +b3JtLnRlc3QwJYIjeG4tLWx2ZS02bGFkLnd3dzEud2ViLXBsYXRmb3JtLnRlc3Qw +KIImeG4tLWx2ZS02bGFkLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwKIImd3d3 +LnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwKYInd3d3Mi54bi0t +bHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0MCmCJ3d3dzEueG4tLWx2ZS02 +bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdDApgid4bi0tbHZlLTZsYWQud3d3Mi5u +b3Qtd2ViLXBsYXRmb3JtLnRlc3QwKYIneG4tLWx2ZS02bGFkLnd3dzEubm90LXdl +Yi1wbGF0Zm9ybS50ZXN0MCuCKXhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1w +bGF0Zm9ybS50ZXN0MC2CK3huLS1sdmUtNmxhZC54bi0tbHZlLTZsYWQud2ViLXBs +YXRmb3JtLnRlc3QwL4IteG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3LndlYi1w +bGF0Zm9ybS50ZXN0MC+CLXd3dy54bi0tbjhqNmRzNTNsd3drcnFodjI4YS53ZWIt +cGxhdGZvcm0udGVzdDAvgi14bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2Vi +LXBsYXRmb3JtLnRlc3QwMIIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3MS53 +ZWItcGxhdGZvcm0udGVzdDAwgi53d3cyLnhuLS1uOGo2ZHM1M2x3d2tycWh2Mjhh +LndlYi1wbGF0Zm9ybS50ZXN0MDCCLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3 +dzIud2ViLXBsYXRmb3JtLnRlc3QwMIIud3d3MS54bi0tbjhqNmRzNTNsd3drcnFo +djI4YS53ZWItcGxhdGZvcm0udGVzdDAxgi94bi0tbHZlLTZsYWQueG4tLWx2ZS02 +bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdDAzgjF3d3cueG4tLW44ajZkczUzbHd3 +a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0MDOCMXhuLS1uOGo2ZHM1M2x3 +d2tycWh2MjhhLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwNIIyd3d3MS54bi0t +bjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwNIIyd3d3 +Mi54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3Qw +NIIyeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3MS5ub3Qtd2ViLXBsYXRmb3Jt +LnRlc3QwNIIyeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3Mi5ub3Qtd2ViLXBs +YXRmb3JtLnRlc3QwOII2eG4tLWx2ZS02bGFkLnhuLS1uOGo2ZHM1M2x3d2tycWh2 +MjhhLndlYi1wbGF0Zm9ybS50ZXN0MDiCNnhuLS1uOGo2ZHM1M2x3d2tycWh2Mjhh +LnhuLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdDA8gjp4bi0tbjhqNmRzNTNs +d3drcnFodjI4YS54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0MDyC +OnhuLS1sdmUtNmxhZC54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBs +YXRmb3JtLnRlc3QwQ4JBeG4tLW44ajZkczUzbHd3a3JxaHYyOGEueG4tLW44ajZk +czUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3QwR4JFeG4tLW44ajZkczUz +bHd3a3JxaHYyOGEueG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0 +Zm9ybS50ZXN0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMIIJhQYDVR0RBIIJfDCCCXiC +EXdlYi1wbGF0Zm9ybS50ZXN0ghVub3Qtd2ViLXBsYXRmb3JtLnRlc3SCFXd3dy53 +ZWItcGxhdGZvcm0udGVzdIIWd3d3MS53ZWItcGxhdGZvcm0udGVzdIIWd3d3Mi53 +ZWItcGxhdGZvcm0udGVzdIIZd3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIZd3d3 +Lnd3dy53ZWItcGxhdGZvcm0udGVzdIIad3d3Lnd3dzIud2ViLXBsYXRmb3JtLnRl +c3SCGnd3dy53d3cxLndlYi1wbGF0Zm9ybS50ZXN0ghp3d3cyLm5vdC13ZWItcGxh +dGZvcm0udGVzdIIad3d3Mi53d3cud2ViLXBsYXRmb3JtLnRlc3SCGnd3dzEud3d3 +LndlYi1wbGF0Zm9ybS50ZXN0ghp3d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIb +d3d3MS53d3cyLndlYi1wbGF0Zm9ybS50ZXN0ght3d3cxLnd3dzEud2ViLXBsYXRm +b3JtLnRlc3SCG3d3dzIud3d3Mi53ZWItcGxhdGZvcm0udGVzdIIbd3d3Mi53d3cx +LndlYi1wbGF0Zm9ybS50ZXN0gh13d3cud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVz +dIIed3d3Lnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0gh53d3cud3d3MS5ub3Qt +d2ViLXBsYXRmb3JtLnRlc3SCHnd3dzIud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVz +dIIed3d3MS53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0gh54bi0tbHZlLTZsYWQu +d2ViLXBsYXRmb3JtLnRlc3SCH3d3dzEud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRl +c3SCH3d3dzEud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzIud3d3Mi5u +b3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzIud3d3MS5ub3Qtd2ViLXBsYXRmb3Jt +LnRlc3SCInhuLS1sdmUtNmxhZC53d3cud2ViLXBsYXRmb3JtLnRlc3SCInhuLS1s +dmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCInd3dy54bi0tbHZlLTZsYWQu +d2ViLXBsYXRmb3JtLnRlc3SCI3huLS1sdmUtNmxhZC53d3cyLndlYi1wbGF0Zm9y +bS50ZXN0giN3d3cxLnhuLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdIIjd3d3 +Mi54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCI3huLS1sdmUtNmxhZC53 +d3cxLndlYi1wbGF0Zm9ybS50ZXN0giZ4bi0tbHZlLTZsYWQud3d3Lm5vdC13ZWIt +cGxhdGZvcm0udGVzdIImd3d3LnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3Jt +LnRlc3SCJ3d3dzIueG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdIIn +d3d3MS54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0gid4bi0tbHZl +LTZsYWQud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCJ3huLS1sdmUtNmxhZC53 +d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIpeG4tLW44ajZkczUzbHd3a3JxaHYy +OGEud2ViLXBsYXRmb3JtLnRlc3SCK3huLS1sdmUtNmxhZC54bi0tbHZlLTZsYWQu +d2ViLXBsYXRmb3JtLnRlc3SCLXhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dy53 +ZWItcGxhdGZvcm0udGVzdIItd3d3LnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndl +Yi1wbGF0Zm9ybS50ZXN0gi14bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2Vi +LXBsYXRmb3JtLnRlc3SCLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dzEud2Vi +LXBsYXRmb3JtLnRlc3SCLnd3dzIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2Vi +LXBsYXRmb3JtLnRlc3SCLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dzIud2Vi +LXBsYXRmb3JtLnRlc3SCLnd3dzEueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2Vi +LXBsYXRmb3JtLnRlc3SCL3huLS1sdmUtNmxhZC54bi0tbHZlLTZsYWQubm90LXdl +Yi1wbGF0Zm9ybS50ZXN0gjF3d3cueG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90 +LXdlYi1wbGF0Zm9ybS50ZXN0gjF4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cu +bm90LXdlYi1wbGF0Zm9ybS50ZXN0gjJ3d3cxLnhuLS1uOGo2ZHM1M2x3d2tycWh2 +MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdIIyd3d3Mi54bi0tbjhqNmRzNTNsd3dr +cnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCMnhuLS1uOGo2ZHM1M2x3d2ty +cWh2MjhhLnd3dzEubm90LXdlYi1wbGF0Zm9ybS50ZXN0gjJ4bi0tbjhqNmRzNTNs +d3drcnFodjI4YS53d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdII2eG4tLWx2ZS02 +bGFkLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0gjZ4 +bi0tbjhqNmRzNTNsd3drcnFodjI4YS54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3Jt +LnRlc3SCOnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1sdmUtNmxhZC5ub3Qt +d2ViLXBsYXRmb3JtLnRlc3SCOnhuLS1sdmUtNmxhZC54bi0tbjhqNmRzNTNsd3dr +cnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCQXhuLS1uOGo2ZHM1M2x3d2ty +cWh2MjhhLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0 +gkV4bi0tbjhqNmRzNTNsd3drcnFodjI4YS54bi0tbjhqNmRzNTNsd3drcnFodjI4 +YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwDQYJKoZIhvcNAQELBQADggEBAHmWNJCj +6J8HohdpZBK9UsU8Fs615djgKGi0s474l+2A2Ul2WxONz7XzuIRMc5qt3gbiXh7w +ypk2BhAayyw0viUDh1AVenvUC/GD6HAW7zz7f9p02/rc4K6Jyt/5Oo8PNFzesWSs +Mw8eTg4Y6AupFp9fKRXNkEQ7gDbqWP4UYKj1YWESRH85OsaAuyBTOnl7CdCYJHtI +Exz3dd72SK1lq86b6IoGiW2jEY1/1GMK10Gid349qYapkYizYyaRZO16O++FXWC+ +dWH3p8FO4jgixV8aTwfgrLmx0RPNrWk6u11ePE1K2n4naruqJAONugmZG3LWGLHO +lwo3HjEOzXXqD2Y= +-----END CERTIFICATE----- diff --git a/testing/web-platform/tests/tools/certs/config.json b/testing/web-platform/tests/tools/certs/config.json new file mode 100644 index 0000000000..df93c6fc34 --- /dev/null +++ b/testing/web-platform/tests/tools/certs/config.json @@ -0,0 +1,17 @@ +{ + "ports": { + "http": [], + "https": [], + "ws": [], + "wss": [] + }, + "check_subdomains": false, + "ssl": { + "type": "openssl", + "openssl": { + "duration": 365, + "force_regenerate": true, + "base_path": "tools/certs" + } + } +} diff --git a/testing/web-platform/tests/tools/certs/web-platform.test.key b/testing/web-platform/tests/tools/certs/web-platform.test.key new file mode 100644 index 0000000000..f1eb177cad --- /dev/null +++ b/testing/web-platform/tests/tools/certs/web-platform.test.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC2skGFCv8b3v+p +KSbn/2RpcWzUab1/gbRgydfidP762Ltsj5L+tuaHtdzvqt7a1ySc3fwDr49qJtxc +WZrFKl7xecKA847isx1WoPm+fmAwaLQPqQlH+hgTrAfrofN22FPewaKz+XCeGIIR +bnipZssv0Td3o1C5sYVmhdsoKRWnF90RNXUCtJ1GcrtnDxuaYY/l++n3Hx37nUQt +iw2IC7fqfCPMsFOGiPefskVuNoUDXyBhTd0rZWEXqU/qrxhljkRFUVq8ILWw6Ie1 +Bgst+HUW8Sp0Dir2VRcpYoIMWF4NY7TyeC39xWz4FGoCGiM3NdWNCDyfOqzDKFeu +a1Dr3AjhAgMBAAECggEBAKxK7Uk3tqAlLHvuSDev/ZUHF7g2RDR0MJS6pXJ2HWSZ +ch+OQvUdrcg8NTB8txAwpuGc4ybisOBN57Db+/6G1+TojAqqJo0al8dzpjME4Vel +1nGSWyNa8svSh+Gq6HyixG2ltPf/fDpMKJWh1f8D5wigSKv2A5IrnP+zqpt0K2xY +ltDiuMCjLO86TMeQDBA/KDL2fw4VObDjuA7H1IBRWJvC/n1Js/Am/y+FKOUA/aMW +x4lgDhx2ISoti9uS6EfKxMb5Tj4FEXVDgmqETW7k4mhZN/LynBKeJ+Cl/2VpyqnO +1+EFVqcHnaZSttqoUQlSiR2E37Qry9PV4tm4vUkMsAECgYEA6Y/l/52dHpe8A4AE +t3lT0RxHypJtN36L30f7xPXSYGu8q/2QpPHESgSEsEa9OxAgHHPjj/F0SMu+BXBo +MeO57gbTEidqRbS1zOdnzWtFNECwZV0T80rXt8awuGH+hbzDUcjHW50s9Wh1jaMW +5xeuEKU5YuxPFx7qu8acG5jWCmECgYEAyD9kNBkUxWotofqpiOWfXJZjjiuaj48E +l1t8DxuXhjRlPIB8Z7k3+rEgGkeBOw4UsX3SUbbVCLRe4Qye/G6sFg0xtEgJpkHW +uCTVohrzGhQmPA+7Cu0pQOvmlh60bFh1ATU1ePxrMyWZUFn2d1XdD4ZERdCUWC/2 +OM7wIzyfjoECgYEA3vWxV/y8GpI6txSkbAl0S/C1T9nMTOeO2s06uOD5vXXbnEvo +oqzw9r+tcyF0T0erf73ZhHW4zi1A7qxJqyZ7PZBiObhKqNRDoKFe5Cf83k7KlVjv +TJcrqpIP7VQOxthVlGMYfIpkerkHTvhbSqu+TMGNMLPpJGctKagFKgsSeMECgYAz +OBuuQ7gPYsA3TUEt9eXULddbFwYasC8xc8IAr0MLnb1DQ24Orc6GveWDM0T30Ps0 +BwXTxtsotdIK6EqGMNyta0SKY16seuyr/yfxpckGo57AABoMimrh4zUAsuvdRqbu +3yhFQPM+iuBzL/+duIWpoeM2pEo9YE8vaqb7rFb3gQKBgQCYRw+PH0k1Lp0Z2Z4H +2Nb2C25GoNHc5QA4au2ST3mKhlaqLYZqrg9yR58jR2IgD55xBQrmhxm6CyL/6Owa +26G2LRzj55FHIPVssnfgtVGUEEmiGxdpL6Q7nEue+2kvoAsdYql1JPavTCuTJCmj +pXFkinopUTpVFlVtXF5asrvU1w== +-----END PRIVATE KEY----- diff --git a/testing/web-platform/tests/tools/certs/web-platform.test.pem b/testing/web-platform/tests/tools/certs/web-platform.test.pem new file mode 100644 index 0000000000..7063a254dd --- /dev/null +++ b/testing/web-platform/tests/tools/certs/web-platform.test.pem @@ -0,0 +1,133 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 461167 (0x7096f) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=web-platform-tests + Validity + Not Before: May 12 00:57:31 2023 GMT + Not After : May 11 00:57:31 2024 GMT + Subject: CN=web-platform.test + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:b6:b2:41:85:0a:ff:1b:de:ff:a9:29:26:e7:ff: + 64:69:71:6c:d4:69:bd:7f:81:b4:60:c9:d7:e2:74: + fe:fa:d8:bb:6c:8f:92:fe:b6:e6:87:b5:dc:ef:aa: + de:da:d7:24:9c:dd:fc:03:af:8f:6a:26:dc:5c:59: + 9a:c5:2a:5e:f1:79:c2:80:f3:8e:e2:b3:1d:56:a0: + f9:be:7e:60:30:68:b4:0f:a9:09:47:fa:18:13:ac: + 07:eb:a1:f3:76:d8:53:de:c1:a2:b3:f9:70:9e:18: + 82:11:6e:78:a9:66:cb:2f:d1:37:77:a3:50:b9:b1: + 85:66:85:db:28:29:15:a7:17:dd:11:35:75:02:b4: + 9d:46:72:bb:67:0f:1b:9a:61:8f:e5:fb:e9:f7:1f: + 1d:fb:9d:44:2d:8b:0d:88:0b:b7:ea:7c:23:cc:b0: + 53:86:88:f7:9f:b2:45:6e:36:85:03:5f:20:61:4d: + dd:2b:65:61:17:a9:4f:ea:af:18:65:8e:44:45:51: + 5a:bc:20:b5:b0:e8:87:b5:06:0b:2d:f8:75:16:f1: + 2a:74:0e:2a:f6:55:17:29:62:82:0c:58:5e:0d:63: + b4:f2:78:2d:fd:c5:6c:f8:14:6a:02:1a:23:37:35: + d5:8d:08:3c:9f:3a:ac:c3:28:57:ae:6b:50:eb:dc: + 08:e1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: + 55:E3:89:23:FF:B4:2F:9B:59:D4:B8:B7:E4:0D:C2:9A:61:86:2D:A6 + X509v3 Authority Key Identifier: + keyid:F1:12:46:9B:7E:E0:F8:EC:98:E3:FE:8E:71:43:86:49:20:F8:A4:E5 + + X509v3 Key Usage: + Digital Signature, Non Repudiation, Key Encipherment + X509v3 Extended Key Usage: + TLS Web Server Authentication + X509v3 Subject Alternative Name: + DNS:web-platform.test, DNS:not-web-platform.test, DNS:www.web-platform.test, DNS:www1.web-platform.test, DNS:www2.web-platform.test, DNS:www.not-web-platform.test, DNS:www.www.web-platform.test, DNS:www.www2.web-platform.test, DNS:www.www1.web-platform.test, DNS:www2.not-web-platform.test, DNS:www2.www.web-platform.test, DNS:www1.www.web-platform.test, DNS:www1.not-web-platform.test, DNS:www1.www2.web-platform.test, DNS:www1.www1.web-platform.test, DNS:www2.www2.web-platform.test, DNS:www2.www1.web-platform.test, DNS:www.www.not-web-platform.test, DNS:www.www2.not-web-platform.test, DNS:www.www1.not-web-platform.test, DNS:www2.www.not-web-platform.test, DNS:www1.www.not-web-platform.test, DNS:xn--lve-6lad.web-platform.test, DNS:www1.www1.not-web-platform.test, DNS:www1.www2.not-web-platform.test, DNS:www2.www2.not-web-platform.test, DNS:www2.www1.not-web-platform.test, DNS:xn--lve-6lad.www.web-platform.test, DNS:xn--lve-6lad.not-web-platform.test, DNS:www.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.www2.web-platform.test, DNS:www1.xn--lve-6lad.web-platform.test, DNS:www2.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.www1.web-platform.test, DNS:xn--lve-6lad.www.not-web-platform.test, DNS:www.xn--lve-6lad.not-web-platform.test, DNS:www2.xn--lve-6lad.not-web-platform.test, DNS:www1.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www2.not-web-platform.test, DNS:xn--lve-6lad.www1.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.not-web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.not-web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.not-web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test + Signature Algorithm: sha256WithRSAEncryption + a7:2c:41:42:13:d2:c0:0a:e5:f4:84:9e:b9:47:50:ed:b4:a8: + 09:41:c8:8c:3b:cc:a9:03:9f:6d:f8:7b:d2:e5:d9:87:55:a1: + 7a:00:9b:2c:5a:3a:c7:46:4d:02:9b:16:10:02:4c:0d:a5:68: + e2:79:07:21:a4:8e:42:51:ae:80:ab:f8:f8:34:5f:02:0b:72: + 66:18:3c:e3:da:98:f9:4c:70:19:5f:61:c2:49:9b:86:46:8c: + 5f:92:b4:3e:49:ef:d4:a7:f7:7c:0b:fc:b0:fb:7d:ec:73:5d: + a9:5a:58:47:b8:11:60:1b:43:2c:47:da:15:9e:6c:db:35:cc: + d8:f4:f4:99:11:94:e6:8e:bf:06:66:81:28:99:25:5e:e6:01: + 2b:16:c0:50:43:8a:12:04:c4:5d:6b:fa:8b:dd:ca:98:bc:7a: + 85:3a:c2:10:74:f2:e9:e6:b1:a7:bd:a7:d5:99:33:3b:15:e7: + 24:e4:d7:d8:9b:9d:84:60:e8:fd:17:4a:63:01:33:ad:30:e6: + ec:b0:aa:7b:31:f2:83:3c:6e:d9:3b:7c:02:e6:64:a3:c2:ee: + 88:1c:4b:43:bc:de:0b:94:2a:cb:7e:1b:ba:10:01:01:e0:a7: + d2:19:fd:1b:fe:43:df:0e:7b:e4:2f:25:12:99:b4:d5:c7:63: + fa:d1:de:cf +-----BEGIN CERTIFICATE----- +MIIMsjCCC5qgAwIBAgIDBwlvMA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl +Yi1wbGF0Zm9ybS10ZXN0czAeFw0yMzA1MTIwMDU3MzFaFw0yNDA1MTEwMDU3MzFa +MBwxGjAYBgNVBAMMEXdlYi1wbGF0Zm9ybS50ZXN0MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtrJBhQr/G97/qSkm5/9kaXFs1Gm9f4G0YMnX4nT++ti7 +bI+S/rbmh7Xc76re2tcknN38A6+PaibcXFmaxSpe8XnCgPOO4rMdVqD5vn5gMGi0 +D6kJR/oYE6wH66HzdthT3sGis/lwnhiCEW54qWbLL9E3d6NQubGFZoXbKCkVpxfd +ETV1ArSdRnK7Zw8bmmGP5fvp9x8d+51ELYsNiAu36nwjzLBThoj3n7JFbjaFA18g +YU3dK2VhF6lP6q8YZY5ERVFavCC1sOiHtQYLLfh1FvEqdA4q9lUXKWKCDFheDWO0 +8ngt/cVs+BRqAhojNzXVjQg8nzqswyhXrmtQ69wI4QIDAQABo4IJ+jCCCfYwCQYD +VR0TBAIwADAdBgNVHQ4EFgQUVeOJI/+0L5tZ1Li35A3CmmGGLaYwHwYDVR0jBBgw +FoAU8RJGm37g+OyY4/6OcUOGSSD4pOUwCwYDVR0PBAQDAgXgMBMGA1UdJQQMMAoG +CCsGAQUFBwMBMIIJhQYDVR0RBIIJfDCCCXiCEXdlYi1wbGF0Zm9ybS50ZXN0ghVu +b3Qtd2ViLXBsYXRmb3JtLnRlc3SCFXd3dy53ZWItcGxhdGZvcm0udGVzdIIWd3d3 +MS53ZWItcGxhdGZvcm0udGVzdIIWd3d3Mi53ZWItcGxhdGZvcm0udGVzdIIZd3d3 +Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIZd3d3Lnd3dy53ZWItcGxhdGZvcm0udGVz +dIIad3d3Lnd3dzIud2ViLXBsYXRmb3JtLnRlc3SCGnd3dy53d3cxLndlYi1wbGF0 +Zm9ybS50ZXN0ghp3d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdIIad3d3Mi53d3cu +d2ViLXBsYXRmb3JtLnRlc3SCGnd3dzEud3d3LndlYi1wbGF0Zm9ybS50ZXN0ghp3 +d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIbd3d3MS53d3cyLndlYi1wbGF0Zm9y +bS50ZXN0ght3d3cxLnd3dzEud2ViLXBsYXRmb3JtLnRlc3SCG3d3dzIud3d3Mi53 +ZWItcGxhdGZvcm0udGVzdIIbd3d3Mi53d3cxLndlYi1wbGF0Zm9ybS50ZXN0gh13 +d3cud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIed3d3Lnd3dzIubm90LXdlYi1w +bGF0Zm9ybS50ZXN0gh53d3cud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCHnd3 +dzIud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIed3d3MS53d3cubm90LXdlYi1w +bGF0Zm9ybS50ZXN0gh54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCH3d3 +dzEud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzEud3d3Mi5ub3Qtd2Vi +LXBsYXRmb3JtLnRlc3SCH3d3dzIud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SC +H3d3dzIud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCInhuLS1sdmUtNmxhZC53 +d3cud2ViLXBsYXRmb3JtLnRlc3SCInhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3SCInd3dy54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCI3hu +LS1sdmUtNmxhZC53d3cyLndlYi1wbGF0Zm9ybS50ZXN0giN3d3cxLnhuLS1sdmUt +NmxhZC53ZWItcGxhdGZvcm0udGVzdIIjd3d3Mi54bi0tbHZlLTZsYWQud2ViLXBs +YXRmb3JtLnRlc3SCI3huLS1sdmUtNmxhZC53d3cxLndlYi1wbGF0Zm9ybS50ZXN0 +giZ4bi0tbHZlLTZsYWQud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIImd3d3Lnhu +LS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCJ3d3dzIueG4tLWx2ZS02 +bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdIInd3d3MS54bi0tbHZlLTZsYWQubm90 +LXdlYi1wbGF0Zm9ybS50ZXN0gid4bi0tbHZlLTZsYWQud3d3Mi5ub3Qtd2ViLXBs +YXRmb3JtLnRlc3SCJ3huLS1sdmUtNmxhZC53d3cxLm5vdC13ZWItcGxhdGZvcm0u +dGVzdIIpeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SC +K3huLS1sdmUtNmxhZC54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCLXhu +LS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dy53ZWItcGxhdGZvcm0udGVzdIItd3d3 +LnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0gi14bi0t +bjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCLnhuLS1u +OGo2ZHM1M2x3d2tycWh2MjhhLnd3dzEud2ViLXBsYXRmb3JtLnRlc3SCLnd3dzIu +eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCLnhuLS1u +OGo2ZHM1M2x3d2tycWh2MjhhLnd3dzIud2ViLXBsYXRmb3JtLnRlc3SCLnd3dzEu +eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCL3huLS1s +dmUtNmxhZC54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0gjF3d3cu +eG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0gjF4 +bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0 +gjJ3d3cxLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxhdGZvcm0u +dGVzdIIyd3d3Mi54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3SCMnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dzEubm90LXdlYi1w +bGF0Zm9ybS50ZXN0gjJ4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cyLm5vdC13 +ZWItcGxhdGZvcm0udGVzdII2eG4tLWx2ZS02bGFkLnhuLS1uOGo2ZHM1M2x3d2ty +cWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0gjZ4bi0tbjhqNmRzNTNsd3drcnFodjI4 +YS54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCOnhuLS1uOGo2ZHM1M2x3 +d2tycWh2MjhhLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCOnhu +LS1sdmUtNmxhZC54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3SCQXhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1uOGo2ZHM1M2x3 +d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0gkV4bi0tbjhqNmRzNTNsd3drcnFo +djI4YS54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRl +c3QwDQYJKoZIhvcNAQELBQADggEBAKcsQUIT0sAK5fSEnrlHUO20qAlByIw7zKkD +n234e9Ll2YdVoXoAmyxaOsdGTQKbFhACTA2laOJ5ByGkjkJRroCr+Pg0XwILcmYY +POPamPlMcBlfYcJJm4ZGjF+StD5J79Sn93wL/LD7fexzXalaWEe4EWAbQyxH2hWe +bNs1zNj09JkRlOaOvwZmgSiZJV7mASsWwFBDihIExF1r+ovdypi8eoU6whB08unm +sae9p9WZMzsV5yTk19ibnYRg6P0XSmMBM60w5uywqnsx8oM8btk7fALmZKPC7ogc +S0O83guUKst+G7oQAQHgp9IZ/Rv+Q98Oe+QvJRKZtNXHY/rR3s8= +-----END CERTIFICATE----- |