From 41b31925be551888dfef4eaa1cdb97599ac13018 Mon Sep 17 00:00:00 2001 From: Jonathan Goh <3853064+hang333@users.noreply.github.com> Date: Sat, 3 Oct 2020 07:30:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20solidot=20chain=20issue=20=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E6=8A=93=E5=8F=96=E5=A4=B1=E8=B4=A5=20(#5766)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/routes/solidot/_article.js | 6 ++ lib/routes/solidot/main.js | 7 ++ lib/routes/solidot/sectigo.pem | 122 ++++++++++++++++++++++++++++++++ lib/routes/solidot/wotrust.pem | 125 +++++++++++++++++++++++++++++++++ 4 files changed, 260 insertions(+) create mode 100644 lib/routes/solidot/sectigo.pem create mode 100644 lib/routes/solidot/wotrust.pem diff --git a/lib/routes/solidot/_article.js b/lib/routes/solidot/_article.js index 8d74e4ed6..5b1088a6f 100644 --- a/lib/routes/solidot/_article.js +++ b/lib/routes/solidot/_article.js @@ -1,5 +1,7 @@ const got = require('@/utils/got'); // get web content const cheerio = require('cheerio'); // html parser +const fs = require('fs'); +const path = require('path'); const domain = 'https://www.solidot.org'; @@ -11,6 +13,10 @@ module.exports = async function get_article(url) { method: 'get', url: url, 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0', + https: { + certificateAuthority: [fs.readFileSync(path.resolve(__dirname, './wotrust.pem')), fs.readFileSync(path.resolve(__dirname, './sectigo.pem'))], + rejectUnauthorized: true, + }, }); const data = response.data; const $ = cheerio.load(data); diff --git a/lib/routes/solidot/main.js b/lib/routes/solidot/main.js index 87432638c..7f7535fcc 100644 --- a/lib/routes/solidot/main.js +++ b/lib/routes/solidot/main.js @@ -5,6 +5,9 @@ const got = require('@/utils/got'); // get web content const cheerio = require('cheerio'); // html parser +const fs = require('fs'); +const path = require('path'); + const get_article = require('./_article'); const base_url = 'https://$type$.solidot.org'; @@ -16,6 +19,10 @@ module.exports = async (ctx) => { method: 'get', url: list_url, 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0', + https: { + certificateAuthority: [fs.readFileSync(path.resolve(__dirname, './wotrust.pem')), fs.readFileSync(path.resolve(__dirname, './sectigo.pem'))], + rejectUnauthorized: true, + }, }); const data = response.data; // content is html format const $ = cheerio.load(data); diff --git a/lib/routes/solidot/sectigo.pem b/lib/routes/solidot/sectigo.pem new file mode 100644 index 000000000..c40849bba --- /dev/null +++ b/lib/routes/solidot/sectigo.pem @@ -0,0 +1,122 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 4c:aa:f9:ca:db:63:6f:e0:1f:f7:4e:d8:5b:03:86:9d + Signature Algorithm: sha384WithRSAEncryption + Issuer: C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority + Validity + Not Before: Jan 19 00:00:00 2010 GMT + Not After : Jan 18 23:59:59 2038 GMT + Subject: C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (4096 bit) + Modulus: + 00:91:e8:54:92:d2:0a:56:b1:ac:0d:24:dd:c5:cf: + 44:67:74:99:2b:37:a3:7d:23:70:00:71:bc:53:df: + c4:fa:2a:12:8f:4b:7f:10:56:bd:9f:70:72:b7:61: + 7f:c9:4b:0f:17:a7:3d:e3:b0:04:61:ee:ff:11:97: + c7:f4:86:3e:0a:fa:3e:5c:f9:93:e6:34:7a:d9:14: + 6b:e7:9c:b3:85:a0:82:7a:76:af:71:90:d7:ec:fd: + 0d:fa:9c:6c:fa:df:b0:82:f4:14:7e:f9:be:c4:a6: + 2f:4f:7f:99:7f:b5:fc:67:43:72:bd:0c:00:d6:89: + eb:6b:2c:d3:ed:8f:98:1c:14:ab:7e:e5:e3:6e:fc: + d8:a8:e4:92:24:da:43:6b:62:b8:55:fd:ea:c1:bc: + 6c:b6:8b:f3:0e:8d:9a:e4:9b:6c:69:99:f8:78:48: + 30:45:d5:ad:e1:0d:3c:45:60:fc:32:96:51:27:bc: + 67:c3:ca:2e:b6:6b:ea:46:c7:c7:20:a0:b1:1f:65: + de:48:08:ba:a4:4e:a9:f2:83:46:37:84:eb:e8:cc: + 81:48:43:67:4e:72:2a:9b:5c:bd:4c:1b:28:8a:5c: + 22:7b:b4:ab:98:d9:ee:e0:51:83:c3:09:46:4e:6d: + 3e:99:fa:95:17:da:7c:33:57:41:3c:8d:51:ed:0b: + b6:5c:af:2c:63:1a:df:57:c8:3f:bc:e9:5d:c4:9b: + af:45:99:e2:a3:5a:24:b4:ba:a9:56:3d:cf:6f:aa: + ff:49:58:be:f0:a8:ff:f4:b8:ad:e9:37:fb:ba:b8: + f4:0b:3a:f9:e8:43:42:1e:89:d8:84:cb:13:f1:d9: + bb:e1:89:60:b8:8c:28:56:ac:14:1d:9c:0a:e7:71: + eb:cf:0e:dd:3d:a9:96:a1:48:bd:3c:f7:af:b5:0d: + 22:4c:c0:11:81:ec:56:3b:f6:d3:a2:e2:5b:b7:b2: + 04:22:52:95:80:93:69:e8:8e:4c:65:f1:91:03:2d: + 70:74:02:ea:8b:67:15:29:69:52:02:bb:d7:df:50: + 6a:55:46:bf:a0:a3:28:61:7f:70:d0:c3:a2:aa:2c: + 21:aa:47:ce:28:9c:06:45:76:bf:82:18:27:b4:d5: + ae:b4:cb:50:e6:6b:f4:4c:86:71:30:e9:a6:df:16: + 86:e0:d8:ff:40:dd:fb:d0:42:88:7f:a3:33:3a:2e: + 5c:1e:41:11:81:63:ce:18:71:6b:2b:ec:a6:8a:b7: + 31:5c:3a:6a:47:e0:c3:79:59:d6:20:1a:af:f2:6a: + 98:aa:72:bc:57:4a:d2:4b:9d:bb:10:fc:b0:4c:41: + e5:ed:1d:3d:5e:28:9d:9c:cc:bf:b3:51:da:a7:47: + e5:84:53 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: + BB:AF:7E:02:3D:FA:A6:F1:3C:84:8E:AD:EE:38:98:EC:D9:32:32:D4 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE + Signature Algorithm: sha384WithRSAEncryption + 0a:f1:d5:46:84:b7:ae:51:bb:6c:b2:4d:41:14:00:93:4c:9c: + cb:e5:c0:54:cf:a0:25:8e:02:f9:fd:b0:a2:0d:f5:20:98:3c: + 13:2d:ac:56:a2:b0:d6:7e:11:92:e9:2e:ba:9e:2e:9a:72:b1: + bd:19:44:6c:61:35:a2:9a:b4:16:12:69:5a:8c:e1:d7:3e:a4: + 1a:e8:2f:03:f4:ae:61:1d:10:1b:2a:a4:8b:7a:c5:fe:05:a6: + e1:c0:d6:c8:fe:9e:ae:8f:2b:ba:3d:99:f8:d8:73:09:58:46: + 6e:a6:9c:f4:d7:27:d3:95:da:37:83:72:1c:d3:73:e0:a2:47: + 99:03:38:5d:d5:49:79:00:29:1c:c7:ec:9b:20:1c:07:24:69: + 57:78:b2:39:fc:3a:84:a0:b5:9c:7c:8d:bf:2e:93:62:27:b7: + 39:da:17:18:ae:bd:3c:09:68:ff:84:9b:3c:d5:d6:0b:03:e3: + 57:9e:14:f7:d1:eb:4f:c8:bd:87:23:b7:b6:49:43:79:85:5c: + ba:eb:92:0b:a1:c6:e8:68:a8:4c:16:b1:1a:99:0a:e8:53:2c: + 92:bb:a1:09:18:75:0c:65:a8:7b:cb:23:b7:1a:c2:28:85:c3: + 1b:ff:d0:2b:62:ef:a4:7b:09:91:98:67:8c:14:01:cd:68:06: + 6a:63:21:75:03:80:88:8a:6e:81:c6:85:f2:a9:a4:2d:e7:f4: + a5:24:10:47:83:ca:cd:f4:8d:79:58:b1:06:9b:e7:1a:2a:d9: + 9d:01:d7:94:7d:ed:03:4a:ca:f0:db:e8:a9:01:3e:f5:56:99: + c9:1e:8e:49:3d:bb:e5:09:b9:e0:4f:49:92:3d:16:82:40:cc: + cc:59:c6:e6:3a:ed:12:2e:69:3c:6c:95:b1:fd:aa:1d:7b:7f: + 86:be:1e:0e:32:46:fb:fb:13:8f:75:7f:4c:8b:4b:46:63:fe: + 00:34:40:70:c1:c3:b9:a1:dd:a6:70:e2:04:b3:41:bc:e9:80: + 91:ea:64:9c:7a:e1:22:03:a9:9c:6e:6f:0e:65:4f:6c:87:87: + 5e:f3:6e:a0:f9:75:a5:9b:40:e8:53:b2:27:9d:4a:b9:c0:77: + 21:8d:ff:87:f2:de:bc:8c:ef:17:df:b7:49:0b:d1:f2:6e:30: + 0b:1a:0e:4e:76:ed:11:fc:f5:e9:56:b2:7d:bf:c7:6d:0a:93: + 8c:a5:d0:c0:b6:1d:be:3a:4e:94:a2:d7:6e:6c:0b:c2:8a:7c: + fa:20:f3:c4:e4:e5:cd:0d:a8:cb:91:92:b1:7c:85:ec:b5:14: + 69:66:0e:82:e7:cd:ce:c8:2d:a6:51:7f:21:c1:35:53:85:06: + 4a:5d:9f:ad:bb:1b:5f:74 +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB +NVOFBkpdn627G190 +-----END CERTIFICATE----- diff --git a/lib/routes/solidot/wotrust.pem b/lib/routes/solidot/wotrust.pem new file mode 100644 index 000000000..aac206ee1 --- /dev/null +++ b/lib/routes/solidot/wotrust.pem @@ -0,0 +1,125 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 3c:10:4f:09:bd:9c:5e:e5:32:1f:44:c5:e9:9d:b3:04 + Signature Algorithm: sha384WithRSAEncryption + Issuer: C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority + Validity + Not Before: Feb 27 00:00:00 2019 GMT + Not After : Feb 26 23:59:59 2029 GMT + Subject: C = CN, ST = Guangdong, L = Shenzhen, O = WoTrus CA Limited, OU = Controlled by Sectigo exclusively for WoTrus CA Limited, CN = WoTrus DV Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:bd:28:3d:c8:d9:9e:4e:7c:cc:38:df:86:3c:bf: + ac:f5:1a:af:ec:d7:2a:80:21:56:36:13:5d:19:60: + 7b:d4:23:72:eb:80:22:16:20:56:62:b8:60:d5:7c: + e2:fd:b2:b7:e6:45:87:d1:5e:05:65:69:86:10:49: + 83:73:fc:86:b2:63:ab:59:b3:ec:49:4e:62:64:f8: + c6:9c:91:2e:df:95:ae:b5:3e:d6:68:69:08:69:ab: + 68:66:57:29:bf:92:79:23:e9:cf:aa:42:aa:6d:53: + 17:bd:4b:44:8a:0d:6c:ac:8a:27:b3:4b:21:c3:bd: + 68:37:3c:a8:f1:77:5a:d9:fd:09:93:f1:09:6c:9d: + 5e:d2:2a:d2:c6:b9:99:10:18:d6:26:3a:53:2f:e1: + 69:20:74:e0:7d:4f:27:af:fa:bb:03:21:01:ac:46: + 08:a8:1b:b6:d2:0f:c0:eb:d9:46:54:9f:2a:8b:c0: + 7d:b1:60:13:fd:a7:36:49:f6:9b:02:45:3c:d9:4b: + 19:59:b3:d4:ef:8c:6e:05:be:e4:0c:60:86:bf:b6: + 75:3d:f3:47:4a:c9:31:5a:dc:79:4a:e6:db:df:46: + 12:8e:a2:43:56:c7:4e:cb:d5:10:10:a8:d3:54:80: + 4b:8f:1a:33:99:b6:e0:d8:2b:90:68:7f:1d:4c:74: + 62:b1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:BB:AF:7E:02:3D:FA:A6:F1:3C:84:8E:AD:EE:38:98:EC:D9:32:32:D4 + + X509v3 Subject Key Identifier: + 0D:49:C9:0F:3E:B1:DF:32:03:B5:92:DB:25:A5:6D:74:EC:59:22:CB + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.6449.1.2.2.22 + Policy: 2.23.140.1.2.1 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.comodoca.com/COMODORSACertificationAuthority.crl + + Authority Information Access: + CA Issuers - URI:http://crt.comodoca.com/COMODORSAAddTrustCA.crt + OCSP - URI:http://ocsp.comodoca.com + + Signature Algorithm: sha384WithRSAEncryption + 88:9d:c8:b0:2e:aa:7f:42:97:1c:39:39:ea:42:f9:5a:97:eb: + ec:ab:fd:9b:b6:e1:4e:0f:c8:75:ef:1c:f6:32:c4:59:58:6a: + 25:4d:1e:fe:64:d9:3e:71:42:83:44:db:91:11:49:62:ac:1b: + 39:64:04:24:6d:b5:69:cd:4f:e3:21:87:df:8d:15:45:f7:90: + 15:76:9d:75:6c:a4:0e:3a:62:a4:ad:e9:4a:f3:34:7c:24:62: + ce:ea:33:7f:b9:43:1e:b1:dd:bf:7d:50:2a:fe:e9:48:ee:17: + 58:a8:7d:a8:2b:b7:8e:ee:29:45:2b:02:98:33:46:e0:85:b3: + 3a:0b:36:36:de:67:b3:14:ae:17:9c:1d:0f:69:d8:dd:35:7a: + 61:4b:47:1c:ff:08:67:89:9c:7f:b1:1b:7a:87:c0:b4:8f:45: + 42:f9:81:2a:0d:2e:75:6c:fe:e1:4f:d8:51:0e:14:49:5f:44: + 5e:81:67:32:a8:e8:bc:d3:75:8c:44:68:73:15:13:4b:23:17: + 7a:52:c6:9d:38:5a:c3:d9:2a:af:f3:43:c8:2a:99:02:a0:7e: + 6f:50:c3:53:b3:1d:aa:e5:f2:7c:5b:c7:cf:47:78:f8:70:7b: + 7b:69:88:d8:5d:14:16:8c:65:94:85:01:33:f3:cd:e2:3e:34: + 0c:10:40:c7:a5:b3:3e:f7:ee:46:b9:f3:7b:d3:a5:00:86:db: + be:78:9d:5a:b7:c8:f0:b8:05:67:69:ca:f3:4b:06:4b:35:4e: + 7f:8e:d7:44:be:1f:e1:2b:ea:2d:71:c3:a4:c4:d7:e9:09:80: + fd:9f:d0:7d:0a:14:23:9a:ed:cc:09:8e:5b:6e:31:e1:26:0e: + 6e:9a:c5:5c:5d:db:01:22:e6:26:27:ed:cf:c3:91:92:b4:f7: + 03:3e:33:2f:d6:2e:64:8f:8e:b6:e7:49:53:eb:96:be:70:8a: + f8:ef:e6:3c:60:0a:63:db:b6:50:90:ec:47:4d:80:b5:ce:38: + c2:04:87:23:1f:df:1f:e8:b6:b5:57:9f:75:44:4e:72:ac:1d: + c8:59:ac:11:2a:57:db:14:76:3e:f2:d9:96:f5:27:7b:5e:9b: + f8:6f:9b:c9:19:cb:3a:76:51:15:82:b6:38:51:45:1e:a8:42: + 8e:7a:0c:86:86:73:8c:5a:27:02:ea:0c:e2:66:04:1c:67:fc: + 13:94:18:29:5a:e4:db:e2:03:68:b9:44:d6:31:f7:04:5e:c1: + 7e:53:69:a0:a5:ca:35:39:fb:94:60:d4:6f:18:88:41:9c:39: + a7:5f:2e:be:65:8e:96:d4:7e:71:ef:17:2e:e7:c3:c7:3a:08: + c2:bf:cd:ff:6a:23:fa:fd +-----BEGIN CERTIFICATE----- +MIIGLzCCBBegAwIBAgIQPBBPCb2cXuUyH0TF6Z2zBDANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTkwMjI3 +MDAwMDAwWhcNMjkwMjI2MjM1OTU5WjCBsDELMAkGA1UEBhMCQ04xEjAQBgNVBAgT +CUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xGjAYBgNVBAoTEVdvVHJ1cyBD +QSBMaW1pdGVkMUAwPgYDVQQLEzdDb250cm9sbGVkIGJ5IFNlY3RpZ28gZXhjbHVz +aXZlbHkgZm9yIFdvVHJ1cyBDQSBMaW1pdGVkMRwwGgYDVQQDExNXb1RydXMgRFYg +U2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvSg9yNme +TnzMON+GPL+s9Rqv7NcqgCFWNhNdGWB71CNy64AiFiBWYrhg1Xzi/bK35kWH0V4F +ZWmGEEmDc/yGsmOrWbPsSU5iZPjGnJEu35WutT7WaGkIaatoZlcpv5J5I+nPqkKq +bVMXvUtEig1srIons0shw71oNzyo8Xda2f0Jk/EJbJ1e0irSxrmZEBjWJjpTL+Fp +IHTgfU8nr/q7AyEBrEYIqBu20g/A69lGVJ8qi8B9sWAT/ac2SfabAkU82UsZWbPU +74xuBb7kDGCGv7Z1PfNHSskxWtx5Subb30YSjqJDVsdOy9UQEKjTVIBLjxozmbbg +2CuQaH8dTHRisQIDAQABo4IBbDCCAWgwHwYDVR0jBBgwFoAUu69+Aj36pvE8hI6t +7jiY7NkyMtQwHQYDVR0OBBYEFA1JyQ8+sd8yA7WS2yWlbXTsWSLLMA4GA1UdDwEB +/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMB +BggrBgEFBQcDAjAiBgNVHSAEGzAZMA0GCysGAQQBsjEBAgIWMAgGBmeBDAECATBM +BgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9S +U0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcBAQRlMGMwOwYI +KwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JTQUFkZFRy +dXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20w +DQYJKoZIhvcNAQEMBQADggIBAIidyLAuqn9Clxw5OepC+VqX6+yr/Zu24U4PyHXv +HPYyxFlYaiVNHv5k2T5xQoNE25ERSWKsGzlkBCRttWnNT+Mhh9+NFUX3kBV2nXVs +pA46YqSt6UrzNHwkYs7qM3+5Qx6x3b99UCr+6UjuF1iofagrt47uKUUrApgzRuCF +szoLNjbeZ7MUrhecHQ9p2N01emFLRxz/CGeJnH+xG3qHwLSPRUL5gSoNLnVs/uFP +2FEOFElfRF6BZzKo6LzTdYxEaHMVE0sjF3pSxp04WsPZKq/zQ8gqmQKgfm9Qw1Oz +Harl8nxbx89HePhwe3tpiNhdFBaMZZSFATPzzeI+NAwQQMelsz737ka583vTpQCG +2754nVq3yPC4BWdpyvNLBks1Tn+O10S+H+Er6i1xw6TE1+kJgP2f0H0KFCOa7cwJ +jltuMeEmDm6axVxd2wEi5iYn7c/DkZK09wM+My/WLmSPjrbnSVPrlr5wivjv5jxg +CmPbtlCQ7EdNgLXOOMIEhyMf3x/otrVXn3VETnKsHchZrBEqV9sUdj7y2Zb1J3te +m/hvm8kZyzp2URWCtjhRRR6oQo56DIaGc4xaJwLqDOJmBBxn/BOUGCla5NviA2i5 +RNYx9wRewX5TaaClyjU5+5Rg1G8YiEGcOadfLr5ljpbUfnHvFy7nw8c6CMK/zf9q +I/r9 +-----END CERTIFICATE-----