diff --git a/SPECS/glib-networking/CVE-2026-10028.patch b/SPECS/glib-networking/CVE-2026-10028.patch new file mode 100644 index 00000000000..8808ae8b3f6 --- /dev/null +++ b/SPECS/glib-networking/CVE-2026-10028.patch @@ -0,0 +1,3202 @@ +From bbcb77d0ea1822fe48264c197fb5b65c7c40d066 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Fri, 29 May 2026 19:20:02 -0500 +Subject: [PATCH] tls: detect cycles when setting issuer property + +A malicious peer can cause certificate verification to infinite loop +by sending two certificates which are each signed by the other. I +introduced this bug in my very first commit to glib-networking, +0e08f17396287d00a69bbbcbec3b364b98cbcace. Oops. + +This commit does not change glib-networking to be robust against +GTlsCertificate issuer cycles. If your application creates a cycle, it +will still infinite loop. That could be fixed by adding a depth limit in +GTlsDatabaseGnutls/GTlsDatabaseOpenssl, but I don't see any particularly +strong need to do so, and arbitrary limits are somewhat sad. But now +glib-networking will no longer itself create infinite issuer loops. I +doubt any applications attempt to set issuers on their own, and if so, +it's their fault if they mess up! + +The changes to create-files.sh are based on work by Mohamed Sayed or an +AI agent working on his behalf. I took them from his GNOME bug bounty +program report. The new function g_tls_issuer_would_create_cycle() is +also (very) loosely based on one of his proposed fixes. + +This commit is large mostly because it adds new test certificates, so I +regenerated them all. This used to be routine, but it seems it's been 5 +years! + +Fixes #231 + +Part-of: +Signed-off-by: Azure Linux Security Servicing Account +Upstream-reference: https://gitlab.gnome.org/GNOME/glib-networking/-/commit/d254cea168a7a2c5b594ceb11fea565201d6895f.patch +--- + tls/base/gtlsutils.c | 42 ++++ + tls/base/gtlsutils.h | 33 +++ + tls/base/meson.build | 1 + + tls/gnutls/gtlscertificate-gnutls.c | 4 +- + tls/openssl/gtlscertificate-openssl.c | 4 +- + tls/tests/certificate.h | 4 +- + tls/tests/connection.c | 98 ++++++++- + tls/tests/files/ca-alternative.pem | 34 ++-- + tls/tests/files/ca-key.pem | 55 ++--- + tls/tests/files/ca-roots-bad.pem | 36 ++-- + tls/tests/files/ca-roots.pem | 36 ++-- + tls/tests/files/ca.pem | 36 ++-- + tls/tests/files/chain.pem | 122 +++++------ + tls/tests/files/client-and-key-fullchain.pem | 130 ++++++------ + .../files/client-and-key-password-enckey.p12 | Bin 2794 -> 2874 bytes + tls/tests/files/client-and-key-password.p12 | Bin 2575 -> 2658 bytes + tls/tests/files/client-and-key.p12 | Bin 2455 -> 2530 bytes + tls/tests/files/client-and-key.pem | 94 ++++----- + tls/tests/files/client-csr.pem | 24 +-- + tls/tests/files/client-future.pem | 39 ++-- + tls/tests/files/client-key.pem | 55 ++--- + tls/tests/files/client-past.pem | 39 ++-- + tls/tests/files/client.pem | 39 ++-- + tls/tests/files/client2-and-key.pem | 94 ++++----- + tls/tests/files/client2-csr.pem | 24 +-- + tls/tests/files/client2-key.pem | 55 ++--- + tls/tests/files/client2.pem | 39 ++-- + tls/tests/files/create-files.sh | 20 ++ + tls/tests/files/cyclic-a-csr.pem | 15 ++ + tls/tests/files/cyclic-a-key.pem | 28 +++ + tls/tests/files/cyclic-a-selfsigned.pem | 19 ++ + tls/tests/files/cyclic-a.pem | 19 ++ + tls/tests/files/cyclic-b-csr.pem | 15 ++ + tls/tests/files/cyclic-b-key.pem | 28 +++ + tls/tests/files/cyclic-b-selfsigned.pem | 18 ++ + tls/tests/files/cyclic-b.pem | 19 ++ + tls/tests/files/intermediate-ca-csr.pem | 28 +-- + tls/tests/files/intermediate-ca-key.pem | 55 ++--- + tls/tests/files/intermediate-ca.pem | 50 ++--- + tls/tests/files/non-ca.pem | 189 +++++++++--------- + tls/tests/files/old-ca-key.pem | 55 ++--- + tls/tests/files/old-ca.pem | 38 ++-- + tls/tests/files/root-ca-csr.pem | 28 +-- + tls/tests/files/server-and-key.pem | 92 ++++----- + tls/tests/files/server-csr.pem | 24 +-- + tls/tests/files/server-intermediate-csr.pem | 24 +-- + tls/tests/files/server-intermediate-key.pem | 55 ++--- + tls/tests/files/server-intermediate.pem | 36 ++-- + tls/tests/files/server-key-pkcs8.der | Bin 1219 -> 1218 bytes + tls/tests/files/server-key-pkcs8.pem | 52 ++--- + tls/tests/files/server-key.der | Bin 1193 -> 1218 bytes + tls/tests/files/server-key.pem | 55 ++--- + tls/tests/files/server-self.pem | 35 ++-- + tls/tests/files/server.der | Bin 920 -> 988 bytes + tls/tests/files/server.pem | 37 ++-- + 55 files changed, 1279 insertions(+), 892 deletions(-) + create mode 100644 tls/base/gtlsutils.c + create mode 100644 tls/base/gtlsutils.h + create mode 100644 tls/tests/files/cyclic-a-csr.pem + create mode 100644 tls/tests/files/cyclic-a-key.pem + create mode 100644 tls/tests/files/cyclic-a-selfsigned.pem + create mode 100644 tls/tests/files/cyclic-a.pem + create mode 100644 tls/tests/files/cyclic-b-csr.pem + create mode 100644 tls/tests/files/cyclic-b-key.pem + create mode 100644 tls/tests/files/cyclic-b-selfsigned.pem + create mode 100644 tls/tests/files/cyclic-b.pem + +diff --git a/tls/base/gtlsutils.c b/tls/base/gtlsutils.c +new file mode 100644 +index 0000000..3422715 +--- /dev/null ++++ b/tls/base/gtlsutils.c +@@ -0,0 +1,42 @@ ++/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* ++ * GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright Red Hat ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see ++ * . ++ * ++ * In addition, when the library is used with OpenSSL, a special ++ * exception applies. Refer to the LICENSE_EXCEPTION file for details. ++ */ ++ ++#include "config.h" ++#include "gtlsutils.h" ++ ++gboolean ++g_tls_issuer_would_create_cycle (GTlsCertificate *certificate, ++ GTlsCertificate *issuer) ++{ ++ GTlsCertificate *c = issuer; ++ ++ do ++ { ++ if (c == certificate) ++ return TRUE; ++ c = g_tls_certificate_get_issuer (c); ++ } while (c); ++ ++ return FALSE; ++} +diff --git a/tls/base/gtlsutils.h b/tls/base/gtlsutils.h +new file mode 100644 +index 0000000..50d34a4 +--- /dev/null ++++ b/tls/base/gtlsutils.h +@@ -0,0 +1,33 @@ ++/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* ++ * GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright Red Hat ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see ++ * . ++ * ++ * In addition, when the library is used with OpenSSL, a special ++ * exception applies. Refer to the LICENSE_EXCEPTION file for details. ++ */ ++ ++#include ++ ++#pragma once ++ ++G_BEGIN_DECLS ++ ++gboolean g_tls_issuer_would_create_cycle (GTlsCertificate *certificate, GTlsCertificate *issuer); ++ ++G_END_DECLS +diff --git a/tls/base/meson.build b/tls/base/meson.build +index be36f6f..17287bd 100644 +--- a/tls/base/meson.build ++++ b/tls/base/meson.build +@@ -5,6 +5,7 @@ tlsbase_sources = files( + 'gtlslog.c', + 'gtlsoutputstream.c', + 'gtlssessioncache.c', ++ 'gtlsutils.c' + ) + + tlsbase = static_library('tlsbase', +diff --git a/tls/gnutls/gtlscertificate-gnutls.c b/tls/gnutls/gtlscertificate-gnutls.c +index 682c17b..8c10134 100644 +--- a/tls/gnutls/gtlscertificate-gnutls.c ++++ b/tls/gnutls/gtlscertificate-gnutls.c +@@ -32,6 +32,8 @@ + #include "gtlscertificate-gnutls.h" + #include + ++#include "gtlsutils.h" ++ + enum + { + PROP_0, +@@ -1105,7 +1107,7 @@ g_tls_certificate_gnutls_build_chain (const gnutls_datum_t *certs, + } + } + +- if (issuer) ++ if (issuer && !g_tls_issuer_would_create_cycle (glib_certs->pdata[i], G_TLS_CERTIFICATE (issuer))) + g_tls_certificate_gnutls_set_issuer (glib_certs->pdata[i], issuer); + } + +diff --git a/tls/openssl/gtlscertificate-openssl.c b/tls/openssl/gtlscertificate-openssl.c +index 648f3e8..6bd8445 100644 +--- a/tls/openssl/gtlscertificate-openssl.c ++++ b/tls/openssl/gtlscertificate-openssl.c +@@ -32,6 +32,8 @@ + #include "gtlscertificate-openssl.h" + #include + ++#include "gtlsutils.h" ++ + struct _GTlsCertificateOpenssl + { + GTlsCertificate parent_instance; +@@ -995,7 +997,7 @@ g_tls_certificate_openssl_build_chain (X509 *x, + } + } + +- if (issuer) ++ if (issuer && !g_tls_issuer_would_create_cycle (glib_certs->pdata[i], G_TLS_CERTIFICATE (issuer))) + g_tls_certificate_openssl_set_issuer (glib_certs->pdata[i], issuer); + } + +diff --git a/tls/tests/certificate.h b/tls/tests/certificate.h +index 8640ae7..be0db66 100644 +--- a/tls/tests/certificate.h ++++ b/tls/tests/certificate.h +@@ -1,4 +1,4 @@ + /* This file is generated from update-certificate-test.py */ + +-#define EXPECTED_NOT_VALID_BEFORE "2021-12-15T23:20:04Z" +-#define EXPECTED_NOT_VALID_AFTER "2046-12-09T23:20:04Z" ++#define EXPECTED_NOT_VALID_BEFORE "2026-05-29T21:49:37Z" ++#define EXPECTED_NOT_VALID_AFTER "2051-05-23T21:49:37Z" +diff --git a/tls/tests/connection.c b/tls/tests/connection.c +index 62a7fbb..5cb367c 100644 +--- a/tls/tests/connection.c ++++ b/tls/tests/connection.c +@@ -1255,6 +1255,100 @@ test_invalid_chain_with_alternative_ca_cert (TestConnection *test, + #endif + } + ++static gboolean ++on_accept_certificate_for_cyclic_chain (GTlsConnection *conn, ++ GTlsCertificate *cert, ++ GTlsCertificateFlags errors, ++ gpointer user_data) ++{ ++ GError *error = NULL; ++ ++ /* This test is a little subtle. We want to ensure that, when building a chain ++ * of GTlsCertificates in g_tls_certificate_[gnutls,openssl]_build_chain(), we ++ * do not accidentally form an issuer cycle which would later cause ++ * g_tls_database_verify_chain() to loop forever. We have to use an actual ++ * GTlsConnection because that is the only way to get to the build_chain() ++ * code. But GTlsConnectionGnutls -- unlike GTlsConnectionOpenssl -- doesn't ++ * actually use the provided chain for verification: it's only built so it can ++ * be passed to the application via GTlsConnection::accept-certificate. So ++ * that's why this test performs the verification manually despite using an ++ * actual GTlsConnection. ++ * ++ * The test succeeds if this does not time out. ++ */ ++ g_tls_database_verify_chain (g_tls_connection_get_database (conn), ++ cert, ++ G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER, ++ NULL, NULL, ++ G_TLS_DATABASE_VERIFY_NONE, ++ NULL, &error); ++ g_assert_no_error (error); ++ ++ return TRUE; ++} ++ ++static void ++test_cyclic_chain (TestConnection *test, ++ gconstpointer data) ++{ ++ GTlsCertificate *intermediate_cert; ++ GTlsCertificate *server_cert; ++ GIOStream *connection; ++ GTlsBackend *backend; ++ char *cert_data; ++ char *key_data; ++ GError *error = NULL; ++ ++ backend = g_tls_backend_get_default (); ++ ++ /* Prepare the "intermediate" cert. */ ++ intermediate_cert = g_tls_certificate_new_from_file (tls_test_file_path ("cyclic-a.pem"), &error); ++ g_assert_no_error (error); ++ g_assert_nonnull (intermediate_cert); ++ ++ /* Prepare the server cert. */ ++ g_file_get_contents (tls_test_file_path ("cyclic-b.pem"), &cert_data, NULL, &error); ++ g_assert_no_error (error); ++ g_assert_nonnull (cert_data); ++ ++ g_file_get_contents (tls_test_file_path ("cyclic-b-key.pem"),&key_data, NULL, &error); ++ g_assert_no_error (error); ++ g_assert_nonnull (key_data); ++ ++ server_cert = g_initable_new (g_tls_backend_get_certificate_type (backend), ++ NULL, &error, ++ "issuer", intermediate_cert, ++ "certificate-pem", cert_data, ++ "private-key-pem", key_data, ++ NULL); ++ g_assert_no_error (error); ++ g_assert_nonnull (server_cert); ++ ++ g_object_unref (intermediate_cert); ++ g_free (cert_data); ++ g_free (key_data); ++ ++ test->server_certificate = server_cert; ++ ++ connection = start_async_server_and_connect_to_it (test, G_TLS_AUTHENTICATION_NONE); ++ test->client_connection = g_tls_client_connection_new (connection, test->identity, &error); ++ g_assert_no_error (error); ++ g_object_unref (connection); ++ ++ g_tls_client_connection_set_validation_flags (G_TLS_CLIENT_CONNECTION (test->client_connection), ++ G_TLS_CERTIFICATE_VALIDATE_ALL ^ G_TLS_CERTIFICATE_UNKNOWN_CA); ++ ++ g_signal_connect (test->client_connection, "accept-certificate", ++ G_CALLBACK (on_accept_certificate_for_cyclic_chain), test); ++ ++ read_test_data_async (test); ++ g_main_loop_run (test->loop); ++ wait_until_server_finished (test); ++ ++ g_assert_no_error (test->read_error); ++ g_assert_no_error (test->server_error); ++} ++ + static void + on_notify_accepted_cas (GObject *obj, + GParamSpec *spec, +@@ -2913,7 +3007,7 @@ test_connection_binding_match_tls_unique (TestConnection *test, + * please make sure the string below matches the output of + * openssl x509 -outform der -in files/server.pem | openssl sha256 -binary | base64 + **/ +-#define SERVER_CERT_DIGEST_B64 "sdRMUK4PwcHXUPAMwglrSy4Fi8Ybfim61hfucliJ19s=" ++#define SERVER_CERT_DIGEST_B64 "kG3pcjyoH61s5hcYxGBABV2CMei4MQ3SmYSNSywAKSs=" + static void + test_connection_binding_match_tls_server_end_point (TestConnection *test, + gconstpointer data) +@@ -3424,6 +3518,8 @@ main (int argc, + setup_connection, test_verified_chain_with_alternative_ca_cert, teardown_connection); + g_test_add ("/tls/" BACKEND "/connection/invalid-chain-with-alternative-ca-cert", TestConnection, NULL, + setup_connection, test_invalid_chain_with_alternative_ca_cert, teardown_connection); ++ g_test_add ("/tls/" BACKEND "/connection/cyclic-chain", TestConnection, NULL, ++ setup_connection, test_cyclic_chain, teardown_connection); + g_test_add ("/tls/" BACKEND "/connection/client-auth", TestConnection, NULL, + setup_connection, test_client_auth_connection, teardown_connection); + g_test_add ("/tls/" BACKEND "/connection/client-auth-rehandshake", TestConnection, NULL, +diff --git a/tls/tests/files/ca-alternative.pem b/tls/tests/files/ca-alternative.pem +index 770d300..92fab77 100644 +--- a/tls/tests/files/ca-alternative.pem ++++ b/tls/tests/files/ca-alternative.pem +@@ -3,27 +3,27 @@ MIIFAjCCA+qgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBnzETMBEGCgmSJomT8ixk + ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxLDAqBgNVBAsMI09sZCBV + bnRydXN0ZWQgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MSIwIAYDVQQDDBlvbmNlLndh + cy5hLmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNv +-bTAgFw0yMTEyMTUyMzIwMDRaGA8yMDUxMTIwODIzMjAwNFowgYYxEzARBgoJkiaJ ++bTAgFw0yNjA1MjkyMTQ5MzdaGA8yMDU2MDUyMTIxNDkzN1owgYYxEzARBgoJkiaJ + k/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVD + ZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0w + GwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD +-ggEPADCCAQoCggEBAOv1mSZzV8MgD68upS8LiIMw8Xb+F3hUTzLarMB+Axy22R2t +-lL8rFqxnnF0eUi/FX8cMDxIL2PMr4dG8kg/PaCSaoke3jbRGsdx1FxCFj6YWn/D5 +-9DsoRc93r+Cqxo0mMFTTu5whlzDLVIgxm+WaqkwPzycCc4CB+qfTTR+EMVEKLqSQ +-2X7p6kj5lO6ShER6iSOd3dKdJIkIq0NLB2sZrl+U9lXoVEZwONR2Hjv/wnIX4JXx +-IEeCEvAb61nJiCeVc38GSE5R0Bma2hPVemQQq6iccqb0U0ZUZ+pLLH8dCH4fH8VW +-V5x9vpyZYkshCD7MfW91mLlSuMziLrM9ceeu2Q0CAwEAAaOCAVwwggFYMB0GA1Ud +-DgQWBBT6FH3OnCOvKyXsfc72EJ4xxG0S+jCB3wYDVR0jBIHXMIHUgBQPbuCFuCI1 +-4jSFOMAVBE86MzMGvKGBpaSBojCBnzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUG ++ggEPADCCAQoCggEBAJgWq54kPAJMSLJaOcte3ZlkokxD8gh4fCwhPGWSilFfxaPr ++gLuVrn5jYjRhoAmk1z6aUayHmTinBFRDVz9IEpnpb0W3LVXZmQPHnw0RmR1SYpLe ++BtbzdbrGXAReBVtSuP/cc0Y5iDXNz8UOnyb2ogucEzIHtaAqvyeB+bEtG2W/GkO7 ++01A8MczOpL3Km5irm6ylM0DWT1VbauQc2YJ7sF1PMn/Nhy86ebqv+m+u1lNIgAFV ++KZUtU0qVTC0+sURZ4zthoX7ceyTxdkUKLlPbPkvwAn80w61HYsagx9I5H4X9RLGB ++eeWO0b1CvqsGGK8rQBJfKmchFLm2Uij94hkcJBECAwEAAaOCAVwwggFYMB0GA1Ud ++DgQWBBTVGe/Jdx6NuDgZY3IABp/GC8HVfzCB3wYDVR0jBIHXMIHUgBTEI6tDWFBb ++hbq1W/APNHMHDAscx6GBpaSBojCBnzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUG + CgmSJomT8ixkARkWB0VYQU1QTEUxLDAqBgNVBAsMI09sZCBVbnRydXN0ZWQgQ2Vy + dGlmaWNhdGUgQXV0aG9yaXR5MSIwIAYDVQQDDBlvbmNlLndhcy5hLmNhLmV4YW1w +-bGUuY29tMR0wGwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNvbYIUDC99Qdqjkm3R +-eQ5gR30oDqs3mhIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwGQYD ++bGUuY29tMR0wGwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNvbYIUe1Y5fmqjhV9D ++JfXpTCYWjhhJZPQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwGQYD + VR0RBBIwEIEOY2FAZXhhbXBsZS5jb20wGQYDVR0SBBIwEIEOY2FAZXhhbXBsZS5j +-b20wDQYJKoZIhvcNAQELBQADggEBAC52UDX1nf8rFjWcVL5gc6r5LEEIz+X2/2hg +-44WWkg1LxDCT/rcpIboTu9mamPZAh9PaWegbWJK4hLccAIcV1McfTEDE0X93CpS5 +-AJO+iJ8SnHqn1auFKAtGnJF9OubQGTj13ch8zsSLNkBsQNTu4Ckp4XE5EiN+aRh+ +-K7mv6QUNplKt6byEke/SnNd1Ro3qxnZMRBWdKfJjUAjdsFKZ2zDH7z600Dq0eiMt +-hfJbIH8m07W8z2KvYLB4/kJBRj0qVcrch/AsuDk4Go3YrM5g6+ozxb5Tdrm4h54x +-U10iLsrdOKHyV0G2OLHlBHQulek+SRgce9NEMtvtSWLGITUZsM0= ++b20wDQYJKoZIhvcNAQELBQADggEBAMWTjXkqXjwJuxCk2uzguI/0JzRxqAR6aX8d ++RV6fRlz9pktK/Dg3TqPJY8pnpqejVzhzdJsGb/SVBaEBTYmGU2IbOSXrzHeX7lny ++tnQjvDv9kqeS2/vUk31zZO9K2iZ7/Xa+3J/4dlNpKNC+v0tk1fW7lJSZN3vVlwLU ++fJMTSe6LTU8fyKOKg1vwf2jmbgxIB87d/OUBR7rSK5Ep8RM06zUsMRZFbhWaHVLD ++gE09vs7zQ7Ns17FZHaDqPErUvwyJCIcLsrhOcmadL4P9briLwsdaH8gsOWbwSWOF ++1/IEjt9mj4ZUUIT5playaZflh8PrdGPvmjpoFPzYeqSYM+IByMo= + -----END CERTIFICATE----- +diff --git a/tls/tests/files/ca-key.pem b/tls/tests/files/ca-key.pem +index 4e072af..6bf1199 100644 +--- a/tls/tests/files/ca-key.pem ++++ b/tls/tests/files/ca-key.pem +@@ -1,27 +1,28 @@ +------BEGIN RSA PRIVATE KEY----- +-MIIEpgIBAAKCAQEA6/WZJnNXwyAPry6lLwuIgzDxdv4XeFRPMtqswH4DHLbZHa2U +-vysWrGecXR5SL8VfxwwPEgvY8yvh0bySD89oJJqiR7eNtEax3HUXEIWPphaf8Pn0 +-OyhFz3ev4KrGjSYwVNO7nCGXMMtUiDGb5ZqqTA/PJwJzgIH6p9NNH4QxUQoupJDZ +-funqSPmU7pKERHqJI53d0p0kiQirQ0sHaxmuX5T2VehURnA41HYeO//CchfglfEg +-R4IS8BvrWcmIJ5VzfwZITlHQGZraE9V6ZBCrqJxypvRTRlRn6kssfx0Ifh8fxVZX +-nH2+nJliSyEIPsx9b3WYuVK4zOIusz1x567ZDQIDAQABAoIBAQCQjWwebykDw993 +-7baKZKFj5Zb309/i+ptuRyLv5gLYE3hdQxrOJoKEahETxuCInXz4fv24i4OELYzx +-JXnBr8lYK1dhYiSwnWKW8TCJEZmYIWIoiahCmYBzAhrAIz7x98RCI1ha5QUvglEu +-Al5EQgU0BbddaZYC0x4QtFUaCqz/vHUECc1e/ovrRR/g5CknLOMoG7eaVy3kMbRh +-sVPZzMO6S/EyAtWfHPDhu9VivEDp7gTVewOeCJZdkzQvzrxIjdSZLhqKO0240kEJ +-msi9a6aWVkJ6k9JlTbSVtrJ6SKMIIGO3KDtXb68ZGndFEOHYZJnyJafFu4B0Wd63 +-ZzoAz6WtAoGBAPdj0IM2yUfM1LQhroWDRcJdaBjJJZyxpdCZ7tCGz2LeiIFalMXW +-15SShamh3YNf8jgBC6A2sPoHxCk+4CyGCeK7uhJXn7xwZEpjblJzhnmwICcwum1Z +-x/t7qYogOGCXtRDz6sUV1mlGGVtpEuLY5BEkdRyRwkVEXb95oHdpzwibAoGBAPQr +-8L4vG4wJC85G+fRkI1+h0LH6Xo2qt3t/+U12fmEP0kOhP7qFiirmh/x7kX65S2UI +-62+YdRkmGxvesDnmGhR9XwxK8InwibpDobT32dP/YRUFv0oYFbyd/60j6YM2bvs6 +-CsI0DJdVWuvOW6mnCDTaZL0/SDuThUnYgnnodJt3AoGBAIlzxv2wqgMftqri7/G0 +-r0S/2z+yOxilx6hwbrUjwgR/+j5M0s5dgWhGRMesbMQ6wf0F76yz1n8FY6M7ERkL +-3GBCx667SsBLfh2qwzhCgdwI1MSRmXN6Z9e9rMRXBJv+jpb9v1qDuJ7DWQFmDx1F +-PuqbZApcniEYTDI/5L2UZ3izAoGBALM10PN1lc1ZEl4q/+gc202kcY0/isiFpTey +-vOLa9nT87MGQhzq6KqfEHcj1VNti2nBkdJCqoD9+FWWGM2e7eCbTwcA+/H7xmdSp +-MPWm+Cy+Ap4wYq7aMJIIkRCeDBSvDhO8DQtuslMcZagvBF3nZ4GLTWcNHFIFu01w +-6IrbT0KPAoGBALP7cQfuZpvCMNP6/deGYmAvrSJyPZjBQaG5koaEMCYtnKltq+Uz +-A1Sx6CnKWql/phxsXnh+ObLqqTgg+Va6GVstXaCNaTDiZNrS8pqMwJec2im7H3Lb +-2dqDevdCszsknFLxN3IN/Q5KbF0YHtfSxorjozyOPZctNBVUxOuo98Bo +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCYFqueJDwCTEiy ++WjnLXt2ZZKJMQ/IIeHwsITxlkopRX8Wj64C7la5+Y2I0YaAJpNc+mlGsh5k4pwRU ++Q1c/SBKZ6W9Fty1V2ZkDx58NEZkdUmKS3gbW83W6xlwEXgVbUrj/3HNGOYg1zc/F ++Dp8m9qILnBMyB7WgKr8ngfmxLRtlvxpDu9NQPDHMzqS9ypuYq5uspTNA1k9VW2rk ++HNmCe7BdTzJ/zYcvOnm6r/pvrtZTSIABVSmVLVNKlUwtPrFEWeM7YaF+3Hsk8XZF ++Ci5T2z5L8AJ/NMOtR2LGoMfSOR+F/USxgXnljtG9Qr6rBhivK0ASXypnIRS5tlIo ++/eIZHCQRAgMBAAECggEADJuTK39pIsRMdyMyolDMFvti1uaqXu26AXXZ32OyqASZ ++SjmWHjbOKc0MUYz8QCsUQCzOc3p5hwWVaXTRppMkyPHd1w4p1HGUP94hqcAujLc3 ++07aoeNONjBJbLhjV4dhYMgxbg/6gnjE1tZS84x/T7Bl1SpLytAMx0yZxBVvYvGo7 ++2/lvqYUO6pQFY48DANC2MRjKkLF+kuKTMxL4k6KvrhMNPgiqBlCm9ULOgfgRjPkS ++1UIF/MrKX+8TSt9RoBB4uxlk1bHjDFU095dRhQ5u4DD1ISoMT+IubCWulUBAPrQn ++IqrhNiHgl0ym46PmTzjWjG+6KhavtAR5I6yh+rP6CQKBgQDUnPMQa+PyNTY5cSJj ++k9LKLUfoRm7X/zppKptAP6hbW7Djv6mCnhKkb8y3uGqRUzOyQZIz26hbFgcffpOl ++L9eLEWjOQl21vNgyOQdhYVqLHNvcOYAm5O8G75S/6OMnil1VfNVRv5rywWpEM+iv ++2rLqN24Y4t3B1w+u9GCLAiOX5QKBgQC3H+D9n1VokLHzzhBKT1vIX3jj5uKsuufa ++Wx92WOesZTycbuSZI+O9C4lzgyW59dWfrDqWmKW39AaQzQxMB1eXgb6WOeytUUe4 ++ggUGlwMKH7umMSMAim+7ZMIYYCKrf/3+y6etnh1VslFVqG/VjEAVdZ5l3SfetP+I ++FJtQijEAvQKBgDJ/rMPDvHp05RIzquVX4QMgSioDQKSQ/ICqHAHgnM5GMveFOG/L ++t8XSwB8K8FTgHDFEncMvcwdfbgWu/MaJXHqtgeUrojJeTkNvhC8+/lB4ZEgkaCnU ++ymktUnlaiUmE9bIuWkR2bAkoo2LbqXLLUR+MVtwWVnGJ8TGu3ZdmxKl5AoGAf7cZ ++CGl2fJ3lrj7594mPXpjPTEr7rjIQf6Zrs/NfaEmW0xc4EWIJdBA2xbwitKYyXdEV ++b3B4q2niplyLhf7c5QqU7FrrqRj150Wu0aDCeu4Uxlygp8DlGhG0mKF7rJZwg6Jv ++iFOs69aYiSAXFx1gmFbWqP5rzxP232ZXx/0JHhUCgYAUmVu6Xb4ctiW6kNDZOe0W ++b2McmgwLJKEa0v8xfCi20Qad18tcjU6krgmycGa8T0a+tlWtkcja8Kx8mZfL9AO3 ++dMdjj3bEU1zqEo0/BG1seuJ5Vf4RiBWFtDnZpF/4B3xZUNCxparSEY4zqj4GtPR2 ++fOhNolYOgloQ9YKuv+ZTUQ== ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/ca-roots-bad.pem b/tls/tests/files/ca-roots-bad.pem +index f04492a..32c5435 100644 +--- a/tls/tests/files/ca-roots-bad.pem ++++ b/tls/tests/files/ca-roots-bad.pem +@@ -1,31 +1,31 @@ + -----BEGIN CERTIFICATE----- +-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 +-IuV9437xPQ== ++EjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAQIZSet96ErYq ++eCIXVYMXQVorljUviM/kLMQ537JkzVwL3j9cr39LxyIH/YTci6tKB+HSU8y63g95 ++XrPdZWUHzERN5PD0yhelWWl/cMvPtjzuVgyN4iIPwpzQ/arpDKxjxocL1OB1lgQ6 ++PXLyFFWn82lkx7tccuRsD4XvQRy94QO5zIw8eFzMjgGpkaR6Rx3d+3rHkbtAPrIx ++8dxuneTlq2aFYB+gjtB1W7BAfAC0hbarT4UtGTHaVUG/h9o+yT6bbKceR/+OP3Lz ++aP1trw8oi3i2CA02b7pnnbE8QPP6Nu19ox7I08bpXokTMv7Zmry+9xB09Q5WhRfH ++iaQ16BccZw== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290 +diff --git a/tls/tests/files/ca-roots.pem b/tls/tests/files/ca-roots.pem +index 5a3c02a..e18744e 100644 +--- a/tls/tests/files/ca-roots.pem ++++ b/tls/tests/files/ca-roots.pem +@@ -1,33 +1,33 @@ + These are some CA certificates + + -----BEGIN CERTIFICATE----- +-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 +-IuV9437xPQ== ++EjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAQIZSet96ErYq ++eCIXVYMXQVorljUviM/kLMQ537JkzVwL3j9cr39LxyIH/YTci6tKB+HSU8y63g95 ++XrPdZWUHzERN5PD0yhelWWl/cMvPtjzuVgyN4iIPwpzQ/arpDKxjxocL1OB1lgQ6 ++PXLyFFWn82lkx7tccuRsD4XvQRy94QO5zIw8eFzMjgGpkaR6Rx3d+3rHkbtAPrIx ++8dxuneTlq2aFYB+gjtB1W7BAfAC0hbarT4UtGTHaVUG/h9o+yT6bbKceR/+OP3Lz ++aP1trw8oi3i2CA02b7pnnbE8QPP6Nu19ox7I08bpXokTMv7Zmry+9xB09Q5WhRfH ++iaQ16BccZw== + -----END CERTIFICATE----- + + GLib shouldn't care about this comment +diff --git a/tls/tests/files/ca.pem b/tls/tests/files/ca.pem +index e95f13d..51d0805 100644 +--- a/tls/tests/files/ca.pem ++++ b/tls/tests/files/ca.pem +@@ -1,29 +1,29 @@ + -----BEGIN CERTIFICATE----- +-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 +-IuV9437xPQ== ++EjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAQIZSet96ErYq ++eCIXVYMXQVorljUviM/kLMQ537JkzVwL3j9cr39LxyIH/YTci6tKB+HSU8y63g95 ++XrPdZWUHzERN5PD0yhelWWl/cMvPtjzuVgyN4iIPwpzQ/arpDKxjxocL1OB1lgQ6 ++PXLyFFWn82lkx7tccuRsD4XvQRy94QO5zIw8eFzMjgGpkaR6Rx3d+3rHkbtAPrIx ++8dxuneTlq2aFYB+gjtB1W7BAfAC0hbarT4UtGTHaVUG/h9o+yT6bbKceR/+OP3Lz ++aP1trw8oi3i2CA02b7pnnbE8QPP6Nu19ox7I08bpXokTMv7Zmry+9xB09Q5WhRfH ++iaQ16BccZw== + -----END CERTIFICATE----- +diff --git a/tls/tests/files/chain.pem b/tls/tests/files/chain.pem +index 1030414..704d433 100644 +--- a/tls/tests/files/chain.pem ++++ b/tls/tests/files/chain.pem +@@ -1,80 +1,82 @@ + -----BEGIN CERTIFICATE----- +-MIIDuzCCAqOgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBrTETMBEGCgmSJomT8ixk ++MIID/zCCAuegAwIBAgIBATANBgkqhkiG9w0BAQsFADCBrTETMBEGCgmSJomT8ixk + ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxKzApBgNVBAsMIkludGVy + bWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgNVBAMMG2ludGVybWVk + aWF0ZS1jYS5leGFtcGxlLmNvbTEqMCgGCSqGSIb3DQEJARYbaW50ZXJtZWRpYXRl +-LWNhQGV4YW1wbGUuY29tMB4XDTIxMTIxNTIzMjAwNVoXDTQ2MTIwOTIzMjAwNVow +-SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx +-GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD +-ggEPADCCAQoCggEBAO9xlq1UYoCohgHoTqJnelmNo5UlVhnChFwGZupCakXpq3ry +-KBPVW2oANk2oOZf9vsJEnXs2LXB6kMaCFUUDgw+bR6+OCk2rcmQOsJkXCjzxWBWW +-UNd8YEbiptn1RGohS/6vlw2OPTyS4gLX1VV8YMos4u3PikdmtZZuLHniYFGDDNyn +-zZAHzcrsuKZzkpkGWqpXjDkZ6eH4gd5WGFivJKMmbNB/e7K+ShZ+wDfnbDCxlBmf +-r/6zdoZt2Zc2K6T4bVdR2u40DTcfRCZqer9GCnKvqzeBAJoC3WQbUIGwFjq0kiZG +-tdthOKZVQ59aWlBMXT5+GuWRqPY7zBZIig2skw8CAwEAAaNHMEUwCQYDVR0TBAIw +-ADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEWghJzZXJ2ZXIu +-ZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAEtYVbiVHhRswFlaiG6dM1XD +-9XgtbTRutcdyLy1moxvfLiJpiRk0Uy8wXYTpjXe/iVtoNchT6g4ZOz1/shLjJ8tX +-30vpUcjULqV+eIcBPqmq9NgPNswH5BGqX0BWtMJAa3dR8FBWkikd3/WuSLd3uvSz +-8f/hJjqq7ovIAKxeSjGwqRqk6/8lbrdLYRDNKV7qAbtsRUfN7PlOxgGIAsqeZAsi +-SGOSW8uAwTLqHTwnovaN4ec4efUc6mpsvW+Na4YhR/U2RZAvoQtRBEHRwQNDOByD +-Xe29ZXe3jdQhUcKnJ0iaj/z32Y1/2dU3bTsDLDROBnJKICnS9wDBVbNXycvnekY= ++LWNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEwNTIzMjE0OTM3 ++WjBLMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBM ++RTEbMBkGA1UEAwwSc2VydmVyLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEF ++AAOCAQ8AMIIBCgKCAQEA0nqBqzn1OEovfpGq7koM50H7ycIgJfcaAYHnejKNoMtz ++KchwpwC6PMV2aCRCPIv62KxzTwWHTKwXYQ1BTiHcW6Ov2Z6uiLKq2FrpMhLZs+ef ++SXng3P1mU76BXjtd9i7Td2+RVkiM4+n+6tzxSwmwzWefIm4NRHsCtfgFUipyDF3B ++nW9YYpG0UgVvVmywa5PM+D/Er3zfFe9+mlvMZLEL+6YDVUwd4hsU+EDX3Yh9Tw+0 ++pXq0P317C7bmpPj6zPLKAzU7+kyf1a9KIeVzRu9q6xoTReF43EGD+EzoMgoNIR3w ++LVKqnOAdi/3UiE+joEvyrwVf1oAERpBnjz9u6O3ZTQIDAQABo4GIMIGFMAkGA1Ud ++EwQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwIwYDVR0RBBwwGocEwKgBFoISc2Vy ++dmVyLmV4YW1wbGUuY29tMB0GA1UdDgQWBBTPKLW+/TuP/Zsqku4MukfvqReROTAf ++BgNVHSMEGDAWgBT3RnEO0U+0fAZWewS/rbngyzzRaTANBgkqhkiG9w0BAQsFAAOC ++AQEARxT2sksXQIbf48QkxXe8KyN7VqJ1QZzyM4hkac96sMLVg6cRc+tk1n3XJ8N9 ++ikUN59ptcLKTpyyh1Z3nrxZde85cA4MXqePZGBKf8JoPHczeQbWYUiRO6y3nwhcg ++IptDniKIKcjvJcH1Y9WC2xt3Z2xVERBmJby/F5fuwu4Ste5CFnUDt3QsTbShAJYV ++989HfjEkH5IXnDepM/jPaGeY9X+SKQXEi99QKIlh2TqSXq4JNuIiO7TfXBnxO3X9 ++DetfX5mHxt7t1k3iPrtBAg0v/xQBeTwbty0/QPyvv9BZkl4yfH7Beo7NQfnN3ZSM ++DfmRwKevcHxMxBLZ06TtZKgO6A== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- +-MIIFAjCCA+qgAwIBAgIBCTANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++MIIFBDCCA+ygAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk + ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp + ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq +-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMTIxNTIzMjAwNVoXDTQ2MTIw +-OTIzMjAwNVowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ +-FgdFWEFNUExFMSswKQYDVQQLDCJJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0 +-aG9yaXR5MSQwIgYDVQQDDBtpbnRlcm1lZGlhdGUtY2EuZXhhbXBsZS5jb20xKjAo +-BgkqhkiG9w0BCQEWG2ludGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTCCASIwDQYJ +-KoZIhvcNAQEBBQADggEPADCCAQoCggEBAM38HyX7bWXgx0vo3FouVlOL2zu26NWk +-fBOlayVaNSwz0vQBqzH00V1DfldicevLLUjcxKeezlYRwI3cGHuFqWoZOjiJ/Nq9 +-SsmpW/y7JCUqSA3CXrVVXSrulmXiaozYoQA1fWOpiwcr3Jhz/8VCSYGbZYJYqwN8 +-PyyZWUfOMklkgeJrhKDX2JWzjMSBSqcj25hEPRvqB/Fmqpx/qnMl1/ssosnRKCcx +-zHv94uBapF3XyjBAmvw29OwjWDN4F50pAkgOHB04CW5b14WWc6APUS6jpc4H4ZTT +-buX2cR07G4I2IVFmtgwxXlEHL+XCtyWojwg9edN9ML7ir3oHJkRR4mECAwEAAaOC +-AVAwggFMMB0GA1UdDgQWBBSvkF5c8hOL+tkT2zVlslNkMpbAijCBxgYDVR0jBIG+ +-MIG7gBT6FH3OnCOvKyXsfc72EJ4xxG0S+qGBjKSBiTCBhjETMBEGCgmSJomT8ixk +-ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp +-ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq +-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghQwyVOnEyjzzdQXaugm2oaBks+gmTAP +-BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAmBgNVHREEHzAdgRtpbnRl +-cm1lZGlhdGUtY2FAZXhhbXBsZS5jb20wGQYDVR0SBBIwEIEOY2FAZXhhbXBsZS5j +-b20wDQYJKoZIhvcNAQELBQADggEBAK8ukSalZ6OrwTAtgm7HLFwhC+NENJb0lnOk +-wpgv4Z3Bhb4S1drgrwsZfFGNsq3jLO2gURtNchC9eTAdHPZpNWoW+s1Ja+ZmbAS6 +-PmPMdOclPnemljNuoR79I4sbCMxiyArkVw1EbJZSmpGocVFzB9bVoj5G5/In4CYT +-yiF2GxsqBUps7ID6lmAdJYWdzJ7PYbnlerqyWdql2Z2OwkFZCXyFSuQprwCV6SsX +-0un1xUqdgS1+iffl2Oi/9S+pK1Y3NGtn25sDT5bPMpoc8jwRf8n4rtS8pHyEJyoz +-ZnwhqAHALcxUFoWVqjrqHZmNXbNtjuGBGuRU755FyE5pVcRMoH0= ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjCBrTETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixk ++ARkWB0VYQU1QTEUxKzApBgNVBAsMIkludGVybWVkaWF0ZSBDZXJ0aWZpY2F0ZSBB ++dXRob3JpdHkxJDAiBgNVBAMMG2ludGVybWVkaWF0ZS1jYS5leGFtcGxlLmNvbTEq ++MCgGCSqGSIb3DQEJARYbaW50ZXJtZWRpYXRlLWNhQGV4YW1wbGUuY29tMIIBIjAN ++BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoTfm+ZLH+pHltwEeqfKEtJvXFkiw ++3bpbAD0SizxVPxLp7P3RnvYH731A6e4OlVmugwD2ht1aC/wiv7uG9zvGxUbdt+15 ++dIJ9FsfNhL16K2RhmdpQen3vK66EC8CUUuDnc9+3AI6q2vRcAHo5Vxbb9z//8QW7 ++nJLISomKY41REtL2wAhNrMPDvZ80tJ+J4ONGQn8WbaQ3m4GddAihHtM5xxRswYcn ++tzTB6qT5IZZrUu2egXdttNm10ZeuTIrBOGuSp6lvTjpJREN8FHat3fR4ULd0Tg9n ++8NbyUkR8b3CQHS5h5lXGZzjusHklVUyb2QpRnRUF+QhOz6SLYQsZA8b+pQIDAQAB ++o4IBUDCCAUwwHQYDVR0OBBYEFPdGcQ7RT7R8BlZ7BL+tueDLPNFpMIHGBgNVHSME ++gb4wgbuAFNUZ78l3Ho24OBljcgAGn8YLwdV/oYGMpIGJMIGGMRMwEQYKCZImiZPy ++LGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2Vy ++dGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsG ++CSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb22CFCtLy6IAR/kfC2koVJrwAES19jET ++MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMCYGA1UdEQQfMB2BG2lu ++dGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFtcGxl ++LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAUFRIZQ8mD9ABySwtYya/+ZufH+wzKAPb ++FbUQYTcHAJH1uEJBFL8QwUtfT2dxpyztrlXL34cGbZBFVJJSVmz6gHTfC7Vg/E6O ++D1f/wE2Dr4LPv5zyQGEUmygS/aDmZwypt/K92OwhBJNWEDSBV6WUAttwkcX7Ene7 +++Jr/LdjgANnHYGSYkh0rzkwmudRGTsMNgiZ91BgsauhUcY4v6hDH3NW4B9iLtyYW ++4ONlbBWtYPcC6/KFQlevY65MfWhq2w2UBi/zHBBNZsF45jrlDx5wAIoZXtTPLQfw ++PRh+xf0QkknkW+niYDXooypTSvbUfTUKtWm32tfFstZpeJ+RGSKwww== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- +-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 +-IuV9437xPQ== ++EjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAQIZSet96ErYq ++eCIXVYMXQVorljUviM/kLMQ537JkzVwL3j9cr39LxyIH/YTci6tKB+HSU8y63g95 ++XrPdZWUHzERN5PD0yhelWWl/cMvPtjzuVgyN4iIPwpzQ/arpDKxjxocL1OB1lgQ6 ++PXLyFFWn82lkx7tccuRsD4XvQRy94QO5zIw8eFzMjgGpkaR6Rx3d+3rHkbtAPrIx ++8dxuneTlq2aFYB+gjtB1W7BAfAC0hbarT4UtGTHaVUG/h9o+yT6bbKceR/+OP3Lz ++aP1trw8oi3i2CA02b7pnnbE8QPP6Nu19ox7I08bpXokTMv7Zmry+9xB09Q5WhRfH ++iaQ16BccZw== + -----END CERTIFICATE----- +diff --git a/tls/tests/files/client-and-key-fullchain.pem b/tls/tests/files/client-and-key-fullchain.pem +index 591d2c0..bcda579 100644 +--- a/tls/tests/files/client-and-key-fullchain.pem ++++ b/tls/tests/files/client-and-key-fullchain.pem +@@ -1,77 +1,79 @@ + -----BEGIN CERTIFICATE----- +-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 +-QSNhrzqDvA== ++EjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAQIZSet96ErYq ++eCIXVYMXQVorljUviM/kLMQ537JkzVwL3j9cr39LxyIH/YTci6tKB+HSU8y63g95 ++XrPdZWUHzERN5PD0yhelWWl/cMvPtjzuVgyN4iIPwpzQ/arpDKxjxocL1OB1lgQ6 ++PXLyFFWn82lkx7tccuRsD4XvQRy94QO5zIw8eFzMjgGpkaR6Rx3d+3rHkbtAPrIx ++8dxuneTlq2aFYB+gjtB1W7BAfAC0hbarT4UtGTHaVUG/h9o+yT6bbKceR/+OP3Lz ++aP1trw8oi3i2CA02b7pnnbE8QPP6Nu19ox7I08bpXokTMv7Zmry+9xB09Q5WhRfH ++iaQ16BccZw== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- +-MIIDXTCCAkUCAQQwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTA3MzExODEzMTBaFw00NjA3MjUxODEz +-MTBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN +-UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt +-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPbuZMMuAYN +-HHfO9oXuDJG2vNcphC4nEoldJrS4Wr7X5RUXlVUHyHiwY2S7qXstZP25m6H9Obl4 +-2AysGDYccKSm0/Ne97CGkTuMSoJFfm8EP1W5hn2FyiAmcJJDEA4s9AG7ZNuZtbi7 +-LMp5M0J7Qyj/7AKruaKYXfB1CWHAR5B9mAqE11hGZJcUAN4gxV7IVNPYk6bnhUgj +-EH8eiCfs6yUB3CqZ1S7LICvC9jwg2J/+Qkfm0tfHbvtoyAEb7tFVWbZ3GcgUfntN +-ixe+1Um3s8pyB+wVznv65cEjCPvgqMMJVfS9oMV7Lg7TuNqjirzaSSGSVWGuR3Iy +-VmjtfpGk9R8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAZs33954DJg4+NJzt8QKI +-5+aDeBb5FcnwvIbx7QpsSPuJJOuamLX8fo4x7VZut3y5VqyK1QFIE8dWNCotVP5r +-I4xFFYG6CEKkzc/fZ8FTMCYFoGVxUce2PMX/XcZuYWaO+F7Gz8LzW1CbYzbFmAyZ +-ZUl0WOeFbWl/yQmwym5ZFKLogZXL0ZHtwNKHH0LiKOyUssiWbN1cD7BQaiuXcsKS +-JjWsl2j5pi+07WaGZGk+MB8mFl56I9u/43qdaxf1lWicyj6QiwvZf/WVxi5dT3zA +-8IEOS5j2Ahg2xP/ot24R/7+d4eV5m27qfqzB4HT7y1bl0Hi5lXl1O6qzmqJo7Z49 +-zg== ++MIIDqDCCApCgAwIBAgIBAzANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB ++GRYHRVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGll ++bnRAZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDH ++YiI6QwhL/crojOyN3ZWAJGRrszuep1L3b3QzdgdH2Jb1cKT/x8oeh583ysSnXLBQ ++iKgHcaQ0co/rI5DtvlEGk61ROcr4c229j6M767WmcNV87sIrC10FTYQuTgXsRD+u ++ocm2dIOiVRpMUkLyXngwI0/7AMXOvi+WntTxug3hYLNHGxaXjIgYczkyCLMnl4VQ ++ShHQqG4hVJb+5tT550qSPuCHizaZTM/8GGgKuA3TkCAmhjjtsndNbGfJlC+L2aqq ++TvAHu7Dq+h5l/F+RXV7MMRrnuXNIweUpGs86aGKKXIIyYjhN2aIRRrsm05pO+CMf ++PrDac0nuvYc2HXtRvJlVAgMBAAGjQjBAMB0GA1UdDgQWBBT3g8EjIz6zRypIkuuK ++LW5ChA1akjAfBgNVHSMEGDAWgBTVGe/Jdx6NuDgZY3IABp/GC8HVfzANBgkqhkiG ++9w0BAQsFAAOCAQEAGt4AvyDxLnY/2UwkconCqMfSOHWp3CzsSxzEBpV0PDczqfyH ++8BEUU4674otbZOJml53ld1u/EDl5Pf0S5gCRidni0oXPs2MiBoK1AXWmfJ6bIaK3 ++SoaISRi2NpQP77bu7NLsruGPSG/F3kRGnlP9E3w/9Nv4mdTiLEjcANVeolH2dDSO ++RBFxxvfQNZgZKAWnqcckMXvlhImEP85cq/T3M83vnKJOLRHuRpThBpi8Akugi+rm ++dxU9RyqalaWydWAt4WA6YBFPxxCdwRfwGGYm2Xv7QpnL6roCLoQkMt2mrBjyvI32 ++L9UNBCfipP5jIGIpX3lnSP2b83lKLPz6QotoVQ== + -----END CERTIFICATE----- +------BEGIN RSA PRIVATE KEY----- +-MIIEowIBAAKCAQEA49u5kwy4Bg0cd872he4Mkba81ymELicSiV0mtLhavtflFReV +-VQfIeLBjZLupey1k/bmbof05uXjYDKwYNhxwpKbT8173sIaRO4xKgkV+bwQ/VbmG +-fYXKICZwkkMQDiz0Abtk25m1uLssynkzQntDKP/sAqu5ophd8HUJYcBHkH2YCoTX +-WEZklxQA3iDFXshU09iTpueFSCMQfx6IJ+zrJQHcKpnVLssgK8L2PCDYn/5CR+bS +-18du+2jIARvu0VVZtncZyBR+e02LF77VSbezynIH7BXOe/rlwSMI++CowwlV9L2g +-xXsuDtO42qOKvNpJIZJVYa5HcjJWaO1+kaT1HwIDAQABAoIBAFr6JStQfb10yLQR +-f57UAFLByr6CBhPDaAROnCC2Jw1h+EampupPdDyz+MuEnlPfOR6RWFGiYMTsOh89 +-K2GXk2Y6chAPEAh8gkprZmiDRMsgwAUDUW6W17BkiLftbOCsFDUI1GlWAxeiLG0f +-XVcjDhq1rE8Yr8L64S8cG8Xa1vgaXI6YpPch8YaBXQrBtZZsKiqmD8OUcE/sj1rc +-jrSuwTYmR9wqNymJH1b21cDhCKcU2UAUAhbLWm6k9rhKGEvbcrFcBVe6cRjY10h3 +-RahLV8geyNKtundqg4Fajw5i74SxRHqnGrrK99EAYOyehxI0hjAPlrUmUsx5juwX +-DuThPrECgYEA9jTMikAY7TIZOb2R1Dmy4ob3jGV23YoetSb/RyDuIYI1FhOxk8M7 +-Lh61zdcnih4q4AZU4f+tSrLM0faVO+Qm/aPsXcJZSw6voOLX7crWA6RoffrNXpcr +-I8QfBqXoDosUEZhu+ZWTOHU3jaUEZojT3HVii3dnDe8lcg2fURZ8CxcCgYEA7OwV +-Jis3geW4JeqimmKYCcb2eCYX/XhK5s0fIY1TUQc2BcjG5qmsfBK5WM4Y/9kgiqRy +-kGb0KSLcf4EGA2UMfARPXMjGBd7O7ZGw97h52OQ9KntwAlk+M88IkGtgiBB8B8/6 +-vOM1NlYm9KNdz7yYJyWKhX5CpYWNKDybBBanizkCgYAfFk2ZSzyafo/m1YPbSynG +-JoqNRKZ8lJsJ/pGPFp5axskTL4tlf+oyCZilE/yfGO4K+WGwY4sq+maYQE1ZkZZG +-wnLu58JEkuckJmBjWxAox5KWDZvuzKGa04GjYkFpzK/NBPVGOFetckeAcAydMbum +-g3/c4ke137NXslaic3dYIwKBgQCEJk7JonNsngCwDYczC+l4EqVpcP4SoKVOxX0m +-zth5KseERHBFOsD918fQc+zX0HlpO763MuXfiBVrfUEoZZWoGxNVUpu5rITJWGlY +-U2qLgwtnBcD9Xl/msAU74NjQLDmyddyKvUTyEO3bqL/r3msT8smoGjv8bVjF58Aj +-cKt1aQKBgF8WJ/5JbhEUvhv9+2tkSGXsoGVRZkHVeMr++NCJH4Ee6U2eKeq2DOYA +-e8ex5fKJPcjoaXeguKYaP3lsFVdT+F9bj7+L1RpJea06ovYbTs7wAyzxURLOjbfy +-0SUZG8hhBhdcqz+RVvqnQeYFe8k/c4RVZQeEgtBGChevJtT4ymY3 +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHYiI6QwhL/cro ++jOyN3ZWAJGRrszuep1L3b3QzdgdH2Jb1cKT/x8oeh583ysSnXLBQiKgHcaQ0co/r ++I5DtvlEGk61ROcr4c229j6M767WmcNV87sIrC10FTYQuTgXsRD+uocm2dIOiVRpM ++UkLyXngwI0/7AMXOvi+WntTxug3hYLNHGxaXjIgYczkyCLMnl4VQShHQqG4hVJb+ ++5tT550qSPuCHizaZTM/8GGgKuA3TkCAmhjjtsndNbGfJlC+L2aqqTvAHu7Dq+h5l ++/F+RXV7MMRrnuXNIweUpGs86aGKKXIIyYjhN2aIRRrsm05pO+CMfPrDac0nuvYc2 ++HXtRvJlVAgMBAAECggEAKbM30uUhp1kTdstAj1Q0eBpEaXURR1eaBdeo3zl0gN2H ++BxrR25Ai0PtO/Ml7E0DSvGk0cWgebny2ZnioD10yT5ST12zlq0xi+5Y+zuG3unGX ++aPt7nyqPgDQr7M5TNUy53/GFAVTBkjJH34YF6/B/pRvBls7c0CZdSBx8j3j4/bWP ++6TRE9RIxWNX4cK4tYh1NKYOQXEwtqjvJgNsx3Ev5T7h0uXE9V0s6dyg00Q+udlmA ++DN2VZcczTcdRDM/EEXuuP0UREA/GHsezXq6lZaabXUXigcVej2J+RJH9xcQGw1YS ++GUzzjLGoN4uBgspIFE/vrASPJw1blB0JjyYMBdMzEQKBgQDvJswWgOCnpO4X6bGg ++EUvFnP4A0+HQbdCVHT98ItyYYp19jlKcWOSnA1rqmF2unmQ9MQbVi8wRBbhsrKjs ++OuCXjE0guhSGumc2nZBz5hSJc2juuMV3oZbRFm9sI4PAvwVdyNad+75bEm/vwTno ++sOjsJYYiJHkx3WlSHUO1COIF5QKBgQDVbhlsLMg2ENWlUPncilPZdZWXJqrfRKtB ++1VBa7WROUR9b3mzQMwOkAN26Fe9X4/NqABbv7v43O7lmgfD3YW6YTtiWl9YMwjEe ++mhRCSYGLrFjhgWZmqsRq9iPquc+f5YAjqbaxe2lQ3MluHTUyGVOuFEB5wzktdT5h ++VHTEOlQOsQKBgFM22MTry0AKL566fkgIPKliWy/GikiQLYf1SWXUa5XKmqpZn30v ++oUBL9pKyucZM7uwr5wjfP/6cUvPdkFnCkuuosh21IfdPXSKv6NerM3Iwak7GlE9w ++Np5ChDrIkMu8rA1aGPOX6UCfRbvTLGc/R40D8YxnzJQBSuh7rleL47nRAoGAb4ys ++0uIQ/lkMIOxSu1a8/mI7fhWipzDPxYfFCNEcZOZ3Wl/FRYf0NiqRuKmwP6KPXW6Q ++jnS9/4ZCn3X4yILu98H157eSE3cHjzP+tKqQf7zjc3FbYPuNz024df0JrEuaDoms ++R9T1tWLAEMJJRFcCanCBRmKnpr+pi9tFcC4AMvECgYEAmX/fKAMxfoAMK4RroxJw ++xf2c/X6sWEtx8LXvLxMTSxn0CWCJU8JB3OlzH/WsjOBXe3bdzEo9tmqYQvhvbogb ++9Y6kwl2c/mDKQCdL09QymHcqYFbtGGZtHd7oOBz8cvwAR2hkT5nXUWRmc4ZVregL ++EZxs6gFejbFdqzW1DecrWFc= ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/client-and-key-password-enckey.p12 b/tls/tests/files/client-and-key-password-enckey.p12 +index 5100a15da13549e5bf1113c82347c54c37b61d3b..2ce7cca3d5973a15db60c023ad7327a03534b3ed 100644 +GIT binary patch +delta 2743 +zcmai$X*AReAIAq{oiNr?WOrr4OvE#csIg?d)-YT~#@^UMWBoH2LLtjV46`U26WEm8uCVP*2&U5a4`Mmg@@A-bd??2~9;cMmx;6#WLJsks_$hOVIDnq(U`pHhm +zOqWMwTL2T;X3p^kI1x?{1517RVWa#NxKq=CULcrdJbi-w7Cila&O8m=v6GGucFg7hc17W`CI-i&R +zf%K&IadTJ?OaTmHDzzat_~G`j@sB^b#SRThe??&HU-qB_h=)oiWh3buMX$8G)8M!u +z%|kI4&{J>BH{Kj)_NI7stcN*fy-1(X`HHr=hEU0> +zAD#8`u>ZwAy;FnqD)W1uFJtIus<4vq8(LN&^(~wZ#U2U6FO!B-7zM1{JsaHyu5Z#i +zDE{$T&p%!rUt+w}d}1689M3)yNn(jWKc@*_Kgd_EmA5ehBT;X`6%yCn){dn~$AyIS +z{WR!CT5b{)81+4w|P?eqg8EA6|)+YW&IM#PF?s>55DN7i2 +z-1l*0=XQ~vDeO=U7-1QfSAxZFDnvs33>%+B?quU}rhP!cP_H&dy#1g~rNZq!lxcBO +z>*~I*V{0|UD~z3U7*D(Nim48Byv>Tb%K=^7sRd6cd=70*^U?M>c6Gg{r~1n>>@{Ie +zX;F)etvHNiShr4=xld{ia-n6TpIKF}UsNjWONcx+syS$`q4!BFm_de1WK +zCrd2wC);5Q2R87uwWWJ@`lU7!fv+z)i4WM~W#3nL`|8$`3RS9v#&gFaX+aBT_2fax +zr37z>yMG{>&v5U(>3&xW2Hi+!A6Tot25v*TW&`nFprEAfgUj(qo~gQ#XNK#~$X~G-EunWT5=O^^8N&r9Xvx2W +zy#Nzxu4$%U_DmuIC%XJrrV@kHeEiwbQkocYZML~@pC +zxJ4MWc~QhsEpFkAqrUSWyw4@t#iR$cM)IFM8sAKJH)p~?_k2NVPka29UkE;`pQ1t9 +zooK+qJ?Dex*T)3;pA;{!(b1oe +z$a8q}|Cw&NF=|(o`pZmNC|Whe^g!6*vs&qZ6Rf5)uz&f?OgaebBGb9>(3hWg6R +zK&uQj&7R~-$E_C6R6TC7b;Zpp^|C54WOrJPNI`72pSR_F9ctgp +z?rwZ##5DOHT;4~(#7j-bgcEfPQ` +zGnWO)w@oN;SM*N)UJ<%IC#qXm1iN)PDPA|BI`Z3>yyjgNetSwOkH{3)1_>`@?bmo9 +zHgTYO?}9@zIw3h{;qu+dURf3iIR%S+b6hJ<@+TaHgJDn*ZaR-ls+;xBv4LjluM}w!AWtsEz`SpMdM*Jsv>+OW?LW4)a}LNMWYv_3L&Gk +z#;Dr0^=fD|H* +z|JzoaF{ZTdDZ9ZwY3+fmOpa_OW?uJ25(>EQCMZMwQLdA8$FMVR0m&%}S+XP7lW$oHBC#mq0T;Wp((@n>01=a-JrHp17b?0tPc3S!y%5)Ey0l^X_Sm6my9= +zirpgi--JlZlw5g$HIs$g1ESQHEhz!8WvBok7R8f1ts0m|vG$h;W4RXbVZIv#mE^qi +zrw)(PkDjpD`J-B)BLXVx?x)2%SLy&mDNlIa+n`TwyQmxORw_LcXD9nObwKQnDr-3CxykaLSds6VyhBnYVI+ZEE87AtcHo_VCwFE|pDR +zHJxN!K-c~;cL&Z$Ojt*Of?w(p58|}!@>>Er*ehMSnE_XTkOz@bw`^7%HfVSaL!Dvr +z=(Q$l9QT9O1XpO`7YhMM45ff5Rwc)M>RG5xt$f-UD|a=Z-r5?Z$-T18l-D@;hCHm; +zfOeG5S07$5%*jaSo`EaocDH{%>0SB0WxSgoVdl`BIvBB*NH_a1y +zUg@zcFjh0{+NJ-jybo^$$*mf?^8A@Uu6H=2QA#PFv(1_^{nt@ruE{Bes^k4$pvDt= +zsk^W}^N)K+WmCvC7(@=^?&OJ# +z2!@7y_=ON=#N_eusmKrJE>E)CvuZO=eD}ugopRJ9PCfK{&}dsOr(+l6UZm*}e%ZKb +z%A9nN-F1JG{B9EwD`@9(1zp)P?`-&bgOL@o>sXS~ghhnF#s9G?D<6U%%*QJq^G)18 +zqp|*jK=ZrM(MzV&w_99NjM*N@jTEoFp05nJxl+wln5dt5I^a|M^T#rCZHW4fI-aDf +TvS1bsmut=T$bqB3U&j9e;1dsl + +delta 2669 +zcmZXWXE59g7l(J(uGOQLC2G{LSwV;%K?outh!#E362uby&nk)Fjb-(oL>DbsR(Hkf +zy>rz>^k}O@$#rMmxp(G$Kb-l^d43Ub}vlJBr3dTTrpSFl-(B#b8TOx2-RKxcu +z`Tgfew|FZZ%-;8ZPmC|sGdzA*^qc+wCa-!$rAt4MZ!O9q==EFg%FYcqKE8h83|fs^ +zZVO)ry=qAaOMhC|^?Hd$Ce7#~pV{nWO~oq-9y}PZ)3I8a?38>0w52P=eBRuwxcihD +zA!21EJj*jZZb*-mRXK4BY0&m#`~WMkUafr@^%K;`+TSmCD}9$3XN?MtDJaTMD*QH} +z6nWZs)q7*z)9dUCF{x86qD%qoiPFd}?bD(9u=3|XjKOZvT5U>bmGnS%PFklLRM|$C1CVP-xxZ-Bj2Y1c^ +zw8EkZ9C6)c_)z=NnuZ>JJI+jh``ODm%ykY2 +zFhC6EL$1a{uaMK^X?*c^!k2eH_9VxY2OZMIcI5~Uu7CS=-6kU@xc7#kS)v+QV6`yA +z55G!h#t)c=s*v3S=ZrkNTwRwp-1MWVhvi+dzQDP@bUGg?d1Ns~R>Vc= +z34Aw@d>pZ4GP-Q%`dEI*w0&BX2P=?stYnMlKGwg`hKY@Pqa{wVvMEYlTOYC!tf{4( +z^>kC3r0Vvg74Nieq27RBFsweK>$U=spdB*P8(y{=q^pTF&5B^%cS{Ot#T(%13!u)J +zJElYy!|vSlE77O0VO8psldm0Gq!%u0wZC&V1@R|k=?G?9118-Fw6!m=oM}bjJfDSZ +zrM8~fLt$Vu|7hlKZ^3$@7+B{eZoixsa_avojfM&gxhy3wp~U}qisS!8buXg@$2X%4 +z!TR$7m8WcZlnkZ!bq4j(ub|2)Pz-bsGVx4}+N|qwU6&xRc$Om}(m~J4=``amQ43S) +zZZezpn +z{k;7uIGQl06l|qp0h7mU0$viV)y75oumvF7d0>bh2}_8uQKC+FK_P|co_aW@J6|HhIE0W +zTF6~G9Xp=FM@LgiKhjhWp0c>5qK!VWFIf2c+%Jd}ayyQXf0Z(q +z`zZYxDbHDYT6gzXf>aMqC(~%qLaKi8lM}D-lNy(GO}l3Yb||9VI(j37^&+ +zwdRM&0s5O$?|tWE*P=wFAW!ukBG}^|Q&mL%r!EtBaf@RXMf&VKXpJu=+A;y8z^^#i +zuT{0l-p>oNBQ_37MmA>~>;7k~lPm!t34lji?hz{u&aNw9?&>S)$%y4XxnC@0@ll)5 +z@(J!NgVwB>cnSZL+#|yX8#dhB{o>}c43U-)RqHUBN$oE34imsv)1eBW`Q#lQkC8u%r +z37MDEl_C5~dLp_Xk>&ki0K>LuB&qMwp!YaIrneJDD*Ak5)wPSo4`V%xE;tDElrVyj +z*GyPMO@>fs2exu7^W5TCifvxS3oku>A~spLnp_}yx-$)5&lT0p+fmk9vaska+~*Uf +zYVANNKFyqxeA3(s7@5(t37>B)ix{Wnu$}OtF1+;~WDW{86I<{eiJAKerja+i@+<<05zxv2I|79<}Pai2MpP!dL~RTvnSTPCFMzh_Wtd +zU7zRE=y}FoHp|Jr+JayZe?p&z&o}cW4P_S3ErEJuA)Qay){aS&@`&&Xf!ws&w%b76 +z=6gAT}|uzedM + +diff --git a/tls/tests/files/client-and-key-password.p12 b/tls/tests/files/client-and-key-password.p12 +index 7d863b3318171ab5807225e62b2ad6b1ed12741a..8158e01b848cf99636a7eba7a0463bb27492abdf 100644 +GIT binary patch +delta 2279 +zcmZXUc{mi@9>>j!!HcXT`^Xk%k-dM*sk}H89_9c9fEbG)lvO^)IA)In +zzzitD!&t$17=(cVC_Gs2e^Ov&FdmF#;FFAyfwKKm#SR02itwNw6du$Gh5Z9r`5C=H +z^Rm@W8Yp5D)w~+Q;^G1v7*&)CMgxOBrJ<~5BglzCsh}A^`EQV+ +z0Eof$IZJAuV=+DGUrM4S&t!#5x!!EjDyX#F^9fK6Vm6u}?A$Ip>gyMcEmZ68skEy% +zkE>$#Ej#6xx{63!Yqx-AJhjm1|K{)AmRhQ{+FWs)9J=0plFc4+Axg;%Letl&Eq?Pn +zAhN_t=)9%gSBE<&#Kj*>uZG%@go5!eL=FnhsmbU#e|A!wpuYx&rAa0`+8oP0Qgut> +zGU0Gx{QDv{UHemPqH50hVY;9vtd(OdOr-n|i(hj3X)Wp$qv`rdq0e3Z_R-Q(>&obupCUWu6^_qt&w1^VzM +z(6lIVWg(dFjFEh9R(WHflOn}Q(~0|HA6I^tz^0(P^yIxCdO2@bh(M(%Da=g86Tz=9 +zlXsD14zLWh?9fHrSg{;Gg*pe#}7 +z|8Ch)QeZBxlT#}GPY#}dMfSgkT#)q72mwprx~7(_eFS6;{?bz1%lGmgWe9KN##4iY +z*XNqyJQWvmo?VaZpqNC4P$o%Ot*at&m^baEDc^Qo;`dY~CHmPStA=~-&H|p)x=}b09YXW$e7%C+nBrED74sKwn>>ZH +zKp**1X1E^ro`2X`&ZbxHYPHl=usvt`XfkMazov7!_;|uZDFs{8YwnbbG_73<2t~$! +z#lvKSe!Qri?z*Py(Mj`AwX}`K4HTx`paVlZ{8PN&M`dsXBjA%`1*=7Ma`_WMQl)bl +zkj9U7feZDUuw`OevXR&!Ra{*EC?6L>y>>jzV#5$7m8qu$7CVz^a?O>d+1w_4l9}2N +zY+nyXTl-4ntJK+$lq_D=pEQ`Uxwkjjb<0eJrY~9{i7PTAt<(m{ +zj^!v&!?Nu?v6N?amBgHoz-6nu*&l%OJ1D{{gMz{7&4aa}QmYzK=I%L(T@9DaEg)8V +zUuR86;fKc}zjcJ)HSo)CD)SlyPhq9qKHN#%?YidfbON>|P4?1Smvs!) +z``40QOp!%H!-?VzcYz2CEr-*6?RVRq-PzFdDb~RVyqma?!RBn8@v8qC0(}rJ6Y+I>0U9vb#4`rvbBm;#@Xu +zU2t*!n75@in$9#X8Sme4)a2fN_{XxXmVsPb+{OUU#yel`syx<;!HX&7Z}lViX!bo} +zM&~|{RI=aiqnm8R;s%soSM^rjJt>&&tb5oh&>?SkN0J|Ti&JhVrG$Io)VrYgg&q*= +zk!6~iM*^WDOnP>-rc9ZZMQt%{(~*$T_ah~al)NLa-p<%=O@QaeeIlmwLxWi^JCiBc +z_9h_vVgIZ-%O@Lva9tRue&>)|ndpoLt+RE|$hSc=pX9rRi=N(M_Lw}k5)y2OA2~f{ +zhjEtfI{GC1UN3ZnwwPKIEUUhrlIWQMZnutwg)JPgkisR_2p@vq^JTkTIi!b9D9F4g +zOg%F>TXAJ-nQLTK(;ii2@#mSx<`pKzZ>7VZP7e-9Ev(kn+&F>vH<$@{aEw&TTZbJg +z3ffX0O!4E9#YwVzAFzuaDO#J~W#Yn^*}%@S8AtF`yBKT>cnLLz&X9Q`yIQ~8bX4XC +zCQ14e2I2tr0KoR0hsR@VCWvSFjhH*ijgSS)Q2|_GYgNK9Vw4ZKBg@|k%(jYB$Mh0o-yiMwB>;Ygp}xa2Kr +z%E1kxO1?E`H7}NqlgQ!eifT%_!{aPD!3$NJb?czSLH66Mev*2wJwoWT@(P^9hmQT3;x}Kb>))} +t$}5UbcPGJ!?1~>huNOlWaJ{#Sm;0}h{W?@_j(EW=V*U7fdoNh-zX2)@9j5>Q + +delta 2179 +zcmaKsS5y-S7KT$uNPsLwFhBr7ib^pF2vP-=K&VPliUAacrlAuY6(9L?Ciem!+rR_d;b67p8s5dEM1n2p@@ltfM5&- +z-UWqgr{Ysr5I|8NlLBuPp}=c*a1Dk6UiqIDct(T*p4`D7c4h=B{?jEP1_U!H;7dD@ +z1Qq)U;k$RTz=1o4b35DzLjmDHKnMo$cVK2RT}=gv(8pr+v4;8v`WTF%HxhBk2&<1V +z`6)5}nKU#b5a>>B-~GmR)GTcv*1tk{{l&)7oX3W>%)z=>Uz?imN3a6C6Oi33IOttT +z*sP;YIyALUX{7-{5TkK6Os~sZyT<0}8bZEY(8^CwN`(I6ez{3H=agYFx%%WMxyhpB +z+3%9IS@=))U2n-bGF>bg+rQCR?L}q8x?w*^`qR^ff1Y0_ACbx`^h^Dmz+aasRK)6^ +zu37Qai|tTOFQMcup;5J*TqXf0;I8rv@PdMMPR6P8LF4?`pvkRxcj9z{k?m{A$OR%<^B~!>tiy`!e4vq!?~mA7FhrHD36>*4|ZKJOlJ94 +zpuYI+ufF62O%NCe0RD45AW$3v08@ZKfDD^}uD<&!t#)6Q(16W7o@o(1w7$5f9vqbf +zv^TF(E-`x_na5p5n0A<#9^|RQdh=bU#dxD@P3rNr+wgcxW~sUy8Ol!b^_1X6d`^G1 +z`QRO1ch-4gF^WFVV_2?rm5}lY~$U94JngU +zN8*t|^oz~$W$()zdTBvPkW+SuJEK_fQGfAvgTI0wQ`uzg;%)ULO5R(GI?m#_^$A26U1jZh7;2$Z0Q4)c<|5B3GX@4w$ +z@j^t6>;{7M48l|!(;|VJX?^N25sJv5U(~I#VwMlx=JiL5$pd8$M&bAz8uc>bU@J<_ +z?j=pp_iAs46u*8F6b5udB>-NLN=xUoW{eB3*q{!4Gk-w8ps|2fLF%4dis(MS_ybEF +z&UGqPOeH$!zG*KXQg1^YTcd>PjT1^^oI=R`$itiBgA*q@qvRwO2361xSu+VbBpD@$ +zLQ91A%{H{@*0ZbU`mZ>Wwnpy!kZ(J4FUydl;lSI_UERc`V2JzuSYIUQiSwhy$H(-V +zkWvyD3xfhR9Yw&Q)?GDL$zAG}iG+uqZ~3sVh~oaT9KZ#cMkXH>w>=&xhz-$*xkKuz;%%*ncI=ZBlQH&|2#2ZF(-*mNUP}yWKkL0>#JDX7p4) +z1VLMc2AbzsFRkuqqQlOxyqcqz1mpweogrEaSjMBOr?!1SC +zG__-r_#151zUo2~{mjzijnUAjgIv%maaX>H&&r;H7p=)43(>kt2DdH7j%DQBxOX{O +zbduMS_X@OO4!x&%tQu;crC@9kH$FGS6P8SwUo%kaJxZ;5q#;TVq;!iHh4ShQvit?* +zoiuDUNiJxCQ$bA;7KILzB>|9WwauZE4P+XznP-ZdHi6>OvOkk`?2BOvTHOc3qpP7% +zq-p39r0L1p@72kI)Ag+YiN3aef;*tRKEch&Py0=2S$>LXjE$haAWpRI!vGh5$N0#@ +zs67z2SYW3k5%2^rWiAz!dG|4eG_`X04?{*+^q<-62X3)Vu`y)6ZO$#qE}=tMXMpp? +z=ImhFyCL=;65?fIF7GPuW<2_Ivih3V*>RGBWJaPzH=;`X#Qc=0&KzErCN0=Lam}$v +z7%8A-Xe+s+(|q*GLm*{wRY-&5mPw9&k|ppMz;sw4aM;O8!W(QB*y&-2{*u*WgX>K#|=xj*Orgubwz8*ACVPMW-+I_K61U;IJ=IH6_;?b +z8>c3{t2M}07+=+KmJOy4xr!j7p0S@-BJYxC^OJjBY3=tjI4zA|9-tPtr9Fb*dVQC8 +zrz9$SBaB3M;3#k8RkVQk;usSv4__m_=A3|Ds0H|WIBWogvR{O +MNZTgW$(2#}7vP@i^8f$< + +diff --git a/tls/tests/files/client-and-key.p12 b/tls/tests/files/client-and-key.p12 +index 9bccfcfcf8efc54c29d7faa34579263397fd92f8..ddb4558e992f125bd5cb5da70307df9d80bfc299 100644 +GIT binary patch +literal 2530 +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 +znj556nskDpQ)}|9jB7B-b8ou)c^nh + +diff --git a/tls/tests/files/client-and-key.pem b/tls/tests/files/client-and-key.pem +index 31f8894..4ed6e95 100644 +--- a/tls/tests/files/client-and-key.pem ++++ b/tls/tests/files/client-and-key.pem +@@ -1,48 +1,50 @@ + -----BEGIN CERTIFICATE----- +-MIIDXTCCAkUCAQUwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTEyMTUyMzIwMDVaFw00NjEyMDkyMzIw +-MDVaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN +-UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt +-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIW1UfdO4nP +-dGKo9YjM/EGVtzWyoNCz0+y5uqRvr2NagBfGrwkC2Z5t6kwrjgaGyhz3tQ1cCozO +-/DqIGERSdJgsNQXrayaZjoOBBmRUerkRlVU1nX+tUOcV5JyE6vMPspJI56RSlxVM +-oFE/k/9+jK/CnKZss9dfBY67VjX4avs+EJKbX4bpgNv7EpsaMTJWrvdYLXTDHY6e +-gpjyLxuyzpagXEXi0fnSM0jimvvOkFVqZt/bdGbk/nxUbOaANkdWPzIK71PCT30l +-7t4F+3UaV2Nl8jrGaKGgLKdiqGxEQhJO9XjJtG7R3S+9CMvzcVeVtle8s2cIEvR4 +-ATILn+xegCUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAErxcL62i04myJ5L1M7zR +-Q5E9ctb78R+0A3GDAUo8qx2eO9pwmNH0DTrDPKUu0iAIyZlS5grS3fq5I3yy/wl8 +-P6ClIxV/BryDXlgM0m/pjr79qtlILOpO4/Fxgp5tSNKomOOGjzP7jgcNqTuor+Z+ +-d0Q8m60fwgCbThtF7ivsLcdGPwDknN3uuYvkyvsTMWOedbW2LA1LwtuF3qZiAcIe +-5yVqkV2zJtr+N122Wbnl/26UOBabtYXki0xsPtAvzP3f9Fp6zo+lmp5mTZRoVJOd +-GrDLnf+1YhlfoB05+nefI4M46WAkXRs6hCrORyOKza0l3SXhP/Kgt9uR3DvLz/B2 +-7Q== ++MIIDqDCCApCgAwIBAgIBAzANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB ++GRYHRVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGll ++bnRAZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDH ++YiI6QwhL/crojOyN3ZWAJGRrszuep1L3b3QzdgdH2Jb1cKT/x8oeh583ysSnXLBQ ++iKgHcaQ0co/rI5DtvlEGk61ROcr4c229j6M767WmcNV87sIrC10FTYQuTgXsRD+u ++ocm2dIOiVRpMUkLyXngwI0/7AMXOvi+WntTxug3hYLNHGxaXjIgYczkyCLMnl4VQ ++ShHQqG4hVJb+5tT550qSPuCHizaZTM/8GGgKuA3TkCAmhjjtsndNbGfJlC+L2aqq ++TvAHu7Dq+h5l/F+RXV7MMRrnuXNIweUpGs86aGKKXIIyYjhN2aIRRrsm05pO+CMf ++PrDac0nuvYc2HXtRvJlVAgMBAAGjQjBAMB0GA1UdDgQWBBT3g8EjIz6zRypIkuuK ++LW5ChA1akjAfBgNVHSMEGDAWgBTVGe/Jdx6NuDgZY3IABp/GC8HVfzANBgkqhkiG ++9w0BAQsFAAOCAQEAGt4AvyDxLnY/2UwkconCqMfSOHWp3CzsSxzEBpV0PDczqfyH ++8BEUU4674otbZOJml53ld1u/EDl5Pf0S5gCRidni0oXPs2MiBoK1AXWmfJ6bIaK3 ++SoaISRi2NpQP77bu7NLsruGPSG/F3kRGnlP9E3w/9Nv4mdTiLEjcANVeolH2dDSO ++RBFxxvfQNZgZKAWnqcckMXvlhImEP85cq/T3M83vnKJOLRHuRpThBpi8Akugi+rm ++dxU9RyqalaWydWAt4WA6YBFPxxCdwRfwGGYm2Xv7QpnL6roCLoQkMt2mrBjyvI32 ++L9UNBCfipP5jIGIpX3lnSP2b83lKLPz6QotoVQ== + -----END CERTIFICATE----- +------BEGIN RSA PRIVATE KEY----- +-MIIEowIBAAKCAQEAwhbVR907ic90Yqj1iMz8QZW3NbKg0LPT7Lm6pG+vY1qAF8av +-CQLZnm3qTCuOBobKHPe1DVwKjM78OogYRFJ0mCw1BetrJpmOg4EGZFR6uRGVVTWd +-f61Q5xXknITq8w+ykkjnpFKXFUygUT+T/36Mr8Kcpmyz118FjrtWNfhq+z4Qkptf +-humA2/sSmxoxMlau91gtdMMdjp6CmPIvG7LOlqBcReLR+dIzSOKa+86QVWpm39t0 +-ZuT+fFRs5oA2R1Y/MgrvU8JPfSXu3gX7dRpXY2XyOsZooaAsp2KobERCEk71eMm0 +-btHdL70Iy/NxV5W2V7yzZwgS9HgBMguf7F6AJQIDAQABAoIBABTE5rvS870SgwzP +-sb6a2N+XyswnOkg7BhGN6mgQP39tPsnMjAx1zp3Ce1D9VCxknhotc6VjVQmuWJVW +-3OnqvOlPybjBcWzm/7YYx3tTAvLs68L7gsgX3tFrqVQKcS3jXyOCQ6902w//bCRl +-nku32gww0hyJA1GnrGuSpm4OEDykPpPkiIpkw8c1hLQ8uhkg4RLoE7s1povO2I31 +-Ir6R/fYiABRdm+HBm9KBteDuGnBQjnxESqTKRqtk2bVYl8UOiJiJeeigA47dP6gB +-LQwIaBw07Q+n4/YIryiMmuRdDhi4e/NGDDzsFrXzNaBm6MN2Tli0wzvoVsOaaold +-5/mN2H0CgYEA+cHQkj1eoIkPRiOMyObwKmGirtKSaqwGSDMt1db7UaGg9ItlflZd +-3QJtz0O0sBtyGLU4WgnrUtrE+goVe8ATUScfKlbnkDFk/1RAAeSWUff9t3ryOht8 +-z36SnfcmHPBb8iMq7hSn7a3g3NxD7NRUr370iGptGsRFvhtfFv4PDDsCgYEAxvDN +-RLF+YsCai3aDuMD6wHVl0gitsjYZxCtfWqE6AXXuDubaVDWPgteJ6tVXVaS07UrX +-anxVt0BVCgPweUXMol44OnPlSkULRkxOrdktifEeX3NkWTxp6x0RLwkITJCSEkX1 +-0Ts7uesjspzELDJlWtdashlGuygDUDOIPOCEvx8CgYA5y+42SVlikRUlyAhGXZrq +-U9nP1w7m/JQflShgOfXCuEKFFNUR3W6vPGao9iQUNOW8bgNyYqVAcTvwGPFLx/Ew +-cHs30xCXP7b9l0OQrJNUuKzQDvWLGN1TLxlC0PTS8ZR1fknq+oC58ej9c0OMxL4s +-NpbkEqzY6t6w1ai1q2lUDQKBgD/eLwhOs3SgwPzlH4TA77+58OZtQtZj6AHCquo9 +-uJGfer3t/0npqBkpeW2a8F7ecfd8f4wAPsSGMsb0XM+SSRAXj5W0f3hIkkYPWXMW +-tjgC4O1j7mN3scl5m3quO6vY/gw/yZtSmOonQ16kVZaa109CtCtZUgvj3Kxy3tos +-enGhAoGBAKzsLnc7isZZ8Cfh0KlrEBE2RMyGkMHS91gecb2ZEc1gpvK3wq+fWy5d +-UXgHgPxHbn3ZGfzGvxAzSLzv5dCbEmj+dxYfwkDf2aBaxQpzbf6BLzAjKgfjVgY2 +-rO3aMRnZU51yKK2JYHQzuULIr+Q67eRfnWHUaccEgT9V1+4+dUMG +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHYiI6QwhL/cro ++jOyN3ZWAJGRrszuep1L3b3QzdgdH2Jb1cKT/x8oeh583ysSnXLBQiKgHcaQ0co/r ++I5DtvlEGk61ROcr4c229j6M767WmcNV87sIrC10FTYQuTgXsRD+uocm2dIOiVRpM ++UkLyXngwI0/7AMXOvi+WntTxug3hYLNHGxaXjIgYczkyCLMnl4VQShHQqG4hVJb+ ++5tT550qSPuCHizaZTM/8GGgKuA3TkCAmhjjtsndNbGfJlC+L2aqqTvAHu7Dq+h5l ++/F+RXV7MMRrnuXNIweUpGs86aGKKXIIyYjhN2aIRRrsm05pO+CMfPrDac0nuvYc2 ++HXtRvJlVAgMBAAECggEAKbM30uUhp1kTdstAj1Q0eBpEaXURR1eaBdeo3zl0gN2H ++BxrR25Ai0PtO/Ml7E0DSvGk0cWgebny2ZnioD10yT5ST12zlq0xi+5Y+zuG3unGX ++aPt7nyqPgDQr7M5TNUy53/GFAVTBkjJH34YF6/B/pRvBls7c0CZdSBx8j3j4/bWP ++6TRE9RIxWNX4cK4tYh1NKYOQXEwtqjvJgNsx3Ev5T7h0uXE9V0s6dyg00Q+udlmA ++DN2VZcczTcdRDM/EEXuuP0UREA/GHsezXq6lZaabXUXigcVej2J+RJH9xcQGw1YS ++GUzzjLGoN4uBgspIFE/vrASPJw1blB0JjyYMBdMzEQKBgQDvJswWgOCnpO4X6bGg ++EUvFnP4A0+HQbdCVHT98ItyYYp19jlKcWOSnA1rqmF2unmQ9MQbVi8wRBbhsrKjs ++OuCXjE0guhSGumc2nZBz5hSJc2juuMV3oZbRFm9sI4PAvwVdyNad+75bEm/vwTno ++sOjsJYYiJHkx3WlSHUO1COIF5QKBgQDVbhlsLMg2ENWlUPncilPZdZWXJqrfRKtB ++1VBa7WROUR9b3mzQMwOkAN26Fe9X4/NqABbv7v43O7lmgfD3YW6YTtiWl9YMwjEe ++mhRCSYGLrFjhgWZmqsRq9iPquc+f5YAjqbaxe2lQ3MluHTUyGVOuFEB5wzktdT5h ++VHTEOlQOsQKBgFM22MTry0AKL566fkgIPKliWy/GikiQLYf1SWXUa5XKmqpZn30v ++oUBL9pKyucZM7uwr5wjfP/6cUvPdkFnCkuuosh21IfdPXSKv6NerM3Iwak7GlE9w ++Np5ChDrIkMu8rA1aGPOX6UCfRbvTLGc/R40D8YxnzJQBSuh7rleL47nRAoGAb4ys ++0uIQ/lkMIOxSu1a8/mI7fhWipzDPxYfFCNEcZOZ3Wl/FRYf0NiqRuKmwP6KPXW6Q ++jnS9/4ZCn3X4yILu98H157eSE3cHjzP+tKqQf7zjc3FbYPuNz024df0JrEuaDoms ++R9T1tWLAEMJJRFcCanCBRmKnpr+pi9tFcC4AMvECgYEAmX/fKAMxfoAMK4RroxJw ++xf2c/X6sWEtx8LXvLxMTSxn0CWCJU8JB3OlzH/WsjOBXe3bdzEo9tmqYQvhvbogb ++9Y6kwl2c/mDKQCdL09QymHcqYFbtGGZtHd7oOBz8cvwAR2hkT5nXUWRmc4ZVregL ++EZxs6gFejbFdqzW1DecrWFc= ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/client-csr.pem b/tls/tests/files/client-csr.pem +index 96b634d..1ac412f 100644 +--- a/tls/tests/files/client-csr.pem ++++ b/tls/tests/files/client-csr.pem +@@ -2,16 +2,16 @@ + MIICpzCCAY8CAQAwYjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixk + ARkWB0VYQU1QTEUxDzANBgNVBAMMBkNsaWVudDEhMB8GCSqGSIb3DQEJARYSY2xp + ZW50QGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +-whbVR907ic90Yqj1iMz8QZW3NbKg0LPT7Lm6pG+vY1qAF8avCQLZnm3qTCuOBobK +-HPe1DVwKjM78OogYRFJ0mCw1BetrJpmOg4EGZFR6uRGVVTWdf61Q5xXknITq8w+y +-kkjnpFKXFUygUT+T/36Mr8Kcpmyz118FjrtWNfhq+z4QkptfhumA2/sSmxoxMlau +-91gtdMMdjp6CmPIvG7LOlqBcReLR+dIzSOKa+86QVWpm39t0ZuT+fFRs5oA2R1Y/ +-MgrvU8JPfSXu3gX7dRpXY2XyOsZooaAsp2KobERCEk71eMm0btHdL70Iy/NxV5W2 +-V7yzZwgS9HgBMguf7F6AJQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBALlJL9a0 +-pgMeRu2hAoqnUvFuBndsQMfD24NROBftNjet6BH02iM8s6ZvTsIDw7LG+uHpkoUm +-f0n+6MkJhk5WB+20dmWCpOD7F1a6Gx2kPFeZ2vEGZnbGGqcQpCY8sX80c9Q7bSyz +-5Y38MobpmHnfhjcfXkD6x7m5HKgkesqyfKQNfkDtxDTetE8XTj50g8FmoluOrOAZ +-oTI/G72AXi+oVbPc/l/97C1ndpJ04OjyIFGBPJJtjwFsx9s9UkmMghTNGyqsLReg +-oWxHO20VCS7wCV+NCqkXGkrr/ZykwH3JUx8FSasMUlvU6wzMDKtsHD7tI50/HjJ1 +-lcmD6eEHQv3M2lw= ++x2IiOkMIS/3K6Izsjd2VgCRka7M7nqdS9290M3YHR9iW9XCk/8fKHoefN8rEp1yw ++UIioB3GkNHKP6yOQ7b5RBpOtUTnK+HNtvY+jO+u1pnDVfO7CKwtdBU2ELk4F7EQ/ ++rqHJtnSDolUaTFJC8l54MCNP+wDFzr4vlp7U8boN4WCzRxsWl4yIGHM5MgizJ5eF ++UEoR0KhuIVSW/ubU+edKkj7gh4s2mUzP/BhoCrgN05AgJoY47bJ3TWxnyZQvi9mq ++qk7wB7uw6voeZfxfkV1ezDEa57lzSMHlKRrPOmhiilyCMmI4TdmiEUa7JtOaTvgj ++Hz6w2nNJ7r2HNh17UbyZVQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAKBBiEsQ ++trK/9aNRogXdALJPdMXe3eNAnM/FtXM43zEsH048qXp/LpUB3Oz/gzSGGQpe0s8C ++w9z0yctlTfA4ex7dJuJW/pey4+hKIMzfN2xm4gkTn873MDxbqDT979lZS+BbJqnO ++oHdgDW879d8+8YqbOgpor69qP0q2m7Q1v1xQD3WAPthzBFWVL4qA5YunKtSPjoz8 ++rrJr0v4yA3yhBNL3GFLLe51fXlX0hG7RDZG30ZmqHK3gpNGGWiH7qqvOxH7PEgLf ++Xcm/573Ssd1P+buBMYBPJK8MzVV2V/rUNY0fGpp0+kejOjmYbR/yLRE43XuIokAl ++oJPv8Klml9KuTdQ= + -----END CERTIFICATE REQUEST----- +diff --git a/tls/tests/files/client-future.pem b/tls/tests/files/client-future.pem +index 8b7c11e..8d07385 100644 +--- a/tls/tests/files/client-future.pem ++++ b/tls/tests/files/client-future.pem +@@ -1,23 +1,24 @@ + notBefore=Jul 17 23:00:00 2060 GMT + notAfter=Jul 17 23:00:00 2061 GMT + -----BEGIN CERTIFICATE----- +-MIIDYTCCAkkCAQcwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzIzMDAwMFoYDzIwNjEwNzE3 +-MjMwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH +-RVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGllbnRA +-ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCFtVH +-3TuJz3RiqPWIzPxBlbc1sqDQs9Psubqkb69jWoAXxq8JAtmebepMK44Ghsoc97UN +-XAqMzvw6iBhEUnSYLDUF62smmY6DgQZkVHq5EZVVNZ1/rVDnFeSchOrzD7KSSOek +-UpcVTKBRP5P/foyvwpymbLPXXwWOu1Y1+Gr7PhCSm1+G6YDb+xKbGjEyVq73WC10 +-wx2OnoKY8i8bss6WoFxF4tH50jNI4pr7zpBVambf23Rm5P58VGzmgDZHVj8yCu9T +-wk99Je7eBft1GldjZfI6xmihoCynYqhsREISTvV4ybRu0d0vvQjL83FXlbZXvLNn +-CBL0eAEyC5/sXoAlAgMBAAEwDQYJKoZIhvcNAQELBQADggEBADwQYLzW/dqcc8qF +-VPJfQCffJlIEYFxYnUxPDZFRaSV4zUoS6BiUGU9fYsi7cV/Sqc9YGYJzgF/z2Kug +-2nN0O1q/U/9AzzagLC2tfh7Yl/M2SudxhFLxLfy8iI/cxswUgcxS4xbp2fItsPYs +-WpG3ZVlMpDc4tZ76wyXYZMLm+pMIOQlxXOQ4S+ckNyVAVU+6IrocAwl2FEw0tVyD +-oJTJa6/739bmy/GbKV9BGaIkLg2uhozkame8yltXfb7i2Mo4Wfj0hQ6NedYUiYCg +-ZhWyCh9pAXPbeFj6VdYZzwLhCJjJ2EpVQ7hCQYCoEMzGcidinbZPKPaa4H+LjVII +-AJTeE9Y= ++MIIDqjCCApKgAwIBAgIBBTANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCIYDzIwNjAwNzE3MjMwMDAwWhgPMjA2 ++MTA3MTcyMzAwMDBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/Is ++ZAEZFgdFWEFNUExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNs ++aWVudEBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ++AMdiIjpDCEv9yuiM7I3dlYAkZGuzO56nUvdvdDN2B0fYlvVwpP/Hyh6HnzfKxKdc ++sFCIqAdxpDRyj+sjkO2+UQaTrVE5yvhzbb2PozvrtaZw1XzuwisLXQVNhC5OBexE ++P66hybZ0g6JVGkxSQvJeeDAjT/sAxc6+L5ae1PG6DeFgs0cbFpeMiBhzOTIIsyeX ++hVBKEdCobiFUlv7m1PnnSpI+4IeLNplMz/wYaAq4DdOQICaGOO2yd01sZ8mUL4vZ ++qqpO8Ae7sOr6HmX8X5FdXswxGue5c0jB5SkazzpoYopcgjJiOE3ZohFGuybTmk74 ++Ix8+sNpzSe69hzYde1G8mVUCAwEAAaNCMEAwHQYDVR0OBBYEFPeDwSMjPrNHKkiS ++64otbkKEDVqSMB8GA1UdIwQYMBaAFNUZ78l3Ho24OBljcgAGn8YLwdV/MA0GCSqG ++SIb3DQEBCwUAA4IBAQBwMrM1kh+Glt8tlRleTNtYaI4qF2MAohXQGSuJKRPTSrE4 ++TGhcPJ6AgwF+KtuYOSUvpr14OrQW0IswNXVhurVt6Tl9rhGZT0NQgEOE00gA8bnM ++uCTn8ysGpa/M4m+6wNCaE3PICvrMCuRytUmBhsyWSxs5amDKNzTfUTJwFGpy0orG ++xWFI1diwxVXw/9udYJE+I5wy47HgTZReTnCaQuSLXrGYmCviNrEXYj/TuMQdgfqZ ++/eM5nzO9RejC8mZme7bC3h7uA7qjcPyRIs7PM8td0wf8L54nQTKolX4vUTgI1ry2 ++mZB3d1wgFwmGXKU6WHnb2JPrRHxlU+Rba1pH2HJT + -----END CERTIFICATE----- +diff --git a/tls/tests/files/client-key.pem b/tls/tests/files/client-key.pem +index 2cbb9ab..68dc845 100644 +--- a/tls/tests/files/client-key.pem ++++ b/tls/tests/files/client-key.pem +@@ -1,27 +1,28 @@ +------BEGIN RSA PRIVATE KEY----- +-MIIEowIBAAKCAQEAwhbVR907ic90Yqj1iMz8QZW3NbKg0LPT7Lm6pG+vY1qAF8av +-CQLZnm3qTCuOBobKHPe1DVwKjM78OogYRFJ0mCw1BetrJpmOg4EGZFR6uRGVVTWd +-f61Q5xXknITq8w+ykkjnpFKXFUygUT+T/36Mr8Kcpmyz118FjrtWNfhq+z4Qkptf +-humA2/sSmxoxMlau91gtdMMdjp6CmPIvG7LOlqBcReLR+dIzSOKa+86QVWpm39t0 +-ZuT+fFRs5oA2R1Y/MgrvU8JPfSXu3gX7dRpXY2XyOsZooaAsp2KobERCEk71eMm0 +-btHdL70Iy/NxV5W2V7yzZwgS9HgBMguf7F6AJQIDAQABAoIBABTE5rvS870SgwzP +-sb6a2N+XyswnOkg7BhGN6mgQP39tPsnMjAx1zp3Ce1D9VCxknhotc6VjVQmuWJVW +-3OnqvOlPybjBcWzm/7YYx3tTAvLs68L7gsgX3tFrqVQKcS3jXyOCQ6902w//bCRl +-nku32gww0hyJA1GnrGuSpm4OEDykPpPkiIpkw8c1hLQ8uhkg4RLoE7s1povO2I31 +-Ir6R/fYiABRdm+HBm9KBteDuGnBQjnxESqTKRqtk2bVYl8UOiJiJeeigA47dP6gB +-LQwIaBw07Q+n4/YIryiMmuRdDhi4e/NGDDzsFrXzNaBm6MN2Tli0wzvoVsOaaold +-5/mN2H0CgYEA+cHQkj1eoIkPRiOMyObwKmGirtKSaqwGSDMt1db7UaGg9ItlflZd +-3QJtz0O0sBtyGLU4WgnrUtrE+goVe8ATUScfKlbnkDFk/1RAAeSWUff9t3ryOht8 +-z36SnfcmHPBb8iMq7hSn7a3g3NxD7NRUr370iGptGsRFvhtfFv4PDDsCgYEAxvDN +-RLF+YsCai3aDuMD6wHVl0gitsjYZxCtfWqE6AXXuDubaVDWPgteJ6tVXVaS07UrX +-anxVt0BVCgPweUXMol44OnPlSkULRkxOrdktifEeX3NkWTxp6x0RLwkITJCSEkX1 +-0Ts7uesjspzELDJlWtdashlGuygDUDOIPOCEvx8CgYA5y+42SVlikRUlyAhGXZrq +-U9nP1w7m/JQflShgOfXCuEKFFNUR3W6vPGao9iQUNOW8bgNyYqVAcTvwGPFLx/Ew +-cHs30xCXP7b9l0OQrJNUuKzQDvWLGN1TLxlC0PTS8ZR1fknq+oC58ej9c0OMxL4s +-NpbkEqzY6t6w1ai1q2lUDQKBgD/eLwhOs3SgwPzlH4TA77+58OZtQtZj6AHCquo9 +-uJGfer3t/0npqBkpeW2a8F7ecfd8f4wAPsSGMsb0XM+SSRAXj5W0f3hIkkYPWXMW +-tjgC4O1j7mN3scl5m3quO6vY/gw/yZtSmOonQ16kVZaa109CtCtZUgvj3Kxy3tos +-enGhAoGBAKzsLnc7isZZ8Cfh0KlrEBE2RMyGkMHS91gecb2ZEc1gpvK3wq+fWy5d +-UXgHgPxHbn3ZGfzGvxAzSLzv5dCbEmj+dxYfwkDf2aBaxQpzbf6BLzAjKgfjVgY2 +-rO3aMRnZU51yKK2JYHQzuULIr+Q67eRfnWHUaccEgT9V1+4+dUMG +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHYiI6QwhL/cro ++jOyN3ZWAJGRrszuep1L3b3QzdgdH2Jb1cKT/x8oeh583ysSnXLBQiKgHcaQ0co/r ++I5DtvlEGk61ROcr4c229j6M767WmcNV87sIrC10FTYQuTgXsRD+uocm2dIOiVRpM ++UkLyXngwI0/7AMXOvi+WntTxug3hYLNHGxaXjIgYczkyCLMnl4VQShHQqG4hVJb+ ++5tT550qSPuCHizaZTM/8GGgKuA3TkCAmhjjtsndNbGfJlC+L2aqqTvAHu7Dq+h5l ++/F+RXV7MMRrnuXNIweUpGs86aGKKXIIyYjhN2aIRRrsm05pO+CMfPrDac0nuvYc2 ++HXtRvJlVAgMBAAECggEAKbM30uUhp1kTdstAj1Q0eBpEaXURR1eaBdeo3zl0gN2H ++BxrR25Ai0PtO/Ml7E0DSvGk0cWgebny2ZnioD10yT5ST12zlq0xi+5Y+zuG3unGX ++aPt7nyqPgDQr7M5TNUy53/GFAVTBkjJH34YF6/B/pRvBls7c0CZdSBx8j3j4/bWP ++6TRE9RIxWNX4cK4tYh1NKYOQXEwtqjvJgNsx3Ev5T7h0uXE9V0s6dyg00Q+udlmA ++DN2VZcczTcdRDM/EEXuuP0UREA/GHsezXq6lZaabXUXigcVej2J+RJH9xcQGw1YS ++GUzzjLGoN4uBgspIFE/vrASPJw1blB0JjyYMBdMzEQKBgQDvJswWgOCnpO4X6bGg ++EUvFnP4A0+HQbdCVHT98ItyYYp19jlKcWOSnA1rqmF2unmQ9MQbVi8wRBbhsrKjs ++OuCXjE0guhSGumc2nZBz5hSJc2juuMV3oZbRFm9sI4PAvwVdyNad+75bEm/vwTno ++sOjsJYYiJHkx3WlSHUO1COIF5QKBgQDVbhlsLMg2ENWlUPncilPZdZWXJqrfRKtB ++1VBa7WROUR9b3mzQMwOkAN26Fe9X4/NqABbv7v43O7lmgfD3YW6YTtiWl9YMwjEe ++mhRCSYGLrFjhgWZmqsRq9iPquc+f5YAjqbaxe2lQ3MluHTUyGVOuFEB5wzktdT5h ++VHTEOlQOsQKBgFM22MTry0AKL566fkgIPKliWy/GikiQLYf1SWXUa5XKmqpZn30v ++oUBL9pKyucZM7uwr5wjfP/6cUvPdkFnCkuuosh21IfdPXSKv6NerM3Iwak7GlE9w ++Np5ChDrIkMu8rA1aGPOX6UCfRbvTLGc/R40D8YxnzJQBSuh7rleL47nRAoGAb4ys ++0uIQ/lkMIOxSu1a8/mI7fhWipzDPxYfFCNEcZOZ3Wl/FRYf0NiqRuKmwP6KPXW6Q ++jnS9/4ZCn3X4yILu98H157eSE3cHjzP+tKqQf7zjc3FbYPuNz024df0JrEuaDoms ++R9T1tWLAEMJJRFcCanCBRmKnpr+pi9tFcC4AMvECgYEAmX/fKAMxfoAMK4RroxJw ++xf2c/X6sWEtx8LXvLxMTSxn0CWCJU8JB3OlzH/WsjOBXe3bdzEo9tmqYQvhvbogb ++9Y6kwl2c/mDKQCdL09QymHcqYFbtGGZtHd7oOBz8cvwAR2hkT5nXUWRmc4ZVregL ++EZxs6gFejbFdqzW1DecrWFc= ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/client-past.pem b/tls/tests/files/client-past.pem +index 8641c09..57f2837 100644 +--- a/tls/tests/files/client-past.pem ++++ b/tls/tests/files/client-past.pem +@@ -1,23 +1,24 @@ + notBefore=Jul 17 23:00:00 2000 GMT + notAfter=Jul 17 23:00:00 2001 GMT + -----BEGIN CERTIFICATE----- +-MIIDXTCCAkUCAQYwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcyMzAwMDBaFw0wMTA3MTcyMzAw +-MDBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN +-UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt +-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIW1UfdO4nP +-dGKo9YjM/EGVtzWyoNCz0+y5uqRvr2NagBfGrwkC2Z5t6kwrjgaGyhz3tQ1cCozO +-/DqIGERSdJgsNQXrayaZjoOBBmRUerkRlVU1nX+tUOcV5JyE6vMPspJI56RSlxVM +-oFE/k/9+jK/CnKZss9dfBY67VjX4avs+EJKbX4bpgNv7EpsaMTJWrvdYLXTDHY6e +-gpjyLxuyzpagXEXi0fnSM0jimvvOkFVqZt/bdGbk/nxUbOaANkdWPzIK71PCT30l +-7t4F+3UaV2Nl8jrGaKGgLKdiqGxEQhJO9XjJtG7R3S+9CMvzcVeVtle8s2cIEvR4 +-ATILn+xegCUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAwn9yUJMw0ymJQsT5snJm +-77AaMtOe7L1OFFl97DxO+5kAgPccTQOrjAbalj/Ip15jAdOyt65oGpzQzfPA3tE5 +-8v+1Oz778LkfSoBV9jCsDrCR8Uidb0dtjDlGPzQwZt/33ogkHDObg+IsGkgYeg7Z +-yOgAPHOT70OkdVdUY++sAkMfYxjcFYpp5Y5qUl6hAZwHHO+nCYVax55HbEqYfaLn +-60RKhJrNVumczxxRf+/iw7cN4Mka7fUES7KkL+0tfpmjfDM5hakDzJJGRh4l4pRI +-R87tWJHrHoew1kSU00Ul0PYbYmLpI2Np19eq74Z/WEkaDyMym7KSBPaH2A/jZPm0 +-oQ== ++MIIDpjCCAo6gAwIBAgIBBDANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTAwMDcxNzIzMDAwMFoXDTAxMDcx ++NzIzMDAwMFowYjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW ++B0VYQU1QTEUxDzANBgNVBAMMBkNsaWVudDEhMB8GCSqGSIb3DQEJARYSY2xpZW50 ++QGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2Ii ++OkMIS/3K6Izsjd2VgCRka7M7nqdS9290M3YHR9iW9XCk/8fKHoefN8rEp1ywUIio ++B3GkNHKP6yOQ7b5RBpOtUTnK+HNtvY+jO+u1pnDVfO7CKwtdBU2ELk4F7EQ/rqHJ ++tnSDolUaTFJC8l54MCNP+wDFzr4vlp7U8boN4WCzRxsWl4yIGHM5MgizJ5eFUEoR ++0KhuIVSW/ubU+edKkj7gh4s2mUzP/BhoCrgN05AgJoY47bJ3TWxnyZQvi9mqqk7w ++B7uw6voeZfxfkV1ezDEa57lzSMHlKRrPOmhiilyCMmI4TdmiEUa7JtOaTvgjHz6w ++2nNJ7r2HNh17UbyZVQIDAQABo0IwQDAdBgNVHQ4EFgQU94PBIyM+s0cqSJLrii1u ++QoQNWpIwHwYDVR0jBBgwFoAU1RnvyXcejbg4GWNyAAafxgvB1X8wDQYJKoZIhvcN ++AQELBQADggEBAGVknQfgF2GMcVYQC7J9L8kc8QGUc20H3gcSjXYmJ+lbClbCS5xk ++22+uks4WCi5EqjqAsVocO5MqM+qcKhWLOU6ocMvsrwOIr+7Z4939V1+kVmzOSwq8 ++i4nR1grDH2CYbtRYtxU5LuZdcDzWdlyktB3c5UPMoPkayFPuk47ews6HIDOd6Qi9 ++byJtWJG8KUoDEuS7uY090cnBmicy/rJ8HN8K7Kr2sW+rsSM2YWkXTPk8bLSDm5h9 +++Puy/apDuP8EG3U5NPA/mJ6He5NSEd4IIU5YfyWtm/gKFB9EyF97sBvMDD67C3FD ++Hx7kxEImKxdo6B9MAhSfr56dJAq/0loT41Q= + -----END CERTIFICATE----- +diff --git a/tls/tests/files/client.pem b/tls/tests/files/client.pem +index b3938ff..1a06453 100644 +--- a/tls/tests/files/client.pem ++++ b/tls/tests/files/client.pem +@@ -1,21 +1,22 @@ + -----BEGIN CERTIFICATE----- +-MIIDXTCCAkUCAQUwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTEyMTUyMzIwMDVaFw00NjEyMDkyMzIw +-MDVaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN +-UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt +-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIW1UfdO4nP +-dGKo9YjM/EGVtzWyoNCz0+y5uqRvr2NagBfGrwkC2Z5t6kwrjgaGyhz3tQ1cCozO +-/DqIGERSdJgsNQXrayaZjoOBBmRUerkRlVU1nX+tUOcV5JyE6vMPspJI56RSlxVM +-oFE/k/9+jK/CnKZss9dfBY67VjX4avs+EJKbX4bpgNv7EpsaMTJWrvdYLXTDHY6e +-gpjyLxuyzpagXEXi0fnSM0jimvvOkFVqZt/bdGbk/nxUbOaANkdWPzIK71PCT30l +-7t4F+3UaV2Nl8jrGaKGgLKdiqGxEQhJO9XjJtG7R3S+9CMvzcVeVtle8s2cIEvR4 +-ATILn+xegCUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAErxcL62i04myJ5L1M7zR +-Q5E9ctb78R+0A3GDAUo8qx2eO9pwmNH0DTrDPKUu0iAIyZlS5grS3fq5I3yy/wl8 +-P6ClIxV/BryDXlgM0m/pjr79qtlILOpO4/Fxgp5tSNKomOOGjzP7jgcNqTuor+Z+ +-d0Q8m60fwgCbThtF7ivsLcdGPwDknN3uuYvkyvsTMWOedbW2LA1LwtuF3qZiAcIe +-5yVqkV2zJtr+N122Wbnl/26UOBabtYXki0xsPtAvzP3f9Fp6zo+lmp5mTZRoVJOd +-GrDLnf+1YhlfoB05+nefI4M46WAkXRs6hCrORyOKza0l3SXhP/Kgt9uR3DvLz/B2 +-7Q== ++MIIDqDCCApCgAwIBAgIBAzANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB ++GRYHRVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGll ++bnRAZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDH ++YiI6QwhL/crojOyN3ZWAJGRrszuep1L3b3QzdgdH2Jb1cKT/x8oeh583ysSnXLBQ ++iKgHcaQ0co/rI5DtvlEGk61ROcr4c229j6M767WmcNV87sIrC10FTYQuTgXsRD+u ++ocm2dIOiVRpMUkLyXngwI0/7AMXOvi+WntTxug3hYLNHGxaXjIgYczkyCLMnl4VQ ++ShHQqG4hVJb+5tT550qSPuCHizaZTM/8GGgKuA3TkCAmhjjtsndNbGfJlC+L2aqq ++TvAHu7Dq+h5l/F+RXV7MMRrnuXNIweUpGs86aGKKXIIyYjhN2aIRRrsm05pO+CMf ++PrDac0nuvYc2HXtRvJlVAgMBAAGjQjBAMB0GA1UdDgQWBBT3g8EjIz6zRypIkuuK ++LW5ChA1akjAfBgNVHSMEGDAWgBTVGe/Jdx6NuDgZY3IABp/GC8HVfzANBgkqhkiG ++9w0BAQsFAAOCAQEAGt4AvyDxLnY/2UwkconCqMfSOHWp3CzsSxzEBpV0PDczqfyH ++8BEUU4674otbZOJml53ld1u/EDl5Pf0S5gCRidni0oXPs2MiBoK1AXWmfJ6bIaK3 ++SoaISRi2NpQP77bu7NLsruGPSG/F3kRGnlP9E3w/9Nv4mdTiLEjcANVeolH2dDSO ++RBFxxvfQNZgZKAWnqcckMXvlhImEP85cq/T3M83vnKJOLRHuRpThBpi8Akugi+rm ++dxU9RyqalaWydWAt4WA6YBFPxxCdwRfwGGYm2Xv7QpnL6roCLoQkMt2mrBjyvI32 ++L9UNBCfipP5jIGIpX3lnSP2b83lKLPz6QotoVQ== + -----END CERTIFICATE----- +diff --git a/tls/tests/files/client2-and-key.pem b/tls/tests/files/client2-and-key.pem +index 6c8dbc1..9b70bb7 100644 +--- a/tls/tests/files/client2-and-key.pem ++++ b/tls/tests/files/client2-and-key.pem +@@ -1,48 +1,50 @@ + -----BEGIN CERTIFICATE----- +-MIIDXTCCAkUCAQgwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTEyMTUyMzIwMDVaFw00NjEyMDkyMzIw +-MDVaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN +-UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt +-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOCHBNIrDecV +-4afipmhQa6ASF0PX8Fy4dzjjZOImHKF+uXx3Ti5VvD/XMEIG5quohxmTp0OQBZTb +-jMdsYZ6RpIL4riLQ/Gkzk88OhR+9mcCQluRLncFhpkz7Gb/6/h8gv20+gys0j9CI +-Io3aPlcst5BFxEDTpmP2st/VJfDw7D5G/CMgnYghr/b4O1d9hKKccXR/WNDGkaD5 +-i1jpxUagy3LaJop0ZwE43W1m7ZNyqiJUZFBkzC5F+BftADfc1WvwKrx8IdG4U9gN +-Dbeg3SystiY27TePw7bsQlJQ6c4WSk1CeN52/qNtC57G7uXuOqbv8VwJtH0WdlV7 +-Snyj1sHd2GECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAoMCKngqBz/PQtuOQITty +-DTH596wUz/uCkGvyXBt5jL9C2Alx4uLqsBHvkeK1jve1P7dsBHY9FQ6ed4Vqxthb +-6sg4Ob5pvXldUMoq6W61fHKpIK75C+uJxlpbKq6lJfnB45RbXJa13RxTaMfOsGml +-rhYsUdui2sgCAnbnlxp+OvUNHLa0P5sdJYhvbOTGsSZCH2fcs4E2oepzkeI2Lbwj +-PM9J4K1XaoW4IDbDHr27HPNkyk2Gpc8BGfqf+nFRp3dSiRbYu8NPQZo4RvasfOjF +-n4AoE9d5KMTSUWn7NURgikgPCtlsh+xF+IEdn/h67U0HzhI6zt5M42Wr6kIPhCxC +-jg== ++MIIDqDCCApCgAwIBAgIBBjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB ++GRYHRVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGll ++bnRAZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5 +++UHgE3bGzQ693N/66zD+BKf+heo+Wtg7HLa13sBvjEuXfuH7j1CngOOx/DkvWjUH ++By83a7JoMJuPFxMMJrLdMHRpcIXQsn9PxkIo22JvsXuOmBxJE9V4MnJ5zJBKpEkH ++yhScREPjBzxqvtjW5GHa2WwQBWpbfQTyp/BJo9LMUcKhuMoHzBE+4SL+5/UchbPU ++4vFANV9KVYNdzonYvKe5gqkFzby3lzIhIhXV0/W8oZ+wb/q9f1qsLqaLQvjhQ1Aa ++EKkfQcKe1D21dv65tGPgCCytCQMcNYxpo8o2dV2z/SCpsmY8QwDQUZf4SR5WZO+H ++chRcKO2tMp8C38ZZvVc1AgMBAAGjQjBAMB0GA1UdDgQWBBRn8Oa8mSPIkS/Wb3ut ++sDKhRXAVdjAfBgNVHSMEGDAWgBTVGe/Jdx6NuDgZY3IABp/GC8HVfzANBgkqhkiG ++9w0BAQsFAAOCAQEAQY30mce5tF+NZnaOYTtuCcpCXkRV6fSmPuJB/1JXI5R968Vs ++SAPylcm7zlirPvmGBRRnpOhC1FQM4ibW1Z+B/IfE47UGztac9Wm+8HvCQncRraRv ++ukSTFQxqQ0hlYFIC5YTfGMyjLVfKXA0q8CWAw7mlbOENkmAo6qEosc/IxRLnYdMW ++h261IzGAkzUmMsb3/ZHrNgjiLthUcbrjqkfFbvXiHfGDdo77h166s3TvKep5x4fw ++G0xsxlfBN4Hg+r1yD3OgN+Jw8OTWK5MLrcuC4QbmV9TdzpVV5+wJVUJT0FDJXgXR ++sxROZY7BBg19vFNzAeBJ9g7TnADOkfijbyVwAA== + -----END CERTIFICATE----- +------BEGIN RSA PRIVATE KEY----- +-MIIEpAIBAAKCAQEA4IcE0isN5xXhp+KmaFBroBIXQ9fwXLh3OONk4iYcoX65fHdO +-LlW8P9cwQgbmq6iHGZOnQ5AFlNuMx2xhnpGkgviuItD8aTOTzw6FH72ZwJCW5Eud +-wWGmTPsZv/r+HyC/bT6DKzSP0Igijdo+Vyy3kEXEQNOmY/ay39Ul8PDsPkb8IyCd +-iCGv9vg7V32EopxxdH9Y0MaRoPmLWOnFRqDLctominRnATjdbWbtk3KqIlRkUGTM +-LkX4F+0AN9zVa/AqvHwh0bhT2A0Nt6DdLKy2JjbtN4/DtuxCUlDpzhZKTUJ43nb+ +-o20Lnsbu5e46pu/xXAm0fRZ2VXtKfKPWwd3YYQIDAQABAoIBABnj1814Q3kjD8sx +-Gmkq5M4nZ+Fd1AyNBMpdhjOBm4mPuEm+5Bf5sORXpuvmKdEfdLyhRwdGYy5gBqK0 +-P6luN98WV9YR7RkgZmnYzcb0MPeAdLXMdltnLCryRWzav1TNjOVG8Q8ZV3//QqTC +-xq98q4oKUW/8N9KNDuE6jc5zqXogtAOpyKuTErSipviL9cCuWYGCogId1MjeV366 +-yxjE51jC6qJBQAmJKHJZwlrmEciNRSmP5F2KmL3C4HcKFRDtrHMQMw4DZ14MvtwW +-+zrWjJGtWarrtrGBQI8v0cGU+A9MDNPj5H9F2bVoNR1jLC/PDs8I9L7M1jg6PXeV +-iLq2khUCgYEA8+7CILINFWr+2I+3NBjOflnlm6pRtXPypTskp69ZB644sWjhtIfT +-QVTxI7FHdC+cbMsDuDY1uQnFSr/crz9ufZUxETAvErJve+yk9BKpShRcIaJTeAtU +-9B6PqRmgHY9smkcBpVrNizV2KlOH8E5kRS16UMLkMCFGCOtQ/ohvfucCgYEA66KB +-o7avrY+e4gLsnjpUBiWbAjKflLU80SULJJWNejN2sVtNLIlHMJcUxy9bh0wDfGNM +-WTJUzS+0hfGYsEkSnlMj99xLlmWrxD1at+LWSSLUR4aN6me9T+GPJvrDbIVTpXqb +-ChwzM3h1+tIk7KVVe/CB6hZaWUYc4Dbf/qpC7XcCgYEAsUFzUZzwwvqQG8A7SaEp +-FEmw/rACVg/eZ9EVbsCNunYQfmKPeMcmbRgTbnNZUAV07t2LY2YJHeAKvKm07Kf0 +-W095a1sPKc/+ERhCOZYB7HHlDQ/PBbF+VzKKBEA5yKE7MtScTpMwP5NmvZUbeDUO +-yfIlKuCkPpE/OiX9Iij0lEsCgYAPCUGohsHTG3USCwm6VxKBiejITR6tyJrm5aw+ +-W2S5xYrvaloUW3Y1fY6P30/B5HHcgCGhF3sd1Mt6OJ57sU4E2F1VNbOFF1vMm/Ws +-AkeWRyiwn79yk8gaztPpstrBlAhwaNB35rDFugwdQ0ej6jD4RbKkk2SUicrR6+6D +-O64lpQKBgQDmlfRxfP1PTWhBm81OjX0eX3N3w9Vz5MR1JpPTZZSedU5tgid1nkRb +-tWjE6ElJINXxlTcTKEbdI8iCccy+pjOqDPEVZPfbCxjLCrXjQlH1ZGEw1m1Z9Coe +-7tn8kz4gkwacEgyAXg7KDQk2Wdg0tgRO6xbzk37vOwd4f0tjfeGd5A== +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC5+UHgE3bGzQ69 ++3N/66zD+BKf+heo+Wtg7HLa13sBvjEuXfuH7j1CngOOx/DkvWjUHBy83a7JoMJuP ++FxMMJrLdMHRpcIXQsn9PxkIo22JvsXuOmBxJE9V4MnJ5zJBKpEkHyhScREPjBzxq ++vtjW5GHa2WwQBWpbfQTyp/BJo9LMUcKhuMoHzBE+4SL+5/UchbPU4vFANV9KVYNd ++zonYvKe5gqkFzby3lzIhIhXV0/W8oZ+wb/q9f1qsLqaLQvjhQ1AaEKkfQcKe1D21 ++dv65tGPgCCytCQMcNYxpo8o2dV2z/SCpsmY8QwDQUZf4SR5WZO+HchRcKO2tMp8C ++38ZZvVc1AgMBAAECggEAIV/C26SCj0CjYZ0usMfePee2Ai4kEFabMViAzXiRDjOe ++KSzC/zMD5VtzATDjTkUg+QboCUkRdjMq523bpDWZqaoVagqgaQhvYnCQ1OYx7xtp ++sfhIMzEVAQIEmykDx/FdjcFNG5IAoNBenkVrgnzvtqeIBgQCxzJTXfyXWY/Ft5ay ++Lb6G70N6llmUlmAmrJNAhCFJ1tC2r42dQtZwZ+R2J9MjnaC6AzT8gbEq4MYlpQqA ++1t26SqZ2lRjxrdm5SfUXj7UCNaPkQy5IlfipRZpkysl2lVCMzi1R5JJwM1O4Jadn ++hi7TJVbm7sxrw4RqoGcg47vZPI37JQ0HBroll0gQjQKBgQDljMu0B08nN8vfrkHD ++nXkNjuqFAGllSpy2w2p0CRRsyn9TnPFajlOs/s29tBVD4NTJkeIWb/yWQkNkT2JP ++7PVunjHoU6hJ3k6ZVbplvso5HIjRnG2eUXN1kW+QgrQWVxqIytq8dE2y0Rke553y ++O+KlR+rxMTSoAKakaeB69QMrhwKBgQDPZw8SLO1HJmbj2LgxhiWiyEVkIL7GYkaS ++IKI5ah4eU2U1qCbExDjWuSi7m407OaJDVl+4iw0Rm8wSWe3ISKR61fNj0KAc2c2h ++UjE9qZRJxwo4X5MCyCS2nZm1GoSgQCQQZw1Ej8bkTbnXxigh9tEO09/szqLe4+Vq ++z6Zp25TuYwKBgBwmgRCp2M4hbJIYx53aoO7FuQLogwRV+xP6sQJb3rJcvvKdC4gk ++biSH9uktvXHej5nMlyJTR3GR3LvfdFoC4DJZmhs4rymn5pGtTreNhzUrx6eU/Ghu ++6q7fUAQz0yvuMKXX4q07wg+MzvzYQKllKK1GPYyokSGNOuJszYempmXfAoGBAMv3 ++O1ARlMvrDTa30/UISwz6TZu5xEQPM/3TUBaMsM/8DcWl93J80rUAZPmTcWI0PMpi ++MEKppRGTGS9W90yHfBI9RF3+NugInnwu+7P7iJTBxOBJxabvs4NQHHCJgrKiQZVL ++8zVg/CVb9w8nliJIu7IMVeRqFqyCjQTs72idhKqnAoGAHf6CsdPfcWkvw+VryHQ0 ++a9ylgKhB3RrsOkifLdkXII3ZjmJGDaSK5yRJjw4Idgdpo4x1PY10SVk1l/Ia0vme ++dHjnUt4rAw4yzOoci2/ZMtrxTFG8sJ2/xI6dYWOYk9q4WmHh9GogGx0EXT8AX6de ++zhV49kNFHCUQt+zvTQjMXoM= ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/client2-csr.pem b/tls/tests/files/client2-csr.pem +index 601da8b..e9f5354 100644 +--- a/tls/tests/files/client2-csr.pem ++++ b/tls/tests/files/client2-csr.pem +@@ -2,16 +2,16 @@ + MIICpzCCAY8CAQAwYjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixk + ARkWB0VYQU1QTEUxDzANBgNVBAMMBkNsaWVudDEhMB8GCSqGSIb3DQEJARYSY2xp + ZW50QGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +-4IcE0isN5xXhp+KmaFBroBIXQ9fwXLh3OONk4iYcoX65fHdOLlW8P9cwQgbmq6iH +-GZOnQ5AFlNuMx2xhnpGkgviuItD8aTOTzw6FH72ZwJCW5EudwWGmTPsZv/r+HyC/ +-bT6DKzSP0Igijdo+Vyy3kEXEQNOmY/ay39Ul8PDsPkb8IyCdiCGv9vg7V32Eopxx +-dH9Y0MaRoPmLWOnFRqDLctominRnATjdbWbtk3KqIlRkUGTMLkX4F+0AN9zVa/Aq +-vHwh0bhT2A0Nt6DdLKy2JjbtN4/DtuxCUlDpzhZKTUJ43nb+o20Lnsbu5e46pu/x +-XAm0fRZ2VXtKfKPWwd3YYQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBALuctJyW +-s64nFW4jGDij7hUm18dsBxeoezKSUiHQNXgITk6Cko/ECLE34w8GpoYCNPW3EI7I +-Q9GxZ1+46tqV86LAVm++YRSTXz/4jgLXSyVqlqSwwzUxgAeWTUMbaeAFKc46vO+7 +-tYUjAsZJ6usJcqNO44fP5E18gMc8lQNC3zTor5/7/jMrFMJLrsdC2h00XxVsJfpz +-doucwYrsv0KJAGxOlV+Q4uu85XfjVOZ6x8EsTnWgqg9w6eF2iHo+sp7P7ijff/wU +-aQ98ivXgK953i7cy2ZCgYiblS7tRYndG5msXUBX9VlxP/Pk8w0qexZGTqTlW/rat +-yWUIk/91HJJO/7M= ++uflB4BN2xs0Ovdzf+usw/gSn/oXqPlrYOxy2td7Ab4xLl37h+49Qp4Djsfw5L1o1 ++BwcvN2uyaDCbjxcTDCay3TB0aXCF0LJ/T8ZCKNtib7F7jpgcSRPVeDJyecyQSqRJ ++B8oUnERD4wc8ar7Y1uRh2tlsEAVqW30E8qfwSaPSzFHCobjKB8wRPuEi/uf1HIWz ++1OLxQDVfSlWDXc6J2LynuYKpBc28t5cyISIV1dP1vKGfsG/6vX9arC6mi0L44UNQ ++GhCpH0HCntQ9tXb+ubRj4AgsrQkDHDWMaaPKNnVds/0gqbJmPEMA0FGX+EkeVmTv ++h3IUXCjtrTKfAt/GWb1XNQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAF5h8gsy ++2isuWeg04x0nyx0SfNgla2hy3Ar96Z5kaeoLooOAq5Z5CQAiH5+2YozqL4Uzbp0o ++RSXlqyJkcE/FfEAaExg0/ZRQ0IxiGZBepvsRzSIO8I1RLRkxTtoKUmUxECSyQeqa ++uaG9ljF6dj2ZXT7v7GB2x7Lcyna1b1fJwY3SWWxkz1UXyOLt5yyw90aoqnX4qa1i ++KvIO7NKvbBfpDKSx2WkmMOKpIa/jNs1B3FQHsTkdl233mJgUNf6K9fsDc9spQDyQ ++qU1aKzVySE0kOly7L56jUJTlzTV2npvz6lS8BsgzorkI8ATykoZW6tbqtHNxjjPi ++pbXnnsSO0cESevs= + -----END CERTIFICATE REQUEST----- +diff --git a/tls/tests/files/client2-key.pem b/tls/tests/files/client2-key.pem +index 64eb695..f597662 100644 +--- a/tls/tests/files/client2-key.pem ++++ b/tls/tests/files/client2-key.pem +@@ -1,27 +1,28 @@ +------BEGIN RSA PRIVATE KEY----- +-MIIEpAIBAAKCAQEA4IcE0isN5xXhp+KmaFBroBIXQ9fwXLh3OONk4iYcoX65fHdO +-LlW8P9cwQgbmq6iHGZOnQ5AFlNuMx2xhnpGkgviuItD8aTOTzw6FH72ZwJCW5Eud +-wWGmTPsZv/r+HyC/bT6DKzSP0Igijdo+Vyy3kEXEQNOmY/ay39Ul8PDsPkb8IyCd +-iCGv9vg7V32EopxxdH9Y0MaRoPmLWOnFRqDLctominRnATjdbWbtk3KqIlRkUGTM +-LkX4F+0AN9zVa/AqvHwh0bhT2A0Nt6DdLKy2JjbtN4/DtuxCUlDpzhZKTUJ43nb+ +-o20Lnsbu5e46pu/xXAm0fRZ2VXtKfKPWwd3YYQIDAQABAoIBABnj1814Q3kjD8sx +-Gmkq5M4nZ+Fd1AyNBMpdhjOBm4mPuEm+5Bf5sORXpuvmKdEfdLyhRwdGYy5gBqK0 +-P6luN98WV9YR7RkgZmnYzcb0MPeAdLXMdltnLCryRWzav1TNjOVG8Q8ZV3//QqTC +-xq98q4oKUW/8N9KNDuE6jc5zqXogtAOpyKuTErSipviL9cCuWYGCogId1MjeV366 +-yxjE51jC6qJBQAmJKHJZwlrmEciNRSmP5F2KmL3C4HcKFRDtrHMQMw4DZ14MvtwW +-+zrWjJGtWarrtrGBQI8v0cGU+A9MDNPj5H9F2bVoNR1jLC/PDs8I9L7M1jg6PXeV +-iLq2khUCgYEA8+7CILINFWr+2I+3NBjOflnlm6pRtXPypTskp69ZB644sWjhtIfT +-QVTxI7FHdC+cbMsDuDY1uQnFSr/crz9ufZUxETAvErJve+yk9BKpShRcIaJTeAtU +-9B6PqRmgHY9smkcBpVrNizV2KlOH8E5kRS16UMLkMCFGCOtQ/ohvfucCgYEA66KB +-o7avrY+e4gLsnjpUBiWbAjKflLU80SULJJWNejN2sVtNLIlHMJcUxy9bh0wDfGNM +-WTJUzS+0hfGYsEkSnlMj99xLlmWrxD1at+LWSSLUR4aN6me9T+GPJvrDbIVTpXqb +-ChwzM3h1+tIk7KVVe/CB6hZaWUYc4Dbf/qpC7XcCgYEAsUFzUZzwwvqQG8A7SaEp +-FEmw/rACVg/eZ9EVbsCNunYQfmKPeMcmbRgTbnNZUAV07t2LY2YJHeAKvKm07Kf0 +-W095a1sPKc/+ERhCOZYB7HHlDQ/PBbF+VzKKBEA5yKE7MtScTpMwP5NmvZUbeDUO +-yfIlKuCkPpE/OiX9Iij0lEsCgYAPCUGohsHTG3USCwm6VxKBiejITR6tyJrm5aw+ +-W2S5xYrvaloUW3Y1fY6P30/B5HHcgCGhF3sd1Mt6OJ57sU4E2F1VNbOFF1vMm/Ws +-AkeWRyiwn79yk8gaztPpstrBlAhwaNB35rDFugwdQ0ej6jD4RbKkk2SUicrR6+6D +-O64lpQKBgQDmlfRxfP1PTWhBm81OjX0eX3N3w9Vz5MR1JpPTZZSedU5tgid1nkRb +-tWjE6ElJINXxlTcTKEbdI8iCccy+pjOqDPEVZPfbCxjLCrXjQlH1ZGEw1m1Z9Coe +-7tn8kz4gkwacEgyAXg7KDQk2Wdg0tgRO6xbzk37vOwd4f0tjfeGd5A== +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC5+UHgE3bGzQ69 ++3N/66zD+BKf+heo+Wtg7HLa13sBvjEuXfuH7j1CngOOx/DkvWjUHBy83a7JoMJuP ++FxMMJrLdMHRpcIXQsn9PxkIo22JvsXuOmBxJE9V4MnJ5zJBKpEkHyhScREPjBzxq ++vtjW5GHa2WwQBWpbfQTyp/BJo9LMUcKhuMoHzBE+4SL+5/UchbPU4vFANV9KVYNd ++zonYvKe5gqkFzby3lzIhIhXV0/W8oZ+wb/q9f1qsLqaLQvjhQ1AaEKkfQcKe1D21 ++dv65tGPgCCytCQMcNYxpo8o2dV2z/SCpsmY8QwDQUZf4SR5WZO+HchRcKO2tMp8C ++38ZZvVc1AgMBAAECggEAIV/C26SCj0CjYZ0usMfePee2Ai4kEFabMViAzXiRDjOe ++KSzC/zMD5VtzATDjTkUg+QboCUkRdjMq523bpDWZqaoVagqgaQhvYnCQ1OYx7xtp ++sfhIMzEVAQIEmykDx/FdjcFNG5IAoNBenkVrgnzvtqeIBgQCxzJTXfyXWY/Ft5ay ++Lb6G70N6llmUlmAmrJNAhCFJ1tC2r42dQtZwZ+R2J9MjnaC6AzT8gbEq4MYlpQqA ++1t26SqZ2lRjxrdm5SfUXj7UCNaPkQy5IlfipRZpkysl2lVCMzi1R5JJwM1O4Jadn ++hi7TJVbm7sxrw4RqoGcg47vZPI37JQ0HBroll0gQjQKBgQDljMu0B08nN8vfrkHD ++nXkNjuqFAGllSpy2w2p0CRRsyn9TnPFajlOs/s29tBVD4NTJkeIWb/yWQkNkT2JP ++7PVunjHoU6hJ3k6ZVbplvso5HIjRnG2eUXN1kW+QgrQWVxqIytq8dE2y0Rke553y ++O+KlR+rxMTSoAKakaeB69QMrhwKBgQDPZw8SLO1HJmbj2LgxhiWiyEVkIL7GYkaS ++IKI5ah4eU2U1qCbExDjWuSi7m407OaJDVl+4iw0Rm8wSWe3ISKR61fNj0KAc2c2h ++UjE9qZRJxwo4X5MCyCS2nZm1GoSgQCQQZw1Ej8bkTbnXxigh9tEO09/szqLe4+Vq ++z6Zp25TuYwKBgBwmgRCp2M4hbJIYx53aoO7FuQLogwRV+xP6sQJb3rJcvvKdC4gk ++biSH9uktvXHej5nMlyJTR3GR3LvfdFoC4DJZmhs4rymn5pGtTreNhzUrx6eU/Ghu ++6q7fUAQz0yvuMKXX4q07wg+MzvzYQKllKK1GPYyokSGNOuJszYempmXfAoGBAMv3 ++O1ARlMvrDTa30/UISwz6TZu5xEQPM/3TUBaMsM/8DcWl93J80rUAZPmTcWI0PMpi ++MEKppRGTGS9W90yHfBI9RF3+NugInnwu+7P7iJTBxOBJxabvs4NQHHCJgrKiQZVL ++8zVg/CVb9w8nliJIu7IMVeRqFqyCjQTs72idhKqnAoGAHf6CsdPfcWkvw+VryHQ0 ++a9ylgKhB3RrsOkifLdkXII3ZjmJGDaSK5yRJjw4Idgdpo4x1PY10SVk1l/Ia0vme ++dHjnUt4rAw4yzOoci2/ZMtrxTFG8sJ2/xI6dYWOYk9q4WmHh9GogGx0EXT8AX6de ++zhV49kNFHCUQt+zvTQjMXoM= ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/client2.pem b/tls/tests/files/client2.pem +index 8b3f386..f57e59c 100644 +--- a/tls/tests/files/client2.pem ++++ b/tls/tests/files/client2.pem +@@ -1,21 +1,22 @@ + -----BEGIN CERTIFICATE----- +-MIIDXTCCAkUCAQgwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTEyMTUyMzIwMDVaFw00NjEyMDkyMzIw +-MDVaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN +-UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt +-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOCHBNIrDecV +-4afipmhQa6ASF0PX8Fy4dzjjZOImHKF+uXx3Ti5VvD/XMEIG5quohxmTp0OQBZTb +-jMdsYZ6RpIL4riLQ/Gkzk88OhR+9mcCQluRLncFhpkz7Gb/6/h8gv20+gys0j9CI +-Io3aPlcst5BFxEDTpmP2st/VJfDw7D5G/CMgnYghr/b4O1d9hKKccXR/WNDGkaD5 +-i1jpxUagy3LaJop0ZwE43W1m7ZNyqiJUZFBkzC5F+BftADfc1WvwKrx8IdG4U9gN +-Dbeg3SystiY27TePw7bsQlJQ6c4WSk1CeN52/qNtC57G7uXuOqbv8VwJtH0WdlV7 +-Snyj1sHd2GECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAoMCKngqBz/PQtuOQITty +-DTH596wUz/uCkGvyXBt5jL9C2Alx4uLqsBHvkeK1jve1P7dsBHY9FQ6ed4Vqxthb +-6sg4Ob5pvXldUMoq6W61fHKpIK75C+uJxlpbKq6lJfnB45RbXJa13RxTaMfOsGml +-rhYsUdui2sgCAnbnlxp+OvUNHLa0P5sdJYhvbOTGsSZCH2fcs4E2oepzkeI2Lbwj +-PM9J4K1XaoW4IDbDHr27HPNkyk2Gpc8BGfqf+nFRp3dSiRbYu8NPQZo4RvasfOjF +-n4AoE9d5KMTSUWn7NURgikgPCtlsh+xF+IEdn/h67U0HzhI6zt5M42Wr6kIPhCxC +-jg== ++MIIDqDCCApCgAwIBAgIBBjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB ++GRYHRVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGll ++bnRAZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5 +++UHgE3bGzQ693N/66zD+BKf+heo+Wtg7HLa13sBvjEuXfuH7j1CngOOx/DkvWjUH ++By83a7JoMJuPFxMMJrLdMHRpcIXQsn9PxkIo22JvsXuOmBxJE9V4MnJ5zJBKpEkH ++yhScREPjBzxqvtjW5GHa2WwQBWpbfQTyp/BJo9LMUcKhuMoHzBE+4SL+5/UchbPU ++4vFANV9KVYNdzonYvKe5gqkFzby3lzIhIhXV0/W8oZ+wb/q9f1qsLqaLQvjhQ1Aa ++EKkfQcKe1D21dv65tGPgCCytCQMcNYxpo8o2dV2z/SCpsmY8QwDQUZf4SR5WZO+H ++chRcKO2tMp8C38ZZvVc1AgMBAAGjQjBAMB0GA1UdDgQWBBRn8Oa8mSPIkS/Wb3ut ++sDKhRXAVdjAfBgNVHSMEGDAWgBTVGe/Jdx6NuDgZY3IABp/GC8HVfzANBgkqhkiG ++9w0BAQsFAAOCAQEAQY30mce5tF+NZnaOYTtuCcpCXkRV6fSmPuJB/1JXI5R968Vs ++SAPylcm7zlirPvmGBRRnpOhC1FQM4ibW1Z+B/IfE47UGztac9Wm+8HvCQncRraRv ++ukSTFQxqQ0hlYFIC5YTfGMyjLVfKXA0q8CWAw7mlbOENkmAo6qEosc/IxRLnYdMW ++h261IzGAkzUmMsb3/ZHrNgjiLthUcbrjqkfFbvXiHfGDdo77h166s3TvKep5x4fw ++G0xsxlfBN4Hg+r1yD3OgN+Jw8OTWK5MLrcuC4QbmV9TdzpVV5+wJVUJT0FDJXgXR ++sxROZY7BBg19vFNzAeBJ9g7TnADOkfijbyVwAA== + -----END CERTIFICATE----- +diff --git a/tls/tests/files/create-files.sh b/tls/tests/files/create-files.sh +index d350e69..328bd2b 100755 +--- a/tls/tests/files/create-files.sh ++++ b/tls/tests/files/create-files.sh +@@ -208,6 +208,26 @@ cat server-intermediate.pem > chain.pem + cat intermediate-ca.pem >> chain.pem + cat ca.pem >> chain.pem + ++####################################################################### ++### Cyclic Chain ++####################################################################### ++ ++msg "Creating two CA key pairs" ++openssl genrsa -out cyclic-a-key.pem 2048 ++openssl genrsa -out cyclic-b-key.pem 2048 ++ ++msg "Creating CSRs with distinct subjects" ++openssl req -new -key cyclic-a-key.pem -out cyclic-a-csr.pem -subj '/O=Alpha-Org/CN=Alpha-CA' ++openssl req -new -key cyclic-b-key.pem -out cyclic-b-csr.pem -subj '/O=Beta-Org/CN=Beta-CA' ++ ++msg "Creating self-signed certificates" ++openssl x509 -req -in cyclic-a-csr.pem -signkey cyclic-a-key.pem -out cyclic-a-selfsigned.pem -days 365 ++openssl x509 -req -in cyclic-b-csr.pem -signkey cyclic-b-key.pem -out cyclic-b-selfsigned.pem -days 365 ++ ++msg "Cross-signing the certificates" ++openssl x509 -req -in cyclic-a-csr.pem -CA cyclic-b-selfsigned.pem -CAkey cyclic-b-key.pem -out cyclic-a.pem -days 365 -set_serial 1 ++openssl x509 -req -in cyclic-b-csr.pem -CA cyclic-a-selfsigned.pem -CAkey cyclic-a-key.pem -out cyclic-b.pem -days 365 -set_serial 2 ++ + ####################################################################### + ### Updating CA Root files + ####################################################################### +diff --git a/tls/tests/files/cyclic-a-csr.pem b/tls/tests/files/cyclic-a-csr.pem +new file mode 100644 +index 0000000..a57b46b +--- /dev/null ++++ b/tls/tests/files/cyclic-a-csr.pem +@@ -0,0 +1,15 @@ ++-----BEGIN CERTIFICATE REQUEST----- ++MIICbDCCAVQCAQAwJzESMBAGA1UECgwJQWxwaGEtT3JnMREwDwYDVQQDDAhBbHBo ++YS1DQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIFDGMhgur/nNsmd ++AIgzGLZ3Fwpe7SbazkGEXRZCmFzuWe8C6q2mhDCWYGZ3tVTYdmDpna2YgWuXiPSA ++7qN+yiEiaO2M/yKJYilyfjbg5oWUgcPhSAoXLTWXjbIJ+BUnppAW008YBI2m+Liw ++45rix21LUbMCikfIu2c1YkaOeJQoyAkIHqG68fDg/uUAqATEejGXFfoQ2ez7LmNh ++lw3yZ2R5O1lHF/MciiowjjLTchL1/niRcACLUXHLc4+ZMEmJb7VvnUbXoL0tLUC8 ++Sx6MzmgXm+C+lx848JtNUZHyWiQFda1TgBNrMDDqMsz+dazIEmzdKnuPzh0jVZig ++NY3mSpECAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBSzdl7q1gHlgSEGj18NjGQ ++GsnpTUN5WShld2oDxp0PLAA9FG9jNILqNWLYeUkYHnMUangPzWpF8K2R7KADBjQu ++y+TFz68/kTPOct62GO59RL+nTdl6uwFuZUrEnLKpMWAnlbGx4RFS8/QRh2UNTZnI ++wvCDpkDgxPtF1hCo9N5bhV4inytUpCoo0SjXjhvbohFK3wewIv9uVt5RI4dOaeZA ++pb6cCzmMKZP1me14FIsW+ybMItZ6AP6c9Xg+cIH/Wyt8fPaLf7p3p/WSiWsqcmXn ++hp2WgR07GXD4UpslOo0JVVZfMfF61u6Fyt/jPOjmsYZ8cmsk8PYqnRYux8chPK9l ++-----END CERTIFICATE REQUEST----- +diff --git a/tls/tests/files/cyclic-a-key.pem b/tls/tests/files/cyclic-a-key.pem +new file mode 100644 +index 0000000..998d1a9 +--- /dev/null ++++ b/tls/tests/files/cyclic-a-key.pem +@@ -0,0 +1,28 @@ ++-----BEGIN PRIVATE KEY----- ++MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCBQxjIYLq/5zbJ ++nQCIMxi2dxcKXu0m2s5BhF0WQphc7lnvAuqtpoQwlmBmd7VU2HZg6Z2tmIFrl4j0 ++gO6jfsohImjtjP8iiWIpcn424OaFlIHD4UgKFy01l42yCfgVJ6aQFtNPGASNpvi4 ++sOOa4sdtS1GzAopHyLtnNWJGjniUKMgJCB6huvHw4P7lAKgExHoxlxX6ENns+y5j ++YZcN8mdkeTtZRxfzHIoqMI4y03IS9f54kXAAi1Fxy3OPmTBJiW+1b51G16C9LS1A ++vEsejM5oF5vgvpcfOPCbTVGR8lokBXWtU4ATazAw6jLM/nWsyBJs3Sp7j84dI1WY ++oDWN5kqRAgMBAAECggEAFDj4Dpk7fjxhEOe0Jpq/2gQFocS6G2MN86gOnCXtClTr ++0v3E00gC1EsiZ8WAo/Z9hqnl1jvOu5NohMALFZ8HZmmousldPPz7U3qrDlDfH7Td ++HFUJXTLFCuZb76epnT2nzFEV3ADo7XRa4yIhaaDjDFFFRdk24wYfc4Uhi+JMMPl7 ++bq9Nqrb5oTb1rc1nMWaJPJXCL8FMfNNS8DTm4oI27BX0m0E0s4bQnzSw8p2RYxO/ ++foihOnb9U8izUrHsvwt5a3NQ+fxQ+WqEHCha/0WLm0OoET7ultdRHwDSJR5/XYbW ++sv6clvkusSsVHDWBhBJ1ctpt1agEZKWpcJ5pV9isJQKBgQC2w90s3V8xj2ChVm+N ++C18CL3OZeeQLY9t82qxcNJWBkw1h59Z9A6ur8RLvRLFDohy3ojhiRt/+gOsUn7rF ++Q9fgdDsuk7gFqAWY+IC/IHjXYbT66kzIvQVhmj/JinepqWEYgMBMea/xyRxdMfzw ++FvvQ//EObVKOUDngJ5nmTbFfGwKBgQC1Dt5Ibnn0XDGEqce8cvlKSdKepP28R9yC ++ewEbNDhVWA2tOBFAm09OlHeHILTYW+WfKwmJF16tLpjvEbHWr7J/LU/JeharC0em ++fgCxVFR2Cx9n4zgPAdnfmAM9oAtkv+YmWQ+N2KhAUbzZV+z60mWF4Xo2RSxYLYm0 ++AUuSlXkbwwKBgG4AYx2+u63jowBYOtnEj1GMZ+JnB8eHObLjFryEdbvAW1yjImiq ++Deh2N7RFPv/7EZfBDniwOd8/jr4iCVLzq3oP2xMEm8zjvUK9xxfCHplb2IbxAHgN ++tLBzG5NdQPqf1K3fyF3/G9PF/Mlm7ds/qh63/Ul2qSq4xKzSiQGhn3EjAoGABfY9 ++X4kzvtYiU0n757qpdsbDhrHMIR0Ep89BFBI+IKFLof6MouH6VI4S+YIcMlukTf9u ++yvLYDT/RjV25y2XxrLpjPDEm+e7fJx5TC4PJXDG1kQgsWmInOHOa97aDaYfgHjck ++ifkuYR/P5iA9D21KJoRsL8lLUoP9Ws4IHQWK/V0CgYBDzfWlWpIaGAotfApmby2s ++bdJjz05zTKPOgAbMpAxTDX5FREIZagOA72zINXu8hKc+HBnMdLlR7QYf7dq2VEUP ++zQlkpv68JVWMcqVHMm8Pm6OFfcI7bP/zAErpiWs0Xq2AuU/RBchL9wQnsfdplVDY ++w5Dre95xNT1S839b7nc7wA== ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/cyclic-a-selfsigned.pem b/tls/tests/files/cyclic-a-selfsigned.pem +new file mode 100644 +index 0000000..79426c1 +--- /dev/null ++++ b/tls/tests/files/cyclic-a-selfsigned.pem +@@ -0,0 +1,19 @@ ++-----BEGIN CERTIFICATE----- ++MIIC/TCCAeWgAwIBAgIUaBxdvAGzyN8GQnJl+/PNF1spiuMwDQYJKoZIhvcNAQEL ++BQAwJzESMBAGA1UECgwJQWxwaGEtT3JnMREwDwYDVQQDDAhBbHBoYS1DQTAeFw0y ++NjA1MjkyMTQ5MzhaFw0yNzA1MjkyMTQ5MzhaMCcxEjAQBgNVBAoMCUFscGhhLU9y ++ZzERMA8GA1UEAwwIQWxwaGEtQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK ++AoIBAQCBQxjIYLq/5zbJnQCIMxi2dxcKXu0m2s5BhF0WQphc7lnvAuqtpoQwlmBm ++d7VU2HZg6Z2tmIFrl4j0gO6jfsohImjtjP8iiWIpcn424OaFlIHD4UgKFy01l42y ++CfgVJ6aQFtNPGASNpvi4sOOa4sdtS1GzAopHyLtnNWJGjniUKMgJCB6huvHw4P7l ++AKgExHoxlxX6ENns+y5jYZcN8mdkeTtZRxfzHIoqMI4y03IS9f54kXAAi1Fxy3OP ++mTBJiW+1b51G16C9LS1AvEsejM5oF5vgvpcfOPCbTVGR8lokBXWtU4ATazAw6jLM ++/nWsyBJs3Sp7j84dI1WYoDWN5kqRAgMBAAGjITAfMB0GA1UdDgQWBBQ0zfKyi7Xw ++yCtaGe8x8zkfaNO4OzANBgkqhkiG9w0BAQsFAAOCAQEAan0F5sQp8WRtFoQZWgk1 ++RAxwfJUSxANljpMRu69IhrS3ihPvhFiHNn5fAgOlH6Hg8B6kZnBMGabnrI4e9etc ++mjM+j+SSqyvZZJX/Ri5BxrFRuaQKEMMZGVO0kBYArkowB3o1rlT4EqeEwOzvP2EW ++wcgON/V8Ar+oQaka6D+Y0CjaD9i2grrk0nIl8ia7ilWioAEhtHb2iUSA5FsXEz9V ++f2KtLfccOiBgx5eykieLqs1IUMTzznKloQkBfZ7HoEedDHzakrP+AEmnhdDzI5Y8 ++SmVr5zaYfyy7wb47ZBB1neiMSKlGw7S5c9naxGjloLIVvyKYVP22zV2LDe0xnJLc ++xQ== ++-----END CERTIFICATE----- +diff --git a/tls/tests/files/cyclic-a.pem b/tls/tests/files/cyclic-a.pem +new file mode 100644 +index 0000000..d327cb0 +--- /dev/null ++++ b/tls/tests/files/cyclic-a.pem +@@ -0,0 +1,19 @@ ++-----BEGIN CERTIFICATE----- ++MIIDCTCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAlMREwDwYDVQQKDAhCZXRh ++LU9yZzEQMA4GA1UEAwwHQmV0YS1DQTAeFw0yNjA1MjkyMTQ5MzhaFw0yNzA1Mjky ++MTQ5MzhaMCcxEjAQBgNVBAoMCUFscGhhLU9yZzERMA8GA1UEAwwIQWxwaGEtQ0Ew ++ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCBQxjIYLq/5zbJnQCIMxi2 ++dxcKXu0m2s5BhF0WQphc7lnvAuqtpoQwlmBmd7VU2HZg6Z2tmIFrl4j0gO6jfsoh ++ImjtjP8iiWIpcn424OaFlIHD4UgKFy01l42yCfgVJ6aQFtNPGASNpvi4sOOa4sdt ++S1GzAopHyLtnNWJGjniUKMgJCB6huvHw4P7lAKgExHoxlxX6ENns+y5jYZcN8mdk ++eTtZRxfzHIoqMI4y03IS9f54kXAAi1Fxy3OPmTBJiW+1b51G16C9LS1AvEsejM5o ++F5vgvpcfOPCbTVGR8lokBXWtU4ATazAw6jLM/nWsyBJs3Sp7j84dI1WYoDWN5kqR ++AgMBAAGjQjBAMB0GA1UdDgQWBBQ0zfKyi7XwyCtaGe8x8zkfaNO4OzAfBgNVHSME ++GDAWgBSAkOheHZ0K/hdNBsF+ssTFRd8z5TANBgkqhkiG9w0BAQsFAAOCAQEA0aZR ++v5pJx4RpeB84jWndf+3rOJ98jmgONpwQg8Uibu61wdKULl1Byazcl/UbWBkWR//t ++oA6r19WoobO4jtWONZd5rvShRd6ZIrL+XSzV1mM35zrWnSxgOp3VmBNYaBRsNtqm ++JMp5RrUWzqQgJGyE1AgpoUgl31atxpYS1zopypHkILbcIbFsxpvOnyIqYRW3I32i ++1gPQxkKPXw+MZS3QqrkHP1rQMkHVyFNmzmhqU+qK5wDqDOADR4M3vyA1FWAK2dpP ++TkOnCf870uEJZ146kP85HnARMUyuTj4MakKjDaqkfV/u78S+RawkEaMlDgjgsRl2 ++VZDmWtcD/huae7Pvhg== ++-----END CERTIFICATE----- +diff --git a/tls/tests/files/cyclic-b-csr.pem b/tls/tests/files/cyclic-b-csr.pem +new file mode 100644 +index 0000000..a81a76c +--- /dev/null ++++ b/tls/tests/files/cyclic-b-csr.pem +@@ -0,0 +1,15 @@ ++-----BEGIN CERTIFICATE REQUEST----- ++MIICajCCAVICAQAwJTERMA8GA1UECgwIQmV0YS1PcmcxEDAOBgNVBAMMB0JldGEt ++Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSLcm2e45tFK+ApZAB ++bP9IlNRJqOLbD5826sJnMx7O7PQrVwy6ehOqiroQEnujjbOBelkjrneON9Nhm6GD ++kIZ01aZaOh4LEeElqawk8Pc38+Iawg5Yepit+q9RfRtbIhwPlfRuLdzocULsCuh0 ++nhZQxAg96Gh2d61WMq1YLHy2XvCWvDSZi03dyGYGS+7fPS4y/Q+Ad8vu2ITQ60FV ++9lhZuXblfQEhAG8kE3abILDYxVUcCXqQ/lLw36Qank+qqy4TNyEukGC++2uJZikX ++5Dsoj+v0d3lciImonvH0GBknoyloonmtsyRItBVTLA53EW0/3d/2FPGivGrvHM4X ++5YpRAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAvHK6+KrWq9Z4S/z1vNv2OMhW ++JmfyeZXh9UrmN3rhvVrz41jhP43k/GSBlzZkAfQ76Wg9nfbPO7VAVNDL077sdWGb ++mHqR+XTcrSZjJUIL/JgOZdhYmBkMrmRfIlAmLC9QuqFmbeDLc8iEqnYn1VPEADvM ++Vx2DwAv40rKrJ5ckSswn1iKSm3R7iPmQzJaYuwrTLKOp/slODFJikfKeYHGNPHtC ++1fKTeYPpXvUKhUSV+FTbRxuW5tHCVQWMtXEXi4Rk4oEx0MvDSPlwoGM76QNfp6TV ++oiK0Co1EqO0ink6/72up3ngfB86MNP93EX8M9GBfDy1UjpQCW3NqMmmVbFyeWA== ++-----END CERTIFICATE REQUEST----- +diff --git a/tls/tests/files/cyclic-b-key.pem b/tls/tests/files/cyclic-b-key.pem +new file mode 100644 +index 0000000..4995daf +--- /dev/null ++++ b/tls/tests/files/cyclic-b-key.pem +@@ -0,0 +1,28 @@ ++-----BEGIN PRIVATE KEY----- ++MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDSLcm2e45tFK+A ++pZABbP9IlNRJqOLbD5826sJnMx7O7PQrVwy6ehOqiroQEnujjbOBelkjrneON9Nh ++m6GDkIZ01aZaOh4LEeElqawk8Pc38+Iawg5Yepit+q9RfRtbIhwPlfRuLdzocULs ++Cuh0nhZQxAg96Gh2d61WMq1YLHy2XvCWvDSZi03dyGYGS+7fPS4y/Q+Ad8vu2ITQ ++60FV9lhZuXblfQEhAG8kE3abILDYxVUcCXqQ/lLw36Qank+qqy4TNyEukGC++2uJ ++ZikX5Dsoj+v0d3lciImonvH0GBknoyloonmtsyRItBVTLA53EW0/3d/2FPGivGrv ++HM4X5YpRAgMBAAECggEABDA5ZtOLgQz6elvSRNUBOVcN6/Hbo3XqPFPtT9Uq9gCu ++1PZFIKoyHiHpl0xm/llijF/9ysI9S649HiLV0yNcKpPfXsjttFbE39VDwvCyXIEV ++rmbTllvLExx9xefyVZyWZpEcb92mG1O2e7Gz9C76Tt25NFKfUk0MPT2BStKIIbI1 ++ZYr0ucuq8UkD8VA25dY94N5NFFaGLdJXO6S2S/Bkn8peJ86N+Fix0DMjsj1KJalL ++Ie4+cRQYNGQFewOGCM+9nR2TUqPZ7ymMoz9TDwo6cUuntYX9fpsrCbpePrt7X6Tn ++e/oOZUCbrpiFF95on8ktIis0x+J+UJOPmJoxMY+NYQKBgQDudRrKaMGffjFiAp0+ ++3i/+OeRMwhDEi9UzuZXneubUQnqcdvQ74CzwXejfLjNG41O8A+DWGlvMPqGi7yzP ++Yy4qIIRfsRA9DAGwhePZsBLl7NlCc5XjS1x7yL6+Kre9imGV0+SAVpZVfkSVY6GA ++Y2PbizyjRQ1AlIg++rAP3TvDxQKBgQDhpBwR1cIWd+eI2bQieAHfx6o3cghyWFN6 ++QhOAJc3veQ9taUxwyeiiRiz2z+tgwWmaB9DA0qiMFvOK9ravpmfDGBnGi2I7aihs ++DuKw84XFcvi4K3njks5tWxd8GQNspKaAMtKt0A4eh7/toTtEVfio9tFFfpl9fSyw ++bmPEKHu5HQKBgQDEHMVy0GLllDhy/elrCfr4n44WXsjBjKtEhg42OUrcKOyEAATv ++tXfgG6vo2StM0qtMBviDvVvgB2aSBRiaW1xdQy77MDlFq7k7/3Gb2AZC2N75muwb ++6h/eogPVjHZeyQ9m1MSplAzBtT4cirsJRzSaG9I8CQ9UHJRND4l7Ep0TbQKBgQCl ++OjzrunGTbl33UiOcEfCdY2H7k98njBIktnn9HrG8KBPp9G9rMA7PtT97xCkCAt9H ++UW3FpPyTCMNyANMpsFrO+7j0MGDQTR4ocoYBOXG9ckE662sn//p1DX0W/GILjk32 ++FkE70dxk8tbSNXxmv+WEJKh9kQToZV7yGwOnQlXG6QKBgHRG73bu4FFxqdAhHL7S ++7krAZtX/HPne0e54NB5JRKJrPaRx+Cgseks0wW3ZhWAfBARueu5QziWma2TZLvm+ ++gV1v2oWqXKBHbeS9nnUqLWFYwvJPI6Yx9rTQeUATSbEimDQ4pZMt8W/o4kaDwUVA ++u9OH3MSyPAWIAY84HjUM7rTX ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/cyclic-b-selfsigned.pem b/tls/tests/files/cyclic-b-selfsigned.pem +new file mode 100644 +index 0000000..00a46ee +--- /dev/null ++++ b/tls/tests/files/cyclic-b-selfsigned.pem +@@ -0,0 +1,18 @@ ++-----BEGIN CERTIFICATE----- ++MIIC+TCCAeGgAwIBAgIUXQkG7xJmcRYihgIlOStJ2wq+FigwDQYJKoZIhvcNAQEL ++BQAwJTERMA8GA1UECgwIQmV0YS1PcmcxEDAOBgNVBAMMB0JldGEtQ0EwHhcNMjYw ++NTI5MjE0OTM4WhcNMjcwNTI5MjE0OTM4WjAlMREwDwYDVQQKDAhCZXRhLU9yZzEQ ++MA4GA1UEAwwHQmV0YS1DQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ++ANItybZ7jm0Ur4ClkAFs/0iU1Emo4tsPnzbqwmczHs7s9CtXDLp6E6qKuhASe6ON ++s4F6WSOud44302GboYOQhnTVplo6HgsR4SWprCTw9zfz4hrCDlh6mK36r1F9G1si ++HA+V9G4t3OhxQuwK6HSeFlDECD3oaHZ3rVYyrVgsfLZe8Ja8NJmLTd3IZgZL7t89 ++LjL9D4B3y+7YhNDrQVX2WFm5duV9ASEAbyQTdpsgsNjFVRwJepD+UvDfpBqeT6qr ++LhM3IS6QYL77a4lmKRfkOyiP6/R3eVyIiaie8fQYGSejKWiiea2zJEi0FVMsDncR ++bT/d3/YU8aK8au8czhflilECAwEAAaMhMB8wHQYDVR0OBBYEFICQ6F4dnQr+F00G ++wX6yxMVF3zPlMA0GCSqGSIb3DQEBCwUAA4IBAQCVBvgH0Fmiw/yUdmg2uCkDwqzO ++bSjQ2Px34wswdkywHX23Lw8LHKvN1q0To+rJBrRT1x2D3nsT6uyGBNrmXu8pmOtq ++3P8kH4Tzj8AmCLAZ5pGPWojjeAf2qfZXrtkkHM/dUh51v5Y+AQf02uMTyJFRjtQ9 ++AwjnxLWQK2JHUe1PvAPe5Wd2JvKkw6yh0G1oXQlWyJiWvsg/YfIQ75Td612hrRAv ++zHdrwKid8gq6SsTTKToKE0JXu43E+gTDA3HzMQ15shORfQtwQB2zZFxNWSaW6YrP ++BvyVw2BXh7npWhCmy1jpmiiPtQIaYbgA6eq5y/FeBKlrDFl17aiqn6DCDMy2 ++-----END CERTIFICATE----- +diff --git a/tls/tests/files/cyclic-b.pem b/tls/tests/files/cyclic-b.pem +new file mode 100644 +index 0000000..a0357b5 +--- /dev/null ++++ b/tls/tests/files/cyclic-b.pem +@@ -0,0 +1,19 @@ ++-----BEGIN CERTIFICATE----- ++MIIDCTCCAfGgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAnMRIwEAYDVQQKDAlBbHBo ++YS1PcmcxETAPBgNVBAMMCEFscGhhLUNBMB4XDTI2MDUyOTIxNDkzOFoXDTI3MDUy ++OTIxNDkzOFowJTERMA8GA1UECgwIQmV0YS1PcmcxEDAOBgNVBAMMB0JldGEtQ0Ew ++ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSLcm2e45tFK+ApZABbP9I ++lNRJqOLbD5826sJnMx7O7PQrVwy6ehOqiroQEnujjbOBelkjrneON9Nhm6GDkIZ0 ++1aZaOh4LEeElqawk8Pc38+Iawg5Yepit+q9RfRtbIhwPlfRuLdzocULsCuh0nhZQ ++xAg96Gh2d61WMq1YLHy2XvCWvDSZi03dyGYGS+7fPS4y/Q+Ad8vu2ITQ60FV9lhZ ++uXblfQEhAG8kE3abILDYxVUcCXqQ/lLw36Qank+qqy4TNyEukGC++2uJZikX5Dso ++j+v0d3lciImonvH0GBknoyloonmtsyRItBVTLA53EW0/3d/2FPGivGrvHM4X5YpR ++AgMBAAGjQjBAMB0GA1UdDgQWBBSAkOheHZ0K/hdNBsF+ssTFRd8z5TAfBgNVHSME ++GDAWgBQ0zfKyi7XwyCtaGe8x8zkfaNO4OzANBgkqhkiG9w0BAQsFAAOCAQEAZRxk ++PHtuch10uBLm+YJCKLKi4vPNFvptSxPN/h6yKGJYADg9MmbUqry3QKHiUVO5lbrX ++bWPuwGozHeMCHhp/64aGBG13Iin4gzMqaUovF27Az5Wa2FmtS8mIaNxVMwvbAKXa ++Uic92/tWvzRuSN0ziIxjWQi2dk6Wbc8mbrT2LfkO5RCazz4on7iUgxpcEHrSQAD6 ++IV28wCSwKKhdOe0EdENoVuXDgojprDbdyYLvxlcbJE9uWpzau5I4trXhn9qSDl8E ++GRgeXQyBdALSH7lHc1vB4Jc/1EqYWKwlw+fW8awWQzFcTpokQYKvIVHVbMlD/0VJ ++EFmorDmqJtEUox/Kxg== ++-----END CERTIFICATE----- +diff --git a/tls/tests/files/intermediate-ca-csr.pem b/tls/tests/files/intermediate-ca-csr.pem +index f4f1de4..b13d444 100644 +--- a/tls/tests/files/intermediate-ca-csr.pem ++++ b/tls/tests/files/intermediate-ca-csr.pem +@@ -3,18 +3,18 @@ MIIDRDCCAiwCAQAwga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/Is + ZAEZFgdFWEFNUExFMSswKQYDVQQLDCJJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUg + QXV0aG9yaXR5MSQwIgYDVQQDDBtpbnRlcm1lZGlhdGUtY2EuZXhhbXBsZS5jb20x + KjAoBgkqhkiG9w0BCQEWG2ludGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTCCASIw +-DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM38HyX7bWXgx0vo3FouVlOL2zu2 +-6NWkfBOlayVaNSwz0vQBqzH00V1DfldicevLLUjcxKeezlYRwI3cGHuFqWoZOjiJ +-/Nq9SsmpW/y7JCUqSA3CXrVVXSrulmXiaozYoQA1fWOpiwcr3Jhz/8VCSYGbZYJY +-qwN8PyyZWUfOMklkgeJrhKDX2JWzjMSBSqcj25hEPRvqB/Fmqpx/qnMl1/ssosnR +-KCcxzHv94uBapF3XyjBAmvw29OwjWDN4F50pAkgOHB04CW5b14WWc6APUS6jpc4H +-4ZTTbuX2cR07G4I2IVFmtgwxXlEHL+XCtyWojwg9edN9ML7ir3oHJkRR4mECAwEA +-AaBRME8GCSqGSIb3DQEJDjFCMEAwHQYDVR0OBBYEFK+QXlzyE4v62RPbNWWyU2Qy +-lsCKMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB +-CwUAA4IBAQCylR6/62q5T6C0lZmwq2gKFNOECceE+IwfC0jBLko6OnnVac0CFEe+ +-HiVIqxeIcBBQ3/L20ilagVrFWhQfb7/vtaa5+m2pRrq1SluW8jdq1Ap8qLWUE5bp +-YxhBvgeW8TxqWjACCkxEnz3vfG5LchFvrSGtpkUqky6VGg4H8NXShAt5qmDHZAha +-wDK6APNinMxiIXDCmOCXcXjS1708UVQRRUS5YWtUUFrOlpqsTFQ2ATAHoeerv+cw +-yon1qd9XbH/mXFH9Yg7005fDWwGlB8o66TC/U5jg9AYf6SvCQ24/Ikdfhnyr9qjA +-KAsKP8O1G5EjITP+wpc5VjYRzsERDF+Z ++DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKE35vmSx/qR5bcBHqnyhLSb1xZI ++sN26WwA9Eos8VT8S6ez90Z72B+99QOnuDpVZroMA9obdWgv8Ir+7hvc7xsVG3bft ++eXSCfRbHzYS9eitkYZnaUHp97yuuhAvAlFLg53PftwCOqtr0XAB6OVcW2/c///EF ++u5ySyEqJimONURLS9sAITazDw72fNLSfieDjRkJ/Fm2kN5uBnXQIoR7TOccUbMGH ++J7c0weqk+SGWa1LtnoF3bbTZtdGXrkyKwThrkqepb046SURDfBR2rd30eFC3dE4P ++Z/DW8lJEfG9wkB0uYeZVxmc47rB5JVVMm9kKUZ0VBfkITs+ki2ELGQPG/qUCAwEA ++AaBRME8GCSqGSIb3DQEJDjFCMEAwHQYDVR0OBBYEFPdGcQ7RT7R8BlZ7BL+tueDL ++PNFpMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB ++CwUAA4IBAQB8S+wnO2C6OcifFMI9JVXQXPQuHQK15qhtBjjjk6aybTFi5BsltaK6 ++V8D1u6n8CKq6C7yEmcoXnOQghYVThaOJsGl14EdbthqHzZ5VLlq7KMUESO/0CRSw ++J6IfRL/OvOCkNqwKNt+QH/JOGxTDRMvjkF8iQ+JJVjzKATzmt0pPe3ZmyMArdZ0X ++cZ5FuwjPg7uDhyHsuxB08Bb4s0LjGKcMxJKDL04SUk/UXkJzNj2G16XXfkEbhbOR ++Po8rwUg0WHqCdfIyR7XRZDOehLde4v1fhfZJlcFYHtzq2STdcT4jNj3ZscAtEigN ++cE6tH/uwd92QFR4wJu1sLehF69pCE/qd + -----END CERTIFICATE REQUEST----- +diff --git a/tls/tests/files/intermediate-ca-key.pem b/tls/tests/files/intermediate-ca-key.pem +index 3d1bf65..25363da 100644 +--- a/tls/tests/files/intermediate-ca-key.pem ++++ b/tls/tests/files/intermediate-ca-key.pem +@@ -1,27 +1,28 @@ +------BEGIN RSA PRIVATE KEY----- +-MIIEowIBAAKCAQEAzfwfJfttZeDHS+jcWi5WU4vbO7bo1aR8E6VrJVo1LDPS9AGr +-MfTRXUN+V2Jx68stSNzEp57OVhHAjdwYe4Wpahk6OIn82r1Kyalb/LskJSpIDcJe +-tVVdKu6WZeJqjNihADV9Y6mLByvcmHP/xUJJgZtlglirA3w/LJlZR84ySWSB4muE +-oNfYlbOMxIFKpyPbmEQ9G+oH8WaqnH+qcyXX+yyiydEoJzHMe/3i4FqkXdfKMECa +-/Db07CNYM3gXnSkCSA4cHTgJblvXhZZzoA9RLqOlzgfhlNNu5fZxHTsbgjYhUWa2 +-DDFeUQcv5cK3JaiPCD15030wvuKvegcmRFHiYQIDAQABAoIBAGJge2/keQcjJ4v1 +-lufrIYedUANhBCqk+C1Z36ZjQunthl7LPTwKtMNaLMkHV2lKDEK0TafQjLNGnzQh +-XgAAgj0N92RxYrYFmeZeYHR/3G9zlh4cKqdoMasDcAkQ7dp+y8YRxeUHYEL4i86z +-9//5/KlN0llCh8qOWI2wX5ePvyyVXGn1xfaUyU7aQMJ9x+41R/qfgthvd19V4P6E +-vbJ5Ogpp/jv5RVhZXZwCpZbsOvQJBRrmi3+1tkNvruRolYW/TpW8EQF/MddAMplM +-NCTDedorVWVVN3bnW2vp/Rqduq9p5GL6J9qvTNoJibelY7PWgkqnjxS2N8NO1rWV +-UVzNc1ECgYEA8OHLmWEqY9hdSgF16Ah9frimbZXbQ2fVB0mVM95npz86NeK2vxhZ +-vYH5FyFK4B2y1TVHDHdR3pmOdAS4d0x0HM+SvEiZbKU2FmhO/F5lsN7mB1JKGaxr +-oOz4czJu9StBLvgBjRo0bfGd4Asc2GlXitFm0d7w6/gzUc3QqoVd7AMCgYEA2umj +-8Y9ZtHCfUWmUP2ry/2fZPjN/R0doWR8c4FMPBsuu1F3EUyAQHftbpJKmzKgETCKx +-yqouSefhQ2rJOpVN+F8ryZZkjC3MAAwMPRzksHWmAH531Ata/mXTWuPfDHwmWVS6 +-jq8fyPB8Wr0c7Xr3GK9IS8sFaS0YsZ4ctkoilMsCgYBXhIIXmQDww9SpJbyz8BnA +-Z9A38oF2jQwOGML31G9uiX9ZwqRI68z3GHjq2XK92Kx34GKO+e8p5Dqolmp7FbD+ +-IsCaXfo4ShJLs9w2vwlNaL7EnDZF+6ojDtX57LH5q5yENyFBJes0otuMYh0515Qx +-4IDt8YUxBr2GlDOjMM9+BwKBgQCS1ETe/6xGR4fEflEt3BkST+A5RScocu+9Xw3q +-NCuO/kzMKfxFWOsWgQJttuNjv4nqWxbu/QhBD+NaaaSAw6XhYkwnUNUt5IXAvlPz +-JY8KAE8QY8MRmXA106xYeSCg6iB6qEbc7v8dspdl8RQXAPP9PYv7Mjf13IaEk61k +-YwMg0wKBgCgjKfsR1eCQArwnWhxw5S3OvougLysiA269QS1JspEq/Jy54VF6syhF +-xFCVubFPyuqaSrsWkE9Cjlfo40Uvb/3xfj4XJK9MfVb4UnSIbUcKJtrJLlsu8yYr +-7FgqzKJVJvFjnWh5UiAUNXNVHh0fEpmWG0ngdQv49HIDNL8CpWOo +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQChN+b5ksf6keW3 ++AR6p8oS0m9cWSLDdulsAPRKLPFU/Euns/dGe9gfvfUDp7g6VWa6DAPaG3VoL/CK/ ++u4b3O8bFRt237Xl0gn0Wx82EvXorZGGZ2lB6fe8rroQLwJRS4Odz37cAjqra9FwA ++ejlXFtv3P//xBbuckshKiYpjjVES0vbACE2sw8O9nzS0n4ng40ZCfxZtpDebgZ10 ++CKEe0znHFGzBhye3NMHqpPkhlmtS7Z6Bd2202bXRl65MisE4a5KnqW9OOklEQ3wU ++dq3d9HhQt3ROD2fw1vJSRHxvcJAdLmHmVcZnOO6weSVVTJvZClGdFQX5CE7PpIth ++CxkDxv6lAgMBAAECggEAJGFeEPGriQLFaL+q8MTWZ39HUTMEHnUANhSSC7OItRwK ++h71bQVjZv5RvQprC1bcQJ2XfO93VhSDXopapxT7LAxeTzv6ayszrd2mNGig72nDj ++iXl3cbzbbOsLxy8lCXLRKBfSzyBis9gyrrTmHZ3981SQ6A3YIWQKKK/S99Ya9nkj ++FXW0ZULzpufWry0p7mRf2fgHak+v9D5SzjojE5Yf3jX5Jdce7UJNfV7gTbcYVyqN ++n/JxTwTump4arUKAiz4GgyjCULZGRUWKSBBE5JIlUI4H5ZXPBwJcPFRAYeZT3xyn ++YzAsQX+ltgA1ZNeEDgqIAGAowbce5N/1UcFQ9SDOYQKBgQDRFfQCpGTHtIxUfhqa ++iS0OPWxmyNrhAszM/7LvjUP90BOg3MzRXrBaCbcroSWSyNA/0Du+K/5Z7L3NgRUY ++pAmuC2p35bQrjNMWj+bgSIhsBkV0txQ5B6GMXbcgYoDQp0Z08uqvWKWID8R3Dcwh ++WUYKGpLp2TuZfRe+++hHqCurfQKBgQDFZGjWo8aR7TaTlKMjqWA3vKY7Nau3StK1 ++RJgkX9dbmh6ZLYwNz0LN+siyBS9/wEwg1Z4xgjSiTVuLHtbtfuzc/ZxmAxfrfYXD ++2QaafKIcEMd32aFihAYjJLfKsclFd97G9TEKmWwaas2nCvPV0V+9vWUGyG/3mmgz ++jSD4eJr4SQKBgBjtGhL6kD0yrAwioH9N3T42WmcCiP2MPOgvj6B5YeKvXLevuwc2 ++16VURS8BXh5arGD/LTAlxIPp8lK+kcpHPBQwrjeu/cS3XC7zZt3UJ9dhBAS/Er0d ++yMeYII3O0HaPipnEn+/ZjJpk7tIWpgBPyUbJFjyktjM9M4iENZPdW59tAoGAY4/h ++0WGKJtCfVpECOFqWTYa50eOgWTNEVGnk03QEDBAQnvJ6UfzYlUyJLkGvU6CKxYT5 ++5b7nDXY3VlSX0/LRRiYlXM7yobUOY1p0GjgDDGTqN2luHWK6Nb+vdG14N7HejDvg ++IJiCDlEQqdC8bHzO7cU5z9IJp7oaFOZ6Wtl6UQECgYBppeM2B0ozw7F1UaRpxAJj ++GaaJ9GzCsNajiWnnHx26t4q0MN41A1yh0ojeMG1ilG93x5pvIiinWdqum9mLk2cB +++T27/CaSwuiwptFQW2i/8lqPQAbGwkY2zhpmXCYJpoqspinsf7tm1rzG7zCzy0nj ++Qxrlrq2Qr7fC3bafRd+nFA== ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/intermediate-ca.pem b/tls/tests/files/intermediate-ca.pem +index 8a74442..dff0414 100644 +--- a/tls/tests/files/intermediate-ca.pem ++++ b/tls/tests/files/intermediate-ca.pem +@@ -1,29 +1,29 @@ + -----BEGIN CERTIFICATE----- +-MIIFAjCCA+qgAwIBAgIBCTANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++MIIFBDCCA+ygAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk + ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp + ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq +-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMTIxNTIzMjAwNVoXDTQ2MTIw +-OTIzMjAwNVowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ +-FgdFWEFNUExFMSswKQYDVQQLDCJJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0 +-aG9yaXR5MSQwIgYDVQQDDBtpbnRlcm1lZGlhdGUtY2EuZXhhbXBsZS5jb20xKjAo +-BgkqhkiG9w0BCQEWG2ludGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTCCASIwDQYJ +-KoZIhvcNAQEBBQADggEPADCCAQoCggEBAM38HyX7bWXgx0vo3FouVlOL2zu26NWk +-fBOlayVaNSwz0vQBqzH00V1DfldicevLLUjcxKeezlYRwI3cGHuFqWoZOjiJ/Nq9 +-SsmpW/y7JCUqSA3CXrVVXSrulmXiaozYoQA1fWOpiwcr3Jhz/8VCSYGbZYJYqwN8 +-PyyZWUfOMklkgeJrhKDX2JWzjMSBSqcj25hEPRvqB/Fmqpx/qnMl1/ssosnRKCcx +-zHv94uBapF3XyjBAmvw29OwjWDN4F50pAkgOHB04CW5b14WWc6APUS6jpc4H4ZTT +-buX2cR07G4I2IVFmtgwxXlEHL+XCtyWojwg9edN9ML7ir3oHJkRR4mECAwEAAaOC +-AVAwggFMMB0GA1UdDgQWBBSvkF5c8hOL+tkT2zVlslNkMpbAijCBxgYDVR0jBIG+ +-MIG7gBT6FH3OnCOvKyXsfc72EJ4xxG0S+qGBjKSBiTCBhjETMBEGCgmSJomT8ixk +-ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp +-ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq +-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghQwyVOnEyjzzdQXaugm2oaBks+gmTAP +-BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAmBgNVHREEHzAdgRtpbnRl +-cm1lZGlhdGUtY2FAZXhhbXBsZS5jb20wGQYDVR0SBBIwEIEOY2FAZXhhbXBsZS5j +-b20wDQYJKoZIhvcNAQELBQADggEBAK8ukSalZ6OrwTAtgm7HLFwhC+NENJb0lnOk +-wpgv4Z3Bhb4S1drgrwsZfFGNsq3jLO2gURtNchC9eTAdHPZpNWoW+s1Ja+ZmbAS6 +-PmPMdOclPnemljNuoR79I4sbCMxiyArkVw1EbJZSmpGocVFzB9bVoj5G5/In4CYT +-yiF2GxsqBUps7ID6lmAdJYWdzJ7PYbnlerqyWdql2Z2OwkFZCXyFSuQprwCV6SsX +-0un1xUqdgS1+iffl2Oi/9S+pK1Y3NGtn25sDT5bPMpoc8jwRf8n4rtS8pHyEJyoz +-ZnwhqAHALcxUFoWVqjrqHZmNXbNtjuGBGuRU755FyE5pVcRMoH0= ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjCBrTETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixk ++ARkWB0VYQU1QTEUxKzApBgNVBAsMIkludGVybWVkaWF0ZSBDZXJ0aWZpY2F0ZSBB ++dXRob3JpdHkxJDAiBgNVBAMMG2ludGVybWVkaWF0ZS1jYS5leGFtcGxlLmNvbTEq ++MCgGCSqGSIb3DQEJARYbaW50ZXJtZWRpYXRlLWNhQGV4YW1wbGUuY29tMIIBIjAN ++BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoTfm+ZLH+pHltwEeqfKEtJvXFkiw ++3bpbAD0SizxVPxLp7P3RnvYH731A6e4OlVmugwD2ht1aC/wiv7uG9zvGxUbdt+15 ++dIJ9FsfNhL16K2RhmdpQen3vK66EC8CUUuDnc9+3AI6q2vRcAHo5Vxbb9z//8QW7 ++nJLISomKY41REtL2wAhNrMPDvZ80tJ+J4ONGQn8WbaQ3m4GddAihHtM5xxRswYcn ++tzTB6qT5IZZrUu2egXdttNm10ZeuTIrBOGuSp6lvTjpJREN8FHat3fR4ULd0Tg9n ++8NbyUkR8b3CQHS5h5lXGZzjusHklVUyb2QpRnRUF+QhOz6SLYQsZA8b+pQIDAQAB ++o4IBUDCCAUwwHQYDVR0OBBYEFPdGcQ7RT7R8BlZ7BL+tueDLPNFpMIHGBgNVHSME ++gb4wgbuAFNUZ78l3Ho24OBljcgAGn8YLwdV/oYGMpIGJMIGGMRMwEQYKCZImiZPy ++LGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2Vy ++dGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsG ++CSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb22CFCtLy6IAR/kfC2koVJrwAES19jET ++MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMCYGA1UdEQQfMB2BG2lu ++dGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFtcGxl ++LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAUFRIZQ8mD9ABySwtYya/+ZufH+wzKAPb ++FbUQYTcHAJH1uEJBFL8QwUtfT2dxpyztrlXL34cGbZBFVJJSVmz6gHTfC7Vg/E6O ++D1f/wE2Dr4LPv5zyQGEUmygS/aDmZwypt/K92OwhBJNWEDSBV6WUAttwkcX7Ene7 +++Jr/LdjgANnHYGSYkh0rzkwmudRGTsMNgiZ91BgsauhUcY4v6hDH3NW4B9iLtyYW ++4ONlbBWtYPcC6/KFQlevY65MfWhq2w2UBi/zHBBNZsF45jrlDx5wAIoZXtTPLQfw ++PRh+xf0QkknkW+niYDXooypTSvbUfTUKtWm32tfFstZpeJ+RGSKwww== + -----END CERTIFICATE----- +diff --git a/tls/tests/files/non-ca.pem b/tls/tests/files/non-ca.pem +index d351711..66c605c 100644 +--- a/tls/tests/files/non-ca.pem ++++ b/tls/tests/files/non-ca.pem +@@ -1,117 +1,122 @@ + client.pem: + -----BEGIN CERTIFICATE----- +-MIIDXTCCAkUCAQUwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTEyMTUyMzIwMDVaFw00NjEyMDkyMzIw +-MDVaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN +-UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt +-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIW1UfdO4nP +-dGKo9YjM/EGVtzWyoNCz0+y5uqRvr2NagBfGrwkC2Z5t6kwrjgaGyhz3tQ1cCozO +-/DqIGERSdJgsNQXrayaZjoOBBmRUerkRlVU1nX+tUOcV5JyE6vMPspJI56RSlxVM +-oFE/k/9+jK/CnKZss9dfBY67VjX4avs+EJKbX4bpgNv7EpsaMTJWrvdYLXTDHY6e +-gpjyLxuyzpagXEXi0fnSM0jimvvOkFVqZt/bdGbk/nxUbOaANkdWPzIK71PCT30l +-7t4F+3UaV2Nl8jrGaKGgLKdiqGxEQhJO9XjJtG7R3S+9CMvzcVeVtle8s2cIEvR4 +-ATILn+xegCUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAErxcL62i04myJ5L1M7zR +-Q5E9ctb78R+0A3GDAUo8qx2eO9pwmNH0DTrDPKUu0iAIyZlS5grS3fq5I3yy/wl8 +-P6ClIxV/BryDXlgM0m/pjr79qtlILOpO4/Fxgp5tSNKomOOGjzP7jgcNqTuor+Z+ +-d0Q8m60fwgCbThtF7ivsLcdGPwDknN3uuYvkyvsTMWOedbW2LA1LwtuF3qZiAcIe +-5yVqkV2zJtr+N122Wbnl/26UOBabtYXki0xsPtAvzP3f9Fp6zo+lmp5mTZRoVJOd +-GrDLnf+1YhlfoB05+nefI4M46WAkXRs6hCrORyOKza0l3SXhP/Kgt9uR3DvLz/B2 +-7Q== ++MIIDqDCCApCgAwIBAgIBAzANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB ++GRYHRVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGll ++bnRAZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDH ++YiI6QwhL/crojOyN3ZWAJGRrszuep1L3b3QzdgdH2Jb1cKT/x8oeh583ysSnXLBQ ++iKgHcaQ0co/rI5DtvlEGk61ROcr4c229j6M767WmcNV87sIrC10FTYQuTgXsRD+u ++ocm2dIOiVRpMUkLyXngwI0/7AMXOvi+WntTxug3hYLNHGxaXjIgYczkyCLMnl4VQ ++ShHQqG4hVJb+5tT550qSPuCHizaZTM/8GGgKuA3TkCAmhjjtsndNbGfJlC+L2aqq ++TvAHu7Dq+h5l/F+RXV7MMRrnuXNIweUpGs86aGKKXIIyYjhN2aIRRrsm05pO+CMf ++PrDac0nuvYc2HXtRvJlVAgMBAAGjQjBAMB0GA1UdDgQWBBT3g8EjIz6zRypIkuuK ++LW5ChA1akjAfBgNVHSMEGDAWgBTVGe/Jdx6NuDgZY3IABp/GC8HVfzANBgkqhkiG ++9w0BAQsFAAOCAQEAGt4AvyDxLnY/2UwkconCqMfSOHWp3CzsSxzEBpV0PDczqfyH ++8BEUU4674otbZOJml53ld1u/EDl5Pf0S5gCRidni0oXPs2MiBoK1AXWmfJ6bIaK3 ++SoaISRi2NpQP77bu7NLsruGPSG/F3kRGnlP9E3w/9Nv4mdTiLEjcANVeolH2dDSO ++RBFxxvfQNZgZKAWnqcckMXvlhImEP85cq/T3M83vnKJOLRHuRpThBpi8Akugi+rm ++dxU9RyqalaWydWAt4WA6YBFPxxCdwRfwGGYm2Xv7QpnL6roCLoQkMt2mrBjyvI32 ++L9UNBCfipP5jIGIpX3lnSP2b83lKLPz6QotoVQ== + -----END CERTIFICATE----- + + client-future.pem: + notBefore=Jul 17 23:00:00 2060 GMT + notAfter=Jul 17 23:00:00 2061 GMT + -----BEGIN CERTIFICATE----- +-MIIDYTCCAkkCAQcwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzIzMDAwMFoYDzIwNjEwNzE3 +-MjMwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH +-RVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGllbnRA +-ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCFtVH +-3TuJz3RiqPWIzPxBlbc1sqDQs9Psubqkb69jWoAXxq8JAtmebepMK44Ghsoc97UN +-XAqMzvw6iBhEUnSYLDUF62smmY6DgQZkVHq5EZVVNZ1/rVDnFeSchOrzD7KSSOek +-UpcVTKBRP5P/foyvwpymbLPXXwWOu1Y1+Gr7PhCSm1+G6YDb+xKbGjEyVq73WC10 +-wx2OnoKY8i8bss6WoFxF4tH50jNI4pr7zpBVambf23Rm5P58VGzmgDZHVj8yCu9T +-wk99Je7eBft1GldjZfI6xmihoCynYqhsREISTvV4ybRu0d0vvQjL83FXlbZXvLNn +-CBL0eAEyC5/sXoAlAgMBAAEwDQYJKoZIhvcNAQELBQADggEBADwQYLzW/dqcc8qF +-VPJfQCffJlIEYFxYnUxPDZFRaSV4zUoS6BiUGU9fYsi7cV/Sqc9YGYJzgF/z2Kug +-2nN0O1q/U/9AzzagLC2tfh7Yl/M2SudxhFLxLfy8iI/cxswUgcxS4xbp2fItsPYs +-WpG3ZVlMpDc4tZ76wyXYZMLm+pMIOQlxXOQ4S+ckNyVAVU+6IrocAwl2FEw0tVyD +-oJTJa6/739bmy/GbKV9BGaIkLg2uhozkame8yltXfb7i2Mo4Wfj0hQ6NedYUiYCg +-ZhWyCh9pAXPbeFj6VdYZzwLhCJjJ2EpVQ7hCQYCoEMzGcidinbZPKPaa4H+LjVII +-AJTeE9Y= ++MIIDqjCCApKgAwIBAgIBBTANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCIYDzIwNjAwNzE3MjMwMDAwWhgPMjA2 ++MTA3MTcyMzAwMDBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/Is ++ZAEZFgdFWEFNUExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNs ++aWVudEBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ++AMdiIjpDCEv9yuiM7I3dlYAkZGuzO56nUvdvdDN2B0fYlvVwpP/Hyh6HnzfKxKdc ++sFCIqAdxpDRyj+sjkO2+UQaTrVE5yvhzbb2PozvrtaZw1XzuwisLXQVNhC5OBexE ++P66hybZ0g6JVGkxSQvJeeDAjT/sAxc6+L5ae1PG6DeFgs0cbFpeMiBhzOTIIsyeX ++hVBKEdCobiFUlv7m1PnnSpI+4IeLNplMz/wYaAq4DdOQICaGOO2yd01sZ8mUL4vZ ++qqpO8Ae7sOr6HmX8X5FdXswxGue5c0jB5SkazzpoYopcgjJiOE3ZohFGuybTmk74 ++Ix8+sNpzSe69hzYde1G8mVUCAwEAAaNCMEAwHQYDVR0OBBYEFPeDwSMjPrNHKkiS ++64otbkKEDVqSMB8GA1UdIwQYMBaAFNUZ78l3Ho24OBljcgAGn8YLwdV/MA0GCSqG ++SIb3DQEBCwUAA4IBAQBwMrM1kh+Glt8tlRleTNtYaI4qF2MAohXQGSuJKRPTSrE4 ++TGhcPJ6AgwF+KtuYOSUvpr14OrQW0IswNXVhurVt6Tl9rhGZT0NQgEOE00gA8bnM ++uCTn8ysGpa/M4m+6wNCaE3PICvrMCuRytUmBhsyWSxs5amDKNzTfUTJwFGpy0orG ++xWFI1diwxVXw/9udYJE+I5wy47HgTZReTnCaQuSLXrGYmCviNrEXYj/TuMQdgfqZ ++/eM5nzO9RejC8mZme7bC3h7uA7qjcPyRIs7PM8td0wf8L54nQTKolX4vUTgI1ry2 ++mZB3d1wgFwmGXKU6WHnb2JPrRHxlU+Rba1pH2HJT + -----END CERTIFICATE----- + + client-past.pem: + notBefore=Jul 17 23:00:00 2000 GMT + notAfter=Jul 17 23:00:00 2001 GMT + -----BEGIN CERTIFICATE----- +-MIIDXTCCAkUCAQYwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND +-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0 +-ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN +-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcyMzAwMDBaFw0wMTA3MTcyMzAw +-MDBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN +-UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt +-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIW1UfdO4nP +-dGKo9YjM/EGVtzWyoNCz0+y5uqRvr2NagBfGrwkC2Z5t6kwrjgaGyhz3tQ1cCozO +-/DqIGERSdJgsNQXrayaZjoOBBmRUerkRlVU1nX+tUOcV5JyE6vMPspJI56RSlxVM +-oFE/k/9+jK/CnKZss9dfBY67VjX4avs+EJKbX4bpgNv7EpsaMTJWrvdYLXTDHY6e +-gpjyLxuyzpagXEXi0fnSM0jimvvOkFVqZt/bdGbk/nxUbOaANkdWPzIK71PCT30l +-7t4F+3UaV2Nl8jrGaKGgLKdiqGxEQhJO9XjJtG7R3S+9CMvzcVeVtle8s2cIEvR4 +-ATILn+xegCUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAwn9yUJMw0ymJQsT5snJm +-77AaMtOe7L1OFFl97DxO+5kAgPccTQOrjAbalj/Ip15jAdOyt65oGpzQzfPA3tE5 +-8v+1Oz778LkfSoBV9jCsDrCR8Uidb0dtjDlGPzQwZt/33ogkHDObg+IsGkgYeg7Z +-yOgAPHOT70OkdVdUY++sAkMfYxjcFYpp5Y5qUl6hAZwHHO+nCYVax55HbEqYfaLn +-60RKhJrNVumczxxRf+/iw7cN4Mka7fUES7KkL+0tfpmjfDM5hakDzJJGRh4l4pRI +-R87tWJHrHoew1kSU00Ul0PYbYmLpI2Np19eq74Z/WEkaDyMym7KSBPaH2A/jZPm0 +-oQ== ++MIIDpjCCAo6gAwIBAgIBBDANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp ++ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTAwMDcxNzIzMDAwMFoXDTAxMDcx ++NzIzMDAwMFowYjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW ++B0VYQU1QTEUxDzANBgNVBAMMBkNsaWVudDEhMB8GCSqGSIb3DQEJARYSY2xpZW50 ++QGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2Ii ++OkMIS/3K6Izsjd2VgCRka7M7nqdS9290M3YHR9iW9XCk/8fKHoefN8rEp1ywUIio ++B3GkNHKP6yOQ7b5RBpOtUTnK+HNtvY+jO+u1pnDVfO7CKwtdBU2ELk4F7EQ/rqHJ ++tnSDolUaTFJC8l54MCNP+wDFzr4vlp7U8boN4WCzRxsWl4yIGHM5MgizJ5eFUEoR ++0KhuIVSW/ubU+edKkj7gh4s2mUzP/BhoCrgN05AgJoY47bJ3TWxnyZQvi9mqqk7w ++B7uw6voeZfxfkV1ezDEa57lzSMHlKRrPOmhiilyCMmI4TdmiEUa7JtOaTvgjHz6w ++2nNJ7r2HNh17UbyZVQIDAQABo0IwQDAdBgNVHQ4EFgQU94PBIyM+s0cqSJLrii1u ++QoQNWpIwHwYDVR0jBBgwFoAU1RnvyXcejbg4GWNyAAafxgvB1X8wDQYJKoZIhvcN ++AQELBQADggEBAGVknQfgF2GMcVYQC7J9L8kc8QGUc20H3gcSjXYmJ+lbClbCS5xk ++22+uks4WCi5EqjqAsVocO5MqM+qcKhWLOU6ocMvsrwOIr+7Z4939V1+kVmzOSwq8 ++i4nR1grDH2CYbtRYtxU5LuZdcDzWdlyktB3c5UPMoPkayFPuk47ews6HIDOd6Qi9 ++byJtWJG8KUoDEuS7uY090cnBmicy/rJ8HN8K7Kr2sW+rsSM2YWkXTPk8bLSDm5h9 +++Puy/apDuP8EG3U5NPA/mJ6He5NSEd4IIU5YfyWtm/gKFB9EyF97sBvMDD67C3FD ++Hx7kxEImKxdo6B9MAhSfr56dJAq/0loT41Q= + -----END CERTIFICATE----- + + server.pem: + -----BEGIN CERTIFICATE----- +-MIIDlDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++MIID2DCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk + ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp + ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq +-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMTIxNTIzMjAwNFoXDTQ2MTIw +-OTIzMjAwNFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW +-B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZI +-hvcNAQEBBQADggEPADCCAQoCggEBALHpg/Tl52dVofqqwEtQhuFq9+Jd+/XW3Svd +-RvqZNVrnjL7UzqZ2r/bQ3peoVxeo1eKbv07EuHsL6MNR1elhhlfs70EgaGjATOiX +-lIzrqOaGV+nVehvWVGnKDobj1i8vZ6IHuf4Zf7pfLTOZpwKAwaxrnbRM501g7WNz +-JKutkoGvXRm0y1jvVWfnEO6CQ0OSxrFQc4MAaSlBfASUHZfC2XwWfZnUT/q9PVp3 +-1OjeSlFPGvkyKxd74faOyhFQFRPK8sGNEy4MRuAFaPn8PyFVdU1FrDdJhexLmX9+ +-JzO+nUYtsYq1+DDLZugKWYaMwH3Ku4fAMwPzkuL8WoJAcWrQQEUCAwEAAaNHMEUw +-CQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEK +-ghJzZXJ2ZXIuZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAApNqCn6XQjg +-N2/HN8H+6JaWePIg0WiXoMTVB+wGxGO2FNMxHJNkpRHdqGxyl79dGMpSiwEdt2T+ +-TfLyEYixxHxH0Wf74lVZ1/NEy/WNHHV+/kylo9b5P1odvvzwyipgi/+wYGHl1LrI +-X2V3sIFjF3WKoVNpdSpPux4IWO4ssUp/dQTE7qHkAJKR5rz6eJheoJDKarhHDodo +-Q4snW8JO9oHAz4l02TuEsHUtttdH9L5fbwaQQkxpBO1UXKTD/0H/H+Ta21y8Uxh4 +-8no49oumb2FPcPvJUHDSYXybgq16p0H/mNXBXWyrgxIA4MFNqJfW+3qryTxYnHRZ +-GF6jub4BTMc= ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjBLMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB ++GRYHRVhBTVBMRTEbMBkGA1UEAwwSc2VydmVyLmV4YW1wbGUuY29tMIIBIjANBgkq ++hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0AW8OlH4KfUVofBeW+RG4YqCY5JSpuYQ ++MYR+ucalGr+OIdmtOWspfkYoAit/nveIAwx9ptuEHKBpfUMd3YQtHxTAGgf4T/KZ ++cJPgTn6elXB45Wd6VUTRexBwHzG+tW4ts3uhsm9vhXKZWo3on9SMyss9OeymtBmH ++hx5QfmakspPevW67OchV/LL1dnQEGpLy5v2a66LHDN472P9il2dBw220lXiJcQrt ++WBP1YOdZ27FrqxJbPrXdqngxovKSYWp9yvq00aRjXnlyFkSw65RhOSH73rEBbD/f ++Tl2uGgts5G9B0rrJnkAN565/axC9Q80YYyXnJfXkEMgFuy/BbQVMYQIDAQABo4GI ++MIGFMAkGA1UdEwQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwIwYDVR0RBBwwGocE ++wKgBCoISc2VydmVyLmV4YW1wbGUuY29tMB0GA1UdDgQWBBRmQGwgI9sYVjm4DX6f ++GOtvpl8fFjAfBgNVHSMEGDAWgBTVGe/Jdx6NuDgZY3IABp/GC8HVfzANBgkqhkiG ++9w0BAQsFAAOCAQEASryUiaas1DcoO/90531NTN0/Y57DJ8LkEe4CoTF9ZZGWUF0M ++7lAQ99av0ZzPvEKZmEqcFor2e3Kd+7iGOB4upY+ewHIX1lCmFfPAibQ1y+gPU0m5 ++dcEPHMqulEoS3gk4v8h1RZwgtn5LJ5sfGXeH2xQ3ZYdDW+QKeSs7bibIQocxhbLV ++X1tB3Wprgr62lfnUa7o4LO1dpGfZWT8KPyvUfEXu1Da7jUt2loOGLvt4HtrUds3C ++ptlNNdh2O3uTrbZQCpn4NOdjRjemhNfP4L1kvk9KtzSereVbzIybK2G3OIqCg1mN ++Bmjwkx6t3AjGii6iSeTy/1UJQvVbq/tgVcAHig== + -----END CERTIFICATE----- + + server-self.pem: + -----BEGIN CERTIFICATE----- +-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 ++eKpdhHu657xSFs00t8lX/dRB7zy9WfxcgMZ8 + -----END CERTIFICATE----- +diff --git a/tls/tests/files/old-ca-key.pem b/tls/tests/files/old-ca-key.pem +index 2cdd5ef..5506afa 100644 +--- a/tls/tests/files/old-ca-key.pem ++++ b/tls/tests/files/old-ca-key.pem +@@ -1,27 +1,28 @@ +------BEGIN RSA PRIVATE KEY----- +-MIIEowIBAAKCAQEA13j8Qz0nNLwdkmslszXjA94VglvHcuuG3gA6HzxLj4Hm6Rbt +-tdFCFKvuNh0XtGz4FMebqHwo8w9ACV0LGklytxqR1HWMFJlDq/UGZE7HATGCcHxL +-8Gtg/T7VAyIlObNwNOwlKYJvxLA8cYGQ4DaClBxfdD/UhGVGPvfGSZmAonum0pEZ +-Wt5MKqs9V88/dOk5nEX0heMoACaEjtbsjVq7cmNEyRlclzdfKagozD6jTcnBehLH +-/2YYxl3A0w+1QMUiSMy/WzOYP+iuNHr2tBhGk6hWVV5JAD1jU6ap70aLhxB9wZOS +-QjUcHTPRmw89J6l4Yj2kUnsrxy00VrNVLLDG6QIDAQABAoIBAD5umsEsvehkvTjI +-fPLxISbkuVy9FQwyPDCk5jJYuRgKropJD3VH/ZqZunrJcS3hCPyUXYCzAPZ0K7zK +-zcW/FFMDis+Bg6YQRnBTnZeAz96DpuTKzwIJSt/1zaiLwzd1y4Q6DAZ7+cCGw+yr +-evvML4eUtP+s4vm9kl36UuTOalwpaZ6RfQsOu95oDTgn0l4zOt7R47c/1NnfhPab +-7P0xa1MIExuLCH9e4pB9byOn7rH9lMwrrgP1ST1O31BdsWxoHgGa1QfKpGBE8DZM +-BQAek7E0qKXntwRur9uAULCvA5LcjHRCrW3IyKyS4JnhW5XDQRbRd1BtdV95ID+x +-ePPmajUCgYEA8rU3PR0LvgCMFuhzGrP6sWGvU3a+pS5aObjrxDrdm/mFOHC3tNAo +-rnQwb7aPIodQJwgH05Mg9SATO8Ck8nxGfWkmfNXbl1gN4JPULJQFO4YX0r4Pe+M6 +-f5xz7X0WDpjhwEYbFQCSRA+GRzoGIRiwVwROK17UpYrNS5UfFQUH76sCgYEA40Xt +-yNIfMtbLLdHvn762djCg+cdp6ZDhMNrlDkmxfdYj8qeYx9g201Z2sJ37gcYiXhCz +-M4VsJurlmjwTIkvJotCQ2y1GCz9HJcC7/e7KsMirW46RIZYbI4jRzTeP+VNmYzMI +-aIrntvcMa8CbPh/lBJixmqgrsnumaFxkC6qdH7sCgYEAjlx/ByjHX25gvXshMPOK +-w4rh1RocnzT+FUeDezlwDXIhk0aCatuCUTmzw4MYmA84k3xhYte1CDMFNRI9bkI4 +-8oy/1491W2N52FW9qVw1aYGw7Zsv5+ITyRBS62Voj61bFXXJotsP8D4O7C57s+QQ +-YyoSU9wu7N7qpj/U2HZ3/jsCgYB2qcpPcjZL6w5GrDg65e6KozVJdS79fmG1inTS +-EvQTSb2XMp54qZFmotxxturchUDocDvAiMdBQqAC+Z7b50ouMkuPxIGv2agiNBFz +-sjwuNXgS48svCBq/YO56AaqweTUaUkjvnKcDRtY7ZGMp+qkuzzLcFzZJiHoIP0UV +-Ok2zhQKBgChfqej++G+h9zYypzFOtAXVeoMbG/dJCuv9jO9Ja3SUgfpG9qAMenJf +-OA0Fl8uK9+nf98paX0J+Vz2nJN2x9c90wBpQlvVgCKK0GDez/r30r6Btv07HTyem +-uRBK8mTJZ+A16THIj232JGqFdzW8Xq7qSu8X80aTshnbGL4o9jj5 +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD65Fu9V7GACUDt ++Nh5jhAb22kYyR767TTxJq61GUG6w7PeWltnPNFAoNQqijYFHVpe05CVQjZjEd78R ++6Ms1Rxj+tldf084iommFhAttuqiSDsSxBTkdeltgiDBWdZbc7SEt+XXVLOXz+HfE ++lzM8FsjQQbb+YlF7spuMYj1AgMTuvonzuszxJ5ac5RxEvJ6nSRSNQJ/oYjGUqLlc ++iiUB9PnQFlxT9LneqPsfpSSazdSUKroJo0XMpOqgzSm7EdWcIclImrxcr9X5zL6i ++tmurjIPpRmM/fKdmr0aWsziTUFV0dRXMQyKJGVaiEq9H0qXTIddP++YhmATUV5m0 ++fFOjN9GLAgMBAAECggEABBoas+BMqyK7mIVDfu4ILR4JesX4hNhw7WVsqlMjVCoz ++rBcgTYZ17wpa96hnnjJ4vYDjaUs/Xar1iUXsmJzmeDej+xGb864DGqc7hppAKk8q ++gRhsRCKdftkLLUaz5j3MRpOnDQq0YcZEswaj1E4tD1abttIFsgeMCoIKrVTNo3ea ++wUmSTug+ed+kPDUmeDq1pb3thGM7pF9UcGH/g9LNrdxLzHXhREPTQ/isAxX4H0Fa ++GheC8xn7PU7Icl2W7Dw3cqTCN7kZx4dQnSlKpfcfuz3WnnP0Wxl575PTyCgdtr+c ++xfDEAika2cbSjiSqwjawztX+IDO8ROx40EBjkgvjfQKBgQD9k+ofl4gW30TM/Wh3 ++MsQ3RC3J7sW/o4xlHcBw2wcdU3F7W/viYw731Nw1CFWNZSWhQIhKYsbwC4fx4h2h ++fzCbm9K3DA1ddXFZJ9c8lgurGlHv517A7xC+E6i2M3NpNGK4ZYO4R2ZNdmKKna23 ++JbA27rHNrqhgT1cuGuJJJ2ZdNwKBgQD9SeBNqzNqsBlqMWAtVl9iQSvcOyJZ58yx +++DPtS8QM1Bf/uknmYWsO7Z8/qtgIxchyJ3NfInKBBkXfxVqhVxXO+kK87Whpyu9A ++kqqq5rrbWWQO7eaEYPZTssL8tDmnWt87OTmDmXl0O+SgMXAYZalKAUrSR7mnd822 ++kRJg3iR4TQKBgAnM/r6L18myhXE61h/NSYItU2u7m88FXjbGSJrUDFlY0UkITBr6 ++4yg3BO/Ty6K0ZxjtapcdbDz45R83Mxf714AcLK/Aen/DO0dL3+jKj9bkJIiWM7ZX ++RxlhnyKzqGFHkg04dzfXIqAZ1EMxRvaOMVpeLWcaug1G48K3bUmQiUdPAoGAFowf ++BYr59sNaX9OpZh/MOejnSKGS+0HhPO6FYNhfyWyP/lnM/k8pwphwlrBUruM8Zr0Q ++TiW437d5PORKnxYrgNNSYZMYumIwTiVAQBpuA9y/RXz0ClC/XNAK/4fjofw65wC/ ++F/Hvl+NFBOWhvuo92bKnwHRWGIxXqarcYfckc/kCgYEAtSlXVVXmgatik3PL9mag ++SagnYrmjd/HhyCOg59ATWqsUMzFo8zkM2E7yuvfhmPCLRacvaJGGX87OLRJeb+af ++wzhCiw56OnP0EE+FICFj1aN9m33U/E1ZpnrIcHsrzU2YIVuMpvKfhFFsRIAy+gxh ++RMZ8pytUN+XjzzB583IkgtA= ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/old-ca.pem b/tls/tests/files/old-ca.pem +index f38b491..da006b6 100644 +--- a/tls/tests/files/old-ca.pem ++++ b/tls/tests/files/old-ca.pem +@@ -1,30 +1,30 @@ + -----BEGIN CERTIFICATE----- +-MIIFLjCCBBagAwIBAgIUDC99Qdqjkm3ReQ5gR30oDqs3mhIwDQYJKoZIhvcNAQEL ++MIIFLjCCBBagAwIBAgIUe1Y5fmqjhV9DJfXpTCYWjhhJZPQwDQYJKoZIhvcNAQEL + BQAwgZ8xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN + UExFMSwwKgYDVQQLDCNPbGQgVW50cnVzdGVkIENlcnRpZmljYXRlIEF1dGhvcml0 + eTEiMCAGA1UEAwwZb25jZS53YXMuYS5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3 +-DQEJARYOY2FAZXhhbXBsZS5jb20wIBcNMjExMjE1MjMyMDA0WhgPMjA1MTEyMDgy +-MzIwMDRaMIGfMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH ++DQEJARYOY2FAZXhhbXBsZS5jb20wIBcNMjYwNTI5MjE0OTM3WhgPMjA1NjA1MjEy ++MTQ5MzdaMIGfMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH + RVhBTVBMRTEsMCoGA1UECwwjT2xkIFVudHJ1c3RlZCBDZXJ0aWZpY2F0ZSBBdXRo + b3JpdHkxIjAgBgNVBAMMGW9uY2Uud2FzLmEuY2EuZXhhbXBsZS5jb20xHTAbBgkq + hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +-MIIBCgKCAQEA13j8Qz0nNLwdkmslszXjA94VglvHcuuG3gA6HzxLj4Hm6RbttdFC +-FKvuNh0XtGz4FMebqHwo8w9ACV0LGklytxqR1HWMFJlDq/UGZE7HATGCcHxL8Gtg +-/T7VAyIlObNwNOwlKYJvxLA8cYGQ4DaClBxfdD/UhGVGPvfGSZmAonum0pEZWt5M +-Kqs9V88/dOk5nEX0heMoACaEjtbsjVq7cmNEyRlclzdfKagozD6jTcnBehLH/2YY +-xl3A0w+1QMUiSMy/WzOYP+iuNHr2tBhGk6hWVV5JAD1jU6ap70aLhxB9wZOSQjUc +-HTPRmw89J6l4Yj2kUnsrxy00VrNVLLDG6QIDAQABo4IBXDCCAVgwHQYDVR0OBBYE +-FA9u4IW4IjXiNIU4wBUETzozMwa8MIHfBgNVHSMEgdcwgdSAFA9u4IW4IjXiNIU4 +-wBUETzozMwa8oYGlpIGiMIGfMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZIm ++MIIBCgKCAQEA+uRbvVexgAlA7TYeY4QG9tpGMke+u008SautRlBusOz3lpbZzzRQ ++KDUKoo2BR1aXtOQlUI2YxHe/EejLNUcY/rZXX9POIqJphYQLbbqokg7EsQU5HXpb ++YIgwVnWW3O0hLfl11Szl8/h3xJczPBbI0EG2/mJRe7KbjGI9QIDE7r6J87rM8SeW ++nOUcRLyep0kUjUCf6GIxlKi5XIolAfT50BZcU/S53qj7H6Ukms3UlCq6CaNFzKTq ++oM0puxHVnCHJSJq8XK/V+cy+orZrq4yD6UZjP3ynZq9GlrM4k1BVdHUVzEMiiRlW ++ohKvR9Kl0yHXT/vmIZgE1FeZtHxTozfRiwIDAQABo4IBXDCCAVgwHQYDVR0OBBYE ++FMQjq0NYUFuFurVb8A80cwcMCxzHMIHfBgNVHSMEgdcwgdSAFMQjq0NYUFuFurVb ++8A80cwcMCxzHoYGlpIGiMIGfMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZIm + iZPyLGQBGRYHRVhBTVBMRTEsMCoGA1UECwwjT2xkIFVudHJ1c3RlZCBDZXJ0aWZp + Y2F0ZSBBdXRob3JpdHkxIjAgBgNVBAMMGW9uY2Uud2FzLmEuY2EuZXhhbXBsZS5j +-b20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghQML31B2qOSbdF5DmBH +-fSgOqzeaEjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAZBgNVHREE ++b20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghR7Vjl+aqOFX0Ml9elM ++JhaOGElk9DAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAZBgNVHREE + EjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFtcGxlLmNvbTAN +-BgkqhkiG9w0BAQsFAAOCAQEAFYEIYBdnPsPe4xKRH9a8Qc9dtYegotdW5xW5sRAr +-fajrP1OislE72cNMElFh6dsc1ncHorXNkTOCQv8KpVdRtcMvk7PM9V9tvjfp14CD +-g6J2zoDun0jnX0Q7Z6aO4NK71EmBvU0AkDKkFmr0AMF+FFE0tk9VI7lZQcSKLTHB +-JNqMOgN0xo55JmecRpNfiHOhKxhDnQcZS7PbnQo20ruAk7oyRkZromPrVRuJz/kC +-QYH3ATmwKm+1x1mUXqTXqKNKQRKSnmqv4v0Tmm4/oTdKFOCrIi0Eyd4eWSjgCyA8 +-CPCrdxIWJi1l962NVZQTc+kuShTVgsbOogIAOuyOhYQffg== ++BgkqhkiG9w0BAQsFAAOCAQEAPvrc/k8GMqHCKXvyETTBINUp/bfC6s1wqwjEQtwu ++cjVixwiEukvd/orZrrcLI9ivI2a4a5UlRn3iq5NrQ9tD4bk72McShxdvI/9nhFRk ++iiu7+DbtWz7GT+omJRBIHNdU8+vCubQ9WADWO6GcNnoJi7+pIRXXyvHwW5UmQljP ++aY1KsPU3ouOXckH4AgaeywSwto8XOBHdPsOyXR9aDSmsidTn4okPOhonploMNP5W ++BD6apQo+pRJouoAf8gqMNZYh70nsLkkInMNNmWwFW5YtSl5TyHSEtxsiJXt9KW81 ++/gAGOJPNyaEBAFxhwBAzDHjslXAfg4x+ZMQ7IhKoajNLhg== + -----END CERTIFICATE----- +diff --git a/tls/tests/files/root-ca-csr.pem b/tls/tests/files/root-ca-csr.pem +index 182166d..acda04a 100644 +--- a/tls/tests/files/root-ca-csr.pem ++++ b/tls/tests/files/root-ca-csr.pem +@@ -2,18 +2,18 @@ + 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 + -----END CERTIFICATE REQUEST----- +diff --git a/tls/tests/files/server-and-key.pem b/tls/tests/files/server-and-key.pem +index f27bb18..46d6982 100644 +--- a/tls/tests/files/server-and-key.pem ++++ b/tls/tests/files/server-and-key.pem +@@ -1,49 +1,51 @@ + -----BEGIN CERTIFICATE----- +-MIIDlDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++MIID2DCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk + ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp + ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq +-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMTIxNTIzMjAwNFoXDTQ2MTIw +-OTIzMjAwNFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW +-B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZI +-hvcNAQEBBQADggEPADCCAQoCggEBALHpg/Tl52dVofqqwEtQhuFq9+Jd+/XW3Svd +-RvqZNVrnjL7UzqZ2r/bQ3peoVxeo1eKbv07EuHsL6MNR1elhhlfs70EgaGjATOiX +-lIzrqOaGV+nVehvWVGnKDobj1i8vZ6IHuf4Zf7pfLTOZpwKAwaxrnbRM501g7WNz +-JKutkoGvXRm0y1jvVWfnEO6CQ0OSxrFQc4MAaSlBfASUHZfC2XwWfZnUT/q9PVp3 +-1OjeSlFPGvkyKxd74faOyhFQFRPK8sGNEy4MRuAFaPn8PyFVdU1FrDdJhexLmX9+ +-JzO+nUYtsYq1+DDLZugKWYaMwH3Ku4fAMwPzkuL8WoJAcWrQQEUCAwEAAaNHMEUw +-CQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEK +-ghJzZXJ2ZXIuZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAApNqCn6XQjg +-N2/HN8H+6JaWePIg0WiXoMTVB+wGxGO2FNMxHJNkpRHdqGxyl79dGMpSiwEdt2T+ +-TfLyEYixxHxH0Wf74lVZ1/NEy/WNHHV+/kylo9b5P1odvvzwyipgi/+wYGHl1LrI +-X2V3sIFjF3WKoVNpdSpPux4IWO4ssUp/dQTE7qHkAJKR5rz6eJheoJDKarhHDodo +-Q4snW8JO9oHAz4l02TuEsHUtttdH9L5fbwaQQkxpBO1UXKTD/0H/H+Ta21y8Uxh4 +-8no49oumb2FPcPvJUHDSYXybgq16p0H/mNXBXWyrgxIA4MFNqJfW+3qryTxYnHRZ +-GF6jub4BTMc= ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjBLMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB ++GRYHRVhBTVBMRTEbMBkGA1UEAwwSc2VydmVyLmV4YW1wbGUuY29tMIIBIjANBgkq ++hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0AW8OlH4KfUVofBeW+RG4YqCY5JSpuYQ ++MYR+ucalGr+OIdmtOWspfkYoAit/nveIAwx9ptuEHKBpfUMd3YQtHxTAGgf4T/KZ ++cJPgTn6elXB45Wd6VUTRexBwHzG+tW4ts3uhsm9vhXKZWo3on9SMyss9OeymtBmH ++hx5QfmakspPevW67OchV/LL1dnQEGpLy5v2a66LHDN472P9il2dBw220lXiJcQrt ++WBP1YOdZ27FrqxJbPrXdqngxovKSYWp9yvq00aRjXnlyFkSw65RhOSH73rEBbD/f ++Tl2uGgts5G9B0rrJnkAN565/axC9Q80YYyXnJfXkEMgFuy/BbQVMYQIDAQABo4GI ++MIGFMAkGA1UdEwQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwIwYDVR0RBBwwGocE ++wKgBCoISc2VydmVyLmV4YW1wbGUuY29tMB0GA1UdDgQWBBRmQGwgI9sYVjm4DX6f ++GOtvpl8fFjAfBgNVHSMEGDAWgBTVGe/Jdx6NuDgZY3IABp/GC8HVfzANBgkqhkiG ++9w0BAQsFAAOCAQEASryUiaas1DcoO/90531NTN0/Y57DJ8LkEe4CoTF9ZZGWUF0M ++7lAQ99av0ZzPvEKZmEqcFor2e3Kd+7iGOB4upY+ewHIX1lCmFfPAibQ1y+gPU0m5 ++dcEPHMqulEoS3gk4v8h1RZwgtn5LJ5sfGXeH2xQ3ZYdDW+QKeSs7bibIQocxhbLV ++X1tB3Wprgr62lfnUa7o4LO1dpGfZWT8KPyvUfEXu1Da7jUt2loOGLvt4HtrUds3C ++ptlNNdh2O3uTrbZQCpn4NOdjRjemhNfP4L1kvk9KtzSereVbzIybK2G3OIqCg1mN ++Bmjwkx6t3AjGii6iSeTy/1UJQvVbq/tgVcAHig== + -----END CERTIFICATE----- +------BEGIN RSA PRIVATE KEY----- +-MIIEpQIBAAKCAQEAsemD9OXnZ1Wh+qrAS1CG4Wr34l379dbdK91G+pk1WueMvtTO +-pnav9tDel6hXF6jV4pu/TsS4ewvow1HV6WGGV+zvQSBoaMBM6JeUjOuo5oZX6dV6 +-G9ZUacoOhuPWLy9noge5/hl/ul8tM5mnAoDBrGudtEznTWDtY3Mkq62Sga9dGbTL +-WO9VZ+cQ7oJDQ5LGsVBzgwBpKUF8BJQdl8LZfBZ9mdRP+r09WnfU6N5KUU8a+TIr +-F3vh9o7KEVAVE8rywY0TLgxG4AVo+fw/IVV1TUWsN0mF7EuZf34nM76dRi2xirX4 +-MMtm6ApZhozAfcq7h8AzA/OS4vxagkBxatBARQIDAQABAoIBAQCHz2Y30DhxHWFk +-5GueEn6kHO/VEUGBTN/Q2D2Sltmv5wn9sp19XSS+GHuS8aJqISwErDfBfVIGO/UX +-BKVyXkwbWnbZFFAfhowvEWcIm+x27R63FYr9LQOLLf8g4VNi+aD2g0drvTNPpc/v +-j995fahaYlwkgoAfBVqxi/f2Ra2M6HaeRzH+56scycBRGpyUdNqueaBHh2R3dayu +-VZdwidl5oJDJRVEO8jxAs1rzYnkPvKeIVhvYVzdUEnYJ+4FWGwvbk00WG+K1OOju +-FkRH3jzT5sfiLQ440zeHcYNlT81YaZrdoNbR9H328zal5VTEcESHeXVcCBdh4fMa +-ghtKgLKBAoGBAOIfryjVa7AM5gf4UwQzStI7wIAg61FAT416pKQTH8vdShIjmcqE +-isMzyTNc3MY+ToVgeH0J3Epswt6tYbPjKF5Y2kDjUDDfsDClMxtS0c+6civv4UBn +-x3K2yjuaYJscmlw8LviqXuAIui4hBaLHysD9S3LgPnaAB0lF91PO3sQdAoGBAMlr +-JHBF77WgKa4L2IM1R+XeXBHAphJzYh5/Hc5uYYsoEg/V04176Vjf7KcJ9kbCeGP0 +-jypyzd99I0nz5iJiXyV0wkBYE0HcFcbrj6Gyn4q1Nx9gQFXcxOmCD4Ci81qQnpg4 +-6gCOADUva8X9YkzMy+wXZGmSBoRrA9xsoEguO2RJAoGBANIkUdrn5AkbI5eajkPk +-Cw+vmek5Lpc25fd8V49nenAx+ck7rovHe1GHSd9i2IWfl8dZ7P9+72t3Ae6BQMA1 +-RenQNxyAY6DX8Nx0Wjd1Uyjyg3ITnskE6RTRjMWxZUAhZ85528kaQ8t+MM/3vk4V +-0HZjrv9WKJZlyt+slvoa0Wl9AoGAby279Fk2QswAlbimL26mnCTML2RmhwK3o1vJ +-SRw2rYhVx/Xgi1VdbZhU2bMvBMntiEcDC4xJRVaetwBxBIPGPzeezcOQBaeFQcLf +-CoM9e2Qh5CjN+lcdPkNzaS8JIvF3CVFJITtAtBrT43rE2t2kplIXNArNnCQyAmbX +-ZmBWmjkCgYEA1B72Ec7Kip7kEHSlS/Np2vr2UrWBUdYA8Nh0/y9II1KNpc7oCRUI +-eI/81eFipGMLS0cZnpxg9ip56awoZsYI/Dy6zw8b3lyqwicYDAgGabRhonk+/wDF +-nuZFSlg2i0I2oiI3uiqd2k7SVEZ4v+cAtkEv49ZLdQr0wo7WgyxTKcE= +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQBbw6Ufgp9RWh ++8F5b5EbhioJjklKm5hAxhH65xqUav44h2a05ayl+RigCK3+e94gDDH2m24QcoGl9 ++Qx3dhC0fFMAaB/hP8plwk+BOfp6VcHjlZ3pVRNF7EHAfMb61bi2ze6Gyb2+Fcpla ++jeif1IzKyz057Ka0GYeHHlB+ZqSyk969brs5yFX8svV2dAQakvLm/ZrroscM3jvY ++/2KXZ0HDbbSVeIlxCu1YE/Vg51nbsWurEls+td2qeDGi8pJhan3K+rTRpGNeeXIW ++RLDrlGE5IfvesQFsP99OXa4aC2zkb0HSusmeQA3nrn9rEL1DzRhjJecl9eQQyAW7 ++L8FtBUxhAgMBAAECggEAS24I9szKQ8yO742NaZy45wemiByCw+ogbRQyL4MMU0qq ++azPXUD6/aP5fe4nyWN5A/3oEBgELQqYYGkfACJbpFaAcmFPTgonhgaTdbRkUv/Ns ++oyKGhWzS2OD5BxaupHMzNyXZWC54LdeELAXRGEOmWdKgfOSG/j9TmXcwkOT/S5ET ++dI5eiI32VTfnou3MCkI3iN3Ps7w/ziTRN+v+TCcmhislodW1sbyoqMQhFwM+CcyZ ++aQ7Nk6uy3NkxrqfDXYvAmCWe1TpH1Za29hHrZzaWj9GW0bgCp4fTVQT3OCtyd8Zt ++BMS82D7UAxHH99JGCKd0QHK7DEfaqRSWhJNh87QIkQKBgQDvx1JHoGDCX6EZm6Np ++77iP6p4TUn+mJgYQX839OjH6p7kccaLg1nnAs+ofe6aOsF426DYb4QwPD5bJe66q ++nk1lyGvXXHii/M5l5i3/gGyCf6UyUsbza/2uQUsH0CZI3u7gAeMhY1gKEdIUdWZW ++5HZKQchbSU33qVPmbPZWibWNUwKBgQDeGG887ds+QqRbXyxPRpQ3WFtM+oWjWokQ ++D1mTS//cJMeOZBbnDDbUw718fgFEXwxUt2VgN5nLENF6rxISMS0OqRQcje+V+2Mf ++swflrM3Vx2dt247UDKRSF6B1HDvPZn0DMq6IEvcM/kKughKzpSEl3Qj3H+OHY+Kc ++QVHdmrnU+wKBgQCJKeqFktcHGhFcRs46YamgmkQHJaBj+UhqwYNiopHIo32fKdpU ++6BwKAmGh1Og4o+ehXUDmvdxaGT7Wz2vhqmD4IqieMAXKpvejDwOtL1fjZwWnPfcV ++dOdPcYZsV8Qu12iquCmoBd5tFDiq/2Wlu1d3rx3gKpTxYene3OImKuyyhQKBgF4V ++tdH25WDbtGqsx8WRnapQeOUEX+aSrOurxQOcN3iX8B3HEtiwGO5LOZNqgbjoFv4w ++bvaytykKJ+O0FJC2WmMSh12NV0iPJS/BlP/cE5qTjaJBV6FG9bl9HtFds4yp2x2m ++s78bYaMUd0Ub/zYxJvi2SVz/GlE5pD8TgM3DBSRPAoGBANoOtGpdb/p2kUt9gslj ++RIlFsxZklC7xDbzcWRM/Ugxgswc4HgYGf8mGJRIwd7YDyzmXB6tqxd3jwkaPfXEV ++/4ZguarDmDKfCA++nuLOR7UZEe6VHR4u5ULYngG8Z6T/A4vn/4qB146teXaeRfsX ++6sddHo0OWebUn1tloTYoE+IK ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/server-csr.pem b/tls/tests/files/server-csr.pem +index 892daaa..abf2925 100644 +--- a/tls/tests/files/server-csr.pem ++++ b/tls/tests/files/server-csr.pem +@@ -1,17 +1,17 @@ + -----BEGIN CERTIFICATE REQUEST----- + MIICwTCCAakCAQAwSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixk + ARkWB0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJ +-KoZIhvcNAQEBBQADggEPADCCAQoCggEBALHpg/Tl52dVofqqwEtQhuFq9+Jd+/XW +-3SvdRvqZNVrnjL7UzqZ2r/bQ3peoVxeo1eKbv07EuHsL6MNR1elhhlfs70EgaGjA +-TOiXlIzrqOaGV+nVehvWVGnKDobj1i8vZ6IHuf4Zf7pfLTOZpwKAwaxrnbRM501g +-7WNzJKutkoGvXRm0y1jvVWfnEO6CQ0OSxrFQc4MAaSlBfASUHZfC2XwWfZnUT/q9 +-PVp31OjeSlFPGvkyKxd74faOyhFQFRPK8sGNEy4MRuAFaPn8PyFVdU1FrDdJhexL +-mX9+JzO+nUYtsYq1+DDLZugKWYaMwH3Ku4fAMwPzkuL8WoJAcWrQQEUCAwEAAaAx ++KoZIhvcNAQEBBQADggEPADCCAQoCggEBANAFvDpR+Cn1FaHwXlvkRuGKgmOSUqbm ++EDGEfrnGpRq/jiHZrTlrKX5GKAIrf573iAMMfabbhBygaX1DHd2ELR8UwBoH+E/y ++mXCT4E5+npVweOVnelVE0XsQcB8xvrVuLbN7obJvb4VymVqN6J/UjMrLPTnsprQZ ++h4ceUH5mpLKT3r1uuznIVfyy9XZ0BBqS8ub9muuixwzeO9j/YpdnQcNttJV4iXEK ++7VgT9WDnWduxa6sSWz613ap4MaLykmFqfcr6tNGkY155chZEsOuUYTkh+96xAWw/ ++305drhoLbORvQdK6yZ5ADeeuf2sQvUPNGGMl5yX15BDIBbsvwW0FTGECAwEAAaAx + MC8GCSqGSIb3DQEJDjEiMCAwCQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcD +-ATANBgkqhkiG9w0BAQsFAAOCAQEAhSx0p/Yo4YshMf40aDv3dOI7kLUyYNTAlzpo +-EswG2HVjU1eF82BDJ4nis4PdBv3+faK2jVQNV87ikLMxP5kUiDZVP3QVUMJLA8TT +-JYpMWyMXA+HjneOUNpPLbEVYOu/ruQJ08FPUHJrPyu5Hd8F7GcAhsHLMAVfmbSvs +-yrlArU1Rjm9q36OH9dvRb3bhe6MVVxk9Dkv6dD5I4USkBmNzsFE+CbrFoPPVc9o8 +-O/jTY6Hwg/S6iVtVj1S8VfOviF9T23wHtgsjkpMMr+FMwciva96LlepCS54wXGiX +-eyShajp/6dbcQeSrMEz0Do9dDCjPTst8O2eoaF3/dl05+qp5ww== ++ATANBgkqhkiG9w0BAQsFAAOCAQEAawzma6iE/gEE5yU+Y0bjilkSCZqF9TUGaEbB ++DY97KHCOFyYPz894ciHjkLqxo84zVHqNxEfaDu6I0kBsbxTC86Y+lV+Mu3AlysUT ++Yo3DvNv1qU+LmFqHHcmdzPRVBKZkJdn9o4RKnZNVczARvvn4aEyyDBUcGK3K6GMf ++dZ1sML2uNq3cJcLXmdA/OLEZ7iZcEb10byWqsMoFHOrpnHIhBiE1hcJoQF+pgE+x ++2WXZnRc2LxUgzFMx3+0HNULvoKZrA+MY8g7Oe7G6GqfA2FRfKauqzBu4amZE7faI ++scezCj6bgihG08xkaCtmvA0INtZ4oDtzxJY8uAIFYgvgFbVffg== + -----END CERTIFICATE REQUEST----- +diff --git a/tls/tests/files/server-intermediate-csr.pem b/tls/tests/files/server-intermediate-csr.pem +index f533644..6e18e38 100644 +--- a/tls/tests/files/server-intermediate-csr.pem ++++ b/tls/tests/files/server-intermediate-csr.pem +@@ -1,17 +1,17 @@ + -----BEGIN CERTIFICATE REQUEST----- + MIICwTCCAakCAQAwSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixk + ARkWB0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJ +-KoZIhvcNAQEBBQADggEPADCCAQoCggEBAO9xlq1UYoCohgHoTqJnelmNo5UlVhnC +-hFwGZupCakXpq3ryKBPVW2oANk2oOZf9vsJEnXs2LXB6kMaCFUUDgw+bR6+OCk2r +-cmQOsJkXCjzxWBWWUNd8YEbiptn1RGohS/6vlw2OPTyS4gLX1VV8YMos4u3Pikdm +-tZZuLHniYFGDDNynzZAHzcrsuKZzkpkGWqpXjDkZ6eH4gd5WGFivJKMmbNB/e7K+ +-ShZ+wDfnbDCxlBmfr/6zdoZt2Zc2K6T4bVdR2u40DTcfRCZqer9GCnKvqzeBAJoC +-3WQbUIGwFjq0kiZGtdthOKZVQ59aWlBMXT5+GuWRqPY7zBZIig2skw8CAwEAAaAx ++KoZIhvcNAQEBBQADggEPADCCAQoCggEBANJ6gas59ThKL36Rqu5KDOdB+8nCICX3 ++GgGB53oyjaDLcynIcKcAujzFdmgkQjyL+tisc08Fh0ysF2ENQU4h3Fujr9meroiy ++qtha6TIS2bPnn0l54Nz9ZlO+gV47XfYu03dvkVZIjOPp/urc8UsJsM1nnyJuDUR7 ++ArX4BVIqcgxdwZ1vWGKRtFIFb1ZssGuTzPg/xK983xXvfppbzGSxC/umA1VMHeIb ++FPhA192IfU8PtKV6tD99ewu25qT4+szyygM1O/pMn9WvSiHlc0bvausaE0XheNxB ++g/hM6DIKDSEd8C1SqpzgHYv91IhPo6BL8q8FX9aABEaQZ48/bujt2U0CAwEAAaAx + MC8GCSqGSIb3DQEJDjEiMCAwCQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcD +-ATANBgkqhkiG9w0BAQsFAAOCAQEA4s7IpiFADBVCuK6GFT24IT/cLpl+KGUSuX1R +-nSP+UidKfBYBE1yaBQp8ncsFX1YwBiqzf4ytMEJUUpcO8cL6FSPkodjSLCMptXfk +-RC9hkFsx7AviBaIHbdJJpogjsWBOjp21o8KGhlQeQPTLavoa+ZEVYOVJUTgb2hCo +-f3upUZ0vad5AGBmOGZY03xjmAAou+JOdT3TaKlTXEQgot39vnbSElvEpDY5WEtK4 +-L32WAptTq84z+MY5G2QYUfdvo6QkBx9HxZI9KDA4/DOKKEqPeBXlyhlqilyfsM3m +-PCw5yuU4bO3W2qTiFYqwNw5eHT3B0q9jkxcwvcngehKv24c5rg== ++ATANBgkqhkiG9w0BAQsFAAOCAQEAEdMqD73INhnoLfu9Pjw7VKPo8F5tJsdGwvPO ++Uzia7Jnton/Dzq+ptBxN4a2klG1nVkQpVGy3+/QdwoCMoQATSUWW4IlBj086c4hI ++h1Bb8x/+m3hD/2gbc8efZBBqp0i7dK1+v5koWuIiAxXNMbMMrENjh88hLlT5rk9s ++W9bYmnUxMl/Bp7KEqZYmELlLt1AzILvFLCO46ZrS99koe3RkjfnwTcQXxe8WkION ++09uvoK1BxC7lsE/NUx2CLM9FUFOX5/8YJCBNuhqTtRiJKJHwwFLYpoLZVIcokaKO ++6/DWUMQpv2JqqstusuDhJR08ntIc8z5kliA//lsR0BdO5Z/UBw== + -----END CERTIFICATE REQUEST----- +diff --git a/tls/tests/files/server-intermediate-key.pem b/tls/tests/files/server-intermediate-key.pem +index 8812bc7..cd97b35 100644 +--- a/tls/tests/files/server-intermediate-key.pem ++++ b/tls/tests/files/server-intermediate-key.pem +@@ -1,27 +1,28 @@ +------BEGIN RSA PRIVATE KEY----- +-MIIEpAIBAAKCAQEA73GWrVRigKiGAehOomd6WY2jlSVWGcKEXAZm6kJqRemrevIo +-E9VbagA2Tag5l/2+wkSdezYtcHqQxoIVRQODD5tHr44KTatyZA6wmRcKPPFYFZZQ +-13xgRuKm2fVEaiFL/q+XDY49PJLiAtfVVXxgyizi7c+KR2a1lm4seeJgUYMM3KfN +-kAfNyuy4pnOSmQZaqleMORnp4fiB3lYYWK8koyZs0H97sr5KFn7AN+dsMLGUGZ+v +-/rN2hm3ZlzYrpPhtV1Ha7jQNNx9EJmp6v0YKcq+rN4EAmgLdZBtQgbAWOrSSJka1 +-22E4plVDn1paUExdPn4a5ZGo9jvMFkiKDayTDwIDAQABAoIBAQDA55NL+0MMgjjM +-SpsnbhR9F4Zlv1m5kSPPe/zn2DAEOThE6djt+aMXKCqXr+MOl4havKrfPAuppaUD +-uINoQWcSaLh9MAMPBgQ3pjoSbCR8arfbVGm24WYzVaC00kuW8VJnUpFwg1rEdVWO +-ktI1d+oGl9kPXHf8BDxhgEtmusF8iHgWpOg9y3EImHqxsFWb3od8SP8zCCmGhmDX +-YwXFPxOu94LWXg4c2skXqFVYF4ElE8wdpjcavf60kiMLzPmrrjeDx6J1RJc7vf8r +-wvx61fiKqF8cpgun3IIko/tjJt0OxHDfnfeyM9GLoBmen5UH9aKcm8/0MnmPB3e5 +-wQePiV6BAoGBAPt21x5bsmZaRSHWqGL8fPwCnciq7DlcVON+WmUJkFWtTjS4Z9C2 +-rwiglXgEp3VBJv7MhLG41yYNesAsax59rkeiBVV3sa/O9mM3/YnXe+mrWIEcvYnX +-U8VlXU6M4PPq4nlMGzOQS4UBmtAYie85JiDfJ0Q3bf34ZQWwwjOv42BPAoGBAPPD +-Pg8jyrOgJNsEC/JtIaM4ROG6WiN6e6en//Ex6wkiIqpE3CFBod9AIjWLsEpZCXW3 +-JGfRIXF0X5GTLAkBOBrT+GR8/JhVuWpF90FVoIVEaPIAZqudglYktzW1l5eyl+4x +-tPlqyr50IfyRcPTUvXIUNB/54vXDjJuFAL413jFBAoGAXzT+e4sCP4hb9lTciiXI +-eG3RKYG1UH5p0XwsY2a8lAO6wXE0NSyFlsGd9cPlVxqk1gG/F77BDrI50HrAz9mL +-26k3VcWsq8CzPpubTc4dJzptluy3wnGZUPpw2mWyYgeDWaN8BQjT3vbdk35G8yDz +-E60Jo+VMqsSaEw56aLFmaDcCgYEA1KvxBxB5F0KPJS5gpf+kq1y6bB5D6lRAckPW +-vz6ICw3nJJqzW6iBa9/ueL0I77TC1hsU/iatgOjBQKcgcjLIGk/5lOKfFuEjxZ6J +-XE0yoVLQJONIsE3ZmwKpfYiTW9yLRVvEwx7zCDsWM99Ip7K8Hj2WRJel9jnIAR+H +-SGyDEIECgYAZzwE/7DmwSM4oeolUrLl2iKuRE37iT+aA5o1F26vXizoO5y6BNee7 +-5JqBSnMPz28JmkYuk6W6nG+OM9WcTMcLcLFWJOuPs0uE9rbRoOROV/H7L20aJeY8 +-4t8AVs8/EFCyRFd0w2iGb6nqZQHp5F7XC7z8MX1W/wVxAx1xYsdsvw== +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDSeoGrOfU4Si9+ ++karuSgznQfvJwiAl9xoBged6Mo2gy3MpyHCnALo8xXZoJEI8i/rYrHNPBYdMrBdh ++DUFOIdxbo6/Znq6IsqrYWukyEtmz559JeeDc/WZTvoFeO132LtN3b5FWSIzj6f7q ++3PFLCbDNZ58ibg1EewK1+AVSKnIMXcGdb1hikbRSBW9WbLBrk8z4P8SvfN8V736a ++W8xksQv7pgNVTB3iGxT4QNfdiH1PD7SlerQ/fXsLtuak+PrM8soDNTv6TJ/Vr0oh ++5XNG72rrGhNF4XjcQYP4TOgyCg0hHfAtUqqc4B2L/dSIT6OgS/KvBV/WgARGkGeP ++P27o7dlNAgMBAAECggEARi4K5mjg1vAFfhJcCDAwtTtPFSrhRUdrKG2EHT6V8rNj ++pt7qkQSxFGpS3M6aN04FShHWMNcLEgmfkgC1cbPgob2meM1sLLBGPvWxI70dUds9 ++RWaaD5V+dRXkVOM+pUNfx0cwErEGKUhwcydQXVDR3utaKETBr7/EW6BjRc5ZUL2n ++aNvGuP8vr6vnR6l6URCSb6wevUwuFaObojEP2F4a9zfWOrfZe0/Nt8R8qwPtynOz ++AyFas5fV6boGNXrEP5CtZ7ENPNxhuX1RxKLJIog+//iICeloJ1KqT45AGlL5TjFb ++SLOITxYFu4XATfXKpB+uSfC2a5joAWOHqa3MOlAfkQKBgQDs28KucL6ibUmVYjxx ++EJ+7/6q4mhrWExwWCZyLwzzLQywAgNKAphtQveQM3/4s/JpBgua1ODSRQoWirwAy ++QpN0GSPe6QsuhbirT5uxklfM+tzFZ24I1t3dHMtEhUdjCu2ULt/dGK4+1BwwmPgj ++qeRwzYZ21hwXwh0lIr1mtLpfZwKBgQDjfPx491Tps0zxw6HEjOt/Iz4LpSoLPTHF ++YBj3guDKPcMwxTiRt2pE0Zpc36Lb/Gez0QlEXwZyddP3cXA2BtLV+vSshU+EdNqb ++PLPIHCNibD0F3L8750WMTurweQl5qnjJ57AhscNQ5lOPjczU/gPya9cZB7VfWJgU ++ZHpHFvS1KwKBgHaqe1TuA3RZEJ6ZAvMagwyrQJsQChXqqQ2ZbybOf+zOEIOIBu6R ++Seof2NtidXOQcrATpwZvzFZiX5Vr28tSc5Gc7s3FL+b089pQHg7O5NI7dNQpx4UC ++MVGQFX6Uz3kdhn3RJjMdJF8x4ZWvbdJgUaT6Mz3ic1yr0fJC/2UvcphNAoGAfZw2 ++4ChZh41MkDYgbaIOKq5wBQgW1gvdHon4XzqyGpnN3HEZ0kP/dq5x2JRXnbaaIEzt ++HAaITc1H1Fqbxgkwg5zFWzlk9dN8Hbl/35/B3ge8Di+cnFwQJ/Avg8ahd7+sYHgA ++5in8mgAD5cE7d+Qmk8X+CEEcYeBOYPw2FGjVh+8CgYEA2xk38Yw1Lf7WlaoDbqAG ++/LSVfQA0lDvjCGH0xUW3fX4+JPwnEO89zupGEYduK69nxSY0C+YpJvC6WDLByMv3 ++AmWnL1x8oKw9djVM9y58AKuFTLXTWuvv8vMFHBGwYMFHGALNHlq0LKXOxq/Xwmox ++vzSjO91gsCS7iUsvGrhUmUM= ++-----END PRIVATE KEY----- +diff --git a/tls/tests/files/server-intermediate.pem b/tls/tests/files/server-intermediate.pem +index ccd6336..93172d2 100644 +--- a/tls/tests/files/server-intermediate.pem ++++ b/tls/tests/files/server-intermediate.pem +@@ -1,22 +1,24 @@ + -----BEGIN CERTIFICATE----- +-MIIDuzCCAqOgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBrTETMBEGCgmSJomT8ixk ++MIID/zCCAuegAwIBAgIBATANBgkqhkiG9w0BAQsFADCBrTETMBEGCgmSJomT8ixk + ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxKzApBgNVBAsMIkludGVy + bWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgNVBAMMG2ludGVybWVk + aWF0ZS1jYS5leGFtcGxlLmNvbTEqMCgGCSqGSIb3DQEJARYbaW50ZXJtZWRpYXRl +-LWNhQGV4YW1wbGUuY29tMB4XDTIxMTIxNTIzMjAwNVoXDTQ2MTIwOTIzMjAwNVow +-SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx +-GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD +-ggEPADCCAQoCggEBAO9xlq1UYoCohgHoTqJnelmNo5UlVhnChFwGZupCakXpq3ry +-KBPVW2oANk2oOZf9vsJEnXs2LXB6kMaCFUUDgw+bR6+OCk2rcmQOsJkXCjzxWBWW +-UNd8YEbiptn1RGohS/6vlw2OPTyS4gLX1VV8YMos4u3PikdmtZZuLHniYFGDDNyn +-zZAHzcrsuKZzkpkGWqpXjDkZ6eH4gd5WGFivJKMmbNB/e7K+ShZ+wDfnbDCxlBmf +-r/6zdoZt2Zc2K6T4bVdR2u40DTcfRCZqer9GCnKvqzeBAJoC3WQbUIGwFjq0kiZG +-tdthOKZVQ59aWlBMXT5+GuWRqPY7zBZIig2skw8CAwEAAaNHMEUwCQYDVR0TBAIw +-ADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEWghJzZXJ2ZXIu +-ZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAEtYVbiVHhRswFlaiG6dM1XD +-9XgtbTRutcdyLy1moxvfLiJpiRk0Uy8wXYTpjXe/iVtoNchT6g4ZOz1/shLjJ8tX +-30vpUcjULqV+eIcBPqmq9NgPNswH5BGqX0BWtMJAa3dR8FBWkikd3/WuSLd3uvSz +-8f/hJjqq7ovIAKxeSjGwqRqk6/8lbrdLYRDNKV7qAbtsRUfN7PlOxgGIAsqeZAsi +-SGOSW8uAwTLqHTwnovaN4ec4efUc6mpsvW+Na4YhR/U2RZAvoQtRBEHRwQNDOByD +-Xe29ZXe3jdQhUcKnJ0iaj/z32Y1/2dU3bTsDLDROBnJKICnS9wDBVbNXycvnekY= ++LWNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEwNTIzMjE0OTM3 ++WjBLMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBM ++RTEbMBkGA1UEAwwSc2VydmVyLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEF ++AAOCAQ8AMIIBCgKCAQEA0nqBqzn1OEovfpGq7koM50H7ycIgJfcaAYHnejKNoMtz ++KchwpwC6PMV2aCRCPIv62KxzTwWHTKwXYQ1BTiHcW6Ov2Z6uiLKq2FrpMhLZs+ef ++SXng3P1mU76BXjtd9i7Td2+RVkiM4+n+6tzxSwmwzWefIm4NRHsCtfgFUipyDF3B ++nW9YYpG0UgVvVmywa5PM+D/Er3zfFe9+mlvMZLEL+6YDVUwd4hsU+EDX3Yh9Tw+0 ++pXq0P317C7bmpPj6zPLKAzU7+kyf1a9KIeVzRu9q6xoTReF43EGD+EzoMgoNIR3w ++LVKqnOAdi/3UiE+joEvyrwVf1oAERpBnjz9u6O3ZTQIDAQABo4GIMIGFMAkGA1Ud ++EwQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwIwYDVR0RBBwwGocEwKgBFoISc2Vy ++dmVyLmV4YW1wbGUuY29tMB0GA1UdDgQWBBTPKLW+/TuP/Zsqku4MukfvqReROTAf ++BgNVHSMEGDAWgBT3RnEO0U+0fAZWewS/rbngyzzRaTANBgkqhkiG9w0BAQsFAAOC ++AQEARxT2sksXQIbf48QkxXe8KyN7VqJ1QZzyM4hkac96sMLVg6cRc+tk1n3XJ8N9 ++ikUN59ptcLKTpyyh1Z3nrxZde85cA4MXqePZGBKf8JoPHczeQbWYUiRO6y3nwhcg ++IptDniKIKcjvJcH1Y9WC2xt3Z2xVERBmJby/F5fuwu4Ste5CFnUDt3QsTbShAJYV ++989HfjEkH5IXnDepM/jPaGeY9X+SKQXEi99QKIlh2TqSXq4JNuIiO7TfXBnxO3X9 ++DetfX5mHxt7t1k3iPrtBAg0v/xQBeTwbty0/QPyvv9BZkl4yfH7Beo7NQfnN3ZSM ++DfmRwKevcHxMxBLZ06TtZKgO6A== + -----END CERTIFICATE----- +diff --git a/tls/tests/files/server-key-pkcs8.der b/tls/tests/files/server-key-pkcs8.der +index 5fdfe57dc191e7549b49832f60719341dd4b1e5e..3571e80fcba493e736ffebd5489f89867ae4cdd7 100644 +GIT binary patch +literal 1218 +zcmV;z1U>sOf&{(-0RS)!1_>&LNQUrs4#*Aqyhl|0)hbn0MG@zI#Kv3 +z^%bG;UR&fw;fjJ|l2WGT5HW;)xyGd$zm6fX29~8hE2l!9&nQ)WfPJW)1aCqfsdR0Wxdk}CRF}}5KEwg)}vTtvNa+z9<=%3V# +z%F8`D?54CChld_eerBYylis~!QaD-aFX;VwYz@!)>&c +zc!_Ze?N}4_VCPxev1_XmTRyejs(3M?@{(a{eaiZ@(WGNud2$v+uov9 +z-%eew8VhXXZ$Z+!$(}$B=dOQi5WPdq7-J>pCH3SG$OXGE!EFUhVFCjI009Dm0RT&G +z2=>g%L(Govjg4uXxaS9^h#Z2$>L6_tGB1M+Q%b69GuKc)zi9qndx`Q`-a!9)1O@>M +zLZ%oRN5BY{=@pOPB8G)*(%9hn2NtfRb2B$3*;p=kE!TuB +z1<@EordiUUeB_4yKU0}^Fp%W`OOX?Fj$Vk3_Ek6MqV3EILN|!r&$GNg&Lq({>;6n9 +zCWb2|q1Cmqyr`(eAr}Ka3Cx*k4$YIRvfSA*uBXFYi@=yAp4B=>)t0vQ5$k6*mXFbv +z(YOMqhtpLA_c$wZcgAf5#Jt!()B_R6_tHiPr*uGay9`I#sT7uklVS6;2$2GTfdKEv +zQb(X*!e5~oo1buwFLkHXGp# +z4-b~fd#5hUo1~Xls8ygO!|eRT8R)3 +zS(8iu+$6`2WESTPHq^tte0~8$Ukp^YWned%%Mj6euM!e5Ee@#^9F6al`(q!o2j#5I +z)yHRT+m6%>q*524bsRg-W_<%Pu80!%4E{o{f)cZ(Atl`i_aEbjW8$1aQQexk)cXQ~ +zfdGjq>V=Zm2O1GvM$S56si2xf2PL3m`ABNPgJPnQ$fJFqDcV%%90~$qq15O&qvxSr +zK<2&NS{Xjp&uihTVE7`ao-hTu7;wCEWvV{VHfL;}~(e~wF+q7z|$HkGIs!(|41YhQo +ztm~`A1DrQ_m+&3O64V6p*%BV-km5jaNvIB`?90 +z|J)OrlZ~Q5SD{ArxqTkdU9*g-+a0E}zZ+qr6n8}%|28ou__j%0{~A#_q(2jY&BFyG +zPXd8~0NM_;YF%&oc9Bbcg2`h!Q49Ud;_LfD=Gyl15U1B>VX +gih&LNQUrsW5^Br2+u}0)hbn0I}(V^yTMg +zRiXN-z)Mhu;cEBdUHkRc-7DQj`k6Ia=ZwD8&Zc&+_R!v!s8<)L)#97KPQ009Dm0RaGq +z&t^B!IB^|eWaMj}5`Lr{@6{1OflS}f*gcY#*{|mb{j!~XT_nC3dy?^@Y9TBHtT(}Z +zQU*Kq7X+npUQ8QWcG(nAABK!C5oZXS>~`%Qw-t*0Edz@!{~+O0V)>x2Ulyuszd7wv!WOsF}u2q+C +ziP?FekjX_+4)Q!evs&|Fc@Mm&h*lfeS2t7=b_x4|RvQc3lT8*I;4JTCaEUf>A2 +zE+GY?$I8I{OLE{oc7O*-MfX$A-ozaOfq?+YYb0<*@3o*Qt_#?MHAm&%ToJ&g5_4i6 +ze;v+lVT&jd57pC+d+Au;?57F#M#6Yw^p7fX&EI_^N%Q6+VqYb6!a!IPLEII_>yM$b +zpNh3NA7DUL+{EdE4}hZcT9BTYIO+h705vab#rh4ndvz$mp0}1d{>WWdT=rM$vdu#$9qwSN#A1Fg`bzl +zS?vFQ?`wAf?twtSHAU&rHynUtpx5x+bXqrcQz-I-auc4(1nCsfjK#5KKp|(&dE3bv +zL(6_J&-cDg70`BLuK!jjmSxJ{td{y3(P@1Gfq-uZn&BKrdr-ebn +z-wK00dt@QxD9!p;9X>;IX)g&P@plPPNg+Exv>Mandc@k@q^43AGz!g}Br*bK*JfZ= +znmGc2fdJGV_7Tp?ik{>Ubfru4Y1;bsQni6m)&TI>bpJ0%BT|i}&gcmh2zZbD)!|~K +zV+%`18J?VA_9}VltSDy22>d*{&kq~kT<+7z_voX|!RYc|QLD#h&IxN?10FLN=lz +hH@YgF+D_6`MtHyH0JcFdsOf&{(-0RS)!1_>&LNQUrs4#*Aqyhl|0)hbn0MG@zI#Kv3 +z^%bG;UR&fw;fjJ|l2WGT5HW;)xyGd$zm6fX29~8hE2l!9&nQ)WfPJW)1aCqfsdR0Wxdk}CRF}}5KEwg)}vTtvNa+z9<=%3V# +z%F8`D?54CChld_eerBYylis~!QaD-aFX;VwYz@!)>&c +zc!_Ze?N}4_VCPxev1_XmTRyejs(3M?@{(a{eaiZ@(WGNud2$v+uov9 +z-%eew8VhXXZ$Z+!$(}$B=dOQi5WPdq7-J>pCH3SG$OXGE!EFUhVFCjI009Dm0RT&G +z2=>g%L(Govjg4uXxaS9^h#Z2$>L6_tGB1M+Q%b69GuKc)zi9qndx`Q`-a!9)1O@>M +zLZ%oRN5BY{=@pOPB8G)*(%9hn2NtfRb2B$3*;p=kE!TuB +z1<@EordiUUeB_4yKU0}^Fp%W`OOX?Fj$Vk3_Ek6MqV3EILN|!r&$GNg&Lq({>;6n9 +zCWb2|q1Cmqyr`(eAr}Ka3Cx*k4$YIRvfSA*uBXFYi@=yAp4B=>)t0vQ5$k6*mXFbv +z(YOMqhtpLA_c$wZcgAf5#Jt!()B_R6_tHiPr*uGay9`I#sT7uklVS6;2$2GTfdKEv +zQb(X*!e5~oo1buwFLkHXGp# +z4-b~fd#5hUo1~Xls8ygO!|eRT8R)3 +zS(8iu+$6`2WESTPHq^tte0~8$Ukp^YWned%%Mj6euM!e5Ee@#^9F6al`(q!o2j#5I +z)yHRT+m6%>q*524bsRg-W_<%Pu80!%4E{o{f)cZ(Atl`i_aEbjW8$1aQQexk)cXQ~ +zfdGjq>V=Zm2O1GvM$S56si2xf2PL3m`ABNPgJPnQ$fJFqDcV%%90~$qq15O&qvxSr +zK<2&NS{Xjp&uihTVE7`ao-hTu7;wCEWvV{VHfL;}~(e~wF+q7z|$HkGIs!(|41YhQo +ztm~`A1DrQ_m+&3O64V6p*%BV-km5jaNvIB`?90 +z|J)OrlZ~Q5SD{ArxqTkdU9*g-+a0E}zZ+qr6n8}%|28ou__j%0{~A#_q(2jY&BFyG +zPXd8~0NM_;YF%&oc9Bbcg2`h!Q49Ud;_LfD=Gyl15U1B>VX +gih4Ws;=Vw)+`l`T7P=?`Z_u^gq_14`h-A4MEHCpG4 +zzSPd9cCYr(-j}FX7pT?Zo4-!PxO)re!%@}gVTM=i??E7FXuwS9mz0d_sOE-O>D780 +z)>LWA4u<2_FE3}J2f6+kf4W~SGnuCXfWfS5owQ8nOT`1e6_@!r6QleVNox`n^3`chuNW5`7$dPd*Swu$`Mc% +z6Uy?zjT0^mM&Jc#`TRd2Rdr28tT#!8>`R${ekU`&oklIOinaJK%Vy{bS%!?jeagFs +zz%v8$lH&YYf9X=ysk* +zG5+VP9Lc~@8l04L+OBz^M~7s0b*!#cmvD*Md7zNVMNtm&JV3Kr^I~}qyr+m(8`xJj +zR1$Ux`+-&)3)_=T78~NVIOy&cL`U8{)8@zGEe<%-H-~Y9WlzmmX`0=j*3tBR_VYHS +z;PmOw{ +zq!S;@-AWQ8naYHU!!yY4k<=$Koz@`#&Vjh1T&Te6gC=w6V(~W!SSl{fY3HC<9cw_XB +zDss)=eIrTp<|1NWC3M0-SQA0q6~^n2p|YQfwKpGNKvmqt>4Fb{qVrmio|ri50FD4P +zFKfm9Voc1->=$Hdk_Lop1Kez&NG>~MNdkd^0MaB;+UMj68zYyRjzi=N53iZ&IWCtr +z<@bD7k7s&tG5N_mu8YTeQHM$2V%UYBm&aM`|9CiVEfMcN7@Z5A- +zH+54e@`G{{p2-C16w!>uv1LFZXU=)s$r?k;elXAXzD^a;c4MypRw$Nb%HOP(`Wn$` +zeFA}iZ!Np@SvEq<0F}6=FK(usB+M^lW`_c|qg%;I95$_pRmb(A>=5{`d1x3Lvv{_2_o@#2~kNQ +zJ3zD=)8l%?+TEn4QWrD|&734M0%q4{U{;zr0)c@5)E@Q`&dQ3O>k`u0+_ +zfl<}~@Yr_)qegaFgIpex8+Zc;#n$RYcKy5O5zczO`;G +zvwNYkZ*PTinOcqLpVW-X%RM>lrnDJ{haOOVW~8!zlis~!QaD-aFX;VwYz@!)>&cc!_Ze?N}4_VCPxev1_XmTRyejs(3M?@{(a{eaiZ@(WGNu +zd2$v+uov9-%eew8VhXXZ$Z+!$(}$B=dOQi5WPdq7-J>pCH3SG$OXGE +z!EFT%Okn~80RRD`frv1Hg_A!5Mt>a!163Uk1QrAoWhuai4Wrsss6cplo+cFn@3*-bUrb~}5Mt+r4KnfNs4V@5ZogxAmD +zy=1;mO1Ctgt>s(HjGHTAw>XM|gISFRXz-IBt=tI4iY}r_T`1e6_@!r6QleVNox`n^3`chuNW5`7$dPd*Swu$`Mc%6Uy?zjT0^mM&Jc# +z`TRd2Rdr28tT#!8>`R${ekU`&oklIOinaJK%Vy{bS%!?jeagFsz%v8$lH&YYf((Akk=-pv2V&>;}YRwiMGb9Ft_F5#6Y4a+kkd7|K$M0Uftw{!Q}o5s0zGd`Hn| +z`{Gqu*YiZn^^F{Le*R3Qqt^L9S{=Up@X9J+i~q1-Vdd1i$X{i5uz!JL7j=rEQ)zW7 +zPrDunSne#bN`G|(#O|Tw0FsgBy!v>UUZ9Z5YPd%ZhiF5KCtJc!_JP39iFDaJgs^oj +zw%14WzF%(!kU~sp1npE@q{II~{~zSq+g!X;7tgAxGX!4*xYm)84wtI0fAoOD?jUZc6b0ZhlXt0rpz + +diff --git a/tls/tests/files/server.pem b/tls/tests/files/server.pem +index 300e065..c43ca1d 100644 +--- a/tls/tests/files/server.pem ++++ b/tls/tests/files/server.pem +@@ -1,22 +1,23 @@ + -----BEGIN CERTIFICATE----- +-MIIDlDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk ++MIID2DCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk + ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp + ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq +-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMTIxNTIzMjAwNFoXDTQ2MTIw +-OTIzMjAwNFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW +-B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZI +-hvcNAQEBBQADggEPADCCAQoCggEBALHpg/Tl52dVofqqwEtQhuFq9+Jd+/XW3Svd +-RvqZNVrnjL7UzqZ2r/bQ3peoVxeo1eKbv07EuHsL6MNR1elhhlfs70EgaGjATOiX +-lIzrqOaGV+nVehvWVGnKDobj1i8vZ6IHuf4Zf7pfLTOZpwKAwaxrnbRM501g7WNz +-JKutkoGvXRm0y1jvVWfnEO6CQ0OSxrFQc4MAaSlBfASUHZfC2XwWfZnUT/q9PVp3 +-1OjeSlFPGvkyKxd74faOyhFQFRPK8sGNEy4MRuAFaPn8PyFVdU1FrDdJhexLmX9+ +-JzO+nUYtsYq1+DDLZugKWYaMwH3Ku4fAMwPzkuL8WoJAcWrQQEUCAwEAAaNHMEUw +-CQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEK +-ghJzZXJ2ZXIuZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAApNqCn6XQjg +-N2/HN8H+6JaWePIg0WiXoMTVB+wGxGO2FNMxHJNkpRHdqGxyl79dGMpSiwEdt2T+ +-TfLyEYixxHxH0Wf74lVZ1/NEy/WNHHV+/kylo9b5P1odvvzwyipgi/+wYGHl1LrI +-X2V3sIFjF3WKoVNpdSpPux4IWO4ssUp/dQTE7qHkAJKR5rz6eJheoJDKarhHDodo +-Q4snW8JO9oHAz4l02TuEsHUtttdH9L5fbwaQQkxpBO1UXKTD/0H/H+Ta21y8Uxh4 +-8no49oumb2FPcPvJUHDSYXybgq16p0H/mNXBXWyrgxIA4MFNqJfW+3qryTxYnHRZ +-GF6jub4BTMc= ++hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMCAXDTI2MDUyOTIxNDkzN1oYDzIwNTEw ++NTIzMjE0OTM3WjBLMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB ++GRYHRVhBTVBMRTEbMBkGA1UEAwwSc2VydmVyLmV4YW1wbGUuY29tMIIBIjANBgkq ++hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0AW8OlH4KfUVofBeW+RG4YqCY5JSpuYQ ++MYR+ucalGr+OIdmtOWspfkYoAit/nveIAwx9ptuEHKBpfUMd3YQtHxTAGgf4T/KZ ++cJPgTn6elXB45Wd6VUTRexBwHzG+tW4ts3uhsm9vhXKZWo3on9SMyss9OeymtBmH ++hx5QfmakspPevW67OchV/LL1dnQEGpLy5v2a66LHDN472P9il2dBw220lXiJcQrt ++WBP1YOdZ27FrqxJbPrXdqngxovKSYWp9yvq00aRjXnlyFkSw65RhOSH73rEBbD/f ++Tl2uGgts5G9B0rrJnkAN565/axC9Q80YYyXnJfXkEMgFuy/BbQVMYQIDAQABo4GI ++MIGFMAkGA1UdEwQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwIwYDVR0RBBwwGocE ++wKgBCoISc2VydmVyLmV4YW1wbGUuY29tMB0GA1UdDgQWBBRmQGwgI9sYVjm4DX6f ++GOtvpl8fFjAfBgNVHSMEGDAWgBTVGe/Jdx6NuDgZY3IABp/GC8HVfzANBgkqhkiG ++9w0BAQsFAAOCAQEASryUiaas1DcoO/90531NTN0/Y57DJ8LkEe4CoTF9ZZGWUF0M ++7lAQ99av0ZzPvEKZmEqcFor2e3Kd+7iGOB4upY+ewHIX1lCmFfPAibQ1y+gPU0m5 ++dcEPHMqulEoS3gk4v8h1RZwgtn5LJ5sfGXeH2xQ3ZYdDW+QKeSs7bibIQocxhbLV ++X1tB3Wprgr62lfnUa7o4LO1dpGfZWT8KPyvUfEXu1Da7jUt2loOGLvt4HtrUds3C ++ptlNNdh2O3uTrbZQCpn4NOdjRjemhNfP4L1kvk9KtzSereVbzIybK2G3OIqCg1mN ++Bmjwkx6t3AjGii6iSeTy/1UJQvVbq/tgVcAHig== + -----END CERTIFICATE----- +-- +2.45.4 + diff --git a/SPECS/glib-networking/glib-networking.spec b/SPECS/glib-networking/glib-networking.spec index 54848eacd46..8c1a36bba1b 100644 --- a/SPECS/glib-networking/glib-networking.spec +++ b/SPECS/glib-networking/glib-networking.spec @@ -1,13 +1,14 @@ Summary: Glib networking modules Name: glib-networking Version: 2.78.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ WITH exceptions Vendor: Microsoft Corporation Distribution: Azure Linux Group: System Environment/Development URL: https://gitlab.gnome.org/GNOME/glib-networking/ Source0: https://download.gnome.org/sources/%{name}/2.78/%{name}-%{version}.tar.xz +Patch0: CVE-2026-10028.patch BuildRequires: gcc BuildRequires: gettext BuildRequires: meson @@ -27,7 +28,7 @@ GProxyResolver implementations and a gnutls-based GTlsConnection implementation. %prep -%setup -q +%autosetup -p1 %build %meson -Dlibproxy=disabled @@ -47,6 +48,9 @@ implementation. %{_libdir}/gio/modules/libgiognutls.so %changelog +* Wed Jun 03 2026 Azure Linux Security Servicing Account - 2.78.0-2 +- Patch for CVE-2026-10028 + * Tue Feb 13 2024 Vince Perri - 2.78.0-1 - Upgrade to 2.78.0