diff --git a/Tests/HummingbirdCoreTests/Certificates.swift b/Tests/HummingbirdCoreTests/Certificates.swift index 84f4f52..d378ab2 100644 --- a/Tests/HummingbirdCoreTests/Certificates.swift +++ b/Tests/HummingbirdCoreTests/Certificates.swift @@ -12,143 +12,150 @@ // //===----------------------------------------------------------------------===// + let testServerName = "hummingbird.codes" let caCertificateData = - """ - -----BEGIN CERTIFICATE----- - MIIDXDCCAkQCCQCH7vjrDu9x8jANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJV - SzESMBAGA1UECAwJRWRpbmJ1cmdoMRIwEAYDVQQHDAlFZGluYnVyZ2gxEDAOBgNV - BAoMB01RVFROSU8xCzAJBgNVBAsMAkNBMRowGAYDVQQDDBFodW1taW5nYmlyZC5j - b2RlczAeFw0yMzAyMjAxNzQ0MDFaFw0yNDAyMjAxNzQ0MDFaMHAxCzAJBgNVBAYT - AlVLMRIwEAYDVQQIDAlFZGluYnVyZ2gxEjAQBgNVBAcMCUVkaW5idXJnaDEQMA4G - A1UECgwHTVFUVE5JTzELMAkGA1UECwwCQ0ExGjAYBgNVBAMMEWh1bW1pbmdiaXJk - LmNvZGVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8IuHmnE/Gzqr - IY4DPvpniTT2UdELbV2x8jUkVdOo40FNvyp3EksrNlKoI/Qw/g3pedpnuW0y36Xk - 1xryMXq105opZsaIljnbC8V7Pf1bhGuWvGcmN5SxqvP036+CmrO4rF+J1st/zj2s - 6vZcQT9jIJyG1gSRtoAl0WK7BQwgC3IHFZ/NRL35TiCRqV2oP0GYbEH8AVYIZaLo - zs4xfYEKINz7VhK52Whwfs6TY9sa1y5ATCSBkxD5ZxebQ3bQGkisjzNPxewiSPrx - K8ZhvachUeGpKPBL9uRo6Eu9Z1wGkSZQUYJ9aLKa8zTAym2Mc+8KnDaYXyJCOB+H - Ny7hTMsAMQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAukrWFMghAXr8xG+isQtYk - tzdJPWjQURX7eq4Yzj4q6uH+u+5q/Z2XheahNjBxbksIWpadpjRBXLkfEHTU6FxX - 2VCESTI1ECBH96XDqZBx3G5nfH20p8xKuNz5wnCrHb9GAuFIMK4pi3vLbRmP7qyi - R8GuuYSM75nbuhJGsyVfwwJTUZxrt+Ye3TBoSF3b6zqmCjn/6bK8pI/ef6VGq2Iy - VCCtxWhE8hcnzRCp43D0wrcyahHD+5PKEQP7WDwU6oc5YzvDQDkrvV8+OhQ4fvnn - gNRjRrZ9ejmTNU0/Q01jhMTqB7p08biA80e/WUt3WlnVhj8NjQ64q87DwZvK6iXi - -----END CERTIFICATE----- - """ +""" +-----BEGIN CERTIFICATE----- +MIIDyTCCArGgAwIBAgIUC0FvEu+kqoj7HdQ0+ENclu+xGLgwDQYJKoZIhvcNAQEL +BQAwdDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAGA1UEBwwJ +RWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDELMAkGA1UECwwCQ0ExGjAY +BgNVBAMMEWh1bW1pbmdiaXJkLmNvZGVzMB4XDTI0MDQxODE1MTE0NFoXDTI5MDQx +NzE1MTE0NFowdDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAG +A1UEBwwJRWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDELMAkGA1UECwwC +Q0ExGjAYBgNVBAMMEWh1bW1pbmdiaXJkLmNvZGVzMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAu0NMHk+tK78/r9GHjPmUSTvg4ZGx/gsBjQqZB4Lsi7O8 +UnaKhHYTmCHeAUC/TmfO/0cNg3tdsf3XPW96fYQqGFjssZttDQwUjJ761x6OgLMC +POHXITJCpC37cfQAG77v8Fay5ydW4Cf2IEnWpZLS/LATTxeafsSEzQFRjI43H8Pv +cho6fQvnXJnHt3jp84uYYwNObjk3XIdpcA+RIqziQvTbOIo0FDgUxP/V0vwS/Wrd +FxSMqC7bwYb1W06j+AHdkOExVAPVqWcHJ4rWTuzyIPDIvi3jFo4l2cC67PVUoOV3 +4gu4ED2Fd5xtGlyPS7ICoaXUAuI3qMpeG1TVTZU2+wIDAQABo1MwUTAdBgNVHQ4E +FgQUfxqlFjW3ct+sh+aPfZqP55g93HYwHwYDVR0jBBgwFoAUfxqlFjW3ct+sh+aP +fZqP55g93HYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAA+WL +Ny7rL/mFx6Ubxl4f+2JoAZH8i3GvvLHjFcx8mNkPCzS5M6UqTxeSk5dARBQK19DH +dOO1YsFKN02ZOvfmtIOV9aXoOGtq+bg0nlA6ipFuBJJNatUCWwwLT8t3vp2a/f9R +YrAv9W7U3m+aYEcYtQcOszzG6llFBXV5yH/E2ltP5Af8hKoJzGDDZ8f54XAk8pPk +qONvnwI+8mUrln9wK/ImbCVNVyNAa4OE6v/cRFh0/4x9uSYmyZbfrlPsGD71QEAy +WoKD6oPlUwmBautms99+t5CSQbqzX56mJnC7ZcRfpia+rgTB2mfnx+I7RM3c499z +I/EgHutghVgf+8aIPg== +-----END CERTIFICATE----- +""" let serverCertificateData = - """ - -----BEGIN CERTIFICATE----- - MIIDszCCApugAwIBAgIJAOII8XZK4EWkMA0GCSqGSIb3DQEBCwUAMHAxCzAJBgNV - BAYTAlVLMRIwEAYDVQQIDAlFZGluYnVyZ2gxEjAQBgNVBAcMCUVkaW5idXJnaDEQ - MA4GA1UECgwHTVFUVE5JTzELMAkGA1UECwwCQ0ExGjAYBgNVBAMMEWh1bW1pbmdi - aXJkLmNvZGVzMB4XDTIzMDIyMDE3NDQwMVoXDTI0MDIyMDE3NDQwMVowdDELMAkG - A1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAGA1UEBwwJRWRpbmJ1cmdo - MRAwDgYDVQQKDAdNUVRUTklPMQ8wDQYDVQQLDAZTZXJ2ZXIxGjAYBgNVBAMMEWh1 - bW1pbmdiaXJkLmNvZGVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA - z1VRlcWnYylZqNvFdaku44G+sMcohB69yvqFRf6vn5KlZRf2cp4MnhCrhJOs9hZv - s6aitc8GSIPVBbxrIqAapBh0FtxCkhBWX5tmNJRXp255ByoPNUfGROHfMVoZfZ3E - NhBauRjmB2l9lXMVQj7HTlX4X/k+6M/Gv9fTAmJ4+pu+K+n/1H+VIoOmmpWAFCqE - RbHld/hq7CkHII/KmdhgV3gyZyV6Xe4kUtZPZQU5UmnvaFHzUeOWmPV8CKnhZLMF - 8Rl+oU87pwM6PHZTOmk274zduGiM3cIy8GEh2rC777sfovZq833duQ/hDhEvbiYH - ro9IXjrhWJpnawQ2qvp4uQIDAQABo0wwSjALBgNVHQ8EBAMCBaAwHQYDVR0lBBYw - FAYIKwYBBQUHAwEGCCsGAQUFBwMCMBwGA1UdEQQVMBOCEWh1bW1pbmdiaXJkLmNv - ZGVzMA0GCSqGSIb3DQEBCwUAA4IBAQDgGA+qKHlI0TiBwxQX9V423vOEd/pqQ2ry - Drj0c24KlTHz+mKq2i1AnQO8mwCX3GhGXc7MqyoXFgIgTVR+KQkjDrrsnt5IqUFe - d7QWWydIW4qOqQwlJGbNDXVQ9pCwHvnHlHd+Yb2De42GBqimWrBqa9iXTHHUF8/D - dQ29NFkB7r1Bpau1ELyHPkvYdk9sM4jwEinkYPB010y0nuhAR2/NBf49rwoammtS - Xp9XhKqSCnZgvdPCYGDkA5VQhnoY8jh1yFa+E3KxhRMEcPdspgkcmOSEtoDoUTX3 - mzOzBXlZOfxruyRA7rWwEeutzF4wdTUGIqEW08o3LmQB17wuKUBv - -----END CERTIFICATE----- - """ +""" +-----BEGIN CERTIFICATE----- +MIIECDCCAvCgAwIBAgIUWG1O5HT62wipJeoLL2pKwmruxIgwDQYJKoZIhvcNAQEL +BQAwdDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAGA1UEBwwJ +RWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDELMAkGA1UECwwCQ0ExGjAY +BgNVBAMMEWh1bW1pbmdiaXJkLmNvZGVzMB4XDTI0MDQxODE1MTE0NFoXDTI5MDQx +NzE1MTE0NFoweDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAG +A1UEBwwJRWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDEPMA0GA1UECwwG +U2VydmVyMRowGAYDVQQDDBFodW1taW5nYmlyZC5jb2RlczCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAOjB6welf87hsHb/JKgnw14k6Kmz259evjRlJfS6 +dqs/1LQ2f0UZbrEu/VAcch0fkzjDJKL8sl2sjd1QRvJPOAn+vyyloJofS8qCrPIr +H5xtX1YQbn7HuH1Ul+fhD6/g/mLcKGBX3lar6pdMLZmcBO1Zy/wheBMeLxCQ0aVm +SuiSA0vhtdtwlFvW2fvtk/bf5lgclzNrMQgSYpzc6QxSNl1hghg0qdnKJeK/Cjp0 +p8avcqn5PbK7lcJMu7LQVcx8ljbivmG2n5VNnRrtginDb/Un+p//EVXxFRIkxr1s +QC2bCfaHVE5sj4/bGyfnNStWllFfQL5F6+tiFa2jOcSDvksCAwEAAaOBjTCBijAL +BgNVHQ8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBwGA1Ud +EQQVMBOCEWh1bW1pbmdiaXJkLmNvZGVzMB0GA1UdDgQWBBQENV3K6XiIfpiAvmSP +UVnP4ppKWzAfBgNVHSMEGDAWgBR/GqUWNbdy36yH5o99mo/nmD3cdjANBgkqhkiG +9w0BAQsFAAOCAQEAQLkYqgfhH6cYLp36xuqNg52ziGn8nzxjpoKjoYT0+3uCcCPW +hS8Y5yHWifJf//bh+6GASrHq9+E/9o5u/PjbtQwvN9HdgcPTTggovq1Pb9aBRN/b +nxqIc3bUFedjbE0EuYJuEfWNBrmqEvPK9IoeI8KK1BVC0R2WLeRgfN8zXL1Jsb/d +1jfguMSm3jgPG9my3UOdJURjvZ92GQOAXEzGRVgmw5apNBIyU4hPsHtPnO6v33Ob +d4PmxqEdznHUp6dG/8vlj31tOW63SntqQSezY24jOo0qh+cC4sytHPNtbaRJ6LWH +jLLpvjoRoXMpKqkiYmlrobW3QUkCNJX7E+52fw== +-----END CERTIFICATE----- +""" let serverPrivateKeyData = - """ - -----BEGIN PRIVATE KEY----- - MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDPVVGVxadjKVmo - 28V1qS7jgb6wxyiEHr3K+oVF/q+fkqVlF/ZyngyeEKuEk6z2Fm+zpqK1zwZIg9UF - vGsioBqkGHQW3EKSEFZfm2Y0lFenbnkHKg81R8ZE4d8xWhl9ncQ2EFq5GOYHaX2V - cxVCPsdOVfhf+T7oz8a/19MCYnj6m74r6f/Uf5Uig6aalYAUKoRFseV3+GrsKQcg - j8qZ2GBXeDJnJXpd7iRS1k9lBTlSae9oUfNR45aY9XwIqeFkswXxGX6hTzunAzo8 - dlM6aTbvjN24aIzdwjLwYSHasLvvux+i9mrzfd25D+EOES9uJgeuj0heOuFYmmdr - BDaq+ni5AgMBAAECggEABuwGSUXMDNd4ktajhQYc9qOCRkyf4alVFM3AXVHfcyhm - NTXTmIgGS9CqqUZ049Jj8E+D5yX+Q7WDCyn7ObC2svvOBGVeI5pAB/kcNG0vb/uU - NtUEpPa8e9g+p1smtrbpshRhswRNybmP48lv0EJgTRE5tZqQqx0kuYrvFIlNGLDD - B4W9g0VvrPRqNcAoR/kJK7smJy3rQEcweU62Y3aajy19ZDSjMiIaV2NbfmF4qYiu - ggi4j9mhOxQ6T6CzfydMZ92d5oawmUFmSxjTb9WZ9mxGt6KkELpz/fn/00fPwUkO - xMKmCEGvbArBl/OONbvScUgZwt2eTTQC/Qj9x97qwQKBgQDvdslatq2ssLBLaU26 - sJarNXy1GhJs55nxGVhJFP1vmSRtzT72kk8sGVyVJil9jzUqOC/dkGQCSjvzew8W - fCAyUCmL3PXhaCidIZyFiy5MLNvV0E7Mhq/zqxNa7pIXGxxDEUd3rpDzX8ZO098k - Hh8/yiGUqErGh2ogHkzOKVDW1QKBgQDdpod8SBBGs83Wfjl+PJQunnHPN4NtJYB9 - ZlFIKuG5T2dbkbT54IeDhChs0irwS7T/1tV+/Z1nw45QaL9mTc3Y3+Gzkbw0V+R+ - oFX/N0x9tkLqbrpQF5h7IBkmPv/eRGEUDJp/zK49c7V9UXYe0W1A+iCXwE6Bctk0 - 7Mb9szCUVQKBgFX0KWpqUATAl0c6UTBF2o8x78WBykNVDqjAFDSHWEEKk0zmc0dG - VSzbHaRbwmDTWp4A9Q1umrdHtiU7crr7awMkSwVtFsUGAi4Eto4o20F0iKRC1UYM - wnOQYK4vHDk2/foE5cZL3rO9GQ2Kd3obZdQb1dnqXozMZoeI2MDXi7DRAoGBAKsb - 4OH3u+Do85GPdhDW8Uof9RoT7/i1h8DG2R7OQ91LyC2viTeRtuu3fYGsqYtB1qPe - lIhpfzdYhyfaBVAT5kJzawi2C8WYyINcgab5aKpvpq7V9izYWlVKzT9ySRKsVQkm - Ras9NpGoHsZ0uaxG3oHX1otv4Osb30R1OZUm3OzVAoGAHHFLpDDs/aZ6daCp0Yn5 - RKdBlfG9mgGZV/Q8+Qj8ZnmONHT5WPOeWv2qcbLRQ83KvFx8Ulo1AAaS0g1Yg1z2 - wkxgiS4tNzMFsHYYx1kEZYnDtfPp52Y3TYE5+Anp8ecOirbGn9F7ckHxD0qXsG35 - +wMKd17BBe23nIjeLvKMSqU= - -----END PRIVATE KEY----- - """ +""" +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDowesHpX/O4bB2 +/ySoJ8NeJOips9ufXr40ZSX0unarP9S0Nn9FGW6xLv1QHHIdH5M4wySi/LJdrI3d +UEbyTzgJ/r8spaCaH0vKgqzyKx+cbV9WEG5+x7h9VJfn4Q+v4P5i3ChgV95Wq+qX +TC2ZnATtWcv8IXgTHi8QkNGlZkrokgNL4bXbcJRb1tn77ZP23+ZYHJczazEIEmKc +3OkMUjZdYYIYNKnZyiXivwo6dKfGr3Kp+T2yu5XCTLuy0FXMfJY24r5htp+VTZ0a +7YIpw2/1J/qf/xFV8RUSJMa9bEAtmwn2h1RObI+P2xsn5zUrVpZRX0C+RevrYhWt +oznEg75LAgMBAAECggEAZAjX4OjttbYE2BfPIuA4FLGrNyhgRy36dF1Wg0hScUZV +PgDAESwdiVQnNbOMDd1AsmAYUl5lsGHVdN0oKMMIVC9i7abfj+3MbqRb/RawltPg +6gXU33Mp5N+jC9sMGWyLGGUDi2ioW7q2b8EjRgYqjfIOe/XMe/b4hlefasU8g5hP +jwEGGRH+BJJ15sEQTJHE4r6bHVvbiMN5OmfzgH7k6OyC1xJ24DXHyBLZsA+4PQ9f +TAj6y1whoVzJb/p/V2vNUSA9XR6lKe+bZ+g7YAdA6xq2I9FoGSQz44mlzu4KSAXJ +X9GUthUIFBUcfGy7KO6SiYUI5d3gRNgyD+OQcR104QKBgQD9ZJXw/Z614Am0Ztrv +miSc7gu+wRKsTowNrD1DMqTVj7Ibmus2m23EEJpH405wF6mRDCmrcAjk5T41jz3p +COyR7Mhdq64coe6MiDqes4ssvNN+RH6xuIjzeU5pXUCksZddnojEz11GnJT4bBhy +Dr7Pdf7gs9dsykgl1eg5Y0IuqwKBgQDrJvsDlT2C+OngdJXOhiYQAl8jRnFJVAZ+ +Qj567vSCDniOWifoi/gDss8H9iZYuTg4kxHjryH7w7MfyZWREeXRSKFQnbYlaZUf +M4v44uS9zoIAFNAUHkPjqxCMVRHaMASDzoIialy+LmiZjk10clEBzTTTrbf99i8s +elnTUOIu4QKBgQCO1jeLnHvtzDfMQLqjnAGNkMaAJffvt2tNfc0e5xpx5EmjNAXp +R15tymodoe2iVERapj+LC2GIHg2eRXvBtC0e6Rnda5x/OWzuPRDGSzFl659Qqy27 +4ukYTkY8MLvy2sUXmflA8B+FYVi8XLq++L7o1XvykI4cHj7jTRxV1TUGdwKBgQDe +DzF7cLNluykgjPfqz0OiWpr89MiGNpLrKCNYc87yAjhWNUz6jTLoSzK2kfwkTMSK +qFd8ayXsWiINIo/bLsuXlr6/Ii+fpNTtYgAMSDc6Bok9Cmp0lSAHHsPBwZPaNv4M +ejbpyQdLkQe1+muqS0m0KdR5ENNvP8vMdL3ej8MIAQKBgQDsu87eb5uwOK+78AK0 ++35T/er/hSWg1SqwGYS9TTVEuFcr1EOhyksQsXLlaWKS4oGFCNgQqr2dH7Pa9MId +T7fiWOxAN0e20B01MGW1F35dCIZ7ug6yg5qEMA4/8NIqlYsCGLIyOz1oFVb9fSRS +zkvY004KG3oTEvMXM/AthX9VEw== +-----END PRIVATE KEY----- +""" let clientCertificateData = - """ - -----BEGIN CERTIFICATE----- - MIIDYDCCAkgCCQDiCPF2SuBFpTANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJV - SzESMBAGA1UECAwJRWRpbmJ1cmdoMRIwEAYDVQQHDAlFZGluYnVyZ2gxEDAOBgNV - BAoMB01RVFROSU8xCzAJBgNVBAsMAkNBMRowGAYDVQQDDBFodW1taW5nYmlyZC5j - b2RlczAeFw0yMzAyMjAxNzQ0MDFaFw0yNDAyMjAxNzQ0MDFaMHQxCzAJBgNVBAYT - AlVLMRIwEAYDVQQIDAlFZGluYnVyZ2gxEjAQBgNVBAcMCUVkaW5idXJnaDEQMA4G - A1UECgwHTVFUVE5JTzEPMA0GA1UECwwGQ2xpZW50MRowGAYDVQQDDBFodW1taW5n - YmlyZC5jb2RlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMftq4Gu - Qc/1xc8p6kvXopZkh5ikzWE1yhvoJttn2JzoGZitNkqtpag1mY0j/TuuawHx/4hz - Ew16GtFhD6eqEVzqd8IsOezuhYZnNe3oBkWIgItQlHHqCeASk79yKzH9Di4uWTQ5 - H570poY4kJUQqanMTrxnYaaToIc+qgiV7FycFVZn8scCTYpLJN+9cIVK8uUjepAL - 7tSHUneRV8Yd35Ym/wc8NN3WK3ANUlY7TTMPxQSFESExgYAM0oWBL7ymXyXY/aIK - V6b7upMfuIKAuhURP0BbUBdwZLpcJv1BL6L4cB7bHFcn9bgrfPMyg7piOODP5lgy - MZTqgsYAGFk5yCECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEASIpUoZ44pN4Vt8R2 - H3mRVNDAnx2ZGikTavPt1GRAY18H9tjPfFIlVeDhCtdmcxDetozt3IVynp048pUR - k7jpsKwBVs30uyWloyitzntcwHj23o2BzfjbHPVZyr86vDoa1TNkeNLrbLejLFkN - d9UAwGpD8AqXoVa6MkOzC6/rxyPZpRJpV4IL4z9DgNObBCfqzRM5CE2alVCdLgm+ - b/yAfMfUilt4o/OqKcgfRANimVYGP3dUfXbbco7hFldeyinkm6Qs7qEEDpHn+o9z - JZlrGcNUV+aMIStC1NXvQcwSKFUbHdAfynUpUxtwj2rlRQsRM0SoKwHNjxqUNZdA - sfN2MA== - -----END CERTIFICATE----- - """ +""" +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIUWG1O5HT62wipJeoLL2pKwmruxIkwDQYJKoZIhvcNAQEL +BQAwdDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAGA1UEBwwJ +RWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDELMAkGA1UECwwCQ0ExGjAY +BgNVBAMMEWh1bW1pbmdiaXJkLmNvZGVzMB4XDTI0MDQxODE1MTE0NFoXDTI5MDQx +NzE1MTE0NFoweDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAG +A1UEBwwJRWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDEPMA0GA1UECwwG +Q2xpZW50MRowGAYDVQQDDBFodW1taW5nYmlyZC5jb2RlczCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAMU5wy8qWT86YeFSSFanc8tGhL2kKZAXv6Oqh+KJ +BGWx6uAN4WLNqMccGKgXSBFbaZ9ve+CgjbB3l6fZdflpty6O1GVVdpzFn2bq2XdE +ld5L4xyV5JTPy+LDo1r2c+S4Q2F3VTddtkTBhWhP2QS9J9pvmfOtffA3/WUfznXz +XdmoFBUxXiXbGTeWFi92sFC/iDEQzXXHuVBpykWvjF5L26rcZZWAtHeMTbRfqi6X +aip27i4mX+Ehc2UMmt2C2OPiMQXGcNUn0tU8w0InPXTe0/CzvJnIwqnc+ZLcyaVA +YJzqGH0ADBYY9qmzXB81BzoyAPUjiBtmdNoLx8YsY/s29nsCAwEAAaNCMEAwHQYD +VR0OBBYEFJ1eR4W1da4+cKl/Y3dyi0i7pcyHMB8GA1UdIwQYMBaAFH8apRY1t3Lf +rIfmj32aj+eYPdx2MA0GCSqGSIb3DQEBCwUAA4IBAQAZyYzLMHsHHAGV5Zc79NTz +E4SwcOiL1GIpsRzXQqw6w2U+v9EJ14MKbXtJzYN0J8kLmcxKeO3RITtGzu4RoXlZ +uuQsM/SE7CAiCUmcsRTsWFi/tLKFLEiSItcdDbVywAPz17A/MbGup7hOZmvcb6jB +PW3ezvGsRQ5zw3pQDtWGnKrpjHuGjxJ4p0FQ9TkekP4h0lxVFm5CY/IDvpOnShjS +UGMtaXGo/cKKevduf/TDSp/u0TUu4FqQsKCc9nTstj24HzS2bw1/lRJQEWhVrBB3 +RfnzmbYN4z4m3AcFvfVUJuBlJONEZHTZsidLoaB5PKyHBkSM6mkVOUoCELljt6tX +-----END CERTIFICATE----- +""" let clientPrivateKeyData = - """ - -----BEGIN PRIVATE KEY----- - MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDH7auBrkHP9cXP - KepL16KWZIeYpM1hNcob6CbbZ9ic6BmYrTZKraWoNZmNI/07rmsB8f+IcxMNehrR - YQ+nqhFc6nfCLDns7oWGZzXt6AZFiICLUJRx6gngEpO/cisx/Q4uLlk0OR+e9KaG - OJCVEKmpzE68Z2Gmk6CHPqoIlexcnBVWZ/LHAk2KSyTfvXCFSvLlI3qQC+7Uh1J3 - kVfGHd+WJv8HPDTd1itwDVJWO00zD8UEhREhMYGADNKFgS+8pl8l2P2iClem+7qT - H7iCgLoVET9AW1AXcGS6XCb9QS+i+HAe2xxXJ/W4K3zzMoO6Yjjgz+ZYMjGU6oLG - ABhZOcghAgMBAAECggEBAI6NZ5GSt3hZjM6W22lyeopzab+sGojquo5FbJdapzfR - wpZ7Qs/imtCiTzc05xYL2l7Lt2EKdBZS7xZF98yb1b+Dqxp3QGIw/GIF640TuI0R - tF4heYbz0lDDzjdeZ3BAOEEzaQV0iZhkZuwjHuw6sk7Qz39E03rbnkVwp/pxM9Qf - b+XK78GROi+SXO54ftHsh0y/cGQFtsSYdttSvdYwY6nWoEYSZIY4Ydfb0piQCS7B - LU0omcQuOLqVQPpA0UXwig6b78g6lC5yoA5Rag6VEo1Miw2BeBPSa4e+Apcv0CH+ - usbEAaL0+9TC8BbtqVSV3P2e+yYpqY9hwFxmRQn4vGUCgYEA5oBnReunFsIlu0a3 - wPsD1QVh2oBEkG90GUnFVKgU2k+LDeO5NL35t4zByBQNoC7Ov8F4+bH2mE7f/3Fp - +ST6SSIamNPboiDMdKUSFfOxMCQt/4j626/np2uSnLBEfVWI/m8Jc1pA/aqtMSHk - wk1ipcEZTabX/Xgg/RF61kgoTF8CgYEA3gt2NKtFww6pOx1NHe7akQdHaCyKL+iv - 04oTxdeCton/UGB3WDxSacX/mf2H2J7Nlb9PCx7JEJlpoxtbLOQ9Q3ZsTEAU8olz - aorWQHeZGAKcGsDYl751Brp060oIMwpWMJ9lXGfU5wFdjXdIuZiF7Hq3DtKaDkis - RODi+X+eO38CgYBZ80vZ7l9TM0qULcGxroNNUv9fzGR1VPkikTZPlhQlKZtjPTXe - TjCwH17T3HeAxiNqk27JSlioEUe6oKCxWGvPtF5au3pfZ5tB/dTz+hhwZ/4HVYZH - yvqEzCb3vJXNr155pA01Fch89WkG3mouJRLVCmj8c5qgUIvXFkYwbxJC0wKBgHib - ByiSgwDw3LDUOIfyrdsqdfm6f5CINcCT9it25HPbvsbcrtZJZYY4Wp483GWn1Ajr - cbabkSCoA33ppPtcOX6EO0yrXfVi/UK4iKlZjNlCyaGqb7r0Y0I1Ur5eZte6XJhq - a7bmWvjif/sP+Ht+wfdxrC6r66uog5GiCQb1729nAoGBAL3BIQ1HjpKfwIhYKIZt - mHpA8hqfe2hZxRs1wnCiKRsY+oSiWeT1ZvCjQ1qaryVlHn8l94R0/S0h2tYCMEGU - XuptTzDXNUKCu9UG+0G7b2O9R96bAhYwoXBbPd2YQycw/NtQ6RMvv3oCbQWEpsT8 - exHN+mnZFXk8FgxAyAitGLRt - -----END PRIVATE KEY----- - """ +""" +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFOcMvKlk/OmHh +UkhWp3PLRoS9pCmQF7+jqofiiQRlsergDeFizajHHBioF0gRW2mfb3vgoI2wd5en +2XX5abcujtRlVXacxZ9m6tl3RJXeS+McleSUz8viw6Na9nPkuENhd1U3XbZEwYVo +T9kEvSfab5nzrX3wN/1lH851813ZqBQVMV4l2xk3lhYvdrBQv4gxEM11x7lQacpF +r4xeS9uq3GWVgLR3jE20X6oul2oqdu4uJl/hIXNlDJrdgtjj4jEFxnDVJ9LVPMNC +Jz103tPws7yZyMKp3PmS3MmlQGCc6hh9AAwWGPaps1wfNQc6MgD1I4gbZnTaC8fG +LGP7NvZ7AgMBAAECggEANMSYHuHvP/YAYzdPKHQkDJKhCFZIUoewG/uP4MH1Hbpl +E65TC8rnqeIwDKUyAIbbMy+yTq7WSg0tU9jgcithOgE3/abIlfhgBjq2lW0Rxgi6 +ypamMlSIgfMDHV7MMjlEueqiL66QikPWzEp0z4pGg/CRGbvk8qUgVHKWnENRbF7N +jwXO4q/vBRJXqMs6VfwybNXShOapvcn5YSyd0Zo7Ab95X0NxwjFvG0vGlZ1cnmT3 +8kVi/qao6zQycxFbTHApGtH7dtZYcqsDciI5xw6JOJWFGyQr+zwfTWgEG0QZKowc +sAPlpnLyhGKu0ELqTf4qfXKOJE0Bu2KYg8GZc5n6LQKBgQD6sIWNx2FZMfwOrP65 +hCCL8DG7OnEUy8Tl/KgsITBSWo0IaSLPeR/nf6OOB0J4SQdbAI/ZU6Zqz7b7AFnd +reHTNfr5B7dV3loP4aIWzH2PHFmolRueJqozghTL9cn6ImSZOD6lgkJokndV5sR5 +MsQXxm9yYil/6wtUmWBgmtGepQKBgQDJZ07wUD5RkS173FT7J3t64Hy8iPo7MExI +fR70ZsZO+waPc5ZUZUEVp9V+UwAlV1PuutfoKLQLcIi09sr3yHH5XYzYZ5Y1t5xS +HHBVP7PCy3MkrJ0Yfa2YCDEftMJdLwd5wzmTkalL0yNcwvOq0FhCdz3psVZjnb3p +rwLCZbJWnwKBgQDgqMlHYeLP+IeW71noD4zLXBp1W85zgJmYMnDT+3o+k3/Ihc/4 +dugsoqqEYeUjvu6kk0BW1yxQlI27K3ldvLKggcPE4TFf9sBncyG7pM7xLcr71YTG +mof1WSIiFsdHLwNQfKNH2BCDfp8LkJ+KrgAl/mNp8qaWSKIC0uEYMiahMQKBgFyK +hIH1TP0rqOuNrNqOJLWsKoRyqA/EPHjeTPfdtWca/sOxR7TVpZcuu/FEb/+4ZY9+ ++K/q6/eJqLcF4vMBfiUncA0LY8Cg8knkWVVCZPWvh+OlELXtIXOG6BN6eghZEKVJ +J85/knuNs2TvCwlEnBlGMwOLAXfaRiX2zVzHX69fAoGBAPUKdT8Vco8VOoxQ2E/n +7vpbkYejMnidbMXeq7Pm54hC81eZmLrV+WG8cMnN9TB1efH9Tb3EwTuaoTyFr07B +ZT2X+ly6oYv59KWYjbQ+Dowi8eund3W73HUsJqGcPCNmgNBoXe8x1+qyKBir60WY +4eCEFXiLAtX3g1bUiGMDTObU +-----END PRIVATE KEY----- +""" diff --git a/Tests/HummingbirdCoreTests/Certificates/server.p12 b/Tests/HummingbirdCoreTests/Certificates/server.p12 index 634fc92..1d0f260 100644 Binary files a/Tests/HummingbirdCoreTests/Certificates/server.p12 and b/Tests/HummingbirdCoreTests/Certificates/server.p12 differ diff --git a/Tests/HummingbirdCoreTests/TSTests.swift b/Tests/HummingbirdCoreTests/TSTests.swift index fc201c7..00a121b 100644 --- a/Tests/HummingbirdCoreTests/TSTests.swift +++ b/Tests/HummingbirdCoreTests/TSTests.swift @@ -72,7 +72,7 @@ class TransportServicesTests: XCTestCase { let eventLoopGroup = NIOTSEventLoopGroup() let p12Path = Bundle.module.path(forResource: "server", ofType: "p12")! let tlsOptions = try XCTUnwrap(TSTLSOptions.options( - serverIdentity: .p12(filename: p12Path, password: "MyPassword") + serverIdentity: .p12(filename: p12Path, password: "HBTests") )) let configuration = HBHTTPServer.Configuration( address: .hostname(port: 0), diff --git a/Tests/HummingbirdTLSTests/Certificates.swift b/Tests/HummingbirdTLSTests/Certificates.swift index 84f4f52..d378ab2 100644 --- a/Tests/HummingbirdTLSTests/Certificates.swift +++ b/Tests/HummingbirdTLSTests/Certificates.swift @@ -12,143 +12,150 @@ // //===----------------------------------------------------------------------===// + let testServerName = "hummingbird.codes" let caCertificateData = - """ - -----BEGIN CERTIFICATE----- - MIIDXDCCAkQCCQCH7vjrDu9x8jANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJV - SzESMBAGA1UECAwJRWRpbmJ1cmdoMRIwEAYDVQQHDAlFZGluYnVyZ2gxEDAOBgNV - BAoMB01RVFROSU8xCzAJBgNVBAsMAkNBMRowGAYDVQQDDBFodW1taW5nYmlyZC5j - b2RlczAeFw0yMzAyMjAxNzQ0MDFaFw0yNDAyMjAxNzQ0MDFaMHAxCzAJBgNVBAYT - AlVLMRIwEAYDVQQIDAlFZGluYnVyZ2gxEjAQBgNVBAcMCUVkaW5idXJnaDEQMA4G - A1UECgwHTVFUVE5JTzELMAkGA1UECwwCQ0ExGjAYBgNVBAMMEWh1bW1pbmdiaXJk - LmNvZGVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8IuHmnE/Gzqr - IY4DPvpniTT2UdELbV2x8jUkVdOo40FNvyp3EksrNlKoI/Qw/g3pedpnuW0y36Xk - 1xryMXq105opZsaIljnbC8V7Pf1bhGuWvGcmN5SxqvP036+CmrO4rF+J1st/zj2s - 6vZcQT9jIJyG1gSRtoAl0WK7BQwgC3IHFZ/NRL35TiCRqV2oP0GYbEH8AVYIZaLo - zs4xfYEKINz7VhK52Whwfs6TY9sa1y5ATCSBkxD5ZxebQ3bQGkisjzNPxewiSPrx - K8ZhvachUeGpKPBL9uRo6Eu9Z1wGkSZQUYJ9aLKa8zTAym2Mc+8KnDaYXyJCOB+H - Ny7hTMsAMQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAukrWFMghAXr8xG+isQtYk - tzdJPWjQURX7eq4Yzj4q6uH+u+5q/Z2XheahNjBxbksIWpadpjRBXLkfEHTU6FxX - 2VCESTI1ECBH96XDqZBx3G5nfH20p8xKuNz5wnCrHb9GAuFIMK4pi3vLbRmP7qyi - R8GuuYSM75nbuhJGsyVfwwJTUZxrt+Ye3TBoSF3b6zqmCjn/6bK8pI/ef6VGq2Iy - VCCtxWhE8hcnzRCp43D0wrcyahHD+5PKEQP7WDwU6oc5YzvDQDkrvV8+OhQ4fvnn - gNRjRrZ9ejmTNU0/Q01jhMTqB7p08biA80e/WUt3WlnVhj8NjQ64q87DwZvK6iXi - -----END CERTIFICATE----- - """ +""" +-----BEGIN CERTIFICATE----- +MIIDyTCCArGgAwIBAgIUC0FvEu+kqoj7HdQ0+ENclu+xGLgwDQYJKoZIhvcNAQEL +BQAwdDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAGA1UEBwwJ +RWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDELMAkGA1UECwwCQ0ExGjAY +BgNVBAMMEWh1bW1pbmdiaXJkLmNvZGVzMB4XDTI0MDQxODE1MTE0NFoXDTI5MDQx +NzE1MTE0NFowdDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAG +A1UEBwwJRWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDELMAkGA1UECwwC +Q0ExGjAYBgNVBAMMEWh1bW1pbmdiaXJkLmNvZGVzMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAu0NMHk+tK78/r9GHjPmUSTvg4ZGx/gsBjQqZB4Lsi7O8 +UnaKhHYTmCHeAUC/TmfO/0cNg3tdsf3XPW96fYQqGFjssZttDQwUjJ761x6OgLMC +POHXITJCpC37cfQAG77v8Fay5ydW4Cf2IEnWpZLS/LATTxeafsSEzQFRjI43H8Pv +cho6fQvnXJnHt3jp84uYYwNObjk3XIdpcA+RIqziQvTbOIo0FDgUxP/V0vwS/Wrd +FxSMqC7bwYb1W06j+AHdkOExVAPVqWcHJ4rWTuzyIPDIvi3jFo4l2cC67PVUoOV3 +4gu4ED2Fd5xtGlyPS7ICoaXUAuI3qMpeG1TVTZU2+wIDAQABo1MwUTAdBgNVHQ4E +FgQUfxqlFjW3ct+sh+aPfZqP55g93HYwHwYDVR0jBBgwFoAUfxqlFjW3ct+sh+aP +fZqP55g93HYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAA+WL +Ny7rL/mFx6Ubxl4f+2JoAZH8i3GvvLHjFcx8mNkPCzS5M6UqTxeSk5dARBQK19DH +dOO1YsFKN02ZOvfmtIOV9aXoOGtq+bg0nlA6ipFuBJJNatUCWwwLT8t3vp2a/f9R +YrAv9W7U3m+aYEcYtQcOszzG6llFBXV5yH/E2ltP5Af8hKoJzGDDZ8f54XAk8pPk +qONvnwI+8mUrln9wK/ImbCVNVyNAa4OE6v/cRFh0/4x9uSYmyZbfrlPsGD71QEAy +WoKD6oPlUwmBautms99+t5CSQbqzX56mJnC7ZcRfpia+rgTB2mfnx+I7RM3c499z +I/EgHutghVgf+8aIPg== +-----END CERTIFICATE----- +""" let serverCertificateData = - """ - -----BEGIN CERTIFICATE----- - MIIDszCCApugAwIBAgIJAOII8XZK4EWkMA0GCSqGSIb3DQEBCwUAMHAxCzAJBgNV - BAYTAlVLMRIwEAYDVQQIDAlFZGluYnVyZ2gxEjAQBgNVBAcMCUVkaW5idXJnaDEQ - MA4GA1UECgwHTVFUVE5JTzELMAkGA1UECwwCQ0ExGjAYBgNVBAMMEWh1bW1pbmdi - aXJkLmNvZGVzMB4XDTIzMDIyMDE3NDQwMVoXDTI0MDIyMDE3NDQwMVowdDELMAkG - A1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAGA1UEBwwJRWRpbmJ1cmdo - MRAwDgYDVQQKDAdNUVRUTklPMQ8wDQYDVQQLDAZTZXJ2ZXIxGjAYBgNVBAMMEWh1 - bW1pbmdiaXJkLmNvZGVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA - z1VRlcWnYylZqNvFdaku44G+sMcohB69yvqFRf6vn5KlZRf2cp4MnhCrhJOs9hZv - s6aitc8GSIPVBbxrIqAapBh0FtxCkhBWX5tmNJRXp255ByoPNUfGROHfMVoZfZ3E - NhBauRjmB2l9lXMVQj7HTlX4X/k+6M/Gv9fTAmJ4+pu+K+n/1H+VIoOmmpWAFCqE - RbHld/hq7CkHII/KmdhgV3gyZyV6Xe4kUtZPZQU5UmnvaFHzUeOWmPV8CKnhZLMF - 8Rl+oU87pwM6PHZTOmk274zduGiM3cIy8GEh2rC777sfovZq833duQ/hDhEvbiYH - ro9IXjrhWJpnawQ2qvp4uQIDAQABo0wwSjALBgNVHQ8EBAMCBaAwHQYDVR0lBBYw - FAYIKwYBBQUHAwEGCCsGAQUFBwMCMBwGA1UdEQQVMBOCEWh1bW1pbmdiaXJkLmNv - ZGVzMA0GCSqGSIb3DQEBCwUAA4IBAQDgGA+qKHlI0TiBwxQX9V423vOEd/pqQ2ry - Drj0c24KlTHz+mKq2i1AnQO8mwCX3GhGXc7MqyoXFgIgTVR+KQkjDrrsnt5IqUFe - d7QWWydIW4qOqQwlJGbNDXVQ9pCwHvnHlHd+Yb2De42GBqimWrBqa9iXTHHUF8/D - dQ29NFkB7r1Bpau1ELyHPkvYdk9sM4jwEinkYPB010y0nuhAR2/NBf49rwoammtS - Xp9XhKqSCnZgvdPCYGDkA5VQhnoY8jh1yFa+E3KxhRMEcPdspgkcmOSEtoDoUTX3 - mzOzBXlZOfxruyRA7rWwEeutzF4wdTUGIqEW08o3LmQB17wuKUBv - -----END CERTIFICATE----- - """ +""" +-----BEGIN CERTIFICATE----- +MIIECDCCAvCgAwIBAgIUWG1O5HT62wipJeoLL2pKwmruxIgwDQYJKoZIhvcNAQEL +BQAwdDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAGA1UEBwwJ +RWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDELMAkGA1UECwwCQ0ExGjAY +BgNVBAMMEWh1bW1pbmdiaXJkLmNvZGVzMB4XDTI0MDQxODE1MTE0NFoXDTI5MDQx +NzE1MTE0NFoweDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAG +A1UEBwwJRWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDEPMA0GA1UECwwG +U2VydmVyMRowGAYDVQQDDBFodW1taW5nYmlyZC5jb2RlczCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAOjB6welf87hsHb/JKgnw14k6Kmz259evjRlJfS6 +dqs/1LQ2f0UZbrEu/VAcch0fkzjDJKL8sl2sjd1QRvJPOAn+vyyloJofS8qCrPIr +H5xtX1YQbn7HuH1Ul+fhD6/g/mLcKGBX3lar6pdMLZmcBO1Zy/wheBMeLxCQ0aVm +SuiSA0vhtdtwlFvW2fvtk/bf5lgclzNrMQgSYpzc6QxSNl1hghg0qdnKJeK/Cjp0 +p8avcqn5PbK7lcJMu7LQVcx8ljbivmG2n5VNnRrtginDb/Un+p//EVXxFRIkxr1s +QC2bCfaHVE5sj4/bGyfnNStWllFfQL5F6+tiFa2jOcSDvksCAwEAAaOBjTCBijAL +BgNVHQ8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBwGA1Ud +EQQVMBOCEWh1bW1pbmdiaXJkLmNvZGVzMB0GA1UdDgQWBBQENV3K6XiIfpiAvmSP +UVnP4ppKWzAfBgNVHSMEGDAWgBR/GqUWNbdy36yH5o99mo/nmD3cdjANBgkqhkiG +9w0BAQsFAAOCAQEAQLkYqgfhH6cYLp36xuqNg52ziGn8nzxjpoKjoYT0+3uCcCPW +hS8Y5yHWifJf//bh+6GASrHq9+E/9o5u/PjbtQwvN9HdgcPTTggovq1Pb9aBRN/b +nxqIc3bUFedjbE0EuYJuEfWNBrmqEvPK9IoeI8KK1BVC0R2WLeRgfN8zXL1Jsb/d +1jfguMSm3jgPG9my3UOdJURjvZ92GQOAXEzGRVgmw5apNBIyU4hPsHtPnO6v33Ob +d4PmxqEdznHUp6dG/8vlj31tOW63SntqQSezY24jOo0qh+cC4sytHPNtbaRJ6LWH +jLLpvjoRoXMpKqkiYmlrobW3QUkCNJX7E+52fw== +-----END CERTIFICATE----- +""" let serverPrivateKeyData = - """ - -----BEGIN PRIVATE KEY----- - MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDPVVGVxadjKVmo - 28V1qS7jgb6wxyiEHr3K+oVF/q+fkqVlF/ZyngyeEKuEk6z2Fm+zpqK1zwZIg9UF - vGsioBqkGHQW3EKSEFZfm2Y0lFenbnkHKg81R8ZE4d8xWhl9ncQ2EFq5GOYHaX2V - cxVCPsdOVfhf+T7oz8a/19MCYnj6m74r6f/Uf5Uig6aalYAUKoRFseV3+GrsKQcg - j8qZ2GBXeDJnJXpd7iRS1k9lBTlSae9oUfNR45aY9XwIqeFkswXxGX6hTzunAzo8 - dlM6aTbvjN24aIzdwjLwYSHasLvvux+i9mrzfd25D+EOES9uJgeuj0heOuFYmmdr - BDaq+ni5AgMBAAECggEABuwGSUXMDNd4ktajhQYc9qOCRkyf4alVFM3AXVHfcyhm - NTXTmIgGS9CqqUZ049Jj8E+D5yX+Q7WDCyn7ObC2svvOBGVeI5pAB/kcNG0vb/uU - NtUEpPa8e9g+p1smtrbpshRhswRNybmP48lv0EJgTRE5tZqQqx0kuYrvFIlNGLDD - B4W9g0VvrPRqNcAoR/kJK7smJy3rQEcweU62Y3aajy19ZDSjMiIaV2NbfmF4qYiu - ggi4j9mhOxQ6T6CzfydMZ92d5oawmUFmSxjTb9WZ9mxGt6KkELpz/fn/00fPwUkO - xMKmCEGvbArBl/OONbvScUgZwt2eTTQC/Qj9x97qwQKBgQDvdslatq2ssLBLaU26 - sJarNXy1GhJs55nxGVhJFP1vmSRtzT72kk8sGVyVJil9jzUqOC/dkGQCSjvzew8W - fCAyUCmL3PXhaCidIZyFiy5MLNvV0E7Mhq/zqxNa7pIXGxxDEUd3rpDzX8ZO098k - Hh8/yiGUqErGh2ogHkzOKVDW1QKBgQDdpod8SBBGs83Wfjl+PJQunnHPN4NtJYB9 - ZlFIKuG5T2dbkbT54IeDhChs0irwS7T/1tV+/Z1nw45QaL9mTc3Y3+Gzkbw0V+R+ - oFX/N0x9tkLqbrpQF5h7IBkmPv/eRGEUDJp/zK49c7V9UXYe0W1A+iCXwE6Bctk0 - 7Mb9szCUVQKBgFX0KWpqUATAl0c6UTBF2o8x78WBykNVDqjAFDSHWEEKk0zmc0dG - VSzbHaRbwmDTWp4A9Q1umrdHtiU7crr7awMkSwVtFsUGAi4Eto4o20F0iKRC1UYM - wnOQYK4vHDk2/foE5cZL3rO9GQ2Kd3obZdQb1dnqXozMZoeI2MDXi7DRAoGBAKsb - 4OH3u+Do85GPdhDW8Uof9RoT7/i1h8DG2R7OQ91LyC2viTeRtuu3fYGsqYtB1qPe - lIhpfzdYhyfaBVAT5kJzawi2C8WYyINcgab5aKpvpq7V9izYWlVKzT9ySRKsVQkm - Ras9NpGoHsZ0uaxG3oHX1otv4Osb30R1OZUm3OzVAoGAHHFLpDDs/aZ6daCp0Yn5 - RKdBlfG9mgGZV/Q8+Qj8ZnmONHT5WPOeWv2qcbLRQ83KvFx8Ulo1AAaS0g1Yg1z2 - wkxgiS4tNzMFsHYYx1kEZYnDtfPp52Y3TYE5+Anp8ecOirbGn9F7ckHxD0qXsG35 - +wMKd17BBe23nIjeLvKMSqU= - -----END PRIVATE KEY----- - """ +""" +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDowesHpX/O4bB2 +/ySoJ8NeJOips9ufXr40ZSX0unarP9S0Nn9FGW6xLv1QHHIdH5M4wySi/LJdrI3d +UEbyTzgJ/r8spaCaH0vKgqzyKx+cbV9WEG5+x7h9VJfn4Q+v4P5i3ChgV95Wq+qX +TC2ZnATtWcv8IXgTHi8QkNGlZkrokgNL4bXbcJRb1tn77ZP23+ZYHJczazEIEmKc +3OkMUjZdYYIYNKnZyiXivwo6dKfGr3Kp+T2yu5XCTLuy0FXMfJY24r5htp+VTZ0a +7YIpw2/1J/qf/xFV8RUSJMa9bEAtmwn2h1RObI+P2xsn5zUrVpZRX0C+RevrYhWt +oznEg75LAgMBAAECggEAZAjX4OjttbYE2BfPIuA4FLGrNyhgRy36dF1Wg0hScUZV +PgDAESwdiVQnNbOMDd1AsmAYUl5lsGHVdN0oKMMIVC9i7abfj+3MbqRb/RawltPg +6gXU33Mp5N+jC9sMGWyLGGUDi2ioW7q2b8EjRgYqjfIOe/XMe/b4hlefasU8g5hP +jwEGGRH+BJJ15sEQTJHE4r6bHVvbiMN5OmfzgH7k6OyC1xJ24DXHyBLZsA+4PQ9f +TAj6y1whoVzJb/p/V2vNUSA9XR6lKe+bZ+g7YAdA6xq2I9FoGSQz44mlzu4KSAXJ +X9GUthUIFBUcfGy7KO6SiYUI5d3gRNgyD+OQcR104QKBgQD9ZJXw/Z614Am0Ztrv +miSc7gu+wRKsTowNrD1DMqTVj7Ibmus2m23EEJpH405wF6mRDCmrcAjk5T41jz3p +COyR7Mhdq64coe6MiDqes4ssvNN+RH6xuIjzeU5pXUCksZddnojEz11GnJT4bBhy +Dr7Pdf7gs9dsykgl1eg5Y0IuqwKBgQDrJvsDlT2C+OngdJXOhiYQAl8jRnFJVAZ+ +Qj567vSCDniOWifoi/gDss8H9iZYuTg4kxHjryH7w7MfyZWREeXRSKFQnbYlaZUf +M4v44uS9zoIAFNAUHkPjqxCMVRHaMASDzoIialy+LmiZjk10clEBzTTTrbf99i8s +elnTUOIu4QKBgQCO1jeLnHvtzDfMQLqjnAGNkMaAJffvt2tNfc0e5xpx5EmjNAXp +R15tymodoe2iVERapj+LC2GIHg2eRXvBtC0e6Rnda5x/OWzuPRDGSzFl659Qqy27 +4ukYTkY8MLvy2sUXmflA8B+FYVi8XLq++L7o1XvykI4cHj7jTRxV1TUGdwKBgQDe +DzF7cLNluykgjPfqz0OiWpr89MiGNpLrKCNYc87yAjhWNUz6jTLoSzK2kfwkTMSK +qFd8ayXsWiINIo/bLsuXlr6/Ii+fpNTtYgAMSDc6Bok9Cmp0lSAHHsPBwZPaNv4M +ejbpyQdLkQe1+muqS0m0KdR5ENNvP8vMdL3ej8MIAQKBgQDsu87eb5uwOK+78AK0 ++35T/er/hSWg1SqwGYS9TTVEuFcr1EOhyksQsXLlaWKS4oGFCNgQqr2dH7Pa9MId +T7fiWOxAN0e20B01MGW1F35dCIZ7ug6yg5qEMA4/8NIqlYsCGLIyOz1oFVb9fSRS +zkvY004KG3oTEvMXM/AthX9VEw== +-----END PRIVATE KEY----- +""" let clientCertificateData = - """ - -----BEGIN CERTIFICATE----- - MIIDYDCCAkgCCQDiCPF2SuBFpTANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJV - SzESMBAGA1UECAwJRWRpbmJ1cmdoMRIwEAYDVQQHDAlFZGluYnVyZ2gxEDAOBgNV - BAoMB01RVFROSU8xCzAJBgNVBAsMAkNBMRowGAYDVQQDDBFodW1taW5nYmlyZC5j - b2RlczAeFw0yMzAyMjAxNzQ0MDFaFw0yNDAyMjAxNzQ0MDFaMHQxCzAJBgNVBAYT - AlVLMRIwEAYDVQQIDAlFZGluYnVyZ2gxEjAQBgNVBAcMCUVkaW5idXJnaDEQMA4G - A1UECgwHTVFUVE5JTzEPMA0GA1UECwwGQ2xpZW50MRowGAYDVQQDDBFodW1taW5n - YmlyZC5jb2RlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMftq4Gu - Qc/1xc8p6kvXopZkh5ikzWE1yhvoJttn2JzoGZitNkqtpag1mY0j/TuuawHx/4hz - Ew16GtFhD6eqEVzqd8IsOezuhYZnNe3oBkWIgItQlHHqCeASk79yKzH9Di4uWTQ5 - H570poY4kJUQqanMTrxnYaaToIc+qgiV7FycFVZn8scCTYpLJN+9cIVK8uUjepAL - 7tSHUneRV8Yd35Ym/wc8NN3WK3ANUlY7TTMPxQSFESExgYAM0oWBL7ymXyXY/aIK - V6b7upMfuIKAuhURP0BbUBdwZLpcJv1BL6L4cB7bHFcn9bgrfPMyg7piOODP5lgy - MZTqgsYAGFk5yCECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEASIpUoZ44pN4Vt8R2 - H3mRVNDAnx2ZGikTavPt1GRAY18H9tjPfFIlVeDhCtdmcxDetozt3IVynp048pUR - k7jpsKwBVs30uyWloyitzntcwHj23o2BzfjbHPVZyr86vDoa1TNkeNLrbLejLFkN - d9UAwGpD8AqXoVa6MkOzC6/rxyPZpRJpV4IL4z9DgNObBCfqzRM5CE2alVCdLgm+ - b/yAfMfUilt4o/OqKcgfRANimVYGP3dUfXbbco7hFldeyinkm6Qs7qEEDpHn+o9z - JZlrGcNUV+aMIStC1NXvQcwSKFUbHdAfynUpUxtwj2rlRQsRM0SoKwHNjxqUNZdA - sfN2MA== - -----END CERTIFICATE----- - """ +""" +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIUWG1O5HT62wipJeoLL2pKwmruxIkwDQYJKoZIhvcNAQEL +BQAwdDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAGA1UEBwwJ +RWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDELMAkGA1UECwwCQ0ExGjAY +BgNVBAMMEWh1bW1pbmdiaXJkLmNvZGVzMB4XDTI0MDQxODE1MTE0NFoXDTI5MDQx +NzE1MTE0NFoweDELMAkGA1UEBhMCVUsxEjAQBgNVBAgMCUVkaW5idXJnaDESMBAG +A1UEBwwJRWRpbmJ1cmdoMRQwEgYDVQQKDAtIdW1taW5nYmlyZDEPMA0GA1UECwwG +Q2xpZW50MRowGAYDVQQDDBFodW1taW5nYmlyZC5jb2RlczCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAMU5wy8qWT86YeFSSFanc8tGhL2kKZAXv6Oqh+KJ +BGWx6uAN4WLNqMccGKgXSBFbaZ9ve+CgjbB3l6fZdflpty6O1GVVdpzFn2bq2XdE +ld5L4xyV5JTPy+LDo1r2c+S4Q2F3VTddtkTBhWhP2QS9J9pvmfOtffA3/WUfznXz +XdmoFBUxXiXbGTeWFi92sFC/iDEQzXXHuVBpykWvjF5L26rcZZWAtHeMTbRfqi6X +aip27i4mX+Ehc2UMmt2C2OPiMQXGcNUn0tU8w0InPXTe0/CzvJnIwqnc+ZLcyaVA +YJzqGH0ADBYY9qmzXB81BzoyAPUjiBtmdNoLx8YsY/s29nsCAwEAAaNCMEAwHQYD +VR0OBBYEFJ1eR4W1da4+cKl/Y3dyi0i7pcyHMB8GA1UdIwQYMBaAFH8apRY1t3Lf +rIfmj32aj+eYPdx2MA0GCSqGSIb3DQEBCwUAA4IBAQAZyYzLMHsHHAGV5Zc79NTz +E4SwcOiL1GIpsRzXQqw6w2U+v9EJ14MKbXtJzYN0J8kLmcxKeO3RITtGzu4RoXlZ +uuQsM/SE7CAiCUmcsRTsWFi/tLKFLEiSItcdDbVywAPz17A/MbGup7hOZmvcb6jB +PW3ezvGsRQ5zw3pQDtWGnKrpjHuGjxJ4p0FQ9TkekP4h0lxVFm5CY/IDvpOnShjS +UGMtaXGo/cKKevduf/TDSp/u0TUu4FqQsKCc9nTstj24HzS2bw1/lRJQEWhVrBB3 +RfnzmbYN4z4m3AcFvfVUJuBlJONEZHTZsidLoaB5PKyHBkSM6mkVOUoCELljt6tX +-----END CERTIFICATE----- +""" let clientPrivateKeyData = - """ - -----BEGIN PRIVATE KEY----- - MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDH7auBrkHP9cXP - KepL16KWZIeYpM1hNcob6CbbZ9ic6BmYrTZKraWoNZmNI/07rmsB8f+IcxMNehrR - YQ+nqhFc6nfCLDns7oWGZzXt6AZFiICLUJRx6gngEpO/cisx/Q4uLlk0OR+e9KaG - OJCVEKmpzE68Z2Gmk6CHPqoIlexcnBVWZ/LHAk2KSyTfvXCFSvLlI3qQC+7Uh1J3 - kVfGHd+WJv8HPDTd1itwDVJWO00zD8UEhREhMYGADNKFgS+8pl8l2P2iClem+7qT - H7iCgLoVET9AW1AXcGS6XCb9QS+i+HAe2xxXJ/W4K3zzMoO6Yjjgz+ZYMjGU6oLG - ABhZOcghAgMBAAECggEBAI6NZ5GSt3hZjM6W22lyeopzab+sGojquo5FbJdapzfR - wpZ7Qs/imtCiTzc05xYL2l7Lt2EKdBZS7xZF98yb1b+Dqxp3QGIw/GIF640TuI0R - tF4heYbz0lDDzjdeZ3BAOEEzaQV0iZhkZuwjHuw6sk7Qz39E03rbnkVwp/pxM9Qf - b+XK78GROi+SXO54ftHsh0y/cGQFtsSYdttSvdYwY6nWoEYSZIY4Ydfb0piQCS7B - LU0omcQuOLqVQPpA0UXwig6b78g6lC5yoA5Rag6VEo1Miw2BeBPSa4e+Apcv0CH+ - usbEAaL0+9TC8BbtqVSV3P2e+yYpqY9hwFxmRQn4vGUCgYEA5oBnReunFsIlu0a3 - wPsD1QVh2oBEkG90GUnFVKgU2k+LDeO5NL35t4zByBQNoC7Ov8F4+bH2mE7f/3Fp - +ST6SSIamNPboiDMdKUSFfOxMCQt/4j626/np2uSnLBEfVWI/m8Jc1pA/aqtMSHk - wk1ipcEZTabX/Xgg/RF61kgoTF8CgYEA3gt2NKtFww6pOx1NHe7akQdHaCyKL+iv - 04oTxdeCton/UGB3WDxSacX/mf2H2J7Nlb9PCx7JEJlpoxtbLOQ9Q3ZsTEAU8olz - aorWQHeZGAKcGsDYl751Brp060oIMwpWMJ9lXGfU5wFdjXdIuZiF7Hq3DtKaDkis - RODi+X+eO38CgYBZ80vZ7l9TM0qULcGxroNNUv9fzGR1VPkikTZPlhQlKZtjPTXe - TjCwH17T3HeAxiNqk27JSlioEUe6oKCxWGvPtF5au3pfZ5tB/dTz+hhwZ/4HVYZH - yvqEzCb3vJXNr155pA01Fch89WkG3mouJRLVCmj8c5qgUIvXFkYwbxJC0wKBgHib - ByiSgwDw3LDUOIfyrdsqdfm6f5CINcCT9it25HPbvsbcrtZJZYY4Wp483GWn1Ajr - cbabkSCoA33ppPtcOX6EO0yrXfVi/UK4iKlZjNlCyaGqb7r0Y0I1Ur5eZte6XJhq - a7bmWvjif/sP+Ht+wfdxrC6r66uog5GiCQb1729nAoGBAL3BIQ1HjpKfwIhYKIZt - mHpA8hqfe2hZxRs1wnCiKRsY+oSiWeT1ZvCjQ1qaryVlHn8l94R0/S0h2tYCMEGU - XuptTzDXNUKCu9UG+0G7b2O9R96bAhYwoXBbPd2YQycw/NtQ6RMvv3oCbQWEpsT8 - exHN+mnZFXk8FgxAyAitGLRt - -----END PRIVATE KEY----- - """ +""" +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFOcMvKlk/OmHh +UkhWp3PLRoS9pCmQF7+jqofiiQRlsergDeFizajHHBioF0gRW2mfb3vgoI2wd5en +2XX5abcujtRlVXacxZ9m6tl3RJXeS+McleSUz8viw6Na9nPkuENhd1U3XbZEwYVo +T9kEvSfab5nzrX3wN/1lH851813ZqBQVMV4l2xk3lhYvdrBQv4gxEM11x7lQacpF +r4xeS9uq3GWVgLR3jE20X6oul2oqdu4uJl/hIXNlDJrdgtjj4jEFxnDVJ9LVPMNC +Jz103tPws7yZyMKp3PmS3MmlQGCc6hh9AAwWGPaps1wfNQc6MgD1I4gbZnTaC8fG +LGP7NvZ7AgMBAAECggEANMSYHuHvP/YAYzdPKHQkDJKhCFZIUoewG/uP4MH1Hbpl +E65TC8rnqeIwDKUyAIbbMy+yTq7WSg0tU9jgcithOgE3/abIlfhgBjq2lW0Rxgi6 +ypamMlSIgfMDHV7MMjlEueqiL66QikPWzEp0z4pGg/CRGbvk8qUgVHKWnENRbF7N +jwXO4q/vBRJXqMs6VfwybNXShOapvcn5YSyd0Zo7Ab95X0NxwjFvG0vGlZ1cnmT3 +8kVi/qao6zQycxFbTHApGtH7dtZYcqsDciI5xw6JOJWFGyQr+zwfTWgEG0QZKowc +sAPlpnLyhGKu0ELqTf4qfXKOJE0Bu2KYg8GZc5n6LQKBgQD6sIWNx2FZMfwOrP65 +hCCL8DG7OnEUy8Tl/KgsITBSWo0IaSLPeR/nf6OOB0J4SQdbAI/ZU6Zqz7b7AFnd +reHTNfr5B7dV3loP4aIWzH2PHFmolRueJqozghTL9cn6ImSZOD6lgkJokndV5sR5 +MsQXxm9yYil/6wtUmWBgmtGepQKBgQDJZ07wUD5RkS173FT7J3t64Hy8iPo7MExI +fR70ZsZO+waPc5ZUZUEVp9V+UwAlV1PuutfoKLQLcIi09sr3yHH5XYzYZ5Y1t5xS +HHBVP7PCy3MkrJ0Yfa2YCDEftMJdLwd5wzmTkalL0yNcwvOq0FhCdz3psVZjnb3p +rwLCZbJWnwKBgQDgqMlHYeLP+IeW71noD4zLXBp1W85zgJmYMnDT+3o+k3/Ihc/4 +dugsoqqEYeUjvu6kk0BW1yxQlI27K3ldvLKggcPE4TFf9sBncyG7pM7xLcr71YTG +mof1WSIiFsdHLwNQfKNH2BCDfp8LkJ+KrgAl/mNp8qaWSKIC0uEYMiahMQKBgFyK +hIH1TP0rqOuNrNqOJLWsKoRyqA/EPHjeTPfdtWca/sOxR7TVpZcuu/FEb/+4ZY9+ ++K/q6/eJqLcF4vMBfiUncA0LY8Cg8knkWVVCZPWvh+OlELXtIXOG6BN6eghZEKVJ +J85/knuNs2TvCwlEnBlGMwOLAXfaRiX2zVzHX69fAoGBAPUKdT8Vco8VOoxQ2E/n +7vpbkYejMnidbMXeq7Pm54hC81eZmLrV+WG8cMnN9TB1efH9Tb3EwTuaoTyFr07B +ZT2X+ly6oYv59KWYjbQ+Dowi8eund3W73HUsJqGcPCNmgNBoXe8x1+qyKBir60WY +4eCEFXiLAtX3g1bUiGMDTObU +-----END PRIVATE KEY----- +""" diff --git a/scripts/generate-certs.sh b/scripts/generate-certs.sh index 39938fb..c2e5702 100755 --- a/scripts/generate-certs.sh +++ b/scripts/generate-certs.sh @@ -14,7 +14,7 @@ function generateCA() { -sha256 \ -newkey rsa:2048 \ -subj "$SUBJECT" \ - -days 365 \ + -days 1825 \ -keyout ca.key \ -out ca.pem openssl x509 -in ca.pem -out ca.der -outform DER @@ -44,13 +44,13 @@ function generateServerCertificate() { -extfile <(cat "$FULL_HOME"/openssl.cnf <(printf "subjectAltName=DNS:$SERVER\n")) \ -extensions v3_req \ -out "$NAME".pem \ - -days 365 + -days 1825 } function generateClientCertificate() { SUBJECT=$1 NAME=$2 - PASSWORD=MyPassword + PASSWORD=HBTests openssl req \ -new \ -nodes \ @@ -67,10 +67,10 @@ function generateClientCertificate() { -CAkey ca.key \ -CAcreateserial \ -out "$NAME".pem \ - -days 365 + -days 1825 TSTESTP12="$FULL_HOME/../Tests/HummingbirdCoreTests/Certificates/server.p12" - openssl pkcs12 -export -passout pass:"$PASSWORD" -out "$TSTESTP12" -in "$NAME".pem -inkey "$NAME".key + openssl pkcs12 -legacy -export -passout pass:"$PASSWORD" -out "$TSTESTP12" -in "$NAME".pem -inkey "$NAME".key } function createCertSwiftFile() { @@ -119,9 +119,9 @@ let clientPrivateKeyData = TMPDIR=$(mktemp -d /tmp/.workingXXXXXX) cd "$TMPDIR" -generateCA "/C=UK/ST=Edinburgh/L=Edinburgh/O=MQTTNIO/OU=CA/CN=${SERVER}" -generateServerCertificate "/C=UK/ST=Edinburgh/L=Edinburgh/O=MQTTNIO/OU=Server/CN=${SERVER}" server -generateClientCertificate "/C=UK/ST=Edinburgh/L=Edinburgh/O=MQTTNIO/OU=Client/CN=${SERVER}" client +generateCA "/C=UK/ST=Edinburgh/L=Edinburgh/O=Hummingbird/OU=CA/CN=${SERVER}" +generateServerCertificate "/C=UK/ST=Edinburgh/L=Edinburgh/O=Hummingbird/OU=Server/CN=${SERVER}" server +generateClientCertificate "/C=UK/ST=Edinburgh/L=Edinburgh/O=Hummingbird/OU=Client/CN=${SERVER}" client createCertSwiftFile $FULL_HOME/../Tests/HummingbirdTLSTests/Certificates.swift createCertSwiftFile $FULL_HOME/../Tests/HummingbirdCoreTests/Certificates.swift