This is an automated email from the ASF dual-hosted git repository. alexey pushed a commit to branch branch-1.17.x in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 8940db0c6a7a7b2f89e71129c0e56cf0dca7e998 Author: Attila Bukor <[email protected]> AuthorDate: Tue Jul 23 21:13:56 2024 +0200 KUDU-3590 Update expired test certificates Certificates generated in 2d624f877 expired after 1 year, causing several test failures in security-itest and rpc-test. This commit replaces the expired certificates with ones with a validity of 20 years. Note: If you git blame this file in 2044 in your flying car, please make sure to update the keys and certificates to whatever is reasonable for your quantum computers instead of simply relying on the instructions in the comments. Certificate chain: Issuer: CN=IntermediateCA, ST=California, C=US, [email protected], O=Apache Software Foundation, OU=Intermediate CA Validity Not Before: Jul 23 19:58:19 2024 GMT Not After : Apr 9 19:58:19 2044 GMT Subject: CN=127.0.0.1, ST=California, C=US, [email protected], O=Apache Software Foundation, OU=Kudu Issuer: C=US, ST=Some-State, O=Apache Software Foundation, CN=127.0.0.1, [email protected] Validity Not Before: Jul 23 19:55:34 2024 GMT Not After : Jul 18 19:55:34 2044 GMT Subject: CN=IntermediateCA, ST=California, C=US, [email protected], O=Apache Software Foundation, OU=Intermediate CA Issuer: C=US, ST=Some-State, O=Apache Software Foundation, CN=127.0.0.1, [email protected] Validity Not Before: Jul 23 17:50:11 2024 GMT Not After : Jun 29 17:50:11 2124 GMT Subject: C=US, ST=Some-State, O=Apache Software Foundation, CN=127.0.0.1, [email protected] Change-Id: I0d9a38926307618b81e292074732d35520e9a8e9 Reviewed-on: http://gerrit.cloudera.org:8080/21607 Reviewed-by: Marton Greber <[email protected]> Tested-by: Marton Greber <[email protected]> Reviewed-by: Zoltan Chovan <[email protected]> (cherry picked from commit 4decbbdf553ed54796ddbbb49e1142925657110f) Reviewed-on: http://gerrit.cloudera.org:8080/21795 Reviewed-by: Alexey Serbin <[email protected]> Tested-by: Abhishek Chennaka <[email protected]> --- src/kudu/security/test/test_certs.cc | 1315 +++++++++++++++++----------------- 1 file changed, 662 insertions(+), 653 deletions(-) diff --git a/src/kudu/security/test/test_certs.cc b/src/kudu/security/test/test_certs.cc index 3905d816d..8268b1ed1 100644 --- a/src/kudu/security/test/test_certs.cc +++ b/src/kudu/security/test/test_certs.cc @@ -512,6 +512,7 @@ TOQYXv+dMtOkYg== // * in 'openssl req' commands the '-sha256' switch is omitted // * the commonName in 'openssl ca' is set to 'localhost' // * in ca.conf [alt_names] DNS.0 is set to 'localhost' +// * validity in ca.conf is set to 7200 // // Note about the cert nomenclature: // @@ -532,294 +533,297 @@ Status CreateTestSSLCertSignedByChain(const string& dir, string* ca_cert_file) { const char* kCert = R"( -----BEGIN CERTIFICATE----- -MIIJbTCCBVWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwdTESMBAGA1UEAwwJbG9j -YWxob3N0MRAwDgYDVQQIDAdzYWRmamFzMQswCQYDVQQGEwJBUzEZMBcGCSqGSIb3 -DQEJARYKc2RmbGtkc2FqZjETMBEGA1UECgwKbHNrZGZqbHNhZDEQMA4GA1UECwwH -c2xkZmtqYTAeFw0yMzA3MDUxMzA1NTdaFw0yNDA3MDQxMzA1NTdaMHgxEjAQBgNV -BAMMCWxvY2FsaG9zdDERMA8GA1UECAwIc2FramRmaGExCzAJBgNVBAYTAkFTMRkw -FwYJKoZIhvcNAQkBFgpzamRoZmtzZGFmMRQwEgYDVQQKDAtsa3NhamRmaGFsczER -MA8GA1UECwwIanNkaGZrYXMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCkqsJ6lPQ1cbocrp60iUUOj2JBAAc6XJ7PcT0HszSGI8xjWFPByrNKbh9CUF1h -ulch6QbI/u+3pkBb0HkpvsjU2yPP6Qgn0/SxE1GNbARE9tyDWU/NBIqvq40rqfXe -OygQNkOYRHv5bql2Mk1U/xbtLOkYE8yf03PuChkgm5OQmY1YFBtmPlTwSutbeUG4 -KxsQITbnIFnsNC8cZzhGlaTk55xDWMUsGw1f6CT5OwNuSBxmpBp2HnwvEfpKEqBD -OOAa7N6gzn4CfDIJGDC3/s5WiLGagDgVjTyHyGN+KZd02U1Pnk5sG9OFitDSGa3d -aKuOGOAuphfYvqgaZKptQJ2heBjDPWYxRD3x/I60VpCOj0o+syCZhcgcIMDbjA+C -5lYRzJZkO9QQ0bEHlTq+ks7hZCGpx7sE9KDD0AsYB6fapcMg/rTHNsu8nfaDWWD4 -xesQrchvFZYgTOmH/I2JUkxqVmv1uRIx0akANhn5GdqfJ1Uif1OwMikNKaA0M2Ve -KKKI/y5/kFEMsew2j0Zh6RaM4k0fWB6MQHFAvwsF5ptoXnBq1K01w4jvdTnUb8gm -NUPjg+bQANxDzYxruH9KtgVw3zfm00Exz2R9CXKaB7gPtKzFFxqesimH+BbP3rDP -MU5rzv8HWJ0Hn97Njw+C9g0pDXrZ97HI5ieUqTN8EgjbkQIDAQABo4ICAjCCAf4w -DAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUSWPWrk7iay2FSnQm2gBh877P/VMwHwYD -VR0jBBgwFoAU244rpvoJhKafs083DFvHum9HwWUwCwYDVR0PBAQDAgWgMBMGA1Ud -JQQMMAoGCCsGAQUFBwMBMH4GA1UdHwR3MHUwO6A5oDeGNWh0dHA6Ly9wa2kuc3Bh -cmtsaW5nY2EuY29tL1NwYXJrbGluZ0ludGVybWlkaWF0ZTEuY3JsMDagNKAyhjBo -dHRwOi8vcGtpLmJhY2t1cC5jb20vU3BhcmtsaW5nSW50ZXJtaWRpYXRlMS5jcmww -IQYDVR0RBBowGIIJbG9jYWxob3N0ggtleGFtcGxlLm9yZzCB6AYIKwYBBQUHAQEE -gdswgdgwQQYIKwYBBQUHMAKGNWh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29tL1Nw -YXJrbGluZ0ludGVybWVkaWF0ZTEuY3J0MDwGCCsGAQUFBzAChjBodHRwOi8vcGtp -LmJhY2t1cC5jb20vU3BhcmtsaW5nSW50ZXJtZWRpYXRlMS5jcnQwLAYIKwYBBQUH -MAGGIGh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29tL29jc3AvMCcGCCsGAQUFBzAB -hhtodHRwOi8vcGtpLmJhY2t1cC5jb20vb2NzcC8wDQYJKoZIhvcNAQELBQADggQB -AGgLQs+32qSCMY7LqLQZbsn0l989NWrHl4Nn60ftLe/VyQ5w9pP1QnQ+epoRwiY7 -Gd6U+2fFtzeJOD3N4ckAzw3hJQh0uSDgGglI/S3zZLNOm80QE5+aJr8/YaHH3BIR -cYkhMHiGg4/Dijq1hCKsnqTmZE1JLmVWFezopmKJYOABw9lgbMceFiUtxsAhaLJA -rW98SkznrFos7KovtDkX8tZpuJqkqThyvOhZAbE0LkIXug3s7ShB1id7jfDrPAFd -iph0BkcU9iWLmochuZITSe9yRMbbhS38PYwnXQ35B1PPtc+wCKAMKP6RT357GqZq -HTPpD9vembZm6Db/IW4j4wLMrk12DPNQbh70cCsW16fO/CpNL+l7fP4lakvC4iu4 -zFQ93XuoAtwp3VSjH3l3dHr9CjSERdnBBAXBjVIHR3bu3iFlueDIzT7Gb/G4VNCn -ylJllZ8D7vcKdPyBYNV9ako1TFIHdFT5g/XvyPotPgBZa8E3FciMU/MfVds0hdmG -Yizx0T5atH3/IdYW7EXhgsBjWD6Tlscyxptb1e+JWPL1N3E7IexFH5xp+jfvrHLn -xTuabhLjsIeaEKWV5DXO3yQrFcrq4JhMZ/A+cQuOUrHfiB6eqDq2yXSTflQh07qB -j/GWHgu6o5bHVFsv2sVIBbM+vP6Upa4trUHZNsgPOwnD7vb8GHNAjxxx41goy9gI -X3TQ1P8zpE/msKCVDOscwObx2h8OTQ6jgWYRp2EK+Qp2FnKNxrdr0N7q2U2gzyao -fkApVgFmG36N2v7Gi3Dn3Lfsc1bFfd7wGjDx8s8CIBf3GxaL1RsN2rzvZoJIl7d5 -8a4qXHlYcshgJTG6oMLRR+c3Cq3bkMtfU7Y5VYcPH9NcvtYnDhzLxuWQZPXZJ4Wl -F9z3Uhy4/Z7DHiR18H7fTCNv5zA0xhOUiMhRUuji5y6ip0t4KK6HtbTsjA7ozzTJ -MHYuuB7fXxfY0hkL02gysnhjRN0KghajJwKZFGFqGjj7N1StI9lPgE6Jqs3UyszV -JqtrJrAdIrySwFncyZMYll4SujNPS/IOL5/DcOI2JeKt/QlZv3+zfNaC+HOJcbdy -wU9SReth3cXZCUPu59wZNFIVhVFolRQCQwLFx01AeQ9IDV0pgvDrfF/BiSScZrSo -b9eFhBWOy05GV3Fln2FIEWuqdWX2iQ6bpkpi5QauTp0c4RR1ZXKBtjkqUo98s20R -QEPLaPxSCusmpszGiSzyrOFStUo769/Yk+WPHpoLM3KsAz1Cs936rcwRPICqlGn/ -eblcwS7LxM1UuYuD9FtZKJNXZENosOchV2bNxWCKNkrKqwcNA/S4UFgeOQCdgyUL -aMGMNFdwc2dmKcFTNJySMc0= +MIIJoTCCBYmgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZ4xFzAVBgNVBAMMDklu +dGVybWVkaWF0ZUNBMRMwEQYDVQQIDApDYWxpZm9ybmlhMQswCQYDVQQGEwJVUzEi +MCAGCSqGSIb3DQEJARYTZGV2QGt1ZHUuYXBhY2hlLm9yZzEjMCEGA1UECgwaQXBh +Y2hlIFNvZnR3YXJlIEZvdW5kYXRpb24xGDAWBgNVBAsMD0ludGVybWVkaWF0ZSBD +QTAeFw0yNDA3MjMxOTU4MTlaFw00NDA0MDkxOTU4MTlaMIGOMRIwEAYDVQQDDAkx +MjcuMC4wLjExEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMSIwIAYJ +KoZIhvcNAQkBFhNkZXZAa3VkdS5hcGFjaGUub3JnMSMwIQYDVQQKDBpBcGFjaGUg +U29mdHdhcmUgRm91bmRhdGlvbjENMAsGA1UECwwES3VkdTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAI/O8ezskBVo/BzldVjkvzJwvDhz6JZe26NU4qGu +bevZiyYKhCBeCJ0bgvEP0tkQ1DCTIPSyWTGNzVrm9a3oJbudsocWGTscdZT7LFPm +oaoMJbVtNVT35iy6TVuBKugrzz4azrrhnsdJnG/Px937yhARDs6AnCB5LNoBgQMd +4cJ41H6xwexqkjgdNQfRAtyHZT0nyjrONTEoZMfNTAbdawYptTz7ft7W8NIDrzAl +lXnTxJc9ycnfF0pbNao1Msw1y0pjuRcE/EKdPQ1VK/B3MdQOlRFSl2BI/B9Jzfe9 +o+WQG984kprb767JWiO4W8DKsT64IgOTCa/1A4ExKAbIqngM4+RrznFhDLxrHvsL +CSH9dCL6VAxQeLxcrQpkekwj9k6qQTlY4J337LHBy3izWmfj4kiVH+EN+Jg8HqIt +1CVP+pMb9eoOXwur98wsYX/1He5/XAaFSrJ486OLz2wYQ5KMYc+xzjG1q8zMhtLA +R8Vn/uPRg0SJATphvs6hRSAbRkz6fdU+HpuAdlqfdOrlQRtL397BTMzA0ksJP/HZ +VhCifsNcXWACr8ue9Seyd1Nrq3dw2oKfQf+oyS18RAf2gpMEGt0gScVWPfsbuFb7 +Twntxiakb1ozfqDpuoOjOgxEQkIWluw/Cm/uYxw7KinAJoZQ6h1NstxDuIczsWyk +F2YhAgMBAAGjggH1MIIB8TAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBR9hKckR8a1 +YQEVfScXpaH1V32UeDAfBgNVHSMEGDAWgBTwqgsXpPvzYO7RyI+CKtW4z0byiDAL +BgNVHQ8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwfgYDVR0fBHcwdTA7oDmg +N4Y1aHR0cDovL3BraS5zcGFya2xpbmdjYS5jb20vU3BhcmtsaW5nSW50ZXJtaWRp +YXRlNS5jcmwwNqA0oDKGMGh0dHA6Ly9wa2kuYmFja3VwLmNvbS9TcGFya2xpbmdJ +bnRlcm1pZGlhdGU1LmNybDAUBgNVHREEDTALgglsb2NhbGhvc3QwgegGCCsGAQUF +BwEBBIHbMIHYMEEGCCsGAQUFBzAChjVodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNv +bS9TcGFya2xpbmdJbnRlcm1lZGlhdGU1LmNydDA8BggrBgEFBQcwAoYwaHR0cDov +L3BraS5iYWNrdXAuY29tL1NwYXJrbGluZ0ludGVybWVkaWF0ZTUuY3J0MCwGCCsG +AQUFBzABhiBodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNvbS9vY3NwLzAnBggrBgEF +BQcwAYYbaHR0cDovL3BraS5iYWNrdXAuY29tL29jc3AvMA0GCSqGSIb3DQEBCwUA +A4IEAQCbWm3Q5suIXBYVkzbU4ClxvkHASayoBoxx5pH5xeC+9IXYHGTwtBRl06NM +E3Koj0vqNTdg0cQnqaqJBjaXNdCRnDSlcs+K1xh/hzgjTLNb7PnVzBg8lauu86CE +eEKsrolAmSTsAEUfwrxiQ8MPJTJLLXN6r15lqCIeFdgKtiM2EPg3rBtTxKIwvpQB +efAAbGI+gp4MlaZULf2695V0GHPdsenydYfYFTc/cCcSJlJi7QSvp3gAIqK5o2A1 +HmoGHQArVcHBAloAbLLQ1nM4l2O1E5J5DZ4mRwhQiE/ShBMVOAEFqSNn+n/q6Z9t +gCy1lgGuWG1/614OvOXROoLhNI6yaDZy5N+LfMKCMP+F2hwLx+id2T9qh2tCBOuO +xG2MxF+sE/4B2oAnQ2S/FFdIarSiKEInyvamg7wtnsEYsG5yL62kwjMcxOhhm1K9 +suAjp8Rq5wZC2Z0esZ5hmQEigtnh815NSILHBH4BNye+b4UTVX3lkg92Q5snsRkn +PMRL728DrIeFOcXiCsVcn/5iPtz+y58Xb8LYoDfNkyTh3EKC3JbheN6Xr+mfiw8u +0AWUCPGFB99X6wgCfKCug2BZ5bT2a4Zc8+PMWRNOG5kd/UqeRLo5zNSZIGPSjYSB +QQYgs31IoRL74sUnfKGdx2iSua7T0946Iph9DU8mQK+NudtrB8UVzgUWzRbx0/wp +SC1zbqCWvrPY8en2w2B+kPJWtRW3sqR4TRJiegjgEdeJu8NrikC+A0hr1Obgckro +NXkwLt4df0wHtj5Vg0w3c+twwlESKErkON4wWaUGKEM8ckdRuHp3K+Hhgo2Y2iUx +Ydd6zOe+X95Zt4bOdPIN8SjhKpc40UIBIaVhma94nEjNXZCbovlSxjP3q59QXXzn +qfMru778lBpC2TZMqmErJ35C6gIvKbM8WbfIOcyj0S17yFVwcjxeLslQXAXvOPZB +lpXF1qy4czCWLI9GTZMV3y6XK5gb55vw8lHze271EPds2nb9E/ntYcULs5uDSwKh +Yni0MtWZN6LY4gIle5L/AstNkk70CeGUYDt3pPB38C/GbZYo1mVEayOQXSW7Ml4K +NFqkf7UW0wfKx2Ki8hR6s6W46iUS8PNtCs3gabZHisJM6FcTIF1FiXWlLZeoEZJW +QIirrEyCZUsgqGedAcyHU4SoHIdGqVpPHol33yr3tNYImS7mViHpusPlgg5bta4d +6NrckJQlrs/zD+rM37xVKIvC8GnH/h3+du9JWCgb2Cn0gyOF1VcZyqJ+xBF2AFY3 +vb0cYv2ddTb+nMIbiARDaEIwG2QYC9uTrtUEBuoob7ObS7ddjNlLhzeGp3NpE9q4 +92AnEo0pFET79a8mYFtcagFruEJ7 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -MIILaTCCB1GgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYQxCzAJBgNVBAYTAkFT -MRIwEAYDVQQIDAlBU0Rma2pkaGYxDzANBgNVBAcMBmxza2RqZjEQMA4GA1UECgwH -c2FsZGZqYTEOMAwGA1UECwwFc2tkamYxEjAQBgNVBAMMCWxvY2FsaG9zdDEaMBgG -CSqGSIb3DQEJARYLc2FkamZsa2Fkc2owHhcNMjMwNzA1MTMwMzU5WhcNMjUwNzA0 -MTMwMzU5WjB1MRIwEAYDVQQDDAlsb2NhbGhvc3QxEDAOBgNVBAgMB3NhZGZqYXMx -CzAJBgNVBAYTAkFTMRkwFwYJKoZIhvcNAQkBFgpzZGZsa2RzYWpmMRMwEQYDVQQK -DApsc2tkZmpsc2FkMRAwDgYDVQQLDAdzbGRma2phMIIEIjANBgkqhkiG9w0BAQEF -AAOCBA8AMIIECgKCBAEApwUqxdXFSIg463ke4OHwkOFp6vDX8el4iCJDQYHl5+Mj -1apFN0PCqSggF/mkwdXmsMYHHlP8+3RiVsd2I+cNB6NEUj368OCgIgbvzCOlaLCx -LTZE2dLlRgSPPXPFTlNMnCP7tnrIZYAm/xnZgvfoHa3YsU9kRAbKwbKahdVvo7V4 -TWWfvokmR92lF2YMEOrMTaUgKcW6DxF5zdC1Phvepx3uXnAs/Hg8pOVp6DZ+RUqd -0JRBUhEJk0wM5hnRni/E/ZKe7OO/OGjXR2SAs8BInjCZtWBxEjbTCdEkvjsYRetg -CeopWzeHGN/BYnKVQi7hyL8jutFvGNBqX5gyvi9f8rlNvCZdsXyQ8HC1AslUw25/ -qnwIRmBJKv5WfWUMsyzID+QkDgM3/Z4kd41uQwq/jWnEWtqLw6xcV/aQxyw5mhmJ -vqK4Vx6uxa8Eif2FDFxftX7setiiIW88S1b/rSGQTcxxh0tGgNkM1nZi6D2eCzqM -riLzou6Pywhy+49i78by8T19wZsy5FrITx7x2s9dhWG9dxD7SSmMjtQqqeinX7Eg -AO2fjv+pyqre20tN40IPaJhc7dl7T33VL7pdTKjLgxcTJLORXgHDnd8mbU9SXLM2 -fjQecBuzgIrgUk1FDRz7pDMPsOsWvOwa9JLhykL+5USyHr0WVFEoYQNZ3UHShhtv -6EQk+/y1QFWEsjzVReuHuVGbWfRSuL58nz1HNOECXiP+lrB6dQEWzuQbaapiXnV4 -kRxFFjxdF9BwI+gRf4uGX92P8cBue7MKIcIq7j0gks6YXEPgdooFOIJj171XbtvY -j3jxWLbQVXuLyhMf4ftrLNGM/ku2Edp6nRd1m2dDeVHsCT27BkmvUUa3xVqv3/gO -V9mF9KtjNYrTXX8OTBnjDGAYWA+lxS4/OsejS3D9W9k0RAhlTorsF71gZhi5T78F -3voIPlQG2PR5bbB+kaNwsc+AtY6K4RgaiXLil39S+7dKG/N9NDqbuCVgpQzvzCWs -lliGpSr2oTWbcIbXK1UQjNTEy/hLR8WxmUcWfzI2vk+mwwRG2p55CwOD1G9KTrDv -6wPfXKZceqFmH9jkCt/iPPRVVrMbtNwzz7Q2sEh3fi6DRzA3gjErl3jMbcfU4YJx -9HfC1mNCJJuLvjhrQRjrcrocEPSgv2EPJkRo8XNZgVwi5syEY+3cRKsIOFRj2IAe -6nppW0Pe1uwpqqdoURGI9BE0r5D0lIY19qTO2M4qMGBW0oedHO4rnQt4y3MBQzi8 -sLb4Z5A+KjSB6XECgEq8m+Wwj4K6olMm7YluTspyzE8Nqwg2kH2SXY4wf98bQDSf -gVg5u4JsC3lPQRAtan/1yffgFO3e+shp15tuWshknwIDAQABo4IB8TCCAe0wDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU244rpvoJhKafs083DFvHum9HwWUwHwYD -VR0jBBgwFoAUyIG2Gvtv1hr/8jrdJvVXLG6x+TAwCwYDVR0PBAQDAgGmMBMGA1Ud -JQQMMAoGCCsGAQUFBwMBMGwGA1UdHwRlMGMwMqAwoC6GLGh0dHA6Ly9wa2kuc3Bh -cmtsaW5nY2EuY29tL1NwYXJrbGluZ1Jvb3QuY3JsMC2gK6AphidodHRwOi8vcGtp -LmJhY2t1cC5jb20vU3BhcmtsaW5nUm9vdC5jcmwwMQYDVR0RBCowKIIJbG9jYWxo -b3N0ghtTcGFya2xpbmcgQ0EgSW50ZXJtaWRpYXRlIDEwgdYGCCsGAQUFBwEBBIHJ -MIHGMDgGCCsGAQUFBzAChixodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNvbS9TcGFy -a2xpbmdSb290LmNydDAzBggrBgEFBQcwAoYnaHR0cDovL3BraS5iYWNrdXAuY29t -L1NwYXJrbGluZ1Jvb3QuY3J0MCwGCCsGAQUFBzABhiBodHRwOi8vcGtpLnNwYXJr -bGluZ2NhLmNvbS9vY3NwLzAnBggrBgEFBQcwAYYbaHR0cDovL3BraS5iYWNrdXAu -Y29tL29jc3AvMA0GCSqGSIb3DQEBCwUAA4IEAQAZQf83aVYyirjmTwV8Rsi9iLzs -izFSwMUNoGNEn+5lb3VzCLDBFXRG8vymhVG7wTxGIKjbpajyJgfDzns1lgBrrqK8 -+5DH2fA98OEDMmwlq41QcXZHxn6Q6futJifPz4+c7GRq3Z0XNlOyqExX4feVry1g -LcIM3vS6Q6UC47KCFrhJMNiQUPdQe7puitrUt22pdnkhAMPYjIpPUGD/H6jKWdiJ -BJhsdPjzsODlcNXUb5xQxRfd+C5D7HXIRotjl8L0r388HGZ/VEcETaxJdeAzAa3t -L6Rd5T0zMlYxhWfQiekr2xIO379T6oh/LD/FV+8sQD1vWrwVkmYxINiKsiJnVBa3 -lDmT8iDqdfvmfvBqg/Nf7lAcAwlAFUExHYfKj9QdOFK080I4qZbajW9s4xd/xj8K -LmcpWRqSEPHEicc3OJ0QJ8Du1vvKVkzBvx7/PScAd/NZilrI1ZXTCQt+VNlmnYSD -ZFM/I9P1GCjR1orXS/t75ktyyEMiCVT7fo0ppB0d7S+xBcLkzUV5D6y3KnQI3t2C -U48e2QbeEutswSm3v7JysY4uEDBnQqftiFwTTIN+PDnkvnntw3yAAowVqY2hhOvs -JEmlre5xRWZMq7w7nCDx/p8ciUJZvfeCwFlSwTA8aSWcmuudQ1vfJdx9Z++zO/qH -h/7Aw3aBSaMtHA7Bdg7Z3993vLwE8p2TyPsOOzFEAXFX0iFuWoDCO/gu+c3mIDDv -1+pB4WORTuzb+UUr1CFyDhjtFOCbGnLpSn1Jl2WMY8uRfviW49nwwPL7oxiDdMBr -TialbjmwRDOPSgS9OoCV3gqZp/ygEBi0S+xHJ2EfGB/TrgZjQcDZI+fPqTnGxf9Z -e17ROC3M3uZWwD2KMw2cIFyL1g3FeUyyhFm3BMn05muKhsAucy/mpcgPsjVO29h7 -lHaW4VsFF+zJLEDOpURKPQbjmSP27VLT0W0V/YTDmhtiuhgi91+QeOgI6RPbxo96 -ubabcoPbkVaG8+HEXZd+rBBYX9fEvQ8HXzgzPcWqApfnQrbm0r4HVzKM4ekEaxwD -gime6wkeJfbcMmiT8Y/dTyxARWlPwNigU+e5xj8ckRlumK/jLOE94extC9fUINPs -lwTrp+mnDyC97h+G5B5gszJ+S6XkneyYWqgGLtwyI/mmI4AaVNKIvsK0v1916tjD -Ky3hFhCJfXGiuqZGu81SmUIcFnz6EgSDOpXFePbl/IMyW1zkihrh3brSEHr+PYym -++7QNAh8RsheF3aX6l3K1iuGmsDBM/bLRAL2qTklBy0zi7hwFs2KjDmoFYZ6f6Po -uzsEffG9Yyns4Qia47NitM2/tnMm/QLc+C32qCJUQ68xDkG7E4Ay98CCUNBd +MIILcDCCB1igAwIBAgICEAQwDQYJKoZIhvcNAQELBQAwfzELMAkGA1UEBhMCVVMx +EzARBgNVBAgMClNvbWUtU3RhdGUxIzAhBgNVBAoMGkFwYWNoZSBTb2Z0d2FyZSBG +b3VuZGF0aW9uMRIwEAYDVQQDDAkxMjcuMC4wLjExIjAgBgkqhkiG9w0BCQEWE2Rl +dkBrdWR1LmFwYWNoZS5vcmcwHhcNMjQwNzIzMTk1NTM0WhcNNDQwNzE4MTk1NTM0 +WjCBnjEXMBUGA1UEAwwOSW50ZXJtZWRpYXRlQ0ExEzARBgNVBAgMCkNhbGlmb3Ju +aWExCzAJBgNVBAYTAlVTMSIwIAYJKoZIhvcNAQkBFhNkZXZAa3VkdS5hcGFjaGUu +b3JnMSMwIQYDVQQKDBpBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjEYMBYGA1UE +CwwPSW50ZXJtZWRpYXRlIENBMIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIECgKC +BAEAwpQU6QayDO4u4/oYTO99GBRomJC2vC7NnuTmcg6Y/vYv76cU4I12adZsbQHZ +kCWIwqQqpJeEPfzmr6HwX5FfSmUVGj6eTNpTM+ZzojAlEe2hUteU+NHW6yYrlyqO ++EMTRgdd4zirJa7TcYj+GyEL9Hk0sEKtD98wU1WUVgyu9HyxR2A6iAGLf0wraU/7 +XbO0tMRLG829kQp+TgKIfs/96/HeUNS6++H7SxdWR8fCZzwDy+s5Tah25hmwVumU +eZ2zPES8zGyp9v69bJD9CtJxPWKnMcXYDZ18Cag+WVWjTWrV+1VdpPCD8Jnv8eDU +hw2xOi0xStDB3+XP4d1l0IQHlTPTp/ViELJmHiGXZBh0lYGrDYyqx6Y6wGKv72Pr +OvKzXtWrfoIDjSu2QBKm4Lj8MAbEe6tvtBAUXtMMYFCpfHZHc7IF1eF3ffThsS// +LTHiEG/rU7MSoU0i7CMVO52v7TdWIwMJJQBao+u5duaFlCu8CpllxhLmOjyNUYCO +7QyvxAm+60DEDYj3yh16tnwKj8lNEyBrr2yFL0G8YFYC0ILy2Sp1qoXifAFWOY9p +nFudkPSmsbXTn9wZI2iXQQF6K7DdjsWxo6m+ovRg9MDRjquGSo1Ag39fp7E+OcRO +9q+8eq91mBGRTcYucga3erbkQgaeCka2Dlbo6QWZ2KQ4G9E1E139oBUOykBqaiU+ +LoDF/7AA5LUT/aMkM1YEWeubGBI9d9AEAb5JQqP/aIiivujB7gfmsFJZeKEgXs21 +rbKg7ouvMIfSDeElJAP+DIpKNOVVq6xm8Pyhc5Ua6JddW9uozS8IEIzv8J05E461 +MO+fqbExLM1FsN+cwDzt13CEcz88e3z121xwrEwWVsqLjwxnicA71vHpMJTbl/lS ++KiE7dOSN0jFKfULnRnn0I8bNSvZg1H/vASBqRmSGLRBhnUsgFhcuYmBeQmJNVIn ++h2AiCWOjp7xQBgt1EVwxp55nf7LsF0SYL+IKDy94d0pkzSfFEEkEpKY0K1GaIdX +WEqGK/SbRY3I9CeFwtApI9D1Rbo4tPedfviyajZJXDUctGbiu94eoMSC3HSfaOmv +H+tTizhncLKoeiAUZMMli9OF07DrhQZcQWAMUEwKL0/dmomUVdDMS+QOyNnUbJ4i +l2GqnM81BtyKGGjZkyMwk6W61vyfa+bMBpyXD3BzlBtzPmI/DtpOpFjSfaJPP7cK +eR/DYq0887TIfA+ayph4YISdJgzfdI/c2QFvCZToM7ZvXUNpGNMuc9u5clEqu3T+ +EUKMZAbiGjLPgcuusPJtT0P3RxP5haTaqZhfU0+MbFSFl7zlS6uE5DEvgEflRpcO +uY1kw+vT4H7G8N7GbvIUqACm7wIDAQABo4IB1DCCAdAwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU8KoLF6T782Du0ciPgirVuM9G8ogwHwYDVR0jBBgwFoAUmUUY +9ijGZnIWADolnZMk/zKzhxkwCwYDVR0PBAQDAgGmMBMGA1UdJQQMMAoGCCsGAQUF +BwMBMGwGA1UdHwRlMGMwMqAwoC6GLGh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29t +L1NwYXJrbGluZ1Jvb3QuY3JsMC2gK6AphidodHRwOi8vcGtpLmJhY2t1cC5jb20v +U3BhcmtsaW5nUm9vdC5jcmwwFAYDVR0RBA0wC4IJbG9jYWxob3N0MIHWBggrBgEF +BQcBAQSByTCBxjA4BggrBgEFBQcwAoYsaHR0cDovL3BraS5zcGFya2xpbmdjYS5j +b20vU3BhcmtsaW5nUm9vdC5jcnQwMwYIKwYBBQUHMAKGJ2h0dHA6Ly9wa2kuYmFj +a3VwLmNvbS9TcGFya2xpbmdSb290LmNydDAsBggrBgEFBQcwAYYgaHR0cDovL3Br +aS5zcGFya2xpbmdjYS5jb20vb2NzcC8wJwYIKwYBBQUHMAGGG2h0dHA6Ly9wa2ku +YmFja3VwLmNvbS9vY3NwLzANBgkqhkiG9w0BAQsFAAOCBAEAMOckms25gifFNM4X +O1T77aU/JiaK2Wp2baS7+iRN1d/5ajxFCWBg7i8J8lWw1harx3ri5htOC4hA8luI +EtKZjPtwfCvFl1vfG4huM1VPhqCV341N7liIyHidm0EAlg+yKGr8ncrjjFJ0fvVt +3o0K+d6gYZ4KP6j1bxB5HFC+vMIyee4eAe1m8lTZZFB8ZkjtJroIjZxfqUwBqWTS +snSARFttQr5U+Xu+oqcbwpIyLfWT3xIDjSupXkbu86Dte3dHatQxBspd9IxrRQpb +gU4KGQVtxbakHU2xsjbUmHlUZR1A77AsQYBHGp1o3wSb81WT765i96oGno3IHE+q +M36VwE9phS450eUfOVYySGaBGn5aDP3hVnX+R7xnCI9Gs9+dzR5xDo+tETvCqSvo +m+foGkjK8a3wkF9kVD/Vwm1rYpNQ0aTrZuWszSbs6V6uqnf2HOFJOoWr7QoMCTTp +MQEj/hAXH03ueq2M+BC0nits2+h8XkjuL6Ss34vlzECAs+XScLk2gjUUH+XwaoRN +H3hgEXp481yfW5m6jjc/nwVza6c8vfcgF9f4atGFkOF+kp5MJWP5z3bveGxqsfTY +q17gRGwtmInlO5GB1e8SWuOtM177SUoykiC0O6mtDg82ptEHdpQf0KAthpId0ulU +lg4n0uXFVweqAsVUGi+Ii0GcNyWlfxEikf19ERBbjrtCfYgeJjcjjDwjQhff3InZ +cOMdZtIXSiahlhBBE6aXSkCn46C15rPqO+8aUrTAkWeIWVt8OiqzRsbXwrjj/yhK +xktRpD+v6ZLviudhxU1wnGzPMADyVend1LzfOvD9kFvqgebldj4+oDg3hyH1cqXe +/lEOO+epB2yo14tsGqzOnSmS2F3rFfOUVZdj6yUMLiSyKnrJ/76VKh0LBexPFbvb +GNunZDGHQ8Y++zRjsskhMcY729ABMK17x7kBeOqaJ1o8yi1HrKufOXiKdHILBZ+K +0cpU/r3YaK7OdcY3P5ne4w1XtqY17FT+LuNCiSJDI0SX4gg4PVTFCn6no91USCaw +aTyx9C0abcSJCUXZIZG4Dxj0qxJr/jzH/RshLTOsn0WVQowkaTMTVTArHi3e0oGL +HdhgN+CRdfE8RK+HrW9DuMCfXzWHDvhbi2lx+jSi76PRhBCK1XDmLG1nVaFwr1o9 +CzH8e7OJB7E7E+r21ecGzvc9CuKcvLLTkhaLhsoCLBe9EmfvMX1gtwbUHdYAx+Y7 +Q8FP3DaDfUmF1TGgncXBoQpab7MzEeIGtFYtFteKWrAgVCwpX2R1CJVYXCgkaDmx +iWoTwpGpXm8usNpvIyIMwqU14NcCmZEzCZT62UFzfvB7nivLhoZTl2VbDB10xf8p +TnPf5g== -----END CERTIFICATE----- )"; const char* kKey = R"( -----BEGIN PRIVATE KEY----- -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 -+WDMk0mCnqqcusrqoAu117IxdSwh +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 +VN9C85/NOQXjpMb0hB6sL9R1HBjcAl8= -----END PRIVATE KEY----- )"; const char* kCaChainCert = R"( -----BEGIN CERTIFICATE----- -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 -98fT6lPbn8hXsNOooIdNRxzbdqLGadR94QUGzDLe4Ng7cxNP2PD/sHhiQhHMr/0p -UE6YNGBinRHy49DRGm+S6tPQpjRflw7RT/nd4XG2fS6MYx6SpitJN22nXy7RvRLo -RvmC0C9JL/T2qmXmijajdbCOYmOkUgfYFrcdObkwqOgmSAHh7WB14RQpo88Kk32I -GyqHg+z1+L1UqsKxqR6jLvgf3mAc0KA8Z4OEJUUsX/ALats0jPThAgspv3+tDICO -r2wqlSHBZSk0af9r6KRbmzf87S73qSK9BxVJT1GgHxz/BqIzCgOPTs7k5M/xWeDg -U+brGzpoD23w0d3me5NvYL6qpOieZdkRBNvEXTpqHGwWl4+wulneSCJeyOjQgsLe -tGciwqmOpXkzB6wU+vAGdlZTVlrPUqVZG+B6Pn/ykAPbGCOmUJXt2ttj+O+4MxWG -dpnnG5yabANi7SKP6a1HjexbeM/7QVpLpgY1HCjVMANxPcuOKZsCFX0hg9JvutbU -AruH3uZ/DxjuyVGjb/kpfG7Hy9GOo/wp7PRQ5jHE+9VL4ZBfCwiJPdJ0F8kE4RAg -7TVdPrya3+caxqLXv/8Npa3JkiQ5P2TxGUfen0Ntyhisy0XxF0p90fCwJkU7/FSi -AF33HaudqEpNxE9CslZAHwKifOOEO5Is4BZ7yQrro2OMyZEHOlS7M5TyPIOUQkZf -H3RWvK6d/PNoeSJ39HLxRkckcR8bvpPx1GPardwy/j72iDDnM+i1MiADV8Lt4JCN -NiUbU2FUFsSy2d4rZXjqHI9a6Cc4B9B0WYmfzZvXvfImgtBsRO2EQBrzAk2pWCIx -WIZxsoJdIuUZgJA+msn03i6jNXTjAIRNaYeHCj8ow8huTwWh9CCQaEEK4djExAtD -HctyT6USq/z180eiZXCoB3Fa7ywberxuHDxkKgKn8BYY9KQRLfpjnQUgeAbdkDs= +MIILcDCCB1igAwIBAgICEAQwDQYJKoZIhvcNAQELBQAwfzELMAkGA1UEBhMCVVMx +EzARBgNVBAgMClNvbWUtU3RhdGUxIzAhBgNVBAoMGkFwYWNoZSBTb2Z0d2FyZSBG +b3VuZGF0aW9uMRIwEAYDVQQDDAkxMjcuMC4wLjExIjAgBgkqhkiG9w0BCQEWE2Rl +dkBrdWR1LmFwYWNoZS5vcmcwHhcNMjQwNzIzMTk1NTM0WhcNNDQwNzE4MTk1NTM0 +WjCBnjEXMBUGA1UEAwwOSW50ZXJtZWRpYXRlQ0ExEzARBgNVBAgMCkNhbGlmb3Ju +aWExCzAJBgNVBAYTAlVTMSIwIAYJKoZIhvcNAQkBFhNkZXZAa3VkdS5hcGFjaGUu +b3JnMSMwIQYDVQQKDBpBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjEYMBYGA1UE +CwwPSW50ZXJtZWRpYXRlIENBMIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIECgKC +BAEAwpQU6QayDO4u4/oYTO99GBRomJC2vC7NnuTmcg6Y/vYv76cU4I12adZsbQHZ +kCWIwqQqpJeEPfzmr6HwX5FfSmUVGj6eTNpTM+ZzojAlEe2hUteU+NHW6yYrlyqO ++EMTRgdd4zirJa7TcYj+GyEL9Hk0sEKtD98wU1WUVgyu9HyxR2A6iAGLf0wraU/7 +XbO0tMRLG829kQp+TgKIfs/96/HeUNS6++H7SxdWR8fCZzwDy+s5Tah25hmwVumU +eZ2zPES8zGyp9v69bJD9CtJxPWKnMcXYDZ18Cag+WVWjTWrV+1VdpPCD8Jnv8eDU +hw2xOi0xStDB3+XP4d1l0IQHlTPTp/ViELJmHiGXZBh0lYGrDYyqx6Y6wGKv72Pr +OvKzXtWrfoIDjSu2QBKm4Lj8MAbEe6tvtBAUXtMMYFCpfHZHc7IF1eF3ffThsS// +LTHiEG/rU7MSoU0i7CMVO52v7TdWIwMJJQBao+u5duaFlCu8CpllxhLmOjyNUYCO +7QyvxAm+60DEDYj3yh16tnwKj8lNEyBrr2yFL0G8YFYC0ILy2Sp1qoXifAFWOY9p +nFudkPSmsbXTn9wZI2iXQQF6K7DdjsWxo6m+ovRg9MDRjquGSo1Ag39fp7E+OcRO +9q+8eq91mBGRTcYucga3erbkQgaeCka2Dlbo6QWZ2KQ4G9E1E139oBUOykBqaiU+ +LoDF/7AA5LUT/aMkM1YEWeubGBI9d9AEAb5JQqP/aIiivujB7gfmsFJZeKEgXs21 +rbKg7ouvMIfSDeElJAP+DIpKNOVVq6xm8Pyhc5Ua6JddW9uozS8IEIzv8J05E461 +MO+fqbExLM1FsN+cwDzt13CEcz88e3z121xwrEwWVsqLjwxnicA71vHpMJTbl/lS ++KiE7dOSN0jFKfULnRnn0I8bNSvZg1H/vASBqRmSGLRBhnUsgFhcuYmBeQmJNVIn ++h2AiCWOjp7xQBgt1EVwxp55nf7LsF0SYL+IKDy94d0pkzSfFEEkEpKY0K1GaIdX +WEqGK/SbRY3I9CeFwtApI9D1Rbo4tPedfviyajZJXDUctGbiu94eoMSC3HSfaOmv +H+tTizhncLKoeiAUZMMli9OF07DrhQZcQWAMUEwKL0/dmomUVdDMS+QOyNnUbJ4i +l2GqnM81BtyKGGjZkyMwk6W61vyfa+bMBpyXD3BzlBtzPmI/DtpOpFjSfaJPP7cK +eR/DYq0887TIfA+ayph4YISdJgzfdI/c2QFvCZToM7ZvXUNpGNMuc9u5clEqu3T+ +EUKMZAbiGjLPgcuusPJtT0P3RxP5haTaqZhfU0+MbFSFl7zlS6uE5DEvgEflRpcO +uY1kw+vT4H7G8N7GbvIUqACm7wIDAQABo4IB1DCCAdAwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU8KoLF6T782Du0ciPgirVuM9G8ogwHwYDVR0jBBgwFoAUmUUY +9ijGZnIWADolnZMk/zKzhxkwCwYDVR0PBAQDAgGmMBMGA1UdJQQMMAoGCCsGAQUF +BwMBMGwGA1UdHwRlMGMwMqAwoC6GLGh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29t +L1NwYXJrbGluZ1Jvb3QuY3JsMC2gK6AphidodHRwOi8vcGtpLmJhY2t1cC5jb20v +U3BhcmtsaW5nUm9vdC5jcmwwFAYDVR0RBA0wC4IJbG9jYWxob3N0MIHWBggrBgEF +BQcBAQSByTCBxjA4BggrBgEFBQcwAoYsaHR0cDovL3BraS5zcGFya2xpbmdjYS5j +b20vU3BhcmtsaW5nUm9vdC5jcnQwMwYIKwYBBQUHMAKGJ2h0dHA6Ly9wa2kuYmFj +a3VwLmNvbS9TcGFya2xpbmdSb290LmNydDAsBggrBgEFBQcwAYYgaHR0cDovL3Br +aS5zcGFya2xpbmdjYS5jb20vb2NzcC8wJwYIKwYBBQUHMAGGG2h0dHA6Ly9wa2ku +YmFja3VwLmNvbS9vY3NwLzANBgkqhkiG9w0BAQsFAAOCBAEAMOckms25gifFNM4X +O1T77aU/JiaK2Wp2baS7+iRN1d/5ajxFCWBg7i8J8lWw1harx3ri5htOC4hA8luI +EtKZjPtwfCvFl1vfG4huM1VPhqCV341N7liIyHidm0EAlg+yKGr8ncrjjFJ0fvVt +3o0K+d6gYZ4KP6j1bxB5HFC+vMIyee4eAe1m8lTZZFB8ZkjtJroIjZxfqUwBqWTS +snSARFttQr5U+Xu+oqcbwpIyLfWT3xIDjSupXkbu86Dte3dHatQxBspd9IxrRQpb +gU4KGQVtxbakHU2xsjbUmHlUZR1A77AsQYBHGp1o3wSb81WT765i96oGno3IHE+q +M36VwE9phS450eUfOVYySGaBGn5aDP3hVnX+R7xnCI9Gs9+dzR5xDo+tETvCqSvo +m+foGkjK8a3wkF9kVD/Vwm1rYpNQ0aTrZuWszSbs6V6uqnf2HOFJOoWr7QoMCTTp +MQEj/hAXH03ueq2M+BC0nits2+h8XkjuL6Ss34vlzECAs+XScLk2gjUUH+XwaoRN +H3hgEXp481yfW5m6jjc/nwVza6c8vfcgF9f4atGFkOF+kp5MJWP5z3bveGxqsfTY +q17gRGwtmInlO5GB1e8SWuOtM177SUoykiC0O6mtDg82ptEHdpQf0KAthpId0ulU +lg4n0uXFVweqAsVUGi+Ii0GcNyWlfxEikf19ERBbjrtCfYgeJjcjjDwjQhff3InZ +cOMdZtIXSiahlhBBE6aXSkCn46C15rPqO+8aUrTAkWeIWVt8OiqzRsbXwrjj/yhK +xktRpD+v6ZLviudhxU1wnGzPMADyVend1LzfOvD9kFvqgebldj4+oDg3hyH1cqXe +/lEOO+epB2yo14tsGqzOnSmS2F3rFfOUVZdj6yUMLiSyKnrJ/76VKh0LBexPFbvb +GNunZDGHQ8Y++zRjsskhMcY729ABMK17x7kBeOqaJ1o8yi1HrKufOXiKdHILBZ+K +0cpU/r3YaK7OdcY3P5ne4w1XtqY17FT+LuNCiSJDI0SX4gg4PVTFCn6no91USCaw +aTyx9C0abcSJCUXZIZG4Dxj0qxJr/jzH/RshLTOsn0WVQowkaTMTVTArHi3e0oGL +HdhgN+CRdfE8RK+HrW9DuMCfXzWHDvhbi2lx+jSi76PRhBCK1XDmLG1nVaFwr1o9 +CzH8e7OJB7E7E+r21ecGzvc9CuKcvLLTkhaLhsoCLBe9EmfvMX1gtwbUHdYAx+Y7 +Q8FP3DaDfUmF1TGgncXBoQpab7MzEeIGtFYtFteKWrAgVCwpX2R1CJVYXCgkaDmx +iWoTwpGpXm8usNpvIyIMwqU14NcCmZEzCZT62UFzfvB7nivLhoZTl2VbDB10xf8p +TnPf5g== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -MIILaTCCB1GgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYQxCzAJBgNVBAYTAkFT -MRIwEAYDVQQIDAlBU0Rma2pkaGYxDzANBgNVBAcMBmxza2RqZjEQMA4GA1UECgwH -c2FsZGZqYTEOMAwGA1UECwwFc2tkamYxEjAQBgNVBAMMCWxvY2FsaG9zdDEaMBgG -CSqGSIb3DQEJARYLc2FkamZsa2Fkc2owHhcNMjMwNzA1MTMwMzU5WhcNMjUwNzA0 -MTMwMzU5WjB1MRIwEAYDVQQDDAlsb2NhbGhvc3QxEDAOBgNVBAgMB3NhZGZqYXMx -CzAJBgNVBAYTAkFTMRkwFwYJKoZIhvcNAQkBFgpzZGZsa2RzYWpmMRMwEQYDVQQK -DApsc2tkZmpsc2FkMRAwDgYDVQQLDAdzbGRma2phMIIEIjANBgkqhkiG9w0BAQEF -AAOCBA8AMIIECgKCBAEApwUqxdXFSIg463ke4OHwkOFp6vDX8el4iCJDQYHl5+Mj -1apFN0PCqSggF/mkwdXmsMYHHlP8+3RiVsd2I+cNB6NEUj368OCgIgbvzCOlaLCx -LTZE2dLlRgSPPXPFTlNMnCP7tnrIZYAm/xnZgvfoHa3YsU9kRAbKwbKahdVvo7V4 -TWWfvokmR92lF2YMEOrMTaUgKcW6DxF5zdC1Phvepx3uXnAs/Hg8pOVp6DZ+RUqd -0JRBUhEJk0wM5hnRni/E/ZKe7OO/OGjXR2SAs8BInjCZtWBxEjbTCdEkvjsYRetg -CeopWzeHGN/BYnKVQi7hyL8jutFvGNBqX5gyvi9f8rlNvCZdsXyQ8HC1AslUw25/ -qnwIRmBJKv5WfWUMsyzID+QkDgM3/Z4kd41uQwq/jWnEWtqLw6xcV/aQxyw5mhmJ -vqK4Vx6uxa8Eif2FDFxftX7setiiIW88S1b/rSGQTcxxh0tGgNkM1nZi6D2eCzqM -riLzou6Pywhy+49i78by8T19wZsy5FrITx7x2s9dhWG9dxD7SSmMjtQqqeinX7Eg -AO2fjv+pyqre20tN40IPaJhc7dl7T33VL7pdTKjLgxcTJLORXgHDnd8mbU9SXLM2 -fjQecBuzgIrgUk1FDRz7pDMPsOsWvOwa9JLhykL+5USyHr0WVFEoYQNZ3UHShhtv -6EQk+/y1QFWEsjzVReuHuVGbWfRSuL58nz1HNOECXiP+lrB6dQEWzuQbaapiXnV4 -kRxFFjxdF9BwI+gRf4uGX92P8cBue7MKIcIq7j0gks6YXEPgdooFOIJj171XbtvY -j3jxWLbQVXuLyhMf4ftrLNGM/ku2Edp6nRd1m2dDeVHsCT27BkmvUUa3xVqv3/gO -V9mF9KtjNYrTXX8OTBnjDGAYWA+lxS4/OsejS3D9W9k0RAhlTorsF71gZhi5T78F -3voIPlQG2PR5bbB+kaNwsc+AtY6K4RgaiXLil39S+7dKG/N9NDqbuCVgpQzvzCWs -lliGpSr2oTWbcIbXK1UQjNTEy/hLR8WxmUcWfzI2vk+mwwRG2p55CwOD1G9KTrDv -6wPfXKZceqFmH9jkCt/iPPRVVrMbtNwzz7Q2sEh3fi6DRzA3gjErl3jMbcfU4YJx -9HfC1mNCJJuLvjhrQRjrcrocEPSgv2EPJkRo8XNZgVwi5syEY+3cRKsIOFRj2IAe -6nppW0Pe1uwpqqdoURGI9BE0r5D0lIY19qTO2M4qMGBW0oedHO4rnQt4y3MBQzi8 -sLb4Z5A+KjSB6XECgEq8m+Wwj4K6olMm7YluTspyzE8Nqwg2kH2SXY4wf98bQDSf -gVg5u4JsC3lPQRAtan/1yffgFO3e+shp15tuWshknwIDAQABo4IB8TCCAe0wDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU244rpvoJhKafs083DFvHum9HwWUwHwYD -VR0jBBgwFoAUyIG2Gvtv1hr/8jrdJvVXLG6x+TAwCwYDVR0PBAQDAgGmMBMGA1Ud -JQQMMAoGCCsGAQUFBwMBMGwGA1UdHwRlMGMwMqAwoC6GLGh0dHA6Ly9wa2kuc3Bh -cmtsaW5nY2EuY29tL1NwYXJrbGluZ1Jvb3QuY3JsMC2gK6AphidodHRwOi8vcGtp -LmJhY2t1cC5jb20vU3BhcmtsaW5nUm9vdC5jcmwwMQYDVR0RBCowKIIJbG9jYWxo -b3N0ghtTcGFya2xpbmcgQ0EgSW50ZXJtaWRpYXRlIDEwgdYGCCsGAQUFBwEBBIHJ -MIHGMDgGCCsGAQUFBzAChixodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNvbS9TcGFy -a2xpbmdSb290LmNydDAzBggrBgEFBQcwAoYnaHR0cDovL3BraS5iYWNrdXAuY29t -L1NwYXJrbGluZ1Jvb3QuY3J0MCwGCCsGAQUFBzABhiBodHRwOi8vcGtpLnNwYXJr -bGluZ2NhLmNvbS9vY3NwLzAnBggrBgEFBQcwAYYbaHR0cDovL3BraS5iYWNrdXAu -Y29tL29jc3AvMA0GCSqGSIb3DQEBCwUAA4IEAQAZQf83aVYyirjmTwV8Rsi9iLzs -izFSwMUNoGNEn+5lb3VzCLDBFXRG8vymhVG7wTxGIKjbpajyJgfDzns1lgBrrqK8 -+5DH2fA98OEDMmwlq41QcXZHxn6Q6futJifPz4+c7GRq3Z0XNlOyqExX4feVry1g -LcIM3vS6Q6UC47KCFrhJMNiQUPdQe7puitrUt22pdnkhAMPYjIpPUGD/H6jKWdiJ -BJhsdPjzsODlcNXUb5xQxRfd+C5D7HXIRotjl8L0r388HGZ/VEcETaxJdeAzAa3t -L6Rd5T0zMlYxhWfQiekr2xIO379T6oh/LD/FV+8sQD1vWrwVkmYxINiKsiJnVBa3 -lDmT8iDqdfvmfvBqg/Nf7lAcAwlAFUExHYfKj9QdOFK080I4qZbajW9s4xd/xj8K -LmcpWRqSEPHEicc3OJ0QJ8Du1vvKVkzBvx7/PScAd/NZilrI1ZXTCQt+VNlmnYSD -ZFM/I9P1GCjR1orXS/t75ktyyEMiCVT7fo0ppB0d7S+xBcLkzUV5D6y3KnQI3t2C -U48e2QbeEutswSm3v7JysY4uEDBnQqftiFwTTIN+PDnkvnntw3yAAowVqY2hhOvs -JEmlre5xRWZMq7w7nCDx/p8ciUJZvfeCwFlSwTA8aSWcmuudQ1vfJdx9Z++zO/qH -h/7Aw3aBSaMtHA7Bdg7Z3993vLwE8p2TyPsOOzFEAXFX0iFuWoDCO/gu+c3mIDDv -1+pB4WORTuzb+UUr1CFyDhjtFOCbGnLpSn1Jl2WMY8uRfviW49nwwPL7oxiDdMBr -TialbjmwRDOPSgS9OoCV3gqZp/ygEBi0S+xHJ2EfGB/TrgZjQcDZI+fPqTnGxf9Z -e17ROC3M3uZWwD2KMw2cIFyL1g3FeUyyhFm3BMn05muKhsAucy/mpcgPsjVO29h7 -lHaW4VsFF+zJLEDOpURKPQbjmSP27VLT0W0V/YTDmhtiuhgi91+QeOgI6RPbxo96 -ubabcoPbkVaG8+HEXZd+rBBYX9fEvQ8HXzgzPcWqApfnQrbm0r4HVzKM4ekEaxwD -gime6wkeJfbcMmiT8Y/dTyxARWlPwNigU+e5xj8ckRlumK/jLOE94extC9fUINPs -lwTrp+mnDyC97h+G5B5gszJ+S6XkneyYWqgGLtwyI/mmI4AaVNKIvsK0v1916tjD -Ky3hFhCJfXGiuqZGu81SmUIcFnz6EgSDOpXFePbl/IMyW1zkihrh3brSEHr+PYym -++7QNAh8RsheF3aX6l3K1iuGmsDBM/bLRAL2qTklBy0zi7hwFs2KjDmoFYZ6f6Po -uzsEffG9Yyns4Qia47NitM2/tnMm/QLc+C32qCJUQ68xDkG7E4Ay98CCUNBd +MIIJ4TCCBcmgAwIBAgIUEDOKKRnqgWhlJ5Wuuw6V1PNjCxEwDQYJKoZIhvcNAQEL +BQAwfzELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxIzAhBgNVBAoM +GkFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uMRIwEAYDVQQDDAkxMjcuMC4wLjEx +IjAgBgkqhkiG9w0BCQEWE2RldkBrdWR1LmFwYWNoZS5vcmcwIBcNMjQwNzIzMTc1 +MDExWhgPMjEyNDA2MjkxNzUwMTFaMH8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApT +b21lLVN0YXRlMSMwIQYDVQQKDBpBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjES +MBAGA1UEAwwJMTI3LjAuMC4xMSIwIAYJKoZIhvcNAQkBFhNkZXZAa3VkdS5hcGFj +aGUub3JnMIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIECgKCBAEA5LSzTp5Jg1OK +uFkAsAofiOxnoUPzH/e1hadFKgxM4gtix3nC4TVUz+xUJKxRUS6ka+Ft2i1wfPH0 +VEKROUQUK3UufWK1GvTpUclKoQmZ7/aNBn7Qj8ZsPi2ZWq6yW6aESVlwUS+DBz4S +pPXOBlxmCnSFL8ettCYuu76pUjrdSkWl6yNvv+zOGwdtIBadJCITZ6dhENK/vZs1 +15IWfHhToAGBu57rsWl6qA09IHGRpvfe6Laju8QlzmoPUtpwhB3PtLZw4rHDt4s5 +tEWG4LIxLyVwG55Odo2dsG3xJQFkwS8l8gsyK9kSvC5J/Qji3disfmmdXRObKK/4 +QQGABBeQB0UOM7pE/GhCV9UGpJK6BN8BXK8Or3jJBkdbwAWBTZ1mzhGzykZG2eg4 +5RbS4sRYOkuD5EZH/0kGBiL8mitTZjlI81+1hDVwr2SN3EPUqWjiw5yC6sVof1IX +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 -----END CERTIFICATE----- )"; @@ -845,6 +849,7 @@ uzsEffG9Yyns4Qia47NitM2/tnMm/QLc+C32qCJUQ68xDkG7E4Ay98CCUNBd // * in 'openssl req' commands the '-sha256' switch is omitted // * the commonName in 'openssl ca' is set to 'localhost' // * in ca.conf [alt_names] DNS.0 is set to 'localhost' +// * validity in ca.conf is set to 7200 // // Note about the cert nomenclature: // @@ -865,231 +870,233 @@ Status CreateTestSSLCertWithChainSignedByRoot(const string& dir, string* ca_cert_file) { const char* kCert = R"( -----BEGIN CERTIFICATE----- -MIIJbTCCBVWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwdTESMBAGA1UEAwwJbG9j -YWxob3N0MRAwDgYDVQQIDAdzYWRmamFzMQswCQYDVQQGEwJBUzEZMBcGCSqGSIb3 -DQEJARYKc2RmbGtkc2FqZjETMBEGA1UECgwKbHNrZGZqbHNhZDEQMA4GA1UECwwH -c2xkZmtqYTAeFw0yMzA3MDUxMzA1NTdaFw0yNDA3MDQxMzA1NTdaMHgxEjAQBgNV -BAMMCWxvY2FsaG9zdDERMA8GA1UECAwIc2FramRmaGExCzAJBgNVBAYTAkFTMRkw -FwYJKoZIhvcNAQkBFgpzamRoZmtzZGFmMRQwEgYDVQQKDAtsa3NhamRmaGFsczER -MA8GA1UECwwIanNkaGZrYXMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCkqsJ6lPQ1cbocrp60iUUOj2JBAAc6XJ7PcT0HszSGI8xjWFPByrNKbh9CUF1h -ulch6QbI/u+3pkBb0HkpvsjU2yPP6Qgn0/SxE1GNbARE9tyDWU/NBIqvq40rqfXe -OygQNkOYRHv5bql2Mk1U/xbtLOkYE8yf03PuChkgm5OQmY1YFBtmPlTwSutbeUG4 -KxsQITbnIFnsNC8cZzhGlaTk55xDWMUsGw1f6CT5OwNuSBxmpBp2HnwvEfpKEqBD -OOAa7N6gzn4CfDIJGDC3/s5WiLGagDgVjTyHyGN+KZd02U1Pnk5sG9OFitDSGa3d -aKuOGOAuphfYvqgaZKptQJ2heBjDPWYxRD3x/I60VpCOj0o+syCZhcgcIMDbjA+C -5lYRzJZkO9QQ0bEHlTq+ks7hZCGpx7sE9KDD0AsYB6fapcMg/rTHNsu8nfaDWWD4 -xesQrchvFZYgTOmH/I2JUkxqVmv1uRIx0akANhn5GdqfJ1Uif1OwMikNKaA0M2Ve -KKKI/y5/kFEMsew2j0Zh6RaM4k0fWB6MQHFAvwsF5ptoXnBq1K01w4jvdTnUb8gm -NUPjg+bQANxDzYxruH9KtgVw3zfm00Exz2R9CXKaB7gPtKzFFxqesimH+BbP3rDP -MU5rzv8HWJ0Hn97Njw+C9g0pDXrZ97HI5ieUqTN8EgjbkQIDAQABo4ICAjCCAf4w -DAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUSWPWrk7iay2FSnQm2gBh877P/VMwHwYD -VR0jBBgwFoAU244rpvoJhKafs083DFvHum9HwWUwCwYDVR0PBAQDAgWgMBMGA1Ud -JQQMMAoGCCsGAQUFBwMBMH4GA1UdHwR3MHUwO6A5oDeGNWh0dHA6Ly9wa2kuc3Bh -cmtsaW5nY2EuY29tL1NwYXJrbGluZ0ludGVybWlkaWF0ZTEuY3JsMDagNKAyhjBo -dHRwOi8vcGtpLmJhY2t1cC5jb20vU3BhcmtsaW5nSW50ZXJtaWRpYXRlMS5jcmww -IQYDVR0RBBowGIIJbG9jYWxob3N0ggtleGFtcGxlLm9yZzCB6AYIKwYBBQUHAQEE -gdswgdgwQQYIKwYBBQUHMAKGNWh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29tL1Nw -YXJrbGluZ0ludGVybWVkaWF0ZTEuY3J0MDwGCCsGAQUFBzAChjBodHRwOi8vcGtp -LmJhY2t1cC5jb20vU3BhcmtsaW5nSW50ZXJtZWRpYXRlMS5jcnQwLAYIKwYBBQUH -MAGGIGh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29tL29jc3AvMCcGCCsGAQUFBzAB -hhtodHRwOi8vcGtpLmJhY2t1cC5jb20vb2NzcC8wDQYJKoZIhvcNAQELBQADggQB -AGgLQs+32qSCMY7LqLQZbsn0l989NWrHl4Nn60ftLe/VyQ5w9pP1QnQ+epoRwiY7 -Gd6U+2fFtzeJOD3N4ckAzw3hJQh0uSDgGglI/S3zZLNOm80QE5+aJr8/YaHH3BIR -cYkhMHiGg4/Dijq1hCKsnqTmZE1JLmVWFezopmKJYOABw9lgbMceFiUtxsAhaLJA -rW98SkznrFos7KovtDkX8tZpuJqkqThyvOhZAbE0LkIXug3s7ShB1id7jfDrPAFd -iph0BkcU9iWLmochuZITSe9yRMbbhS38PYwnXQ35B1PPtc+wCKAMKP6RT357GqZq -HTPpD9vembZm6Db/IW4j4wLMrk12DPNQbh70cCsW16fO/CpNL+l7fP4lakvC4iu4 -zFQ93XuoAtwp3VSjH3l3dHr9CjSERdnBBAXBjVIHR3bu3iFlueDIzT7Gb/G4VNCn -ylJllZ8D7vcKdPyBYNV9ako1TFIHdFT5g/XvyPotPgBZa8E3FciMU/MfVds0hdmG -Yizx0T5atH3/IdYW7EXhgsBjWD6Tlscyxptb1e+JWPL1N3E7IexFH5xp+jfvrHLn -xTuabhLjsIeaEKWV5DXO3yQrFcrq4JhMZ/A+cQuOUrHfiB6eqDq2yXSTflQh07qB -j/GWHgu6o5bHVFsv2sVIBbM+vP6Upa4trUHZNsgPOwnD7vb8GHNAjxxx41goy9gI -X3TQ1P8zpE/msKCVDOscwObx2h8OTQ6jgWYRp2EK+Qp2FnKNxrdr0N7q2U2gzyao -fkApVgFmG36N2v7Gi3Dn3Lfsc1bFfd7wGjDx8s8CIBf3GxaL1RsN2rzvZoJIl7d5 -8a4qXHlYcshgJTG6oMLRR+c3Cq3bkMtfU7Y5VYcPH9NcvtYnDhzLxuWQZPXZJ4Wl -F9z3Uhy4/Z7DHiR18H7fTCNv5zA0xhOUiMhRUuji5y6ip0t4KK6HtbTsjA7ozzTJ -MHYuuB7fXxfY0hkL02gysnhjRN0KghajJwKZFGFqGjj7N1StI9lPgE6Jqs3UyszV -JqtrJrAdIrySwFncyZMYll4SujNPS/IOL5/DcOI2JeKt/QlZv3+zfNaC+HOJcbdy -wU9SReth3cXZCUPu59wZNFIVhVFolRQCQwLFx01AeQ9IDV0pgvDrfF/BiSScZrSo -b9eFhBWOy05GV3Fln2FIEWuqdWX2iQ6bpkpi5QauTp0c4RR1ZXKBtjkqUo98s20R -QEPLaPxSCusmpszGiSzyrOFStUo769/Yk+WPHpoLM3KsAz1Cs936rcwRPICqlGn/ -eblcwS7LxM1UuYuD9FtZKJNXZENosOchV2bNxWCKNkrKqwcNA/S4UFgeOQCdgyUL -aMGMNFdwc2dmKcFTNJySMc0= +MIIJoTCCBYmgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZ4xFzAVBgNVBAMMDklu +dGVybWVkaWF0ZUNBMRMwEQYDVQQIDApDYWxpZm9ybmlhMQswCQYDVQQGEwJVUzEi +MCAGCSqGSIb3DQEJARYTZGV2QGt1ZHUuYXBhY2hlLm9yZzEjMCEGA1UECgwaQXBh +Y2hlIFNvZnR3YXJlIEZvdW5kYXRpb24xGDAWBgNVBAsMD0ludGVybWVkaWF0ZSBD +QTAeFw0yNDA3MjMxOTU4MTlaFw00NDA0MDkxOTU4MTlaMIGOMRIwEAYDVQQDDAkx +MjcuMC4wLjExEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMSIwIAYJ +KoZIhvcNAQkBFhNkZXZAa3VkdS5hcGFjaGUub3JnMSMwIQYDVQQKDBpBcGFjaGUg +U29mdHdhcmUgRm91bmRhdGlvbjENMAsGA1UECwwES3VkdTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAI/O8ezskBVo/BzldVjkvzJwvDhz6JZe26NU4qGu +bevZiyYKhCBeCJ0bgvEP0tkQ1DCTIPSyWTGNzVrm9a3oJbudsocWGTscdZT7LFPm +oaoMJbVtNVT35iy6TVuBKugrzz4azrrhnsdJnG/Px937yhARDs6AnCB5LNoBgQMd +4cJ41H6xwexqkjgdNQfRAtyHZT0nyjrONTEoZMfNTAbdawYptTz7ft7W8NIDrzAl +lXnTxJc9ycnfF0pbNao1Msw1y0pjuRcE/EKdPQ1VK/B3MdQOlRFSl2BI/B9Jzfe9 +o+WQG984kprb767JWiO4W8DKsT64IgOTCa/1A4ExKAbIqngM4+RrznFhDLxrHvsL +CSH9dCL6VAxQeLxcrQpkekwj9k6qQTlY4J337LHBy3izWmfj4kiVH+EN+Jg8HqIt +1CVP+pMb9eoOXwur98wsYX/1He5/XAaFSrJ486OLz2wYQ5KMYc+xzjG1q8zMhtLA +R8Vn/uPRg0SJATphvs6hRSAbRkz6fdU+HpuAdlqfdOrlQRtL397BTMzA0ksJP/HZ +VhCifsNcXWACr8ue9Seyd1Nrq3dw2oKfQf+oyS18RAf2gpMEGt0gScVWPfsbuFb7 +Twntxiakb1ozfqDpuoOjOgxEQkIWluw/Cm/uYxw7KinAJoZQ6h1NstxDuIczsWyk +F2YhAgMBAAGjggH1MIIB8TAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBR9hKckR8a1 +YQEVfScXpaH1V32UeDAfBgNVHSMEGDAWgBTwqgsXpPvzYO7RyI+CKtW4z0byiDAL +BgNVHQ8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwfgYDVR0fBHcwdTA7oDmg +N4Y1aHR0cDovL3BraS5zcGFya2xpbmdjYS5jb20vU3BhcmtsaW5nSW50ZXJtaWRp +YXRlNS5jcmwwNqA0oDKGMGh0dHA6Ly9wa2kuYmFja3VwLmNvbS9TcGFya2xpbmdJ +bnRlcm1pZGlhdGU1LmNybDAUBgNVHREEDTALgglsb2NhbGhvc3QwgegGCCsGAQUF +BwEBBIHbMIHYMEEGCCsGAQUFBzAChjVodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNv +bS9TcGFya2xpbmdJbnRlcm1lZGlhdGU1LmNydDA8BggrBgEFBQcwAoYwaHR0cDov +L3BraS5iYWNrdXAuY29tL1NwYXJrbGluZ0ludGVybWVkaWF0ZTUuY3J0MCwGCCsG +AQUFBzABhiBodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNvbS9vY3NwLzAnBggrBgEF +BQcwAYYbaHR0cDovL3BraS5iYWNrdXAuY29tL29jc3AvMA0GCSqGSIb3DQEBCwUA +A4IEAQCbWm3Q5suIXBYVkzbU4ClxvkHASayoBoxx5pH5xeC+9IXYHGTwtBRl06NM +E3Koj0vqNTdg0cQnqaqJBjaXNdCRnDSlcs+K1xh/hzgjTLNb7PnVzBg8lauu86CE +eEKsrolAmSTsAEUfwrxiQ8MPJTJLLXN6r15lqCIeFdgKtiM2EPg3rBtTxKIwvpQB +efAAbGI+gp4MlaZULf2695V0GHPdsenydYfYFTc/cCcSJlJi7QSvp3gAIqK5o2A1 +HmoGHQArVcHBAloAbLLQ1nM4l2O1E5J5DZ4mRwhQiE/ShBMVOAEFqSNn+n/q6Z9t +gCy1lgGuWG1/614OvOXROoLhNI6yaDZy5N+LfMKCMP+F2hwLx+id2T9qh2tCBOuO +xG2MxF+sE/4B2oAnQ2S/FFdIarSiKEInyvamg7wtnsEYsG5yL62kwjMcxOhhm1K9 +suAjp8Rq5wZC2Z0esZ5hmQEigtnh815NSILHBH4BNye+b4UTVX3lkg92Q5snsRkn +PMRL728DrIeFOcXiCsVcn/5iPtz+y58Xb8LYoDfNkyTh3EKC3JbheN6Xr+mfiw8u +0AWUCPGFB99X6wgCfKCug2BZ5bT2a4Zc8+PMWRNOG5kd/UqeRLo5zNSZIGPSjYSB +QQYgs31IoRL74sUnfKGdx2iSua7T0946Iph9DU8mQK+NudtrB8UVzgUWzRbx0/wp +SC1zbqCWvrPY8en2w2B+kPJWtRW3sqR4TRJiegjgEdeJu8NrikC+A0hr1Obgckro +NXkwLt4df0wHtj5Vg0w3c+twwlESKErkON4wWaUGKEM8ckdRuHp3K+Hhgo2Y2iUx +Ydd6zOe+X95Zt4bOdPIN8SjhKpc40UIBIaVhma94nEjNXZCbovlSxjP3q59QXXzn +qfMru778lBpC2TZMqmErJ35C6gIvKbM8WbfIOcyj0S17yFVwcjxeLslQXAXvOPZB +lpXF1qy4czCWLI9GTZMV3y6XK5gb55vw8lHze271EPds2nb9E/ntYcULs5uDSwKh +Yni0MtWZN6LY4gIle5L/AstNkk70CeGUYDt3pPB38C/GbZYo1mVEayOQXSW7Ml4K +NFqkf7UW0wfKx2Ki8hR6s6W46iUS8PNtCs3gabZHisJM6FcTIF1FiXWlLZeoEZJW +QIirrEyCZUsgqGedAcyHU4SoHIdGqVpPHol33yr3tNYImS7mViHpusPlgg5bta4d +6NrckJQlrs/zD+rM37xVKIvC8GnH/h3+du9JWCgb2Cn0gyOF1VcZyqJ+xBF2AFY3 +vb0cYv2ddTb+nMIbiARDaEIwG2QYC9uTrtUEBuoob7ObS7ddjNlLhzeGp3NpE9q4 +92AnEo0pFET79a8mYFtcagFruEJ7 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -MIILaTCCB1GgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYQxCzAJBgNVBAYTAkFT -MRIwEAYDVQQIDAlBU0Rma2pkaGYxDzANBgNVBAcMBmxza2RqZjEQMA4GA1UECgwH -c2FsZGZqYTEOMAwGA1UECwwFc2tkamYxEjAQBgNVBAMMCWxvY2FsaG9zdDEaMBgG -CSqGSIb3DQEJARYLc2FkamZsa2Fkc2owHhcNMjMwNzA1MTMwMzU5WhcNMjUwNzA0 -MTMwMzU5WjB1MRIwEAYDVQQDDAlsb2NhbGhvc3QxEDAOBgNVBAgMB3NhZGZqYXMx -CzAJBgNVBAYTAkFTMRkwFwYJKoZIhvcNAQkBFgpzZGZsa2RzYWpmMRMwEQYDVQQK -DApsc2tkZmpsc2FkMRAwDgYDVQQLDAdzbGRma2phMIIEIjANBgkqhkiG9w0BAQEF -AAOCBA8AMIIECgKCBAEApwUqxdXFSIg463ke4OHwkOFp6vDX8el4iCJDQYHl5+Mj -1apFN0PCqSggF/mkwdXmsMYHHlP8+3RiVsd2I+cNB6NEUj368OCgIgbvzCOlaLCx -LTZE2dLlRgSPPXPFTlNMnCP7tnrIZYAm/xnZgvfoHa3YsU9kRAbKwbKahdVvo7V4 -TWWfvokmR92lF2YMEOrMTaUgKcW6DxF5zdC1Phvepx3uXnAs/Hg8pOVp6DZ+RUqd -0JRBUhEJk0wM5hnRni/E/ZKe7OO/OGjXR2SAs8BInjCZtWBxEjbTCdEkvjsYRetg -CeopWzeHGN/BYnKVQi7hyL8jutFvGNBqX5gyvi9f8rlNvCZdsXyQ8HC1AslUw25/ -qnwIRmBJKv5WfWUMsyzID+QkDgM3/Z4kd41uQwq/jWnEWtqLw6xcV/aQxyw5mhmJ -vqK4Vx6uxa8Eif2FDFxftX7setiiIW88S1b/rSGQTcxxh0tGgNkM1nZi6D2eCzqM -riLzou6Pywhy+49i78by8T19wZsy5FrITx7x2s9dhWG9dxD7SSmMjtQqqeinX7Eg -AO2fjv+pyqre20tN40IPaJhc7dl7T33VL7pdTKjLgxcTJLORXgHDnd8mbU9SXLM2 -fjQecBuzgIrgUk1FDRz7pDMPsOsWvOwa9JLhykL+5USyHr0WVFEoYQNZ3UHShhtv -6EQk+/y1QFWEsjzVReuHuVGbWfRSuL58nz1HNOECXiP+lrB6dQEWzuQbaapiXnV4 -kRxFFjxdF9BwI+gRf4uGX92P8cBue7MKIcIq7j0gks6YXEPgdooFOIJj171XbtvY -j3jxWLbQVXuLyhMf4ftrLNGM/ku2Edp6nRd1m2dDeVHsCT27BkmvUUa3xVqv3/gO -V9mF9KtjNYrTXX8OTBnjDGAYWA+lxS4/OsejS3D9W9k0RAhlTorsF71gZhi5T78F -3voIPlQG2PR5bbB+kaNwsc+AtY6K4RgaiXLil39S+7dKG/N9NDqbuCVgpQzvzCWs -lliGpSr2oTWbcIbXK1UQjNTEy/hLR8WxmUcWfzI2vk+mwwRG2p55CwOD1G9KTrDv -6wPfXKZceqFmH9jkCt/iPPRVVrMbtNwzz7Q2sEh3fi6DRzA3gjErl3jMbcfU4YJx -9HfC1mNCJJuLvjhrQRjrcrocEPSgv2EPJkRo8XNZgVwi5syEY+3cRKsIOFRj2IAe -6nppW0Pe1uwpqqdoURGI9BE0r5D0lIY19qTO2M4qMGBW0oedHO4rnQt4y3MBQzi8 -sLb4Z5A+KjSB6XECgEq8m+Wwj4K6olMm7YluTspyzE8Nqwg2kH2SXY4wf98bQDSf -gVg5u4JsC3lPQRAtan/1yffgFO3e+shp15tuWshknwIDAQABo4IB8TCCAe0wDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU244rpvoJhKafs083DFvHum9HwWUwHwYD -VR0jBBgwFoAUyIG2Gvtv1hr/8jrdJvVXLG6x+TAwCwYDVR0PBAQDAgGmMBMGA1Ud -JQQMMAoGCCsGAQUFBwMBMGwGA1UdHwRlMGMwMqAwoC6GLGh0dHA6Ly9wa2kuc3Bh -cmtsaW5nY2EuY29tL1NwYXJrbGluZ1Jvb3QuY3JsMC2gK6AphidodHRwOi8vcGtp -LmJhY2t1cC5jb20vU3BhcmtsaW5nUm9vdC5jcmwwMQYDVR0RBCowKIIJbG9jYWxo -b3N0ghtTcGFya2xpbmcgQ0EgSW50ZXJtaWRpYXRlIDEwgdYGCCsGAQUFBwEBBIHJ -MIHGMDgGCCsGAQUFBzAChixodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNvbS9TcGFy -a2xpbmdSb290LmNydDAzBggrBgEFBQcwAoYnaHR0cDovL3BraS5iYWNrdXAuY29t -L1NwYXJrbGluZ1Jvb3QuY3J0MCwGCCsGAQUFBzABhiBodHRwOi8vcGtpLnNwYXJr -bGluZ2NhLmNvbS9vY3NwLzAnBggrBgEFBQcwAYYbaHR0cDovL3BraS5iYWNrdXAu -Y29tL29jc3AvMA0GCSqGSIb3DQEBCwUAA4IEAQAZQf83aVYyirjmTwV8Rsi9iLzs -izFSwMUNoGNEn+5lb3VzCLDBFXRG8vymhVG7wTxGIKjbpajyJgfDzns1lgBrrqK8 -+5DH2fA98OEDMmwlq41QcXZHxn6Q6futJifPz4+c7GRq3Z0XNlOyqExX4feVry1g -LcIM3vS6Q6UC47KCFrhJMNiQUPdQe7puitrUt22pdnkhAMPYjIpPUGD/H6jKWdiJ -BJhsdPjzsODlcNXUb5xQxRfd+C5D7HXIRotjl8L0r388HGZ/VEcETaxJdeAzAa3t -L6Rd5T0zMlYxhWfQiekr2xIO379T6oh/LD/FV+8sQD1vWrwVkmYxINiKsiJnVBa3 -lDmT8iDqdfvmfvBqg/Nf7lAcAwlAFUExHYfKj9QdOFK080I4qZbajW9s4xd/xj8K -LmcpWRqSEPHEicc3OJ0QJ8Du1vvKVkzBvx7/PScAd/NZilrI1ZXTCQt+VNlmnYSD -ZFM/I9P1GCjR1orXS/t75ktyyEMiCVT7fo0ppB0d7S+xBcLkzUV5D6y3KnQI3t2C -U48e2QbeEutswSm3v7JysY4uEDBnQqftiFwTTIN+PDnkvnntw3yAAowVqY2hhOvs -JEmlre5xRWZMq7w7nCDx/p8ciUJZvfeCwFlSwTA8aSWcmuudQ1vfJdx9Z++zO/qH -h/7Aw3aBSaMtHA7Bdg7Z3993vLwE8p2TyPsOOzFEAXFX0iFuWoDCO/gu+c3mIDDv -1+pB4WORTuzb+UUr1CFyDhjtFOCbGnLpSn1Jl2WMY8uRfviW49nwwPL7oxiDdMBr -TialbjmwRDOPSgS9OoCV3gqZp/ygEBi0S+xHJ2EfGB/TrgZjQcDZI+fPqTnGxf9Z -e17ROC3M3uZWwD2KMw2cIFyL1g3FeUyyhFm3BMn05muKhsAucy/mpcgPsjVO29h7 -lHaW4VsFF+zJLEDOpURKPQbjmSP27VLT0W0V/YTDmhtiuhgi91+QeOgI6RPbxo96 -ubabcoPbkVaG8+HEXZd+rBBYX9fEvQ8HXzgzPcWqApfnQrbm0r4HVzKM4ekEaxwD -gime6wkeJfbcMmiT8Y/dTyxARWlPwNigU+e5xj8ckRlumK/jLOE94extC9fUINPs -lwTrp+mnDyC97h+G5B5gszJ+S6XkneyYWqgGLtwyI/mmI4AaVNKIvsK0v1916tjD -Ky3hFhCJfXGiuqZGu81SmUIcFnz6EgSDOpXFePbl/IMyW1zkihrh3brSEHr+PYym -++7QNAh8RsheF3aX6l3K1iuGmsDBM/bLRAL2qTklBy0zi7hwFs2KjDmoFYZ6f6Po -uzsEffG9Yyns4Qia47NitM2/tnMm/QLc+C32qCJUQ68xDkG7E4Ay98CCUNBd +MIILcDCCB1igAwIBAgICEAQwDQYJKoZIhvcNAQELBQAwfzELMAkGA1UEBhMCVVMx +EzARBgNVBAgMClNvbWUtU3RhdGUxIzAhBgNVBAoMGkFwYWNoZSBTb2Z0d2FyZSBG +b3VuZGF0aW9uMRIwEAYDVQQDDAkxMjcuMC4wLjExIjAgBgkqhkiG9w0BCQEWE2Rl +dkBrdWR1LmFwYWNoZS5vcmcwHhcNMjQwNzIzMTk1NTM0WhcNNDQwNzE4MTk1NTM0 +WjCBnjEXMBUGA1UEAwwOSW50ZXJtZWRpYXRlQ0ExEzARBgNVBAgMCkNhbGlmb3Ju +aWExCzAJBgNVBAYTAlVTMSIwIAYJKoZIhvcNAQkBFhNkZXZAa3VkdS5hcGFjaGUu +b3JnMSMwIQYDVQQKDBpBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjEYMBYGA1UE +CwwPSW50ZXJtZWRpYXRlIENBMIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIECgKC +BAEAwpQU6QayDO4u4/oYTO99GBRomJC2vC7NnuTmcg6Y/vYv76cU4I12adZsbQHZ +kCWIwqQqpJeEPfzmr6HwX5FfSmUVGj6eTNpTM+ZzojAlEe2hUteU+NHW6yYrlyqO ++EMTRgdd4zirJa7TcYj+GyEL9Hk0sEKtD98wU1WUVgyu9HyxR2A6iAGLf0wraU/7 +XbO0tMRLG829kQp+TgKIfs/96/HeUNS6++H7SxdWR8fCZzwDy+s5Tah25hmwVumU +eZ2zPES8zGyp9v69bJD9CtJxPWKnMcXYDZ18Cag+WVWjTWrV+1VdpPCD8Jnv8eDU +hw2xOi0xStDB3+XP4d1l0IQHlTPTp/ViELJmHiGXZBh0lYGrDYyqx6Y6wGKv72Pr +OvKzXtWrfoIDjSu2QBKm4Lj8MAbEe6tvtBAUXtMMYFCpfHZHc7IF1eF3ffThsS// +LTHiEG/rU7MSoU0i7CMVO52v7TdWIwMJJQBao+u5duaFlCu8CpllxhLmOjyNUYCO +7QyvxAm+60DEDYj3yh16tnwKj8lNEyBrr2yFL0G8YFYC0ILy2Sp1qoXifAFWOY9p +nFudkPSmsbXTn9wZI2iXQQF6K7DdjsWxo6m+ovRg9MDRjquGSo1Ag39fp7E+OcRO +9q+8eq91mBGRTcYucga3erbkQgaeCka2Dlbo6QWZ2KQ4G9E1E139oBUOykBqaiU+ +LoDF/7AA5LUT/aMkM1YEWeubGBI9d9AEAb5JQqP/aIiivujB7gfmsFJZeKEgXs21 +rbKg7ouvMIfSDeElJAP+DIpKNOVVq6xm8Pyhc5Ua6JddW9uozS8IEIzv8J05E461 +MO+fqbExLM1FsN+cwDzt13CEcz88e3z121xwrEwWVsqLjwxnicA71vHpMJTbl/lS ++KiE7dOSN0jFKfULnRnn0I8bNSvZg1H/vASBqRmSGLRBhnUsgFhcuYmBeQmJNVIn ++h2AiCWOjp7xQBgt1EVwxp55nf7LsF0SYL+IKDy94d0pkzSfFEEkEpKY0K1GaIdX +WEqGK/SbRY3I9CeFwtApI9D1Rbo4tPedfviyajZJXDUctGbiu94eoMSC3HSfaOmv +H+tTizhncLKoeiAUZMMli9OF07DrhQZcQWAMUEwKL0/dmomUVdDMS+QOyNnUbJ4i +l2GqnM81BtyKGGjZkyMwk6W61vyfa+bMBpyXD3BzlBtzPmI/DtpOpFjSfaJPP7cK +eR/DYq0887TIfA+ayph4YISdJgzfdI/c2QFvCZToM7ZvXUNpGNMuc9u5clEqu3T+ +EUKMZAbiGjLPgcuusPJtT0P3RxP5haTaqZhfU0+MbFSFl7zlS6uE5DEvgEflRpcO +uY1kw+vT4H7G8N7GbvIUqACm7wIDAQABo4IB1DCCAdAwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU8KoLF6T782Du0ciPgirVuM9G8ogwHwYDVR0jBBgwFoAUmUUY +9ijGZnIWADolnZMk/zKzhxkwCwYDVR0PBAQDAgGmMBMGA1UdJQQMMAoGCCsGAQUF +BwMBMGwGA1UdHwRlMGMwMqAwoC6GLGh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29t +L1NwYXJrbGluZ1Jvb3QuY3JsMC2gK6AphidodHRwOi8vcGtpLmJhY2t1cC5jb20v +U3BhcmtsaW5nUm9vdC5jcmwwFAYDVR0RBA0wC4IJbG9jYWxob3N0MIHWBggrBgEF +BQcBAQSByTCBxjA4BggrBgEFBQcwAoYsaHR0cDovL3BraS5zcGFya2xpbmdjYS5j +b20vU3BhcmtsaW5nUm9vdC5jcnQwMwYIKwYBBQUHMAKGJ2h0dHA6Ly9wa2kuYmFj +a3VwLmNvbS9TcGFya2xpbmdSb290LmNydDAsBggrBgEFBQcwAYYgaHR0cDovL3Br +aS5zcGFya2xpbmdjYS5jb20vb2NzcC8wJwYIKwYBBQUHMAGGG2h0dHA6Ly9wa2ku +YmFja3VwLmNvbS9vY3NwLzANBgkqhkiG9w0BAQsFAAOCBAEAMOckms25gifFNM4X +O1T77aU/JiaK2Wp2baS7+iRN1d/5ajxFCWBg7i8J8lWw1harx3ri5htOC4hA8luI +EtKZjPtwfCvFl1vfG4huM1VPhqCV341N7liIyHidm0EAlg+yKGr8ncrjjFJ0fvVt +3o0K+d6gYZ4KP6j1bxB5HFC+vMIyee4eAe1m8lTZZFB8ZkjtJroIjZxfqUwBqWTS +snSARFttQr5U+Xu+oqcbwpIyLfWT3xIDjSupXkbu86Dte3dHatQxBspd9IxrRQpb +gU4KGQVtxbakHU2xsjbUmHlUZR1A77AsQYBHGp1o3wSb81WT765i96oGno3IHE+q +M36VwE9phS450eUfOVYySGaBGn5aDP3hVnX+R7xnCI9Gs9+dzR5xDo+tETvCqSvo +m+foGkjK8a3wkF9kVD/Vwm1rYpNQ0aTrZuWszSbs6V6uqnf2HOFJOoWr7QoMCTTp +MQEj/hAXH03ueq2M+BC0nits2+h8XkjuL6Ss34vlzECAs+XScLk2gjUUH+XwaoRN +H3hgEXp481yfW5m6jjc/nwVza6c8vfcgF9f4atGFkOF+kp5MJWP5z3bveGxqsfTY +q17gRGwtmInlO5GB1e8SWuOtM177SUoykiC0O6mtDg82ptEHdpQf0KAthpId0ulU +lg4n0uXFVweqAsVUGi+Ii0GcNyWlfxEikf19ERBbjrtCfYgeJjcjjDwjQhff3InZ +cOMdZtIXSiahlhBBE6aXSkCn46C15rPqO+8aUrTAkWeIWVt8OiqzRsbXwrjj/yhK +xktRpD+v6ZLviudhxU1wnGzPMADyVend1LzfOvD9kFvqgebldj4+oDg3hyH1cqXe +/lEOO+epB2yo14tsGqzOnSmS2F3rFfOUVZdj6yUMLiSyKnrJ/76VKh0LBexPFbvb +GNunZDGHQ8Y++zRjsskhMcY729ABMK17x7kBeOqaJ1o8yi1HrKufOXiKdHILBZ+K +0cpU/r3YaK7OdcY3P5ne4w1XtqY17FT+LuNCiSJDI0SX4gg4PVTFCn6no91USCaw +aTyx9C0abcSJCUXZIZG4Dxj0qxJr/jzH/RshLTOsn0WVQowkaTMTVTArHi3e0oGL +HdhgN+CRdfE8RK+HrW9DuMCfXzWHDvhbi2lx+jSi76PRhBCK1XDmLG1nVaFwr1o9 +CzH8e7OJB7E7E+r21ecGzvc9CuKcvLLTkhaLhsoCLBe9EmfvMX1gtwbUHdYAx+Y7 +Q8FP3DaDfUmF1TGgncXBoQpab7MzEeIGtFYtFteKWrAgVCwpX2R1CJVYXCgkaDmx +iWoTwpGpXm8usNpvIyIMwqU14NcCmZEzCZT62UFzfvB7nivLhoZTl2VbDB10xf8p +TnPf5g== -----END CERTIFICATE----- )"; const char* kKey = R"( -----BEGIN PRIVATE KEY----- -MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQCkqsJ6lPQ1cboc -rp60iUUOj2JBAAc6XJ7PcT0HszSGI8xjWFPByrNKbh9CUF1hulch6QbI/u+3pkBb -0HkpvsjU2yPP6Qgn0/SxE1GNbARE9tyDWU/NBIqvq40rqfXeOygQNkOYRHv5bql2 -Mk1U/xbtLOkYE8yf03PuChkgm5OQmY1YFBtmPlTwSutbeUG4KxsQITbnIFnsNC8c -ZzhGlaTk55xDWMUsGw1f6CT5OwNuSBxmpBp2HnwvEfpKEqBDOOAa7N6gzn4CfDIJ -GDC3/s5WiLGagDgVjTyHyGN+KZd02U1Pnk5sG9OFitDSGa3daKuOGOAuphfYvqga -ZKptQJ2heBjDPWYxRD3x/I60VpCOj0o+syCZhcgcIMDbjA+C5lYRzJZkO9QQ0bEH -lTq+ks7hZCGpx7sE9KDD0AsYB6fapcMg/rTHNsu8nfaDWWD4xesQrchvFZYgTOmH -/I2JUkxqVmv1uRIx0akANhn5GdqfJ1Uif1OwMikNKaA0M2VeKKKI/y5/kFEMsew2 -j0Zh6RaM4k0fWB6MQHFAvwsF5ptoXnBq1K01w4jvdTnUb8gmNUPjg+bQANxDzYxr -uH9KtgVw3zfm00Exz2R9CXKaB7gPtKzFFxqesimH+BbP3rDPMU5rzv8HWJ0Hn97N -jw+C9g0pDXrZ97HI5ieUqTN8EgjbkQIDAQABAoICAACkXV21jUureZ8NZf7U1tUe -DG3ZNyMm6AdPSlL+N73lpTWDwHCZOln06vcDWvwpUbZq1t8PgRtI+spuam8AVDCp -kQcWU3pdkMoHLyl/12FEiyToM+2yzyYIA+lDPbOt7f8aY6wdxGD/m5J6SDDBteb/ -BxhjQHXWxQRdStnXD9NyOx1OEQC08cQGqmr97nnp+bkzAzV+ZRhhiNOgVHTaET+n -V0w46NGH7V7N7f5dzNG3ulAUPjePXW3L06psDUWQIhTrgaMW3ByZMwyB+m06Yt5F -Y7dZJ+iWwacymCPEqnn7GavXVghrA7r+rcetSzFZCrMVEAlJpW9tnkVqg8Lj0U/B -0kXp8J+XZ+A3nxm+2yyGRgjLfSsP2u21bP/iHM+oP16wk9hlVHWgy49JsTfGzoG8 -n0ey0fJcthUr6OSp3ERkptHXko524F7JMV0R0wf3Hzpejxt7gXsPim5l9Hqd1U14 -TRxh5jkuwu7Zd5wDcpKrBrfxjVOda9oXvDcjjWq1lL0kb0HJJl81+KkmU3+pjvOr -4g/ggNUUYgh/O1eW/YA9BHV3s+nvmKbqblG1jea9I3BczojF95i1NjBcYnW8AqdP -0jYfEctYSUQQDR73ic9BmVyO5cMk032nZmaPt185xY7IvDkNNaXudR7HUDFnSWGZ -mrpDCl5ewzK4a3xY8XifAoIBAQC4yXxf4fPPQacOIn4jdEBVJnYmIYHIMyblaptM -8qh1mSQIlcSoGCV0cqlp8qYyYHh2kiEO5B+EvRCox6wqaku08tbEh7jInZ0XImYU -Gky6t1EdU0J5dqhutlk3hpl4go4wntB+z63s/qeNrKVkamksawcYTeGKe2RieQSb -S53SxWF4TejEnoczUEajIlL1cFZ2cWIoNIuu3wd4yL0pw6dGjAYRcAXQNCCxAYk4 -pWqCNOHlP4J0LyjJ3iG2lWm3Hx2mNTmnXnGjOyVHKWpTf/B36vv877nkq7b4oD5z -WKIN6Sw9xQ5Oov/lwBK1raZtZxt4452waa/o5q4JMbyR3rtzAoIBAQDkIEuInOXN -VxJ+BNNxyczVCEzt9KZkYvj4EMXnOXDO2S2yhTJLzp9emcPJ3qVwgfhFmArb2eW8 -vK/KV88WfYOyQhANGiVnV3FbvHp0rUf0RavCFprMjZOo6oJ5+rUgZW7r1dm7hDjs -qFMuDxTb/5f1KVZMY/Sr1EiMq7J4rr5xvNjJTWW299IhPK9ixIxtnx9VIDsWoiCh -z1p324eYk2sP+ibPbBMbtOlKiNwUidb0gAH59PUbfXiLxOSugj2b+/L2arYk5eSS -0ooM4dGlBnLpyOMRgmBHMENQsS3xfF44M2glEJ6AQ3JQv9aGf0HxMsdOSabSr0GR -T4veAb5S4dPrAoIBAHS8hOAl5FqYhSq+y6UmOcYRSC6KmGybNAVWtcmEurugBU2P -H+95YaARF8mgyzGkFDYD1vKLVwYKUs3tZmxdPnqPtvHtM+U4/RayWn50puiGCq5V -/Pay6XEXrYEQfT/Oanl4uwqBtMS1k7BC0zF+r/apno/SE5vim+ZBwZFB0fBnVU4l -GdmstIjMO/OvKW14jIbC1lnD6EKPDy9U0Xvi6Hf+2Y6GkIWZiNWJvOCWT5T2R4cF -+inf6QquU+n+tgxDkf2APm3nki6mnMQ5+7vIZWe8gXinEW7OtAaZZRqFccsL9TEI -niM7giHol2lCzJLswkQ6t1HNUp31rRiN3Szh4tUCggEAUWEf8O0foV/lbeUk1NvL -YVejseNrlDYmYMADCVhZYMDi52NSrO5ZtfKegJ4XYIpM2e7COOmDZg/dmg43Buvh -li6w8SuZmkL8YmBbQtIp7/8GpadQs5XxzflScFc6VAM7TZAtKxKhB/OIMM8aftyw -BbooWfnyZ3XEJ8J8WUblE0fuAenFVj8Ty92NJ2u8OMLh94kW6x0NDQweVtGOjqRQ -NhPj0mzYaDLiYj9uWzlM4E3l5pg29AaPgTTM61/0wHdhlfw9W+5S2vmWW8AW/IrP -ZYzPTAi5dcvGx7tdC191cRENnuNN16230wyMZ9Bv4q5doRTvGQuCFWdOGvV+Qqzi -3wKCAQAqGpZX8g2YYpZfLTqCnsf4EAW0+PLO/BF9EoTtplPCizaRPXvlzk9sWVKa -I09tFR/61he1t6qTohTRkw+w1FA/lTvFzPIKa3RjX5QPWyIU4yKzLC37TqN+Xlj6 -NJgCoJ6VlwB6vTZqCHasveydQ8n3JkTpFzOaMzZgKFd1LkKjcxA5nbfC1L8okrMx -2BX9Bgrcfm4yzhYSGJGWuRI/OhXxLOSUnF2VfUyuEjDJv4BJFBNObOPCQaJYJ4zG -ERV7fn5RnSttgGGXTMWzim6Y5nut8UOLaNwMUXpY+6G2GoGPDJMg6R5YmnIEm+uX -+WDMk0mCnqqcusrqoAu117IxdSwh +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 +VN9C85/NOQXjpMb0hB6sL9R1HBjcAl8= -----END PRIVATE KEY----- )"; const char* kRootCaCert = R"( -----BEGIN CERTIFICATE----- -MIIJ6zCCBdOgAwIBAgIUBJT3FNCr460eJcwXR0iIH/mxetkwDQYJKoZIhvcNAQEL -BQAwgYQxCzAJBgNVBAYTAkFTMRIwEAYDVQQIDAlBU0Rma2pkaGYxDzANBgNVBAcM -Bmxza2RqZjEQMA4GA1UECgwHc2FsZGZqYTEOMAwGA1UECwwFc2tkamYxEjAQBgNV -BAMMCWxvY2FsaG9zdDEaMBgGCSqGSIb3DQEJARYLc2FkamZsa2Fkc2owHhcNMjMw -NzA1MTI1OTExWhcNMjgwNzA0MTI1OTExWjCBhDELMAkGA1UEBhMCQVMxEjAQBgNV -BAgMCUFTRGZramRoZjEPMA0GA1UEBwwGbHNrZGpmMRAwDgYDVQQKDAdzYWxkZmph -MQ4wDAYDVQQLDAVza2RqZjESMBAGA1UEAwwJbG9jYWxob3N0MRowGAYJKoZIhvcN -AQkBFgtzYWRqZmxrYWRzajCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQB -AKrEx9qsznsLT9V3Mgepk/bxJladCGI/F5me8u8YS68TjHYxTj1GORPMOcXlPIcM -D7pMp5Wu8dQ3OlbvngvLbfPRUWwVGTMnqNDo2u1G3aPP1JXHaW78jCge9ng5CTIA -c+74a7w/uiF+DjujlVGqQwjAmblNbXE++nJOMtiNT0PlCN5RpDwyBoknz14JRvMg -8sD9Mb++TLtiyfnXYKpgXNnoSsGUJw0jTgo3RTKN6+ivG7rS4AnjtXHRBvnYYar6 -XncNl/YNgM3YhHR9wEZOFq51b8t4eCTAgO6YZzNXz9gjLvCSsYkqGSw0Icssim+6 -oq5lfuVQflHbzGWxL8FmzMwKfmA+lUs8Ea+W655FuMVZzszd3QKkQNN2z+SiKMZs -1pZJYrsV7LxFybIlXt05mUNq6mewtfwUc+Gx6fJsmsU9cZlbXBCncCvSNLPTuROM -v/lR0qHKcgrtSUMInBKczsuAw+ZIMEtPmakP1kvUf3yUgSSiaV1/G3TIduRvMzvn -bOwOjZHAn20WpWEHzbUQEeRg2DF6auKS3xpM3p2zBhi8OVlt8bHoeveZpNeQ6Q2w -a0fwjaoLFBQMOGJpaZ1R58b+QyEwhqS5pT+IF7i0pHGsvhJPyqUfJh+yXCzBMnIi -9FwytSZT+1xt2AFVl5coERH6hKIE8bpr6PvvuAdKKahR6PfLj7b0sV6oMh2BMY4H -RtlxKOl5FryZo+kkE/Tya3Qr1oxALMhamqm9ItacODa58d2uOc8hF2koGErlLTNp -DZuVewsqcemWta51eDbItSWruQZXEruHmZdVe1KOyJqM8EkyVOAjpnql5s7xoggL -i2cWEUZ6TCIAWtcgEFbJ4+0c2APuyqxuwWaOKuVYRs0TxMMg7tQlTIwd4SgkxmcI -JWW2MWiqfv/qkkX91fshJqK4/atzxQLdX9fPmne9QjY1fE8YZc8wyqLa6LvhcAVm -qMK+loAy4kSbxXsopm5AKtt3GHyQxULT4yMWcf9AlcH3yLygZWucOax8v/3YpbU+ -J9LHevHbGoQkdhM24vXp49dI+CqbbmDpwYdyaFXp+YAJ7vnGXOE75Eh9KEuxkzFC -cT/ivSlIViYMCnp+DIMdGo1S+bZ9a67iWIE9rInCePIUNZZzxdkjk/Qw3ARnCa0B -ZvHMWkFakJTWckJCqqg7Z2ZvFkZ6X4jEjeLgSZ4mBNnz7VDrqcHxywxHzGs06TzS -yBx3lDxQdWD+fiQn76yubyT9qgzXA/iukgvosXsW/gWliKgjogiBv61YOvVinoC7 -+tbBPidJhJ5VGXSBS/ermbNxCfbstZfcLuuD+DcZQR+AeHYix/68F7hS2WKfnpjR -vCLJzu1MbVZHsQ7X7JPiAMECAwEAAaNTMFEwHQYDVR0OBBYEFMiBthr7b9Ya//I6 -3Sb1VyxusfkwMB8GA1UdIwQYMBaAFMiBthr7b9Ya//I63Sb1VyxusfkwMA8GA1Ud -EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggQBAHW14EKYHOEGLfJ57JOXJsPS -vhNLmaL9mJyHAblA+Z348vdjjGeRaVCGpiIeqVvEfKDT/Wfjyqn5NjlPCuAue32q -HAMvhGoxAJjr/Joe8vTx+E7BXk3pPoHGWO1a1MnbLjFDBXJf8DVpy5QO1usElz53 -4ZlwhkVTVGwt5UJYOHhqZ2sq7M8b8x+lVyH/J6PibH9n2SLLTPgyjFGCKVNiptsr -wgOPVn+5FCP8SI90PB4kzMucAUS5Nr8wAFliJorffm5OkEuxfBGW8LJ3VjnIzwGr -0HISaMrPK4T6xxmEsFyM4r6Q54PlLIIM0P4D1Z5M6lp3yZ8czxXvaPouG6wJQRvb -zLntut4Trm+rJOl14UFZLoD1r13qaVXoOlwDcKRXs4p6QReEci167Uvzs6sAwnz2 -98fT6lPbn8hXsNOooIdNRxzbdqLGadR94QUGzDLe4Ng7cxNP2PD/sHhiQhHMr/0p -UE6YNGBinRHy49DRGm+S6tPQpjRflw7RT/nd4XG2fS6MYx6SpitJN22nXy7RvRLo -RvmC0C9JL/T2qmXmijajdbCOYmOkUgfYFrcdObkwqOgmSAHh7WB14RQpo88Kk32I -GyqHg+z1+L1UqsKxqR6jLvgf3mAc0KA8Z4OEJUUsX/ALats0jPThAgspv3+tDICO -r2wqlSHBZSk0af9r6KRbmzf87S73qSK9BxVJT1GgHxz/BqIzCgOPTs7k5M/xWeDg -U+brGzpoD23w0d3me5NvYL6qpOieZdkRBNvEXTpqHGwWl4+wulneSCJeyOjQgsLe -tGciwqmOpXkzB6wU+vAGdlZTVlrPUqVZG+B6Pn/ykAPbGCOmUJXt2ttj+O+4MxWG -dpnnG5yabANi7SKP6a1HjexbeM/7QVpLpgY1HCjVMANxPcuOKZsCFX0hg9JvutbU -AruH3uZ/DxjuyVGjb/kpfG7Hy9GOo/wp7PRQ5jHE+9VL4ZBfCwiJPdJ0F8kE4RAg -7TVdPrya3+caxqLXv/8Npa3JkiQ5P2TxGUfen0Ntyhisy0XxF0p90fCwJkU7/FSi -AF33HaudqEpNxE9CslZAHwKifOOEO5Is4BZ7yQrro2OMyZEHOlS7M5TyPIOUQkZf -H3RWvK6d/PNoeSJ39HLxRkckcR8bvpPx1GPardwy/j72iDDnM+i1MiADV8Lt4JCN -NiUbU2FUFsSy2d4rZXjqHI9a6Cc4B9B0WYmfzZvXvfImgtBsRO2EQBrzAk2pWCIx -WIZxsoJdIuUZgJA+msn03i6jNXTjAIRNaYeHCj8ow8huTwWh9CCQaEEK4djExAtD -HctyT6USq/z180eiZXCoB3Fa7ywberxuHDxkKgKn8BYY9KQRLfpjnQUgeAbdkDs= +MIIJ4TCCBcmgAwIBAgIUEDOKKRnqgWhlJ5Wuuw6V1PNjCxEwDQYJKoZIhvcNAQEL +BQAwfzELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxIzAhBgNVBAoM +GkFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uMRIwEAYDVQQDDAkxMjcuMC4wLjEx +IjAgBgkqhkiG9w0BCQEWE2RldkBrdWR1LmFwYWNoZS5vcmcwIBcNMjQwNzIzMTc1 +MDExWhgPMjEyNDA2MjkxNzUwMTFaMH8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApT +b21lLVN0YXRlMSMwIQYDVQQKDBpBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjES +MBAGA1UEAwwJMTI3LjAuMC4xMSIwIAYJKoZIhvcNAQkBFhNkZXZAa3VkdS5hcGFj +aGUub3JnMIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIECgKCBAEA5LSzTp5Jg1OK +uFkAsAofiOxnoUPzH/e1hadFKgxM4gtix3nC4TVUz+xUJKxRUS6ka+Ft2i1wfPH0 +VEKROUQUK3UufWK1GvTpUclKoQmZ7/aNBn7Qj8ZsPi2ZWq6yW6aESVlwUS+DBz4S +pPXOBlxmCnSFL8ettCYuu76pUjrdSkWl6yNvv+zOGwdtIBadJCITZ6dhENK/vZs1 +15IWfHhToAGBu57rsWl6qA09IHGRpvfe6Laju8QlzmoPUtpwhB3PtLZw4rHDt4s5 +tEWG4LIxLyVwG55Odo2dsG3xJQFkwS8l8gsyK9kSvC5J/Qji3disfmmdXRObKK/4 +QQGABBeQB0UOM7pE/GhCV9UGpJK6BN8BXK8Or3jJBkdbwAWBTZ1mzhGzykZG2eg4 +5RbS4sRYOkuD5EZH/0kGBiL8mitTZjlI81+1hDVwr2SN3EPUqWjiw5yC6sVof1IX +6LPGdkAsY3F4Lm8QCL4k8i6dZJQSK11vcV6d/rAqEeUYWIQb231I5URps3Rw8XSN +TFuW88Pgmk7saTRrLVtVwHHnaNutBV0VS+7rRPdzLa8q23es7eawMhn2ZNWFPHy5 +mzXaJV942HGUGo4Q1gQ+HskCAXmLGgBD1pde291cXjSNmuNMDi/YeuGkMG86C+Aq +V6e7KdAdD4akLu0U30tgqt6l3EpkKp/QL/81p5b4/gWuHO5NzmFFxnJHMDjEXi22 +nqKgQjr4+oFyTVUxplVaPzaeigmcqvEKcx/fPGe68T5nwaRT1NPebZun+CUimU2c +jLynIP4tqqVcruSFWGrvCgJ11jHUPFGG3xWofP5mVPwhd4LzTq4RzzTRW+uMngYV +gYvDumcJjjV47zB8GG1RNT+sSGZNbi6ieM+QvRME2hXsPMLyjTKjelfHW+FBFagg +5pG3UjmWLr92Cqy5neqV2bUUUFbHfUq8CrR2T2miLNCRMZWo8GZfBAODNVd7/l1Q +8vLfXUooZnYPIlN9pW2Zty/nitAwkR0B2CUum/tFHtXI3n05cRFSs0y/mgWgf37S +o7E+gDiYpyzODGlagxAWaWwIDF2pTS0u2d8eNlhtMDE8y+U7U6epcgMT13U+UyAz +0aSZICGgrGM1svGIpEikIRNN+ECHmd3Jxc0y8p1Cqh+zYAZVWAWi/Y7ya4X5ou2K +T1KCwsyPfIECSJPdIvSw5qyfj+P/FfWUEJG7BeYwKvIWOmQrdGdA1rgviR4SsmCD +aUbZ3kQ8L/bId2/83VfbMW1364uSy9/08t7JxmwBLMSGeCe0mxIyYsFRdYoW9OpE ++yHOkHR2LY9YEcp959u3XWLkpfFXI201mVZmb2mreLxAzLBqQq6U1c7nta07xxcR +x3H2JZ8tQwIDAQABo1MwUTAdBgNVHQ4EFgQUmUUY9ijGZnIWADolnZMk/zKzhxkw +HwYDVR0jBBgwFoAUmUUY9ijGZnIWADolnZMk/zKzhxkwDwYDVR0TAQH/BAUwAwEB +/zANBgkqhkiG9w0BAQsFAAOCBAEAqZB9+Sdn/cm6SkiUrvPzt+nAJJ5/ktyV8Sxt +8GmRH7mNDnI4U0q3qypx12e7DGHr6gbVm/O6DYEpEb4/y4RB7TWXmI9V2sfOlrPQ +w1WZW9J8cn0KGmTSqJpGBjnaSd8Ilcd2v7qiV96kDCTNlmc4Lt2hFIUNTP9ZcvgM +Sb/eSSTRvT3Z4tmBQ68zzAd3sjuWBCNroJbDHo783d9z19kuTQd4F0DM5TnPSQDa +mSU/HKjVR1Uok34JCkSzJe5/I5rwEIkTqPMODfQIFYb4xcj83o0wj6ka7F3V5a0A +RFG0WkUZDTuWScCdo8NonSmBJzmMqhYpn4a4ptVU2aX1b3+zyo6M97tUq8WUvn+b +NI/WjXrth3IalXZdJm69UV5FNkYEp2+6bmgDgNw0/6TrdpMcjW1/+csTrPsI6Rvb +dApueUAqaMhjhe/99o1q9/RPgEyiCJ07U2Jy9l1rngYobBf4DKBKS0gOjsZcgpma +0y9fUjmW6Jo/mtDRcZl1Nmv1dvYK6Urgae9r3kjBxpbTSTt1aRJiRjpKyERNBIBA +8CIe3YnnX5+I9g4tvNQ7+AX6+fRmlfO4rslVv0UHRir0VtsABWSJEVr9fohZL78g +KC03Bf9S/1ZZDsCpWALeukapE72UYwSyiOBAx8s7st5f+ZLaKY4zWfKCiZJAGYmz +xC1Egsl/C1HUCKpU/j/KZjq97iPwN4KaSZb3u2abqm7GIuIM07lE7+tqtYS4oWck +5mZe1UVcLnZs9NaQvWYf6H5bfUZldRFOS/YRK7QWxtxKl833JtjZ3jTIteUkOPcM +vjUE9hkodVLNQTZ0TbxOjeAUrNXLrbNgyGMRWcC/m6axTVIcVICnT0thQrxj6v3L +YuAJMQm+sVz7tLQd+YUKSfeLvVTaJ9WYdCVM/iqXsObjDuUmZIg6po5J0Q7UtKB9 +MuZ/7BFA92JV/Uppdiw0sq2ZB7R37Dut/PfMajjLkHzYCVRRfDm0pSP3NwybdP1+ +vbccK2I9Aug2shA066ZjB/sOPHpkXJE2f6EBID70qX/SOAFg0WoAH5LGLZ/Al9R3 +ImH8kVCVUj/snplxL1gABM/8JeqKtYIEf3ofpJBBr2yWjqAXE3512G8O50tokCrY +/9ljQ0t7qzUQoSfH6/tCo0AI52ipfRbnfA07sEgeRboNbrplUUZgsu5CK0fiGnVe +P35KfSG5zFXuBrjKSl7Z15b/yyga+tk/ssi67+ZqrTDuA295WADcSS+ETAI0Dh22 +JfKoEW12ZDlEhys84FASyLeHD4yxbAgOoJ4GXkm8cNVMz/jzs2A4TE4OJjEPE1ip ++0Uk2C/MsrIvqnS2vWDAUB/Njz+sWHrJw8mspgpd4pW24oY/gA== -----END CERTIFICATE----- )"; @@ -1112,174 +1119,176 @@ Status CreateTestSSLExpiredCertWithChainSignedByRoot(const string& dir, const char* kCert = R"( -----BEGIN CERTIFICATE----- -MIIJbTCCBVWgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwdTESMBAGA1UEAwwJbG9j -YWxob3N0MRAwDgYDVQQIDAdzYWRmamFzMQswCQYDVQQGEwJBUzEZMBcGCSqGSIb3 -DQEJARYKc2RmbGtkc2FqZjETMBEGA1UECgwKbHNrZGZqbHNhZDEQMA4GA1UECwwH -c2xkZmtqYTAeFw0yMzA3MDUxMzA1NTdaFw0yNDA3MDQxMzA1NTdaMHgxEjAQBgNV -BAMMCWxvY2FsaG9zdDERMA8GA1UECAwIc2FramRmaGExCzAJBgNVBAYTAkFTMRkw -FwYJKoZIhvcNAQkBFgpzamRoZmtzZGFmMRQwEgYDVQQKDAtsa3NhamRmaGFsczER -MA8GA1UECwwIanNkaGZrYXMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCkqsJ6lPQ1cbocrp60iUUOj2JBAAc6XJ7PcT0HszSGI8xjWFPByrNKbh9CUF1h -ulch6QbI/u+3pkBb0HkpvsjU2yPP6Qgn0/SxE1GNbARE9tyDWU/NBIqvq40rqfXe -OygQNkOYRHv5bql2Mk1U/xbtLOkYE8yf03PuChkgm5OQmY1YFBtmPlTwSutbeUG4 -KxsQITbnIFnsNC8cZzhGlaTk55xDWMUsGw1f6CT5OwNuSBxmpBp2HnwvEfpKEqBD -OOAa7N6gzn4CfDIJGDC3/s5WiLGagDgVjTyHyGN+KZd02U1Pnk5sG9OFitDSGa3d -aKuOGOAuphfYvqgaZKptQJ2heBjDPWYxRD3x/I60VpCOj0o+syCZhcgcIMDbjA+C -5lYRzJZkO9QQ0bEHlTq+ks7hZCGpx7sE9KDD0AsYB6fapcMg/rTHNsu8nfaDWWD4 -xesQrchvFZYgTOmH/I2JUkxqVmv1uRIx0akANhn5GdqfJ1Uif1OwMikNKaA0M2Ve -KKKI/y5/kFEMsew2j0Zh6RaM4k0fWB6MQHFAvwsF5ptoXnBq1K01w4jvdTnUb8gm -NUPjg+bQANxDzYxruH9KtgVw3zfm00Exz2R9CXKaB7gPtKzFFxqesimH+BbP3rDP -MU5rzv8HWJ0Hn97Njw+C9g0pDXrZ97HI5ieUqTN8EgjbkQIDAQABo4ICAjCCAf4w -DAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUSWPWrk7iay2FSnQm2gBh877P/VMwHwYD -VR0jBBgwFoAU244rpvoJhKafs083DFvHum9HwWUwCwYDVR0PBAQDAgWgMBMGA1Ud -JQQMMAoGCCsGAQUFBwMBMH4GA1UdHwR3MHUwO6A5oDeGNWh0dHA6Ly9wa2kuc3Bh -cmtsaW5nY2EuY29tL1NwYXJrbGluZ0ludGVybWlkaWF0ZTEuY3JsMDagNKAyhjBo -dHRwOi8vcGtpLmJhY2t1cC5jb20vU3BhcmtsaW5nSW50ZXJtaWRpYXRlMS5jcmww -IQYDVR0RBBowGIIJbG9jYWxob3N0ggtleGFtcGxlLm9yZzCB6AYIKwYBBQUHAQEE -gdswgdgwQQYIKwYBBQUHMAKGNWh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29tL1Nw -YXJrbGluZ0ludGVybWVkaWF0ZTEuY3J0MDwGCCsGAQUFBzAChjBodHRwOi8vcGtp -LmJhY2t1cC5jb20vU3BhcmtsaW5nSW50ZXJtZWRpYXRlMS5jcnQwLAYIKwYBBQUH -MAGGIGh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29tL29jc3AvMCcGCCsGAQUFBzAB -hhtodHRwOi8vcGtpLmJhY2t1cC5jb20vb2NzcC8wDQYJKoZIhvcNAQELBQADggQB -AGgLQs+32qSCMY7LqLQZbsn0l989NWrHl4Nn60ftLe/VyQ5w9pP1QnQ+epoRwiY7 -Gd6U+2fFtzeJOD3N4ckAzw3hJQh0uSDgGglI/S3zZLNOm80QE5+aJr8/YaHH3BIR -cYkhMHiGg4/Dijq1hCKsnqTmZE1JLmVWFezopmKJYOABw9lgbMceFiUtxsAhaLJA -rW98SkznrFos7KovtDkX8tZpuJqkqThyvOhZAbE0LkIXug3s7ShB1id7jfDrPAFd -iph0BkcU9iWLmochuZITSe9yRMbbhS38PYwnXQ35B1PPtc+wCKAMKP6RT357GqZq -HTPpD9vembZm6Db/IW4j4wLMrk12DPNQbh70cCsW16fO/CpNL+l7fP4lakvC4iu4 -zFQ93XuoAtwp3VSjH3l3dHr9CjSERdnBBAXBjVIHR3bu3iFlueDIzT7Gb/G4VNCn -ylJllZ8D7vcKdPyBYNV9ako1TFIHdFT5g/XvyPotPgBZa8E3FciMU/MfVds0hdmG -Yizx0T5atH3/IdYW7EXhgsBjWD6Tlscyxptb1e+JWPL1N3E7IexFH5xp+jfvrHLn -xTuabhLjsIeaEKWV5DXO3yQrFcrq4JhMZ/A+cQuOUrHfiB6eqDq2yXSTflQh07qB -j/GWHgu6o5bHVFsv2sVIBbM+vP6Upa4trUHZNsgPOwnD7vb8GHNAjxxx41goy9gI -X3TQ1P8zpE/msKCVDOscwObx2h8OTQ6jgWYRp2EK+Qp2FnKNxrdr0N7q2U2gzyao -fkApVgFmG36N2v7Gi3Dn3Lfsc1bFfd7wGjDx8s8CIBf3GxaL1RsN2rzvZoJIl7d5 -8a4qXHlYcshgJTG6oMLRR+c3Cq3bkMtfU7Y5VYcPH9NcvtYnDhzLxuWQZPXZJ4Wl -F9z3Uhy4/Z7DHiR18H7fTCNv5zA0xhOUiMhRUuji5y6ip0t4KK6HtbTsjA7ozzTJ -MHYuuB7fXxfY0hkL02gysnhjRN0KghajJwKZFGFqGjj7N1StI9lPgE6Jqs3UyszV -JqtrJrAdIrySwFncyZMYll4SujNPS/IOL5/DcOI2JeKt/QlZv3+zfNaC+HOJcbdy -wU9SReth3cXZCUPu59wZNFIVhVFolRQCQwLFx01AeQ9IDV0pgvDrfF/BiSScZrSo -b9eFhBWOy05GV3Fln2FIEWuqdWX2iQ6bpkpi5QauTp0c4RR1ZXKBtjkqUo98s20R -QEPLaPxSCusmpszGiSzyrOFStUo769/Yk+WPHpoLM3KsAz1Cs936rcwRPICqlGn/ -eblcwS7LxM1UuYuD9FtZKJNXZENosOchV2bNxWCKNkrKqwcNA/S4UFgeOQCdgyUL -aMGMNFdwc2dmKcFTNJySMc0= +MIIJoTCCBYmgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZ4xFzAVBgNVBAMMDklu +dGVybWVkaWF0ZUNBMRMwEQYDVQQIDApDYWxpZm9ybmlhMQswCQYDVQQGEwJVUzEi +MCAGCSqGSIb3DQEJARYTZGV2QGt1ZHUuYXBhY2hlLm9yZzEjMCEGA1UECgwaQXBh +Y2hlIFNvZnR3YXJlIEZvdW5kYXRpb24xGDAWBgNVBAsMD0ludGVybWVkaWF0ZSBD +QTAeFw0yNDA3MjMxOTU4MTlaFw00NDA0MDkxOTU4MTlaMIGOMRIwEAYDVQQDDAkx +MjcuMC4wLjExEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMSIwIAYJ +KoZIhvcNAQkBFhNkZXZAa3VkdS5hcGFjaGUub3JnMSMwIQYDVQQKDBpBcGFjaGUg +U29mdHdhcmUgRm91bmRhdGlvbjENMAsGA1UECwwES3VkdTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAI/O8ezskBVo/BzldVjkvzJwvDhz6JZe26NU4qGu +bevZiyYKhCBeCJ0bgvEP0tkQ1DCTIPSyWTGNzVrm9a3oJbudsocWGTscdZT7LFPm +oaoMJbVtNVT35iy6TVuBKugrzz4azrrhnsdJnG/Px937yhARDs6AnCB5LNoBgQMd +4cJ41H6xwexqkjgdNQfRAtyHZT0nyjrONTEoZMfNTAbdawYptTz7ft7W8NIDrzAl +lXnTxJc9ycnfF0pbNao1Msw1y0pjuRcE/EKdPQ1VK/B3MdQOlRFSl2BI/B9Jzfe9 +o+WQG984kprb767JWiO4W8DKsT64IgOTCa/1A4ExKAbIqngM4+RrznFhDLxrHvsL +CSH9dCL6VAxQeLxcrQpkekwj9k6qQTlY4J337LHBy3izWmfj4kiVH+EN+Jg8HqIt +1CVP+pMb9eoOXwur98wsYX/1He5/XAaFSrJ486OLz2wYQ5KMYc+xzjG1q8zMhtLA +R8Vn/uPRg0SJATphvs6hRSAbRkz6fdU+HpuAdlqfdOrlQRtL397BTMzA0ksJP/HZ +VhCifsNcXWACr8ue9Seyd1Nrq3dw2oKfQf+oyS18RAf2gpMEGt0gScVWPfsbuFb7 +Twntxiakb1ozfqDpuoOjOgxEQkIWluw/Cm/uYxw7KinAJoZQ6h1NstxDuIczsWyk +F2YhAgMBAAGjggH1MIIB8TAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBR9hKckR8a1 +YQEVfScXpaH1V32UeDAfBgNVHSMEGDAWgBTwqgsXpPvzYO7RyI+CKtW4z0byiDAL +BgNVHQ8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwfgYDVR0fBHcwdTA7oDmg +N4Y1aHR0cDovL3BraS5zcGFya2xpbmdjYS5jb20vU3BhcmtsaW5nSW50ZXJtaWRp +YXRlNS5jcmwwNqA0oDKGMGh0dHA6Ly9wa2kuYmFja3VwLmNvbS9TcGFya2xpbmdJ +bnRlcm1pZGlhdGU1LmNybDAUBgNVHREEDTALgglsb2NhbGhvc3QwgegGCCsGAQUF +BwEBBIHbMIHYMEEGCCsGAQUFBzAChjVodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNv +bS9TcGFya2xpbmdJbnRlcm1lZGlhdGU1LmNydDA8BggrBgEFBQcwAoYwaHR0cDov +L3BraS5iYWNrdXAuY29tL1NwYXJrbGluZ0ludGVybWVkaWF0ZTUuY3J0MCwGCCsG +AQUFBzABhiBodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNvbS9vY3NwLzAnBggrBgEF +BQcwAYYbaHR0cDovL3BraS5iYWNrdXAuY29tL29jc3AvMA0GCSqGSIb3DQEBCwUA +A4IEAQCbWm3Q5suIXBYVkzbU4ClxvkHASayoBoxx5pH5xeC+9IXYHGTwtBRl06NM +E3Koj0vqNTdg0cQnqaqJBjaXNdCRnDSlcs+K1xh/hzgjTLNb7PnVzBg8lauu86CE +eEKsrolAmSTsAEUfwrxiQ8MPJTJLLXN6r15lqCIeFdgKtiM2EPg3rBtTxKIwvpQB +efAAbGI+gp4MlaZULf2695V0GHPdsenydYfYFTc/cCcSJlJi7QSvp3gAIqK5o2A1 +HmoGHQArVcHBAloAbLLQ1nM4l2O1E5J5DZ4mRwhQiE/ShBMVOAEFqSNn+n/q6Z9t +gCy1lgGuWG1/614OvOXROoLhNI6yaDZy5N+LfMKCMP+F2hwLx+id2T9qh2tCBOuO +xG2MxF+sE/4B2oAnQ2S/FFdIarSiKEInyvamg7wtnsEYsG5yL62kwjMcxOhhm1K9 +suAjp8Rq5wZC2Z0esZ5hmQEigtnh815NSILHBH4BNye+b4UTVX3lkg92Q5snsRkn +PMRL728DrIeFOcXiCsVcn/5iPtz+y58Xb8LYoDfNkyTh3EKC3JbheN6Xr+mfiw8u +0AWUCPGFB99X6wgCfKCug2BZ5bT2a4Zc8+PMWRNOG5kd/UqeRLo5zNSZIGPSjYSB +QQYgs31IoRL74sUnfKGdx2iSua7T0946Iph9DU8mQK+NudtrB8UVzgUWzRbx0/wp +SC1zbqCWvrPY8en2w2B+kPJWtRW3sqR4TRJiegjgEdeJu8NrikC+A0hr1Obgckro +NXkwLt4df0wHtj5Vg0w3c+twwlESKErkON4wWaUGKEM8ckdRuHp3K+Hhgo2Y2iUx +Ydd6zOe+X95Zt4bOdPIN8SjhKpc40UIBIaVhma94nEjNXZCbovlSxjP3q59QXXzn +qfMru778lBpC2TZMqmErJ35C6gIvKbM8WbfIOcyj0S17yFVwcjxeLslQXAXvOPZB +lpXF1qy4czCWLI9GTZMV3y6XK5gb55vw8lHze271EPds2nb9E/ntYcULs5uDSwKh +Yni0MtWZN6LY4gIle5L/AstNkk70CeGUYDt3pPB38C/GbZYo1mVEayOQXSW7Ml4K +NFqkf7UW0wfKx2Ki8hR6s6W46iUS8PNtCs3gabZHisJM6FcTIF1FiXWlLZeoEZJW +QIirrEyCZUsgqGedAcyHU4SoHIdGqVpPHol33yr3tNYImS7mViHpusPlgg5bta4d +6NrckJQlrs/zD+rM37xVKIvC8GnH/h3+du9JWCgb2Cn0gyOF1VcZyqJ+xBF2AFY3 +vb0cYv2ddTb+nMIbiARDaEIwG2QYC9uTrtUEBuoob7ObS7ddjNlLhzeGp3NpE9q4 +92AnEo0pFET79a8mYFtcagFruEJ7 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -MIILaTCCB1GgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYQxCzAJBgNVBAYTAkFT -MRIwEAYDVQQIDAlBU0Rma2pkaGYxDzANBgNVBAcMBmxza2RqZjEQMA4GA1UECgwH -c2FsZGZqYTEOMAwGA1UECwwFc2tkamYxEjAQBgNVBAMMCWxvY2FsaG9zdDEaMBgG -CSqGSIb3DQEJARYLc2FkamZsa2Fkc2owHhcNMjMwNzA1MTMwMzU5WhcNMjUwNzA0 -MTMwMzU5WjB1MRIwEAYDVQQDDAlsb2NhbGhvc3QxEDAOBgNVBAgMB3NhZGZqYXMx -CzAJBgNVBAYTAkFTMRkwFwYJKoZIhvcNAQkBFgpzZGZsa2RzYWpmMRMwEQYDVQQK -DApsc2tkZmpsc2FkMRAwDgYDVQQLDAdzbGRma2phMIIEIjANBgkqhkiG9w0BAQEF -AAOCBA8AMIIECgKCBAEApwUqxdXFSIg463ke4OHwkOFp6vDX8el4iCJDQYHl5+Mj -1apFN0PCqSggF/mkwdXmsMYHHlP8+3RiVsd2I+cNB6NEUj368OCgIgbvzCOlaLCx -LTZE2dLlRgSPPXPFTlNMnCP7tnrIZYAm/xnZgvfoHa3YsU9kRAbKwbKahdVvo7V4 -TWWfvokmR92lF2YMEOrMTaUgKcW6DxF5zdC1Phvepx3uXnAs/Hg8pOVp6DZ+RUqd -0JRBUhEJk0wM5hnRni/E/ZKe7OO/OGjXR2SAs8BInjCZtWBxEjbTCdEkvjsYRetg -CeopWzeHGN/BYnKVQi7hyL8jutFvGNBqX5gyvi9f8rlNvCZdsXyQ8HC1AslUw25/ -qnwIRmBJKv5WfWUMsyzID+QkDgM3/Z4kd41uQwq/jWnEWtqLw6xcV/aQxyw5mhmJ -vqK4Vx6uxa8Eif2FDFxftX7setiiIW88S1b/rSGQTcxxh0tGgNkM1nZi6D2eCzqM -riLzou6Pywhy+49i78by8T19wZsy5FrITx7x2s9dhWG9dxD7SSmMjtQqqeinX7Eg -AO2fjv+pyqre20tN40IPaJhc7dl7T33VL7pdTKjLgxcTJLORXgHDnd8mbU9SXLM2 -fjQecBuzgIrgUk1FDRz7pDMPsOsWvOwa9JLhykL+5USyHr0WVFEoYQNZ3UHShhtv -6EQk+/y1QFWEsjzVReuHuVGbWfRSuL58nz1HNOECXiP+lrB6dQEWzuQbaapiXnV4 -kRxFFjxdF9BwI+gRf4uGX92P8cBue7MKIcIq7j0gks6YXEPgdooFOIJj171XbtvY -j3jxWLbQVXuLyhMf4ftrLNGM/ku2Edp6nRd1m2dDeVHsCT27BkmvUUa3xVqv3/gO -V9mF9KtjNYrTXX8OTBnjDGAYWA+lxS4/OsejS3D9W9k0RAhlTorsF71gZhi5T78F -3voIPlQG2PR5bbB+kaNwsc+AtY6K4RgaiXLil39S+7dKG/N9NDqbuCVgpQzvzCWs -lliGpSr2oTWbcIbXK1UQjNTEy/hLR8WxmUcWfzI2vk+mwwRG2p55CwOD1G9KTrDv -6wPfXKZceqFmH9jkCt/iPPRVVrMbtNwzz7Q2sEh3fi6DRzA3gjErl3jMbcfU4YJx -9HfC1mNCJJuLvjhrQRjrcrocEPSgv2EPJkRo8XNZgVwi5syEY+3cRKsIOFRj2IAe -6nppW0Pe1uwpqqdoURGI9BE0r5D0lIY19qTO2M4qMGBW0oedHO4rnQt4y3MBQzi8 -sLb4Z5A+KjSB6XECgEq8m+Wwj4K6olMm7YluTspyzE8Nqwg2kH2SXY4wf98bQDSf -gVg5u4JsC3lPQRAtan/1yffgFO3e+shp15tuWshknwIDAQABo4IB8TCCAe0wDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU244rpvoJhKafs083DFvHum9HwWUwHwYD -VR0jBBgwFoAUyIG2Gvtv1hr/8jrdJvVXLG6x+TAwCwYDVR0PBAQDAgGmMBMGA1Ud -JQQMMAoGCCsGAQUFBwMBMGwGA1UdHwRlMGMwMqAwoC6GLGh0dHA6Ly9wa2kuc3Bh -cmtsaW5nY2EuY29tL1NwYXJrbGluZ1Jvb3QuY3JsMC2gK6AphidodHRwOi8vcGtp -LmJhY2t1cC5jb20vU3BhcmtsaW5nUm9vdC5jcmwwMQYDVR0RBCowKIIJbG9jYWxo -b3N0ghtTcGFya2xpbmcgQ0EgSW50ZXJtaWRpYXRlIDEwgdYGCCsGAQUFBwEBBIHJ -MIHGMDgGCCsGAQUFBzAChixodHRwOi8vcGtpLnNwYXJrbGluZ2NhLmNvbS9TcGFy -a2xpbmdSb290LmNydDAzBggrBgEFBQcwAoYnaHR0cDovL3BraS5iYWNrdXAuY29t -L1NwYXJrbGluZ1Jvb3QuY3J0MCwGCCsGAQUFBzABhiBodHRwOi8vcGtpLnNwYXJr -bGluZ2NhLmNvbS9vY3NwLzAnBggrBgEFBQcwAYYbaHR0cDovL3BraS5iYWNrdXAu -Y29tL29jc3AvMA0GCSqGSIb3DQEBCwUAA4IEAQAZQf83aVYyirjmTwV8Rsi9iLzs -izFSwMUNoGNEn+5lb3VzCLDBFXRG8vymhVG7wTxGIKjbpajyJgfDzns1lgBrrqK8 -+5DH2fA98OEDMmwlq41QcXZHxn6Q6futJifPz4+c7GRq3Z0XNlOyqExX4feVry1g -LcIM3vS6Q6UC47KCFrhJMNiQUPdQe7puitrUt22pdnkhAMPYjIpPUGD/H6jKWdiJ -BJhsdPjzsODlcNXUb5xQxRfd+C5D7HXIRotjl8L0r388HGZ/VEcETaxJdeAzAa3t -L6Rd5T0zMlYxhWfQiekr2xIO379T6oh/LD/FV+8sQD1vWrwVkmYxINiKsiJnVBa3 -lDmT8iDqdfvmfvBqg/Nf7lAcAwlAFUExHYfKj9QdOFK080I4qZbajW9s4xd/xj8K -LmcpWRqSEPHEicc3OJ0QJ8Du1vvKVkzBvx7/PScAd/NZilrI1ZXTCQt+VNlmnYSD -ZFM/I9P1GCjR1orXS/t75ktyyEMiCVT7fo0ppB0d7S+xBcLkzUV5D6y3KnQI3t2C -U48e2QbeEutswSm3v7JysY4uEDBnQqftiFwTTIN+PDnkvnntw3yAAowVqY2hhOvs -JEmlre5xRWZMq7w7nCDx/p8ciUJZvfeCwFlSwTA8aSWcmuudQ1vfJdx9Z++zO/qH -h/7Aw3aBSaMtHA7Bdg7Z3993vLwE8p2TyPsOOzFEAXFX0iFuWoDCO/gu+c3mIDDv -1+pB4WORTuzb+UUr1CFyDhjtFOCbGnLpSn1Jl2WMY8uRfviW49nwwPL7oxiDdMBr -TialbjmwRDOPSgS9OoCV3gqZp/ygEBi0S+xHJ2EfGB/TrgZjQcDZI+fPqTnGxf9Z -e17ROC3M3uZWwD2KMw2cIFyL1g3FeUyyhFm3BMn05muKhsAucy/mpcgPsjVO29h7 -lHaW4VsFF+zJLEDOpURKPQbjmSP27VLT0W0V/YTDmhtiuhgi91+QeOgI6RPbxo96 -ubabcoPbkVaG8+HEXZd+rBBYX9fEvQ8HXzgzPcWqApfnQrbm0r4HVzKM4ekEaxwD -gime6wkeJfbcMmiT8Y/dTyxARWlPwNigU+e5xj8ckRlumK/jLOE94extC9fUINPs -lwTrp+mnDyC97h+G5B5gszJ+S6XkneyYWqgGLtwyI/mmI4AaVNKIvsK0v1916tjD -Ky3hFhCJfXGiuqZGu81SmUIcFnz6EgSDOpXFePbl/IMyW1zkihrh3brSEHr+PYym -++7QNAh8RsheF3aX6l3K1iuGmsDBM/bLRAL2qTklBy0zi7hwFs2KjDmoFYZ6f6Po -uzsEffG9Yyns4Qia47NitM2/tnMm/QLc+C32qCJUQ68xDkG7E4Ay98CCUNBd +MIILcDCCB1igAwIBAgICEAQwDQYJKoZIhvcNAQELBQAwfzELMAkGA1UEBhMCVVMx +EzARBgNVBAgMClNvbWUtU3RhdGUxIzAhBgNVBAoMGkFwYWNoZSBTb2Z0d2FyZSBG +b3VuZGF0aW9uMRIwEAYDVQQDDAkxMjcuMC4wLjExIjAgBgkqhkiG9w0BCQEWE2Rl +dkBrdWR1LmFwYWNoZS5vcmcwHhcNMjQwNzIzMTk1NTM0WhcNNDQwNzE4MTk1NTM0 +WjCBnjEXMBUGA1UEAwwOSW50ZXJtZWRpYXRlQ0ExEzARBgNVBAgMCkNhbGlmb3Ju +aWExCzAJBgNVBAYTAlVTMSIwIAYJKoZIhvcNAQkBFhNkZXZAa3VkdS5hcGFjaGUu +b3JnMSMwIQYDVQQKDBpBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjEYMBYGA1UE +CwwPSW50ZXJtZWRpYXRlIENBMIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIECgKC +BAEAwpQU6QayDO4u4/oYTO99GBRomJC2vC7NnuTmcg6Y/vYv76cU4I12adZsbQHZ +kCWIwqQqpJeEPfzmr6HwX5FfSmUVGj6eTNpTM+ZzojAlEe2hUteU+NHW6yYrlyqO ++EMTRgdd4zirJa7TcYj+GyEL9Hk0sEKtD98wU1WUVgyu9HyxR2A6iAGLf0wraU/7 +XbO0tMRLG829kQp+TgKIfs/96/HeUNS6++H7SxdWR8fCZzwDy+s5Tah25hmwVumU +eZ2zPES8zGyp9v69bJD9CtJxPWKnMcXYDZ18Cag+WVWjTWrV+1VdpPCD8Jnv8eDU +hw2xOi0xStDB3+XP4d1l0IQHlTPTp/ViELJmHiGXZBh0lYGrDYyqx6Y6wGKv72Pr +OvKzXtWrfoIDjSu2QBKm4Lj8MAbEe6tvtBAUXtMMYFCpfHZHc7IF1eF3ffThsS// +LTHiEG/rU7MSoU0i7CMVO52v7TdWIwMJJQBao+u5duaFlCu8CpllxhLmOjyNUYCO +7QyvxAm+60DEDYj3yh16tnwKj8lNEyBrr2yFL0G8YFYC0ILy2Sp1qoXifAFWOY9p +nFudkPSmsbXTn9wZI2iXQQF6K7DdjsWxo6m+ovRg9MDRjquGSo1Ag39fp7E+OcRO +9q+8eq91mBGRTcYucga3erbkQgaeCka2Dlbo6QWZ2KQ4G9E1E139oBUOykBqaiU+ +LoDF/7AA5LUT/aMkM1YEWeubGBI9d9AEAb5JQqP/aIiivujB7gfmsFJZeKEgXs21 +rbKg7ouvMIfSDeElJAP+DIpKNOVVq6xm8Pyhc5Ua6JddW9uozS8IEIzv8J05E461 +MO+fqbExLM1FsN+cwDzt13CEcz88e3z121xwrEwWVsqLjwxnicA71vHpMJTbl/lS ++KiE7dOSN0jFKfULnRnn0I8bNSvZg1H/vASBqRmSGLRBhnUsgFhcuYmBeQmJNVIn ++h2AiCWOjp7xQBgt1EVwxp55nf7LsF0SYL+IKDy94d0pkzSfFEEkEpKY0K1GaIdX +WEqGK/SbRY3I9CeFwtApI9D1Rbo4tPedfviyajZJXDUctGbiu94eoMSC3HSfaOmv +H+tTizhncLKoeiAUZMMli9OF07DrhQZcQWAMUEwKL0/dmomUVdDMS+QOyNnUbJ4i +l2GqnM81BtyKGGjZkyMwk6W61vyfa+bMBpyXD3BzlBtzPmI/DtpOpFjSfaJPP7cK +eR/DYq0887TIfA+ayph4YISdJgzfdI/c2QFvCZToM7ZvXUNpGNMuc9u5clEqu3T+ +EUKMZAbiGjLPgcuusPJtT0P3RxP5haTaqZhfU0+MbFSFl7zlS6uE5DEvgEflRpcO +uY1kw+vT4H7G8N7GbvIUqACm7wIDAQABo4IB1DCCAdAwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU8KoLF6T782Du0ciPgirVuM9G8ogwHwYDVR0jBBgwFoAUmUUY +9ijGZnIWADolnZMk/zKzhxkwCwYDVR0PBAQDAgGmMBMGA1UdJQQMMAoGCCsGAQUF +BwMBMGwGA1UdHwRlMGMwMqAwoC6GLGh0dHA6Ly9wa2kuc3BhcmtsaW5nY2EuY29t +L1NwYXJrbGluZ1Jvb3QuY3JsMC2gK6AphidodHRwOi8vcGtpLmJhY2t1cC5jb20v +U3BhcmtsaW5nUm9vdC5jcmwwFAYDVR0RBA0wC4IJbG9jYWxob3N0MIHWBggrBgEF +BQcBAQSByTCBxjA4BggrBgEFBQcwAoYsaHR0cDovL3BraS5zcGFya2xpbmdjYS5j +b20vU3BhcmtsaW5nUm9vdC5jcnQwMwYIKwYBBQUHMAKGJ2h0dHA6Ly9wa2kuYmFj +a3VwLmNvbS9TcGFya2xpbmdSb290LmNydDAsBggrBgEFBQcwAYYgaHR0cDovL3Br +aS5zcGFya2xpbmdjYS5jb20vb2NzcC8wJwYIKwYBBQUHMAGGG2h0dHA6Ly9wa2ku +YmFja3VwLmNvbS9vY3NwLzANBgkqhkiG9w0BAQsFAAOCBAEAMOckms25gifFNM4X +O1T77aU/JiaK2Wp2baS7+iRN1d/5ajxFCWBg7i8J8lWw1harx3ri5htOC4hA8luI +EtKZjPtwfCvFl1vfG4huM1VPhqCV341N7liIyHidm0EAlg+yKGr8ncrjjFJ0fvVt +3o0K+d6gYZ4KP6j1bxB5HFC+vMIyee4eAe1m8lTZZFB8ZkjtJroIjZxfqUwBqWTS +snSARFttQr5U+Xu+oqcbwpIyLfWT3xIDjSupXkbu86Dte3dHatQxBspd9IxrRQpb +gU4KGQVtxbakHU2xsjbUmHlUZR1A77AsQYBHGp1o3wSb81WT765i96oGno3IHE+q +M36VwE9phS450eUfOVYySGaBGn5aDP3hVnX+R7xnCI9Gs9+dzR5xDo+tETvCqSvo +m+foGkjK8a3wkF9kVD/Vwm1rYpNQ0aTrZuWszSbs6V6uqnf2HOFJOoWr7QoMCTTp +MQEj/hAXH03ueq2M+BC0nits2+h8XkjuL6Ss34vlzECAs+XScLk2gjUUH+XwaoRN +H3hgEXp481yfW5m6jjc/nwVza6c8vfcgF9f4atGFkOF+kp5MJWP5z3bveGxqsfTY +q17gRGwtmInlO5GB1e8SWuOtM177SUoykiC0O6mtDg82ptEHdpQf0KAthpId0ulU +lg4n0uXFVweqAsVUGi+Ii0GcNyWlfxEikf19ERBbjrtCfYgeJjcjjDwjQhff3InZ +cOMdZtIXSiahlhBBE6aXSkCn46C15rPqO+8aUrTAkWeIWVt8OiqzRsbXwrjj/yhK +xktRpD+v6ZLviudhxU1wnGzPMADyVend1LzfOvD9kFvqgebldj4+oDg3hyH1cqXe +/lEOO+epB2yo14tsGqzOnSmS2F3rFfOUVZdj6yUMLiSyKnrJ/76VKh0LBexPFbvb +GNunZDGHQ8Y++zRjsskhMcY729ABMK17x7kBeOqaJ1o8yi1HrKufOXiKdHILBZ+K +0cpU/r3YaK7OdcY3P5ne4w1XtqY17FT+LuNCiSJDI0SX4gg4PVTFCn6no91USCaw +aTyx9C0abcSJCUXZIZG4Dxj0qxJr/jzH/RshLTOsn0WVQowkaTMTVTArHi3e0oGL +HdhgN+CRdfE8RK+HrW9DuMCfXzWHDvhbi2lx+jSi76PRhBCK1XDmLG1nVaFwr1o9 +CzH8e7OJB7E7E+r21ecGzvc9CuKcvLLTkhaLhsoCLBe9EmfvMX1gtwbUHdYAx+Y7 +Q8FP3DaDfUmF1TGgncXBoQpab7MzEeIGtFYtFteKWrAgVCwpX2R1CJVYXCgkaDmx +iWoTwpGpXm8usNpvIyIMwqU14NcCmZEzCZT62UFzfvB7nivLhoZTl2VbDB10xf8p +TnPf5g== -----END CERTIFICATE----- )"; const char* kKey = R"( -----BEGIN PRIVATE KEY----- -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 -+WDMk0mCnqqcusrqoAu117IxdSwh +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 +VN9C85/NOQXjpMb0hB6sL9R1HBjcAl8= -----END PRIVATE KEY----- )";
