From 492cb7dfbc6746454ec4f0cb1df38b82625bc2d6 Mon Sep 17 00:00:00 2001 From: Jannis R Date: Sat, 18 Jun 2022 18:00:03 +0200 Subject: [PATCH] =?UTF-8?q?KVB:=20provide=20CA=20certificate=20chain=20via?= =?UTF-8?q?=20Agent=20=F0=9F=90=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- p/kvb/index.js | 11 +++++ p/kvb/thawte-rsa-ca-2018.pem | 86 ++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 p/kvb/thawte-rsa-ca-2018.pem diff --git a/p/kvb/index.js b/p/kvb/index.js index 69ee5b72..7e0b7911 100644 --- a/p/kvb/index.js +++ b/p/kvb/index.js @@ -1,5 +1,8 @@ 'use strict' +const {readFileSync} = require('fs') +const {join: pathJoin} = require('path') +const {Agent} = require('https') const baseProfile = require('./base.json') const products = [{ @@ -46,10 +49,18 @@ const products = [{ default: true, }] +// `auskunft.kvb.koeln:443` doesn't provide the necessary CA certificate chain for +// Node.js to trust the certificate, so we manually add it. +// todo: fix this properly, e.g. by letting them know +const ca = readFileSync(pathJoin(__dirname, 'thawte-rsa-ca-2018.pem')) +const agent = new Agent({ca}) +const transformReq = (ctx, req) => ({...req, agent}) + const vosProfile = { ...baseProfile, locale: 'de-DE', timezone: 'Europe/Berlin', + transformReq, products, diff --git a/p/kvb/thawte-rsa-ca-2018.pem b/p/kvb/thawte-rsa-ca-2018.pem new file mode 100644 index 00000000..50f66ac6 --- /dev/null +++ b/p/kvb/thawte-rsa-ca-2018.pem @@ -0,0 +1,86 @@ +-----BEGIN CERTIFICATE----- +MIIGczCCBVugAwIBAgIQBN9i35SGJsKXbf37JMJLQzANBgkqhkiG9w0BAQsFADBc +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMRswGQYDVQQDExJUaGF3dGUgUlNBIENBIDIwMTgwHhcN +MjIwMzA3MDAwMDAwWhcNMjMwMjIyMjM1OTU5WjB/MQswCQYDVQQGEwJERTEcMBoG +A1UECBMTTm9yZHJoZWluLVdlc3RmYWxlbjEOMAwGA1UEBwwFS8O2bG4xJTAjBgNV +BAoTHEtvZWxuZXIgVmVya2VocnMtQmV0cmllYmUgQUcxGzAZBgNVBAMTEmF1c2t1 +bmZ0Lmt2Yi5rb2VsbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOdM +stBup/rylW/FJgJm7km4ZI7QrDQDCLk7vIsMZXRLBz69JJTCHztoMDkdRQ756owM +YWIYX69r8ZnKoTolYtjvSL9xajM6TqmmSLNOMulcH6ZB3PTCzy9cgi9FOJ8yshm+ +PsXe4NB1bIp+8JZHODEwAMVd2+Wj3Mt/CWQNzxTXJ8XvV8VnRGMAQ92kATTTZpIC +ZeCXuL//S2HyoVy1Ijhoa8QCXrhQkA1Ro0/am7TYCzkRx7TozGvQMPUfXwylP3DG +gPmBwaj0pK6B7sDWud4dWeBkwxnw9U7RrTqkNskZKZduQT2VaFFXZV4w1lqGmBSX +vOg6R1q6FABWj2RyzzsCAwEAAaOCAwwwggMIMB8GA1UdIwQYMBaAFKPIXmVU5TB4 +wQXqBwpqWcy5/t5aMB0GA1UdDgQWBBSvHsOL5nlcxJgkiWYbS3EbdHZbwjAdBgNV +HREEFjAUghJhdXNrdW5mdC5rdmIua29lbG4wDgYDVR0PAQH/BAQDAgWgMB0GA1Ud +JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjA6BgNVHR8EMzAxMC+gLaArhilodHRw +Oi8vY2RwLnRoYXd0ZS5jb20vVGhhd3RlUlNBQ0EyMDE4LmNybDA+BgNVHSAENzA1 +MDMGBmeBDAECAjApMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRpZ2ljZXJ0LmNv +bS9DUFMwbwYIKwYBBQUHAQEEYzBhMCQGCCsGAQUFBzABhhhodHRwOi8vc3RhdHVz +LnRoYXd0ZS5jb20wOQYIKwYBBQUHMAKGLWh0dHA6Ly9jYWNlcnRzLnRoYXd0ZS5j +b20vVGhhd3RlUlNBQ0EyMDE4LmNydDAJBgNVHRMEAjAAMIIBfgYKKwYBBAHWeQIE +AgSCAW4EggFqAWgAdQDoPtDaPvUGNTLnVyi8iWvJA9PL0RFr7Otp4Xd9bQa9bgAA +AX9kklGWAAAEAwBGMEQCIGrwXz+5CPsI60lrnnSbgjFp8zNW3gfncp+iKMX9BzH3 +AiAnouCCDiKKhNeyWWRisnE8Gl7y6RnRMNYepPFbqe72fwB3ADXPGRu/sWxXvw+t +TG1Cy7u2JyAmUeo/4SrvqAPDO9ZMAAABf2SSUeIAAAQDAEgwRgIhAKG+5NDc1xKB +eplPJOwY/fm+1WHnhyBUEZW9Q2oY6pdPAiEAwNAapUwKrbWSzTAlrPfUBLXDdeMH +RdRAs13lU72FKKQAdgCzc3cH4YRQ+GOG1gWp3BEJSnktsWcMC4fc8AMOeTalmgAA +AX9kklH8AAAEAwBHMEUCIClPoBePd8JSI5K8h8mN9HuviKtBitnr6L/iNnv8WL/G +AiEA2oJaNexmKtj17q1+/gKzp+ffYfintY6lo5Sr9DZoRD4wDQYJKoZIhvcNAQEL +BQADggEBAAxZT6PnUX8Fz57r5dVGtNIjUbVknAocHKvTrBbsbj5PJqXMTO2Y1LSu +impm+URPUmdqNLzShxaVdmMN3dF/rERajL4j84Xu1OuAHpkXOgdeV7IuqZ6n3d++ +VYpbJ3JQOzvtjS6n6uplE/0ROTk68jtoU5lX/ALgyWatBp7nqxQgMNPnFrS3fxxN +kF5fT8Wg3uChT/h4vWnT+ck132A/YbejjoqXo7og6ZyLoEqFEinPga8hBEzMNqhE +4sqgB8CqRF6syFH00A/VezBXGbtVlGsjzq7nDcFu0aYv8Z26FLuAMX2nJq1LD5vD +Ck1kuVhzAyQpQsHlxRQ4WdhUEdiavZw= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEiTCCA3GgAwIBAgIQAlqK7xlvfg1sIQSyGuZwKzANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0xNzExMDYxMjIzNTJaFw0yNzExMDYxMjIzNTJaMFwxCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xGzAZBgNVBAMTElRoYXd0ZSBSU0EgQ0EgMjAxODCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAMoIXuVTipccHkMvtoqnVumLhEOorJ16VYJ6FEuGty+P +Up8cyrEgW2+6It2mnC142ukGCE6+E6bry7s+uQUMPkrh8DIfE071BsVHc4k+gKOL +8QEkm6OZZpJraK0NLbTNcqL0+ThaZaa0jFPBCBqE+P0u8xF1btxqMSmsDYfMk2B4 +3yW6JlmRxoNSNabKnLgoGs7XHO4Uv3ZcZas4HnnpfMxJIyaiUlBm0Flh/6D+mkwM +n/nojt4Ji7gVwaQITCacewbb/Yp0W1h+zWOkkS9F8Ho8lAuKfLIFqWeTn2jllWNg +2FiVX+BV75OnETt85pLYZkTgq72nj82khXhBJFTn2AMCAwEAAaOCAUAwggE8MB0G +A1UdDgQWBBSjyF5lVOUweMEF6gcKalnMuf7eWjAfBgNVHSMEGDAWgBQD3lA1VtFM +u2bwo+IbG8OXsj3RVTAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUH +AwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm +MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQgYDVR0fBDsw +OTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFs +Um9vdENBLmNybDA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0 +cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzANBgkqhkiG9w0BAQsFAAOCAQEARE2F +5d0cgozhZNWokCLfdhhl6mXSOyU3SoPamYcWfLH1CzMwD8a1+pFvwHIQfvlwXFH8 +MrjB3C+jVobNbVWRrgqS3Jsa0ltRH/Ffs6ZTgP4WJYm1SNpUbgR7LWUD2F+PTvKB +M/gf9eSyqP4OiJslYaa38NU1aVAxZI15o+4xX4RZMqKXIIBTG2V+oPBjQ1oPmHGA +C/yWt2eThvb8/re7OpSpUdJyfGf97XeM4PiJAl6+4HQXhjwN7ZPZKrQv9Ay33Mgm +YLVQA+x9HONZXx9vvy8pl9bu+NVYWKGxzGxBK0CBozmVUCeXQPJKPTZleYuNM18p +U1P8Xh1CDguM+ZEoew== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE-----