This is an automated email from the ASF dual-hosted git repository. laiyingchun pushed a commit to branch branch-1.17.x in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 8744cf08e6757485704b68f83df86aa9ed487b25 Author: Marton Greber <[email protected]> AuthorDate: Tue Jul 4 18:03:10 2023 +0200 Re-generate test certs with OpenSSL3 Some tests (security-itest, rpc-test) have been failing on newer distros (RHEL9, Ubuntu22) with OpenSSL3. The errors were along the lines of: 'failed md too weak'. Alexey pointed out that the issue was in using SHA1 for the certificate digest. We opted to re-generate the test certs with OpenSSL3, such that certs would use non-obsolete ciphers. I tested this patch (ctest) on RHEL9 with slow tests enabled. All the tests passed. Moreover, did a round of tests on Ubuntu18, to ensure backwards compatibility with OpenSSL1.1. Change-Id: I4b7f28e76f8bebe3bb4284eaa81e4afe03877420 Reviewed-on: http://gerrit.cloudera.org:8080/20162 Tested-by: Kudu Jenkins Reviewed-by: Alexey Serbin <[email protected]> (cherry picked from commit 2d624f877262efafcd4fbaa59d7bb5a8c65ff54e) Reviewed-on: http://gerrit.cloudera.org:8080/20411 Reviewed-by: Yingchun Lai <[email protected]> Tested-by: Yingchun Lai <[email protected]> --- src/kudu/security/test/test_certs.cc | 1189 +++++++++++++++++++--------------- 1 file changed, 681 insertions(+), 508 deletions(-) diff --git a/src/kudu/security/test/test_certs.cc b/src/kudu/security/test/test_certs.cc index d322e317c..3905d816d 100644 --- a/src/kudu/security/test/test_certs.cc +++ b/src/kudu/security/test/test_certs.cc @@ -506,7 +506,20 @@ TOQYXv+dMtOkYg== // https://raymii.org/s/tutorials/ \ // OpenSSL_command_line_Root_and_Intermediate_CA_including_OCSP_CRL%20and_revocation.html // -// The parts relating to the OSCP and CRL were omitted. +// The below certs has been generated using OpenSSL3, with the following changes +// to the above article: +// * -aes256 is omitted +// * 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' +// +// Note about the cert nomenclature: +// +// article <-> this file +// ------- --------- +// root <-> root +// intermediate <-> intermediate +// enduser <-> server // // | serverCert TRUSTS intermediateCA TRUSTS rootCA | // @@ -519,231 +532,294 @@ Status CreateTestSSLCertSignedByChain(const string& dir, string* ca_cert_file) { const char* kCert = R"( -----BEGIN CERTIFICATE----- -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 +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= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -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 -Wd40Cr+wAdHKN6t/oransoxu0EZ3HcSOI1umFg== +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 -----END CERTIFICATE----- )"; const char* kKey = R"( -----BEGIN PRIVATE KEY----- -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 -QSLJ/7+Bn9NwsoDIaegA7vbs2BrKqg== +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 ++WDMk0mCnqqcusrqoAu117IxdSwh -----END PRIVATE KEY----- )"; const char* kCaChainCert = R"( -----BEGIN CERTIFICATE----- -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 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -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 -Wd40Cr+wAdHKN6t/oransoxu0EZ3HcSOI1umFg== +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 -----END CERTIFICATE----- )"; @@ -763,7 +839,20 @@ Wd40Cr+wAdHKN6t/oransoxu0EZ3HcSOI1umFg== // https://raymii.org/s/tutorials/ \ // OpenSSL_command_line_Root_and_Intermediate_CA_including_OCSP_CRL%20and_revocation.html // -// The parts relating to the OSCP and CRL were omitted. +// The below certs has been generated using OpenSSL3, with the following changes +// to the above article: +// * -aes256 is omitted +// * 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' +// +// Note about the cert nomenclature: +// +// article <-> this file +// ------- --------- +// root <-> root +// intermediate <-> intermediate +// enduser <-> server // // | serverCert TRUSTS intermediateCA TRUSTS rootCA | // @@ -776,188 +865,231 @@ Status CreateTestSSLCertWithChainSignedByRoot(const string& dir, string* ca_cert_file) { const char* kCert = R"( -----BEGIN CERTIFICATE----- -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 +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= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -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 -Wd40Cr+wAdHKN6t/oransoxu0EZ3HcSOI1umFg== +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 -----END CERTIFICATE----- )"; const char* kKey = R"( -----BEGIN PRIVATE KEY----- -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 -QSLJ/7+Bn9NwsoDIaegA7vbs2BrKqg== +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 ++WDMk0mCnqqcusrqoAu117IxdSwh -----END PRIVATE KEY----- )"; const char* kRootCaCert = R"( -----BEGIN CERTIFICATE----- -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 -----END CERTIFICATE----- )"; @@ -980,133 +1112,174 @@ Status CreateTestSSLExpiredCertWithChainSignedByRoot(const string& dir, const char* kCert = R"( -----BEGIN CERTIFICATE----- -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 +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= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- -MIIHmDCCA4CgAwIBAgICEAAwDQYJKoZIhvcNAQEFBQAwVjELMAkGA1UEBhMCVVMx -CzAJBgNVBAgMAkNBMQswCQYDVQQHDAJTRjENMAsGA1UECgwEQWNtZTENMAsGA1UE -CwwES3VkdTEPMA0GA1UEAwwGUk9PVENBMB4XDTE3MDgxMTIxMzUzNVoXDTQ0MTIy -NzIxMzUzNVowUTEXMBUGA1UEAwwOSW50ZXJtZWRpYXRlQ0ExCzAJBgNVBAgMAkNB -MQswCQYDVQQGEwJVUzENMAsGA1UECgwEQWNtZTENMAsGA1UECwwES3VkdTCCAiIw -DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAM1X35LT/eBWBt0Uqqh3DSUyY3K8 -HLIlX3ZXg2Nx6y8yqhw5UGVFZl0uYBDo2DSlTl4sey+AxLIbpQI9ArRA+xqmFynV -jheB9otudnA8hVwi/e9o+m+VSjG+HPRjSS5hwdPgpJG8DCPSmGyUUFtf3v0NxkUq -Is+fB5qhQ36aQkI+MwQsSlHR+YrrKKVnE3f911wr9OScQP5KHjrZLQex8OmpWD9G -v4P9jfVSUwmNEXXjmXDhNG/1R4ofX6HogZR6lBmRNGbcjjWRZQmPrOe9YcdkMLD0 -CdaUyKikqqW6Ilxs7scfuCGqwBWqh66tY18MBMHnt0bL26atTPduKYqulJ1pijio -DUrzqtAzm7PirqPZ4aOJ9PNjdQs9zH3Zad3pcjfjpdKj4a/asX0st631J5jE6MLB -LcbAerb/Csr/+tD0TOxwWlA+p/6wPb8ECflQLkvDDEY5BrRGdqYDpEOdm1F9DWQh -y0RB8rWJMkxC/tTqYHfeaphzCxndLRsZQKVcPiqWCT7b431umIjPaDhsykNlcU3N -f0V7V/fLY6wwuACngS0BLQuMrXy5FyhmWnUBeWwHfAeTxCkHlF+cVT6wHmeOuGbC -c1piq7O7puKdC3UjO7Nn+WoOb2B6Qm/dajHpj5myxYJa5tGQGeUnWPwjjMQR557k -HzugGAzkuG1ASQrhAgMBAAGjdTBzMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE -FPCnLX2qgKtPPOwh6g7CAtEZIO6EMB8GA1UdIwQYMBaAFE/9XKaDey5kC8f3bCeU -HW46abboMAsGA1UdDwQEAwIBpjATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG -9w0BAQUFAAOCBAEAIaD2yzjTFdn61A4Qi+ek3fBJaDNQZytd0rHb49v3T+mdj/MI -yShI1qezDFkg2FP1LfNgjuQl/T+g0BloXatAhZ/dj20Y8oN6bmilV+r2YLJbvbTn -3hI+MxNf3Ue3FmIrwKK3QdkWcDBURpyYaDO71oxPl9QNfdhWCGHB/oWKU2y4Qt/O -aPy+CmBAZEclX+hsdUBDJG5vuujpv4myCFwpLgFKNQX3XqCPLc4SRjfyla2YmeZv -j7KKYh8XOWBbBF0BnWD94WzUDIBmFlUfS32aJTvd7tVaWXwH8rGwDfLN8i05UD9G -zc3uuFH+UdzWVymk/4svKIPlB2nw9vPV8hvRRah0yFN3EQqAF0vQtwVJF/VwtZdg -ahH0DykYTf7cKtFXE40xB7YgwDLXd3UiXfo3USW28uKqsrO52xYuUTBn+xkilds1 -tNKwtpXFWP2PUk92ficxoqi1cJnHxIIt5HKskFPgfIpzkpR8IM/vsom1a5fn4TT1 -aJbO5FsZTXQMxFLYWiSOMhTZMp3iNduxMYPosngjjKPEIkTQHKkedpF+CAGIMOKE -BVa0vHyF34laKMMDT8d9yxwBJLqjlBohNsLLZa/Y90ThaMw+QYn/GZATB+7ng+ip -VdGAQrghsGSxP+47HZ6WgBrlRdUWN1d1tlN2NBMHLucpbra5THGzl5MlaSVBYZb6 -yXI+2lwcTnnEkKv2zoA4ZHWdtLn/b1y4NKNg205TA+sOZcl6B1BgMe/rFuXdZe9Q -/b6Tjz65qL4y1ByBVBJNhQQairw6cypHzwzC3w6ub1ZXtFqnTlU8fFcHGeOyydYS -NfoepF0w2v0ounqD+6rN1CH/ERVb4FCEN19HQ3z+rAj19z2h6m/l5QEKI7bz8ghD -8yxyqJz+L9XpfOo1yZfHQJckilY6BBIGWyeetJBmvkwv2WPt+3pX1u7h5LkvNRj2 -3fItf486zqtzUi+i/E//rS4gD/rRr4a85U8GSfp3LSAbtmfC0LNYUYA9Dcc0LSpl -9alNuEpBHSHXlCVh4bcOb0L9n5XNdMcUYBo14hQdP0K1G7TounuAXFKYIQeyNyoi -OAZ+eb7Y2xNnkY/ps/kyhsZgOJyiDZhdcruK3FIUGYlg5aVjQTB8H0c3/5SZnSky -6779yMKztFXj9ctYU0YyJXWdF0xP/vi1gjQx/hJnDfXFfIOmeJdQSC08BGyK/PeC -8zAS380bgzOza/eBL6IK0RqytbWgdoLrUQQfa1+f7AQxDDdoOkUenM0HSWjKfCuG -m1/N7KUDHtnjVIHWqRefTPg1/tQjVY8/zgxN8MyAy+D95y4rawjsJf1dL6c0+zGv -Wd40Cr+wAdHKN6t/oransoxu0EZ3HcSOI1umFg== +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 -----END CERTIFICATE----- )"; const char* kKey = R"( -----BEGIN PRIVATE KEY----- -MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQCp681gfvefiQBF -m0ywdG5x0qapV3/HHO0yUrlU6isRFQGEpVU7DeSkOs33PzSV0iSk6u2t8TsCZ7+c -D2/iTo/eaKc8SbWoID+S9oCh21PgeMCSs9z5+2jpU7r5pRXqX5yQBX/v2U65zsC6 -02W+8+0FBByA4q+U1RJErAzud3J07hkBr64/1a2x3SCXxvkXc/y/B68PdrT6IO/B -J3emLaz8F5WBHC87EnO53yKln8BmZk3wN/2cfDmWyot02eodeNNUI1cudhdALiAp -Tnp/PJkvn3mWK55/JDGIZj50IKcKmqVKwduglUL8Xc5pCLfFVFMHmXY3BvXj0Qhp -3AIXQ66VkK5iWMnnL0fZsQJcSM97lo53P13xbf9Pun28EpZy1Oh4KmopdR37xE+5 -2HQPSxQe7BDi7hLUrpf54r6AaFMc6c/C34/zK0bQzjrfPkaH195b1kMhiiIVySF4 -UEAfGyANaGNikWZiKt4stcxvJoyzm/8DE81ECzHe8AB3QzS8Y6l2AQn1XUywqbGQ -87+0MLfOae/q4mG0l+s4ArHCIYJ8N7gihILofl9PF4CDDoEbmidLVQ8sAMvw0D8z -XLyqJIJlL/lLRwegmnkDEN9lJJE7j2KymOpw41HByRxEnk9uXQgD7AbKDYO4j0tq -pLmQpankATxUIs/PvJ6kORGeeM7ebwIDAQABAoICAATegvYe7U2fCWj1OE9eJsQQ -O0JjBYBZLdrhT/pE85L7vR1l93lHvqOOI9TP9NvON8qaCNGRNhWtj2oTbytXAPxo -l1I88n2s3uWBNtJsjIzEKRCLIuvu7mSxR4xb1LLwpnXiEnZ3DbB5YkB4SlQcfVBF -e+Odm1ZyfKGHJJ+4wIjlQcYwmJevsdiE86glxYGMi1OWDsgsqKb6RqSMUvtqF6jp -rBkVC61vq+1JnZ6NY2AL0nPtxtCzJptRlol0rSbHDZc9pAPq0mO+bqGAZDY9ME6T -DVLmURZnnRvBgkylmuPM5qurvnVtkYvVzFJqM4nuDqsLFL4i7uzmUo1mBpFQGTKY -BNhxyiKB9kNH/98coCZ2COA+y2rLU0kv65dsi40TRtH6YEzYlDM2M8hwTrs8b7Rp -B07h2PROdPORM/UlKxrpPPhyQ5SC3sgEryOKUJCkeA4H3TSFcLrFVGcBpT+65JgS -1+LZ4UEodPTY6ofnXI1naOyA5AkK/E2ut0g6YDQBpna1VdNNd7qp5to2OOnZzOKI -7mZr7mZ0jW+YtAAD2/SaJw754qn+mLl7SvqP727JHY6jiqceDThMh8PKCVbe4rPV -4jRE98E393HdYunJ3Ep7LBc8foTN8EWTynNJPazL7Vk3i+fRsNJONIuwsFb7EEpg -g2oqQEPYqDoHtp40g2MRAoIBAQDgFAHLJlX29r3VP6tCI0+J+4jg8qCYtOXTDEzU -mD8fhgLIu24SSa6/B94CNpRpS6TYwOzfF9Dim7y+0CcNqmrm8n+UyDSbf40jCiSz -7F570X/8zh272PrtRK9flDD/oKfHXMC+tZFPJmdwpShxCjBxcz1VTTFy/ipUIxof -kXlD/VW8bu4C0YKcHxM4fNXsZRqP3HFKoNx/f6n0HOx5yk9mx2lWLTV1BsIqL2d5 -nAW/VWvcy+J40M4apIafxfkSNIdjk/MJpctL78egVY5LNZy413MolGNWQLxT54eg -RptpGcPjt18me03eo5DozB/o/aMw30aqVC4NCW+kzEHBBPX9AoIBAQDCILiGvoRk -pouZ5kEuCCxL6iJ8dF5dDLq1/afuQIDACAv7rkrxRb5hS1DIcvpQV8Pbu+9bnKno -tnExFQPeCGC4c8xBx6OChBN8aa2HVsJv23HOp/G5ZSg1q6pmI/j+SDGiHzXkq36Q -LwFEJc0haMffzPFj6dy/Rvigo/uVidr/teRREuYwWv3ZBUDJ1HFj2RBMdBMJ35lC -sVP3vESiiyDOQqGbKdJ9Y3HvKZiYKsfOxwBO62kPbq7gIDhaHhl1U8QXXSUZHnfV -IAUSpcKRpS8h/A+mE+Y626bYtl0RiGj0LvrvWQvPOgk4lQ2jYv05F3kji06sxPS2 -Y34ylLVw9dvbAoIBAC7doF5n3zTu+FdAoMYNcpZOaJt7w4EM3MCeYvdX/GPQeIaZ -RPVIOec0cweNeM7pBkpbV291oLe0kO5rxK9EBGXXND3e/bnEHLXGalTDTCOjdpxe -U7O1Nw4m/nMEIJdmd5Dn4lxAx2qBgsL5mBLEactgqeRMZ9pANIQyb0VI/M7ujl8B -6H/oZ+PVUATRf0CZCMwr8/oC2PtFrTskTYVPffnmHS7r97FJP5TpI0A5FK6m5A9j -CTPxoBnMbWe/VU+scuCt0fgjl/iC5wKuwjsStHuofCpxlrE0iu8VjrVD7z81J1Za -ROlcgrXdCfLWtpnZaqdPG42GW7dYUORr4BjJu9UCggEAI5rEvVHsDlnNeOiWQ88T -8Mh8kr71H7PZ+s8PIc+Kza2sJPkOnbng9Q9PPbR43It8TKzndbICJ8BuekYUc4Ct -3KbAa8Al6SY4PLVVMmFjQAjLks+SsiIvgch+dEVcwaaUE9wNkmcxy1gTr2APg3Uo -U4/PJjgaWKq3px7sYbzrAcNmoMgKmAvYSxl/jIT+VwXUy3DunPz5qxXDBMju/bDu -z2XBJihBhuXaW7cRWbde9jnhgJgEqOPwBwNh0oV6vd4jNPXMfBLuf5Rj2cu1J+lX -/6+vXxJ/Q4RN0amA4FpYhZCoTYXTeKp4TnxoB/N75iC8AxzlzSJCj8EnwDcuIA23 -yQKCAQEArxwUQGb5nWDmzUhpbGpMjKVHlcXlEW3L0fJRe2QB3Z3WpXMFoEbdJeDh -xGxbQSFxRXZc/eJMUg9cQQAFFG7lToMRqXrBByWuF8/iGJFAenY3LqMOPvQ0JJ5S -bIS7aWbAQkliwNI4KdWa236qWCaTjIjUO5qdeEtw8uqim6ERmzZX+XZDoTmLi+uz -vVjuh/6+wC++3jZXHnCwZ09CKFzkTUwjsYGHGZDKzUzAbcnJ3tmTzwxU294BJ4Qh -ztQCav9MYv5Ei/hvE2L/UeuB6QF/WOcVRTfh+x2orLRb6s6A6UY3xNfs1gLPcHjV -QSLJ/7+Bn9NwsoDIaegA7vbs2BrKqg== +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 ++WDMk0mCnqqcusrqoAu117IxdSwh -----END PRIVATE KEY----- )";
