[glib-networking/wip/ocsp] openssl: Implement OCSP Must-Staple support




commit 0a59dc6498e35b312439359c420f65d7952cb9c1
Author: Patrick Griffis <pgriffis igalia com>
Date:   Sun Jun 20 21:11:37 2021 -0500

    openssl: Implement OCSP Must-Staple support

 tls/openssl/gtlsclientconnection-openssl.c  |  30 +++---
 tls/openssl/gtlsdatabase-openssl.c          |  47 +++++++--
 tls/tests/connection.c                      |  58 ++++++++++-
 tls/tests/file-database.h                   |   1 -
 tls/tests/files/ca-alternative.pem          |  34 +++----
 tls/tests/files/ca-key.pem                  |  50 +++++-----
 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                   |  96 +++++++++----------
 tls/tests/files/client-and-key.pem          |  80 ++++++++--------
 tls/tests/files/client-csr.pem              |  17 ++++
 tls/tests/files/client-future.pem           |  26 ++---
 tls/tests/files/client-key.pem              |  50 +++++-----
 tls/tests/files/client-past.pem             |  26 ++---
 tls/tests/files/client.pem                  |  30 +++---
 tls/tests/files/client2-and-key.pem         |  80 ++++++++--------
 tls/tests/files/client2-csr.pem             |  17 ++++
 tls/tests/files/client2-key.pem             |  50 +++++-----
 tls/tests/files/client2.pem                 |  30 +++---
 tls/tests/files/intermediate-ca-csr.pem     |  28 +++---
 tls/tests/files/intermediate-ca-key.pem     |  50 +++++-----
 tls/tests/files/intermediate-ca.pem         |  34 +++----
 tls/tests/files/non-ca.pem                  | 144 ++++++++++++++--------------
 tls/tests/files/old-ca-key.pem              |  50 +++++-----
 tls/tests/files/old-ca.pem                  |  38 ++++----
 tls/tests/files/root-ca-csr.pem             |  28 +++---
 tls/tests/files/server-and-key.pem          |  82 ++++++++--------
 tls/tests/files/server-csr.pem              |  17 ++++
 tls/tests/files/server-intermediate-csr.pem |  24 ++---
 tls/tests/files/server-intermediate-key.pem |  50 +++++-----
 tls/tests/files/server-intermediate.pem     |  26 ++---
 tls/tests/files/server-key.der              | Bin 1190 -> 1193 bytes
 tls/tests/files/server-key.pem              |  50 +++++-----
 tls/tests/files/server-self.pem             |  30 +++---
 tls/tests/files/server.der                  | Bin 920 -> 939 bytes
 tls/tests/files/server.pem                  |  32 +++----
 tls/tests/files/ssl/server.conf             |   1 +
 38 files changed, 827 insertions(+), 687 deletions(-)
---
diff --git a/tls/openssl/gtlsclientconnection-openssl.c b/tls/openssl/gtlsclientconnection-openssl.c
index 4249bbe..0b72dea 100644
--- a/tls/openssl/gtlsclientconnection-openssl.c
+++ b/tls/openssl/gtlsclientconnection-openssl.c
@@ -202,6 +202,12 @@ g_tls_client_connection_openssl_complete_handshake (GTlsConnectionBase  *tls,
   g_object_notify (G_OBJECT (client), "accepted-cas");
 }
 
+static gboolean
+use_ocsp (void)
+{
+  return g_getenv ("G_TLS_OPENSSL_OCSP_ENABLED") != NULL;
+}
+
 static GTlsCertificateFlags
 verify_ocsp_response (GTlsClientConnectionOpenssl *openssl,
                       GTlsCertificate             *peer_certificate)
@@ -213,16 +219,18 @@ verify_ocsp_response (GTlsClientConnectionOpenssl *openssl,
   long len = 0;
   unsigned char *p = NULL;
 
-  ssl = g_tls_connection_openssl_get_ssl (G_TLS_CONNECTION_OPENSSL (openssl));
-  len = SSL_get_tlsext_status_ocsp_resp (ssl, &p);
-  /* Soft fail in case of no response is the best we can do
-   * FIXME: this makes it security theater, why bother with OCSP at all? */
-  if (!p)
+  /* If we didn't request it earlier just ignore it now */
+  if (!use_ocsp ())
     return 0;
 
-  resp = d2i_OCSP_RESPONSE (NULL, (const unsigned char **)&p, len);
-  if (!resp)
-    return G_TLS_CERTIFICATE_GENERIC_ERROR;
+  ssl = g_tls_connection_openssl_get_ssl (G_TLS_CONNECTION_OPENSSL (openssl));
+  len = SSL_get_tlsext_status_ocsp_resp (ssl, &p);
+  if (p)
+    {
+      resp = d2i_OCSP_RESPONSE (NULL, (const unsigned char **)&p, len);
+      if (!resp)
+        return G_TLS_CERTIFICATE_GENERIC_ERROR;
+    }
 
   database = g_tls_connection_get_database (G_TLS_CONNECTION (openssl));
 
@@ -425,12 +433,6 @@ set_curve_list (GTlsClientConnectionOpenssl *client)
 }
 #endif
 
-static gboolean
-use_ocsp (void)
-{
-  return g_getenv ("G_TLS_OPENSSL_OCSP_ENABLED") != NULL;
-}
-
 static gboolean
 g_tls_client_connection_openssl_initable_init (GInitable       *initable,
                                                GCancellable    *cancellable,
diff --git a/tls/openssl/gtlsdatabase-openssl.c b/tls/openssl/gtlsdatabase-openssl.c
index 65b5ff4..c53d2d6 100644
--- a/tls/openssl/gtlsdatabase-openssl.c
+++ b/tls/openssl/gtlsdatabase-openssl.c
@@ -327,24 +327,55 @@ g_tls_database_openssl_verify_ocsp_response (GTlsDatabaseOpenssl *self,
   int ocsp_status = 0;
   int i;
 
-  ocsp_status = OCSP_response_status (resp);
-  if (ocsp_status != OCSP_RESPONSE_STATUS_SUCCESSFUL)
+  chain_openssl = convert_certificate_chain_to_openssl (G_TLS_CERTIFICATE_OPENSSL (chain));
+
+  priv = g_tls_database_openssl_get_instance_private (self);
+  if ((chain_openssl == NULL) ||
+      (priv->store == NULL))
     {
       errors = G_TLS_CERTIFICATE_GENERIC_ERROR;
       goto end;
     }
 
-  basic_resp = OCSP_response_get1_basic (resp);
-  if (basic_resp == NULL)
+  /* If we are missing a response we check if the chain requires a response ("Must-Staple") */
+  if (resp == NULL)
+    {
+      for (guint i_cert = 0; i_cert < sk_X509_num (chain_openssl); i_cert++)
+        {
+          X509 *cert = sk_X509_value (chain_openssl, i_cert);
+          int idx = -1; /* We ignore the return of this as we only expect 1 extension */
+          STACK_OF(ASN1_INTEGER) *features = X509_get_ext_d2i (cert, NID_tlsfeature, NULL, &idx);
+
+          if (!features)
+            continue;
+
+          for (guint i_feature = 0; i_feature < sk_ASN1_INTEGER_num (features); i_feature++)
+            {
+              const long feature_id = ASN1_INTEGER_get (sk_ASN1_INTEGER_value (features, i_feature));
+              if (feature_id == 5 || feature_id == 17) /* status_request, status_request_v2 */
+                {
+                  errors = G_TLS_CERTIFICATE_GENERIC_ERROR;
+                  sk_ASN1_INTEGER_free (features);
+                  goto end;
+                }
+            }
+
+          sk_ASN1_INTEGER_free (features);
+        }
+
+      /* not enabled, no error */
+      goto end;
+    }
+
+  ocsp_status = OCSP_response_status (resp);
+  if (ocsp_status != OCSP_RESPONSE_STATUS_SUCCESSFUL)
     {
       errors = G_TLS_CERTIFICATE_GENERIC_ERROR;
       goto end;
     }
 
-  chain_openssl = convert_certificate_chain_to_openssl (G_TLS_CERTIFICATE_OPENSSL (chain));
-  priv = g_tls_database_openssl_get_instance_private (self);
-  if ((chain_openssl == NULL) ||
-      (priv->store == NULL))
+  basic_resp = OCSP_response_get1_basic (resp);
+  if (basic_resp == NULL)
     {
       errors = G_TLS_CERTIFICATE_GENERIC_ERROR;
       goto end;
diff --git a/tls/tests/connection.c b/tls/tests/connection.c
index 475285d..ab69da3 100644
--- a/tls/tests/connection.c
+++ b/tls/tests/connection.c
@@ -2635,7 +2635,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 "kGOeAZnSeNtf5yzBZzUhbKFpW9qsPV+lIB/4t96OV+E="
+#define SERVER_CERT_DIGEST_B64 "+Kdi/G5P36Pzohv3xApyDKQk9aiN9vuPZoJchsydpm8="
 static void
 test_connection_binding_match_tls_server_end_point (TestConnection *test,
                                                     gconstpointer   data)
@@ -2772,6 +2772,59 @@ test_connection_binding_match_tls_exporter (TestConnection *test,
   g_assert_no_error (test->server_error);
 }
 
+static void
+test_connection_oscp_must_staple (TestConnection *test,
+                                  gconstpointer   data)
+{
+  GSocketClient *client;
+  GIOStream *connection;
+  GError *error = NULL;
+
+#ifdef BACKEND_IS_GNUTLS
+  g_test_skip ("OCSP Must-Staple is not supported with the gnutls backend");
+  return;
+#endif
+
+  g_setenv ("G_TLS_OPENSSL_OCSP_ENABLED", "1", TRUE);
+
+  test->database = g_tls_file_database_new (tls_test_file_path ("ca-roots.pem"), &error);
+  g_assert_no_error (error);
+  g_assert_nonnull (test->database);
+
+  start_async_server_service (test, G_TLS_AUTHENTICATION_NONE, WRITE_THEN_WAIT);
+
+  client = g_socket_client_new ();
+  connection = G_IO_STREAM (g_socket_client_connect (client, G_SOCKET_CONNECTABLE (test->address),
+                                                     NULL, &error));
+  g_assert_no_error (error);
+  g_object_unref (client);
+
+  test->client_connection = g_tls_client_connection_new (connection, test->identity, &error);
+  g_assert_no_error (error);
+  g_assert_nonnull (test->client_connection);
+  g_object_unref (connection);
+
+  g_tls_connection_set_database (G_TLS_CONNECTION (test->client_connection), test->database);
+
+  g_tls_client_connection_set_validation_flags (G_TLS_CLIENT_CONNECTION (test->client_connection),
+                                                G_TLS_CERTIFICATE_VALIDATE_ALL);
+
+  read_test_data_async (test);
+  g_main_loop_run (test->loop);
+
+  close_server_connection (test);
+  wait_until_server_finished (test);
+
+  g_unsetenv ("G_TLS_OPENSSL_OCSP_ENABLED");
+
+  /* The certificate states it supports status_request but our server does not
+   * actually set or suppor that, so it always errors. */
+  g_assert_error (test->read_error, G_TLS_ERROR, G_TLS_ERROR_BAD_CERTIFICATE);
+
+  g_clear_error (&test->read_error);
+  g_clear_error (&test->server_error);
+}
+
 static void
 test_connection_missing_server_identity (TestConnection *test,
                                          gconstpointer   data)
@@ -2949,6 +3002,7 @@ main (int   argc,
 
   g_setenv ("GSETTINGS_BACKEND", "memory", TRUE);
   g_setenv ("GIO_USE_TLS", BACKEND, TRUE);
+  g_unsetenv ("G_TLS_OPENSSL_OCSP_ENABLED");
 
   g_assert_true (g_ascii_strcasecmp (G_OBJECT_TYPE_NAME (g_tls_backend_get_default ()), "GTlsBackend" 
BACKEND) == 0);
 
@@ -3064,6 +3118,8 @@ main (int   argc,
               setup_connection, test_connection_binding_match_tls_server_end_point, teardown_connection);
   g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-exporter", TestConnection, NULL,
               setup_connection, test_connection_binding_match_tls_exporter, teardown_connection);
+  g_test_add ("/tls/" BACKEND "/connection/oscp/must-staple", TestConnection, NULL,
+              setup_connection, test_connection_oscp_must_staple, teardown_connection);
 
   ret = g_test_run ();
 
diff --git a/tls/tests/file-database.h b/tls/tests/file-database.h
index 15b5716..5d29c00 100644
--- a/tls/tests/file-database.h
+++ b/tls/tests/file-database.h
@@ -1,4 +1,3 @@
-
 /* This is a generated file from update-test-database.py */
 
 #define ISSUER_DATA 
"\x30\x81\x86\x31\x13\x30\x11\x06\x0A\x09\x92\x26\x89\x93\xF2\x2C\x64\x01\x19\x16\x03\x43\x4F\x4D\x31\x17\x30\x15\x06\x0A\x09\x92\x26\x89\x93\xF2\x2C\x64\x01\x19\x16\x07\x45\x58\x41\x4D\x50\x4C\x45\x31\x1E\x30\x1C\x06\x03\x55\x04\x0B\x0C\x15\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x17\x30\x15\x06\x03\x55\x04\x03\x0C\x0E\x63\x61\x2E\x65\x78\x61\x6D\x70\x6C\x65\x2E\x63\x6F\x6D\x31\x1D\x30\x1B\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x09\x01\x16\x0E\x63\x61\x40\x65\x78\x61\x6D\x70\x6C\x65\x2E\x63\x6F\x6D"
diff --git a/tls/tests/files/ca-alternative.pem b/tls/tests/files/ca-alternative.pem
index 3793a1a..30e1bc2 100644
--- a/tls/tests/files/ca-alternative.pem
+++ b/tls/tests/files/ca-alternative.pem
@@ -3,27 +3,27 @@ MIIFAjCCA+qgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBnzETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxLDAqBgNVBAsMI09sZCBV
 bnRydXN0ZWQgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MSIwIAYDVQQDDBlvbmNlLndh
 cy5hLmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNv
-bTAgFw0yMDEwMTIxNzQ5NDRaGA8yMDUwMTAwNTE3NDk0NFowgYYxEzARBgoJkiaJ
+bTAgFw0yMTA2MjEwMjE1MzJaGA8yMDUxMDYxNDAyMTUzMlowgYYxEzARBgoJkiaJ
 k/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVD
 ZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0w
 GwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
-ggEPADCCAQoCggEBAKWFJia5M5GJSnjxTbIW/h5Rl0/uS7jek4Rfk5fsy+2lxPk6
-/a+rdVXNHtLKmF8ouG8QocYr+MQNvGedhqSv8L+ViZXlz/zh/DMk5mzQUOSi5yrj
-jQbOJ8oeEAK2mXF42x4mNiNmBdUsavnaemXAoCX2f05wci0sGDS1fxUyGMV5Bay3
-2YCrFVyhfYUKbs9ItpMuyngIfBOVH7wa9N+XQuQIvT/ZZ2x/0PgbQWv+JFmIfMV4
-KuIZXuJYM0zmoLQEjgF1kdOpyoLot4u1EmgqceZakTTRZvst4rAZqib6F5lBgsZm
-4ige4KAQjGfJlVjiPBiAo/KyJjeu/d0iwLNdsHcCAwEAAaOCAVwwggFYMB0GA1Ud
-DgQWBBSLcFF+Oi4WrdNajz7wc6U4i2X3OzCB3wYDVR0jBIHXMIHUgBQJPzDGBIUp
-4KIn7BhZJbgPBpUEe6GBpaSBojCBnzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUG
+ggEPADCCAQoCggEBAMTvkKzTFJhFd8wUa+ONcmrF3mQtuHjEVKW+j4mi7bpDsx56
+N9ZUWMdj3lyRzEhccUKmyfa6e143WB2r/PmRTR/tjK6nM8qf3LPY7DMDeCMSXKgU
+w5bUB+wPpqSIlgU3I9Q+nIZBaH+dEXrNcHgX/npCYr9TdveiaG2+Rzl/OGJuBbAt
+MdCnQ0t/zqoICRBc7Ss2pE5MtYJ+sWOWhxMt/5F5oYEbPWDLhNW+q79F5eO5obLI
+kBFTumURuJU4NnFaqRNA1eXiMK5ObvxeGFhORru0cXmDl2+3DXL/3SobO5ffj/pI
+zXZEDyhw7S/WdrIrQ9wM00nxtfib//SXtVPClcMCAwEAAaOCAVwwggFYMB0GA1Ud
+DgQWBBT4+CGh7rsWSaa4rXSSbw/rC4bP7DCB3wYDVR0jBIHXMIHUgBRfQkwZz4Qc
+UQAWyDUXAwd5H08DdqGBpaSBojCBnzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUG
 CgmSJomT8ixkARkWB0VYQU1QTEUxLDAqBgNVBAsMI09sZCBVbnRydXN0ZWQgQ2Vy
 dGlmaWNhdGUgQXV0aG9yaXR5MSIwIAYDVQQDDBlvbmNlLndhcy5hLmNhLmV4YW1w
-bGUuY29tMR0wGwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNvbYIUJMXPCPBYU7Ju
-V+eZvzCqQcLy6H8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwGQYD
+bGUuY29tMR0wGwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNvbYIURTD32C6JKDM+
+4JL3C0fSOQ5Ilr0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwGQYD
 VR0RBBIwEIEOY2FAZXhhbXBsZS5jb20wGQYDVR0SBBIwEIEOY2FAZXhhbXBsZS5j
-b20wDQYJKoZIhvcNAQELBQADggEBABSrlQqoWp6reJsOYmlxUbDQJ5OuqcZuKEkn
-gscxFXeprhDD7eJmD8qHqFmfgM8e/tbnQw1xSOBgYpifVQRSij+TBWrJpX7980e7
-FKLPI5oOS/3geInW3Rs3EzfpGK1fKNR8mtTZj4hb0FnMpFXgiTYmRAeqQf3PCRge
-5Is8VP8eTtnzLi8gK8i8A97SOWyuqy/dzIz0UPthc0qvq5u7LR8sJZ901kWjBazq
-0KbZ/pyUrmLHaa07q8aU5Z1FPSH5l2PmtXtSfTvHBn8onG1LYF0WhjZ0qxsGvuRR
-9JX4dzGE2D8ub9f7B+ouF9hS6FIFujBNelk9dyirIgx+994qhPU=
+b20wDQYJKoZIhvcNAQELBQADggEBAKYEMjNB/t7HYtxpKm31I7VVWMPAh1b+0up8
+ysRPZhBsXpH7e9cYySTxog9TW/NasNkekXvgq/Sf+vCmftlH9kz6W8tL9yxp0lwm
+0P5ZVERBWJw4NlhAK1S8rYFKQRLquby/ti1oXwlVU4XZmH4oS8WvqxfHNEuxbRyj
+EAkyvaXH5KDaykgAFxNwQxc6SFhXqo+YhlOLhPZkfWUg/1qKeYxbP3dSYuJxfNF4
+akrMiwBlUpyxwzwvs8A9AcEvKXIfhyS8gJviAfUByyGe3xrHJoJG622Y3f43Hojm
+wAtFGcTM1hrBtUy7b/7rntGo7+TF0tWNghVPS1o0apkFTeGHTQw=
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/ca-key.pem b/tls/tests/files/ca-key.pem
index 1a42c34..ac2463a 100644
--- a/tls/tests/files/ca-key.pem
+++ b/tls/tests/files/ca-key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/ca-roots-bad.pem b/tls/tests/files/ca-roots-bad.pem
index 1cceb7a..fab9547 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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
+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
-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
+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
-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
+AQoCggEBAMTvkKzTFJhFd8wUa+ONcmrF3mQtuHjEVKW+j4mi7bpDsx56N9ZUWMdj
+3lyRzEhccUKmyfa6e143WB2r/PmRTR/tjK6nM8qf3LPY7DMDeCMSXKgUw5bUB+wP
+pqSIlgU3I9Q+nIZBaH+dEXrNcHgX/npCYr9TdveiaG2+Rzl/OGJuBbAtMdCnQ0t/
+zqoICRBc7Ss2pE5MtYJ+sWOWhxMt/5F5oYEbPWDLhNW+q79F5eO5obLIkBFTumUR
+uJU4NnFaqRNA1eXiMK5ObvxeGFhORru0cXmDl2+3DXL/3SobO5ffj/pIzXZEDyhw
+7S/WdrIrQ9wM00nxtfib//SXtVPClcMCAwEAAaOCAUMwggE/MB0GA1UdDgQWBBT4
++CGh7rsWSaa4rXSSbw/rC4bP7DCBxgYDVR0jBIG+MIG7gBT4+CGh7rsWSaa4rXSS
+bw/rC4bP7KGBjKSBiTCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT
 8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRpZmljYXRlIEF1dGhvcml0eTEX
 MBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1w
-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
+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
-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
-MbJ0cWIRVg==
+EjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAigZ/TRrfC96y
+okSVzm/GkJLt0VppiKeZ5P9h0Qb+T5Aa/rHnYFJYobPoE07T8kZoUVDy+WJVNj5n
+GYvf+m3UxuyrnSR71a+2PiZtCpTBpJetVWJjVQKc4Tai6A9t48jvdch4gxo+4dKh
+XjlQ8PFt3LGG/E+icxRP50EunoPwNFVIuTLW7yoC7DeKlidj28a1/X7zeMqGi8nj
+3BlsWRM1giAJ5lfNjQtdo0o5XxYS8hX6AcRoGSXIp+Cqv19nrZEAfIhkmHfPISVM
+f1cDbnpNKTOFeWp5TO3kKN9zuJ1R6GO/YmoNVPQQotcYhXweZdfbypz9iviNgIJc
+lm9VyazIkA==
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
 MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290
diff --git a/tls/tests/files/ca-roots.pem b/tls/tests/files/ca-roots.pem
index 0d2d24c..6d40255 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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
+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
-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
+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
-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
+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
-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
+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
-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
-MbJ0cWIRVg==
+EjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAigZ/TRrfC96y
+okSVzm/GkJLt0VppiKeZ5P9h0Qb+T5Aa/rHnYFJYobPoE07T8kZoUVDy+WJVNj5n
+GYvf+m3UxuyrnSR71a+2PiZtCpTBpJetVWJjVQKc4Tai6A9t48jvdch4gxo+4dKh
+XjlQ8PFt3LGG/E+icxRP50EunoPwNFVIuTLW7yoC7DeKlidj28a1/X7zeMqGi8nj
+3BlsWRM1giAJ5lfNjQtdo0o5XxYS8hX6AcRoGSXIp+Cqv19nrZEAfIhkmHfPISVM
+f1cDbnpNKTOFeWp5TO3kKN9zuJ1R6GO/YmoNVPQQotcYhXweZdfbypz9iviNgIJc
+lm9VyazIkA==
 -----END CERTIFICATE-----
 
 GLib shouldn't care about this comment
diff --git a/tls/tests/files/ca.pem b/tls/tests/files/ca.pem
index d5747af..61c5c97 100644
--- a/tls/tests/files/ca.pem
+++ b/tls/tests/files/ca.pem
@@ -1,29 +1,29 @@
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
-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
+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
-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
+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
-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
-MbJ0cWIRVg==
+EjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAigZ/TRrfC96y
+okSVzm/GkJLt0VppiKeZ5P9h0Qb+T5Aa/rHnYFJYobPoE07T8kZoUVDy+WJVNj5n
+GYvf+m3UxuyrnSR71a+2PiZtCpTBpJetVWJjVQKc4Tai6A9t48jvdch4gxo+4dKh
+XjlQ8PFt3LGG/E+icxRP50EunoPwNFVIuTLW7yoC7DeKlidj28a1/X7zeMqGi8nj
+3BlsWRM1giAJ5lfNjQtdo0o5XxYS8hX6AcRoGSXIp+Cqv19nrZEAfIhkmHfPISVM
+f1cDbnpNKTOFeWp5TO3kKN9zuJ1R6GO/YmoNVPQQotcYhXweZdfbypz9iviNgIJc
+lm9VyazIkA==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/chain.pem b/tls/tests/files/chain.pem
index 95c96e4..6de9b10 100644
--- a/tls/tests/files/chain.pem
+++ b/tls/tests/files/chain.pem
@@ -3,78 +3,78 @@ MIIDuzCCAqOgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBrTETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxKzApBgNVBAsMIkludGVy
 bWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgNVBAMMG2ludGVybWVk
 aWF0ZS1jYS5leGFtcGxlLmNvbTEqMCgGCSqGSIb3DQEJARYbaW50ZXJtZWRpYXRl
-LWNhQGV4YW1wbGUuY29tMB4XDTIwMTAxMjE3NDk1MVoXDTQ1MTAwNjE3NDk1MVow
+LWNhQGV4YW1wbGUuY29tMB4XDTIxMDYyMTAyMTUzMloXDTQ2MDYxNTAyMTUzMlow
 SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
 GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
-ggEPADCCAQoCggEBAN4t3FBzYQk48Bzm7S9JiZqmWVY/FagC9aim8foydtzXXcXj
-IEWc6AChko8FhLJAp5ZJCxm7MbYc5pZfyGgecBawG13fKYoPo+59dUJAw8xkENKC
-i57K0fsfwZf4v0SqawmYUj9AtIsy8Q6xTRfVHA+Pj2qbNNTMIUzgIg3b7TpGnhjN
-DlxYzXLPThiKD8Vm+SrXOm8W+hCpIivyGDNWCxTo1MHj2UUmHPGHfwZXCJ9dt8sc
-QTV1B0TeTJ3Xm/w+aAzUfbdlkCufsk6nLsj+gYMRkGGsYo/GmAv4/PPUop+yNK6V
-LL1nNgp0hP+VwvGU2cpn6BRBmpUu5xHrXkHjU+ECAwEAAaNHMEUwCQYDVR0TBAIw
+ggEPADCCAQoCggEBALRhoVUfYCrqGCs7xhK42s0s/XqA+kADeIIAz2yLWzaN9LCv
+U+m7VH60wmPL4FCtGfBHRyLy+fiDs+j7HTyaFYnUiHcXTSY+q9ixKsiZkCyhzNZn
+kS5mmc370fpWUu6wf/WPgU2d+kHkUNZrWz4qz15viHha6d/1XAkQZk/b5fUa3pbn
+8tDutFPy6/QBF1xDR4Vxlp/HZi4WcCBmkrUvpBqVv5q5vKNEH1rsghV1Jz+CH/Vy
+o/HMeGIdN/uSBIc2WMfQ9fdS26HSc/TvbF/bgcf0ywTaYDOjekz2fA0lQbcW+74Y
+F7QLlCsfcLraVoD6CzSaAAXQPcBkX1hgnUVZG8cCAwEAAaNHMEUwCQYDVR0TBAIw
 ADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEWghJzZXJ2ZXIu
-ZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAHxnwEN8Xr9TUrHefXPdcDU2
-yd4F3u4bPL4RSSRFIKdqrAaHK0wnzLoF3HneUjKzU/l36kNHBa7dUo8Q2SGd3V4d
-zDR0uT9uUdsZVwmUbAcZs1Z9d1vPMWDqS1zwBKYtLTw2Z7sl9xaLYhxLZSyf1Pxe
-aC8+gNaqJ25aKAbDSMNCyF32vRy4OYy7Hi8Itexkva6XMlF4H4gSXs4QZP9WGhp7
-6YRdcy6Z6lJfkJ9SW6nsoNJvbYGOGbxHg9brxWJV8T7cFBQQVvZKasydS6+6IK/2
-/+n38vEog/7hGQ85iOsu0xOcdkKl/SIj1ckJtGAVif2kbCSzugSafA2jRELyiI0=
+ZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBADdrK0wg0hjXeztV+V4Pm+LR
+ufzDOBb1bh+HfeGAx4N9Ul3CKYy6rVcNXcFuWdgzm/0Ig3XkpDvTn8qzLc4WhgcZ
+e+TIgM2+i0QM7zjKBBv8n8yoixjVcYE3ETa9q3P0IKxF6U8trijrpJPCF17PiV/q
+21K1wp3L3m3UlyWqQBY4SWpuAPGsuNMaSDuTKzJ01B3qeE43oz/VaAXlBsqxWAdn
+VbzA/0j/yv87EEoU8crGI4l4610i3OP3LZJzklgJ/hl+q5+r6Huv4RCBH3qRBkOx
+UC9bL6aqCaBS0VuFJiKSHPzj+zxHMDmBtMpe1pGP4XKvPB/BUX4hinWoFkisIqE=
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
 MIIFAjCCA+qgAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIwMTAxMjE3NDk1MVoXDTQ1MTAw
-NjE3NDk1MVowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMDYyMTAyMTUzMloXDTQ2MDYx
+NTAyMTUzMlowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ
 FgdFWEFNUExFMSswKQYDVQQLDCJJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0
 aG9yaXR5MSQwIgYDVQQDDBtpbnRlcm1lZGlhdGUtY2EuZXhhbXBsZS5jb20xKjAo
 BgkqhkiG9w0BCQEWG2ludGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBANEiR6aaGVdhIBCTJDbB0KBjAYu1f5on
-K3d+meKkp/K5V2DeatnupjqEkK8qEzzl8a81YblGg/k0mghDQMA+Rm9POPVNugUw
-uOlzlfOshVuNRVGMh+Svu7Sa8y++eMiQnWYk3nQETGa0C+4Lwx/khIfXJ4QQ0SWE
-3RDkNLS052zRXeyTsOnvFRtnLw3Z4rQWJrdJtvcHIL534jEsR8B/6sheYm3uL+Nu
-pH+NdiWnqWFglrvObG4Diyki1A7u1SHIBMwdc1sHu7yDrKsrTijqPbQpdRrip3jH
-RAMjH+KFzeUaJR8hlnIUgwctdw6kgG7OfQPq1hWtfpI8mJ4CFhux3/cCAwEAAaOC
-AVAwggFMMB0GA1UdDgQWBBRwLIOiczD2pbLEqglbtvsAlJFwtjCBxgYDVR0jBIG+
-MIG7gBSLcFF+Oi4WrdNajz7wc6U4i2X3O6GBjKSBiTCBhjETMBEGCgmSJomT8ixk
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBALO9G+tFXTa6f98F0+u5Ds1nOctvcfmz
+X3HFEYVW/qVf55Kb98yLwHnMUwizSsdZcPexMVLgqSQTiy3BJEVpbz2T2VvsKDya
+RHbeehi6NSzuYjfTkdVgvfQx+QzdyZ77MDpZeR3aU0jFgQOsYZ+ryo1qvf2ZN2Sg
+Ine/jFDHdaak5kn2zmj3iZZfue4jf+Yes2X6VGSAy5YOma7OdMAtuC4O8JyjsZX/
+aeRGtp1XHV32gMbMqSSSjvsUqjRgHgmeumm8ExZXJ/vqH0Y2dJCYDDVX8Mjj6lex
+69Rk9P3uiE2cdIHiLoVEI6luTK8nFJnTjeK5lIvr5K7s4cuaaa7pXKcCAwEAAaOC
+AVAwggFMMB0GA1UdDgQWBBSG5mCRlBas7KhK6y6onzV8VzARnzCBxgYDVR0jBIG+
+MIG7gBT4+CGh7rsWSaa4rXSSbw/rC4bP7KGBjKSBiTCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghQ+s67jByiORo59Mf4YWphlAh5esDAP
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghR1NQvNS4LOcCDaiNkMzCq9CYPn3jAP
 BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAmBgNVHREEHzAdgRtpbnRl
 cm1lZGlhdGUtY2FAZXhhbXBsZS5jb20wGQYDVR0SBBIwEIEOY2FAZXhhbXBsZS5j
-b20wDQYJKoZIhvcNAQELBQADggEBADb+0KoGV/ZzUQ2moJnOQQRUL9HLtG9OC8Hh
-MZhGO0IhpwOkiT1Jy05n1tXu6x+XC3XI8WmzP6uuuNGmWoq38+AdtofPDXKnnLBN
-L3WU+JGI2cZ9eBv/yv1QeFxPFR9IuVMXc+Pt+2TVoV2ancDeH31GKqkktPO2G50g
-1F8AxaAV/PYIFQVGxH2+Cra3HKOcGWk7qHZBUh/Llvy+UWL6oa2MPBPmawNFq0Jm
-pIIO7SJzIieGTZL/X9GDOyGA4q9onvIJ2NHekIflYDG7hu440rG2evrnkjg63sBA
-QWp62b4ftpTxkvg1aLN92ciNVnajHv6Zc6HP1dBClWI26Hu8TRI=
+b20wDQYJKoZIhvcNAQELBQADggEBAE7Kcdgqeq0VNIwkGtIRtll51HEAYLkJYxHh
+pWP/M6C0gyYThv6Cku+QN/i36DtABjit1CWkp1QBm9ZcaMgjxRodDLl5TPZjpNF5
+DeJe7L0iAYo5nQYNVJpmRXKVgn/fCwD6I7DJD6GeutQhRSQLxd8yai658toFj4Q8
+ueCbKEqmnU8lU7tpQVrbbkRaExtk/DGIAuVzGe0fLQS7jy3346lDfDWnxpczCnj3
+rMJW/FaOz7CFqwjfWWnVjbIMgno0BAlfKNMbIDxJ/NRI9AAC8BiEqFqwDw1D/oWb
+a+le2M6xBnXbUro98eEjFQi/0IkAQv9+2bmWaeNnuP8y/ik18LM=
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-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
+MIIE4zCCA8ugAwIBAgIUdTULzUuCznAg2ojZDMwqvQmD594wDQYJKoZIhvcNAQEL
 BQAwgYYxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNh
 LmV4YW1wbGUuY29tMR0wGwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNvbTAgFw0y
-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
+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
-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
+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
-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
+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
-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
-MbJ0cWIRVg==
+EjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAigZ/TRrfC96y
+okSVzm/GkJLt0VppiKeZ5P9h0Qb+T5Aa/rHnYFJYobPoE07T8kZoUVDy+WJVNj5n
+GYvf+m3UxuyrnSR71a+2PiZtCpTBpJetVWJjVQKc4Tai6A9t48jvdch4gxo+4dKh
+XjlQ8PFt3LGG/E+icxRP50EunoPwNFVIuTLW7yoC7DeKlidj28a1/X7zeMqGi8nj
+3BlsWRM1giAJ5lfNjQtdo0o5XxYS8hX6AcRoGSXIp+Cqv19nrZEAfIhkmHfPISVM
+f1cDbnpNKTOFeWp5TO3kKN9zuJ1R6GO/YmoNVPQQotcYhXweZdfbypz9iviNgIJc
+lm9VyazIkA==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/client-and-key.pem b/tls/tests/files/client-and-key.pem
index 1565e9d..86b5c80 100644
--- a/tls/tests/files/client-and-key.pem
+++ b/tls/tests/files/client-and-key.pem
@@ -2,47 +2,47 @@
 MIIDXTCCAkUCAQMwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMDEwMTIxNzQ5NDVaFw00NTEwMDYxNzQ5
-NDVaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTA2MjEwMjE1MzJaFw00NjA2MTUwMjE1
+MzJaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALB/QctPIfpb
-onzUr4bxSANLsAWPoLyE8a1h2WUz2NJxtSjk0Ch531bGtlXxIMzGeUgJ0WwUh15L
-BJxm6vHcVVar1iV3JUf0XW4Wk0cYmpS36PXa9m0pQAXgzanbh5m5FWnGpO4QZS7d
-O7YYmbVO7lwIkT3B7dw3gCeMeyqSJbgXnBRB7zVff/lW/r0zJ1MF3AZHpDP17CHK
-175MBha29DqfsHkfqQga0eIR9vTqSBwe+m717pLgDoc23SgfHfsI+8F09uT+GEoy
-7Gr1CvT8mCkOHyg8yDIm0h7Az1hjvUPGW7P9PoYBCcto0OjcOPwTFVL8dgX8b6v+
-tOEvQEKIbfcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAnpAITVJnj3JO0K8qk0H6
-0QkygDKnt1WDjRLEWui/oGKGjJOkuiREXWB8l7UM6VrP38xKALdusGX6wj6/9JsO
-H/wGP89YFM8YiP2YXlG9I/7mMNPV6QPai5tW+mYrfrRmqq8Y177Q8HBfNtW8ZXFi
-CsE6GM2fb/lUUSdn3DT7mUMwXcEtIOHKpa7/N2sdbifpNJdnmKzYRJHwIBgdfIj6
-pl6u4baDKiFTClTky+YHuuppGy8cs/ZrXi/b0nyWyZ/Z+cRke9DyWB+QqMPtF1Id
-kvu15eweJB4HbrmSkvA2IpuNIJQy6AQm67FKxiEjP8ksq5RW67CbHM1OZSeTKF4Y
-mQ==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK99P7kmRbDs
+6LATYBvYRaYCqrGiRo/NE5D4iROqpOIAZ78mBqGRp2j9EhSGMfAIVLmWggzQYEwt
+FMivSAcVCa9UXmVEFKec028cmaA9t9auuK/aKXvOwyZaGPuux64fDO4I9LxS3f3k
+1nqErPdAX+bFTYPUe7j311lYn5HH7+55pgKJ3TudHU1Y4DLodZKIJvOaZrvDVct9
+9XkNQ2iYqjve28B5cwQmTnZdhhgWRBcU5PdrQ/TP6yMwnHYpNMrVlGr9Lj9Wb25K
+TdZNMLSpYebgEZcZHaH2vtjF+VRDz6ngkTQ+pSfRBPyM+SmHjEnNS5+XwKNpyzdF
+71NBcykYtQMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAIbPHl+djRBtDli7r6TI/
+gvsqCEBKJ7DWdamxHjoMLG6JxOjyQiQ2qSHJLosilFBeOzVIMxvP0ac26roBOk3g
+rgWpYKse2dGcX4o9bcUvkC8OPaoevXecFO7mNCztrB/hFc4zqKiqRLSfxlnLKDbq
+xNeGju4JHDc3q+KGXDe1eb1xDGydNk4dXYLegdyocUEw8l76BReadqbD/bBPmf28
+qlQpOnQ3Phjbb8r7YSGt2GZbiv/IQ2zly54xOnyB1lGqkNPDX+DDbpqYSHiaRq5q
+Cp/8UkeENY6tv+nLbwQx1rhvvt4eOd0aLgcTFTmZJdXrSHRznsVg3M938VSDgaBU
+dA==
 -----END CERTIFICATE-----
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/client-csr.pem b/tls/tests/files/client-csr.pem
new file mode 100644
index 0000000..75884fd
--- /dev/null
+++ b/tls/tests/files/client-csr.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICpzCCAY8CAQAwYjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixk
+ARkWB0VYQU1QTEUxDzANBgNVBAMMBkNsaWVudDEhMB8GCSqGSIb3DQEJARYSY2xp
+ZW50QGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
+r30/uSZFsOzosBNgG9hFpgKqsaJGj80TkPiJE6qk4gBnvyYGoZGnaP0SFIYx8AhU
+uZaCDNBgTC0UyK9IBxUJr1ReZUQUp5zTbxyZoD231q64r9ope87DJloY+67Hrh8M
+7gj0vFLd/eTWeoSs90Bf5sVNg9R7uPfXWVifkcfv7nmmAondO50dTVjgMuh1kogm
+85pmu8NVy331eQ1DaJiqO97bwHlzBCZOdl2GGBZEFxTk92tD9M/rIzCcdik0ytWU
+av0uP1ZvbkpN1k0wtKlh5uARlxkdofa+2MX5VEPPqeCRND6lJ9EE/Iz5KYeMSc1L
+n5fAo2nLN0XvU0FzKRi1AwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBADWaRWCM
+3qQe5V2fFz9QXy8NLsx0y67fcEokfGCcLEM+UEXUa2lrJPsHmSx4iBIHlAtTUqA3
+bEqOK8zIstkrAiloygJuW6BS2UUQGwo7ddb+LCYWlv4CefgDcohpnoGFmHd+kC4j
+x+lZLd8IgFLcaXyxzveRyQpGSYIFvn+4/Qjx5wWhZZ6Fdti+RS6NXK7v7SIgy1lp
++wuhgEFbUoVUuTo6cASK6bSIhVq/F0HhkGGgnS4LzMRU5FUeD9GiWLc/s+v5oOC0
+i7kJ/ArFHbJ/j8S2LsS+eOrb+D6W2Ll7BoIWxywOy0I5jPFuKjr0P4VFukZ5mXs6
+0+cSNXqmHcVfU8w=
+-----END CERTIFICATE REQUEST-----
diff --git a/tls/tests/files/client-future.pem b/tls/tests/files/client-future.pem
index eb149fe..c4dea2d 100644
--- a/tls/tests/files/client-future.pem
+++ b/tls/tests/files/client-future.pem
@@ -7,17 +7,17 @@ ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
 AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzIzMDAwMFoYDzIwNjEwNzE3
 MjMwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
 RVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGllbnRA
-ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwf0HL
-TyH6W6J81K+G8UgDS7AFj6C8hPGtYdllM9jScbUo5NAoed9WxrZV8SDMxnlICdFs
-FIdeSwScZurx3FVWq9YldyVH9F1uFpNHGJqUt+j12vZtKUAF4M2p24eZuRVpxqTu
-EGUu3Tu2GJm1Tu5cCJE9we3cN4AnjHsqkiW4F5wUQe81X3/5Vv69MydTBdwGR6Qz
-9ewhyte+TAYWtvQ6n7B5H6kIGtHiEfb06kgcHvpu9e6S4A6HNt0oHx37CPvBdPbk
-/hhKMuxq9Qr0/JgpDh8oPMgyJtIewM9YY71Dxluz/T6GAQnLaNDo3Dj8ExVS/HYF
-/G+r/rThL0BCiG33AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAKSDFn8ZZ3jeGauc
-xAz66UKVJq4TmY07OcN0TnU0CGn9k4ZdcHxHDQ+kIUsAYZprDPLY02uTGxP925fn
-RwlbTEyQML1be6e082yrmv0Z6rjgv05BnPr7iNIoAQA+W71jNBuHBoFVZpmPnpFY
-zPh4hEb6zLzicb7gXzZvXM1sapCJWqlfSW3tWOv45CfgEje9iYqN3UoueCcQMGXl
-gaqWipLmlgD6qu/EZ+FfxmHkv5eWMb7KYbvJXgaF7PaT2FgrCrybB+RO1RjIMsnD
-OaRnlfBr9Zue4cJMAVHjRg/jxirYiTnz63pirKQvBZ4g8eLIUO3WCDUVFxjhThgR
-uMedPw0=
+ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvfT+5
+JkWw7OiwE2Ab2EWmAqqxokaPzROQ+IkTqqTiAGe/Jgahkado/RIUhjHwCFS5loIM
+0GBMLRTIr0gHFQmvVF5lRBSnnNNvHJmgPbfWrriv2il7zsMmWhj7rseuHwzuCPS8
+Ut395NZ6hKz3QF/mxU2D1Hu499dZWJ+Rx+/ueaYCid07nR1NWOAy6HWSiCbzmma7
+w1XLffV5DUNomKo73tvAeXMEJk52XYYYFkQXFOT3a0P0z+sjMJx2KTTK1ZRq/S4/
+Vm9uSk3WTTC0qWHm4BGXGR2h9r7YxflUQ8+p4JE0PqUn0QT8jPkph4xJzUufl8Cj
+acs3Re9TQXMpGLUDAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAH9Ku6oUBjuDiapk
+VtwV99sjG7DQd4GIiYGbFBlXlXafvQ47NgHJULRYd9hKhAZL/dWAi6tpz2Bxgc9g
+cpB+B/nT9BV30YbuTTmBxwBHb0EVMAES46iG9a47FfpaMb6ss3I3pD3UIL226hJR
+U9BSSsTx4gTPDNY0UFQQupemXAtB224dhqpqDOW7jaiaH3U2xmOUin/W4OH/EiKU
+hVXAQ9zb2LsuaTt4zMicS/MTfQoOn4KG0dEsBsmDL8gwPREHQcxJFxS8na7LT87Z
+U9I77zSBBaM2CLn6hUqRhZafsiR06VsLBVQdlnHRAiqZerxqveCHimeyTBA2GD2W
+wmmvsKY=
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/client-key.pem b/tls/tests/files/client-key.pem
index e048c82..7578d40 100644
--- a/tls/tests/files/client-key.pem
+++ b/tls/tests/files/client-key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/client-past.pem b/tls/tests/files/client-past.pem
index 66ae45e..fda4927 100644
--- a/tls/tests/files/client-past.pem
+++ b/tls/tests/files/client-past.pem
@@ -7,17 +7,17 @@ ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
 AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcyMzAwMDBaFw0wMTA3MTcyMzAw
 MDBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALB/QctPIfpb
-onzUr4bxSANLsAWPoLyE8a1h2WUz2NJxtSjk0Ch531bGtlXxIMzGeUgJ0WwUh15L
-BJxm6vHcVVar1iV3JUf0XW4Wk0cYmpS36PXa9m0pQAXgzanbh5m5FWnGpO4QZS7d
-O7YYmbVO7lwIkT3B7dw3gCeMeyqSJbgXnBRB7zVff/lW/r0zJ1MF3AZHpDP17CHK
-175MBha29DqfsHkfqQga0eIR9vTqSBwe+m717pLgDoc23SgfHfsI+8F09uT+GEoy
-7Gr1CvT8mCkOHyg8yDIm0h7Az1hjvUPGW7P9PoYBCcto0OjcOPwTFVL8dgX8b6v+
-tOEvQEKIbfcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgNa0nsEXn2Wdhzwkyhuk
-DvGsoDU8HIXP3hCC8+RIOZlL/rnSF55vizzInXqvkVDnJZ/X3L77v8KWVt7oRtZi
-6bXHpdi8B3JiY5djqVMJuYIHVXNUXL9GcvOqQGQ3c2TIUMGlpAvrppPVKPrqgV/7
-oBj9MFLT/bWQjzKkV5xit6ccrn7I1ncgAUjmUh+p1LbUqU0260oZLDVKlX5Ac9ua
-conXHEqLKcwJgyaANTMb6k9y2nksZIjDD6SFVjyQ8y6f/vc16y+URHBMGz4baNiR
-6OlBcSgjxj/fg0/95nmWS0INA3GV16hXV6tLoSuGLP9z5w8mSYhU7MYiYXn65foE
-mA==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK99P7kmRbDs
+6LATYBvYRaYCqrGiRo/NE5D4iROqpOIAZ78mBqGRp2j9EhSGMfAIVLmWggzQYEwt
+FMivSAcVCa9UXmVEFKec028cmaA9t9auuK/aKXvOwyZaGPuux64fDO4I9LxS3f3k
+1nqErPdAX+bFTYPUe7j311lYn5HH7+55pgKJ3TudHU1Y4DLodZKIJvOaZrvDVct9
+9XkNQ2iYqjve28B5cwQmTnZdhhgWRBcU5PdrQ/TP6yMwnHYpNMrVlGr9Lj9Wb25K
+TdZNMLSpYebgEZcZHaH2vtjF+VRDz6ngkTQ+pSfRBPyM+SmHjEnNS5+XwKNpyzdF
+71NBcykYtQMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEADqlyDS1UTQnS8IuYxUs6
+iePRPhOloIvs7v1bhW6nctf9hjpiLOPAfpc7hTeNn5mZKTxmuPUHRf/wlBCwA9Oa
+u2W14O2To/KG2cjdgKRzcBa1n7cD4Yho/48bOlFPzs7WMuLhcdz2o6ZbQS6X0dWh
+mW4gu/C0xHBLGS5LGpZdUPhnVyc9r2xiDfy2BnsR6O20npqs6tCVR95EGUgs2x6w
+He98eIQ370tXjryW+uYni7MOvqRKUeaJAdrSLTrYXN5pxVWX+h7NqbqkCJj1cqQt
+O/dTBZdsTeR/k2tyr92mgBcC8/rp/4Qz9XaokT512OIQsBLID+mE4BIRLt2NXJVk
+Fw==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/client.pem b/tls/tests/files/client.pem
index 2551a6e..ab08528 100644
--- a/tls/tests/files/client.pem
+++ b/tls/tests/files/client.pem
@@ -2,20 +2,20 @@
 MIIDXTCCAkUCAQMwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMDEwMTIxNzQ5NDVaFw00NTEwMDYxNzQ5
-NDVaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTA2MjEwMjE1MzJaFw00NjA2MTUwMjE1
+MzJaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALB/QctPIfpb
-onzUr4bxSANLsAWPoLyE8a1h2WUz2NJxtSjk0Ch531bGtlXxIMzGeUgJ0WwUh15L
-BJxm6vHcVVar1iV3JUf0XW4Wk0cYmpS36PXa9m0pQAXgzanbh5m5FWnGpO4QZS7d
-O7YYmbVO7lwIkT3B7dw3gCeMeyqSJbgXnBRB7zVff/lW/r0zJ1MF3AZHpDP17CHK
-175MBha29DqfsHkfqQga0eIR9vTqSBwe+m717pLgDoc23SgfHfsI+8F09uT+GEoy
-7Gr1CvT8mCkOHyg8yDIm0h7Az1hjvUPGW7P9PoYBCcto0OjcOPwTFVL8dgX8b6v+
-tOEvQEKIbfcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAnpAITVJnj3JO0K8qk0H6
-0QkygDKnt1WDjRLEWui/oGKGjJOkuiREXWB8l7UM6VrP38xKALdusGX6wj6/9JsO
-H/wGP89YFM8YiP2YXlG9I/7mMNPV6QPai5tW+mYrfrRmqq8Y177Q8HBfNtW8ZXFi
-CsE6GM2fb/lUUSdn3DT7mUMwXcEtIOHKpa7/N2sdbifpNJdnmKzYRJHwIBgdfIj6
-pl6u4baDKiFTClTky+YHuuppGy8cs/ZrXi/b0nyWyZ/Z+cRke9DyWB+QqMPtF1Id
-kvu15eweJB4HbrmSkvA2IpuNIJQy6AQm67FKxiEjP8ksq5RW67CbHM1OZSeTKF4Y
-mQ==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK99P7kmRbDs
+6LATYBvYRaYCqrGiRo/NE5D4iROqpOIAZ78mBqGRp2j9EhSGMfAIVLmWggzQYEwt
+FMivSAcVCa9UXmVEFKec028cmaA9t9auuK/aKXvOwyZaGPuux64fDO4I9LxS3f3k
+1nqErPdAX+bFTYPUe7j311lYn5HH7+55pgKJ3TudHU1Y4DLodZKIJvOaZrvDVct9
+9XkNQ2iYqjve28B5cwQmTnZdhhgWRBcU5PdrQ/TP6yMwnHYpNMrVlGr9Lj9Wb25K
+TdZNMLSpYebgEZcZHaH2vtjF+VRDz6ngkTQ+pSfRBPyM+SmHjEnNS5+XwKNpyzdF
+71NBcykYtQMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAIbPHl+djRBtDli7r6TI/
+gvsqCEBKJ7DWdamxHjoMLG6JxOjyQiQ2qSHJLosilFBeOzVIMxvP0ac26roBOk3g
+rgWpYKse2dGcX4o9bcUvkC8OPaoevXecFO7mNCztrB/hFc4zqKiqRLSfxlnLKDbq
+xNeGju4JHDc3q+KGXDe1eb1xDGydNk4dXYLegdyocUEw8l76BReadqbD/bBPmf28
+qlQpOnQ3Phjbb8r7YSGt2GZbiv/IQ2zly54xOnyB1lGqkNPDX+DDbpqYSHiaRq5q
+Cp/8UkeENY6tv+nLbwQx1rhvvt4eOd0aLgcTFTmZJdXrSHRznsVg3M938VSDgaBU
+dA==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/client2-and-key.pem b/tls/tests/files/client2-and-key.pem
index 987369c..3f87479 100644
--- a/tls/tests/files/client2-and-key.pem
+++ b/tls/tests/files/client2-and-key.pem
@@ -2,47 +2,47 @@
 MIIDXTCCAkUCAQYwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMDEwMTIxNzQ5NTFaFw00NTEwMDYxNzQ5
-NTFaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTA2MjEwMjE1MzJaFw00NjA2MTUwMjE1
+MzJaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVdmmU1KY3o
-MIgJbckUfm7uy/2Ba/60NeZDAWz2oZSZeiA65u7D0w0DYKceOf2btUY6pX9R7xuH
-jbh8ztV2xR93qqJRy2R/JhsW1XHgftWKLrbxUJ9KFN8xyUtECSROICyaaBl577h7
-hP0ifmCuW6+NJ8FQgfzwuWMseT5y2u01tUPHmF2SqEMvorVfoVUYjsdl56jWxlJ5
-v8D7htZbAwfU0XY3XjdMeCOg1/cy7RKMc+wVeVWAQFfHEqqmYAJBGtpMnHWJTXdq
-Omqp2poNEFgLzXdJIT/XjrxKGXKe9sMhSw4oL3lIAvxkjGEiXOqTRUU3ZuYKKJNk
-4SOABmG1T2cCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAbjwRNYbPFq3BXdtRUldW
-56gKwSDd0K/nwSg3lRz89wTQJ4ql3s6CfD9QoTCiq3TcMnOi8lHug+9R2KDRu+CZ
-bCF2gh79TH+kgjDUwVp6lNMu9abVy6QfYnY6BGbhDQp82SdOSKN2/+q0g1aZmGzt
-GYAgP2uPvub9eTbq4fT6xNxctdM7pYFWibECBnw0yailolX+Y7dw2SbQ/8iTFmVQ
-CN6btbpR6PdnF0Ja7mnnVk5GNJh28bbPLvI399PvUJrqlsvcfN5VMVB9IfpQUx9Z
-39hl55qnABIVjWTK/CWIehjpy4306RCe6ug4Szqt61INqeODfPpntRSCGCR3/6uo
-pw==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALhfw9yN+ARC
++kN1WbDyOAqiEgxTBndxDFyXwbdPDPpOyfqoal0xljCv+joXlnHtD0n6yXnDLL3O
+iRg1pS4sBQAoG+nu33sDmkVvURv+ZB0AXDorlGWTqtL0VPalRS9MkSvXKR9QFc60
+AoY1U7RFZCsOPpg9U2X/sTQpTX8ACqWO4POqgqAvfm4CdUr4W+F5v5G/W2kBegiu
+XAoswmag5X9/mHsSGVTvDHjX2xRze30lx6fQIXGvuvaxd9oYuC+YapB4k6IALztw
+PZ3HLW+VPeTEcod+YPORMpqjkp+JwwC6oS5e52RtpO/47HlmCNPLXwLcX5dGgDC1
+oj3XvMRorI8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAh7xYnBOzAgMgEV5TWz/O
+psTna17oKbvnkpPmOaSZiZ8Z7XavSTGGEH0o41siLCC/Nv4XPbO7l2TmY8u1WJoS
+9e7pRkexSRFg/GF84cgJ8ww5VzOd2CrnXGDOda4xgOQ/BUsLN67JGVUh+AcPZ4Xs
+4J8OpS+VuokS6tkK2BCdYc1qfmEpoB2lZdRaIdWGY8zQX0G/ZzvjsjSk4vQ22m40
+UM2gJiDP9LEmYimMP5ew/QBLsv3Vm90mZ6ObIx26TwLD6wlxNd8o/3ntdgS9+YTH
+8MnnUlE81Hp9FYOhw6jDdfKJaGAI0LWe7RHwOCTDy5pzhpDQgl/KGtfE7da1h2xA
+rQ==
 -----END CERTIFICATE-----
 -----BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAxV2aZTUpjegwiAltyRR+bu7L/YFr/rQ15kMBbPahlJl6IDrm
-7sPTDQNgpx45/Zu1Rjqlf1HvG4eNuHzO1XbFH3eqolHLZH8mGxbVceB+1YoutvFQ
-n0oU3zHJS0QJJE4gLJpoGXnvuHuE/SJ+YK5br40nwVCB/PC5Yyx5PnLa7TW1Q8eY
-XZKoQy+itV+hVRiOx2XnqNbGUnm/wPuG1lsDB9TRdjdeN0x4I6DX9zLtEoxz7BV5
-VYBAV8cSqqZgAkEa2kycdYlNd2o6aqnamg0QWAvNd0khP9eOvEoZcp72wyFLDigv
-eUgC/GSMYSJc6pNFRTdm5gook2ThI4AGYbVPZwIDAQABAoIBAFayC0Qx2hMPz2Gy
-YptVeURZeRneZAX6O0LuZA3tOIUB9fd6aD6xnl+1ABvo1yhj4Xj8Af6viwzYupQz
-ntd92JE+C6JJs8JtZ9u2aAQhzRUYIfUSg4u1Cv4P7JA3Tpy4BMITAW9PdNHg0EYx
-hLoLXRL8Ol5ccv0c8RJzUr7vzOMtUvH68TyDEAGyhcVmZfHMN7y1a8zqKvH2sjaW
-0wU8SN4lMvunVt+M0uvOqCcBLJfilqoQ1XCZd5QfSTi1TnzeGOvgdeGi/UUJxHlu
-l8YI1ftHofcUphX3GmIAVX7PBZkczHvePeAZxHDRQXFoKNzYBz/6P/dyC0EDaoq1
-jJepSIECgYEA5VuxBgpQ0ol1657yFAgv8Iq3louJrhBLcoUPh40NzHivqYrqu/g5
-PgDhKIq3w+jNgt2/KSZsAbaw9qCbG0R7GrbO4GLP3z6R28xr/mwZkVj3kuMHNlAK
-aaqrqjavSfeFVnD/vxX9NwVSVlMObZK/H6LTv2OVTETm8Kv7bZK/YdcCgYEA3EqQ
-1XyojrhjCO+MSmQLtmGOnn6s4xRjH0QFzpcHcN968Q/hcBEDoBMnqGbQSMaVOwBB
-eS8NoIE5tBpG9neWf4i/auIFT9g+nvjZAeDmeihlvrwJmXUSronbsPCzRdp964B/
-5Bzv6Nxg1k+5/irAy7949iP/z14MS8HS26Jo7PECgYEAqo5/2q0LIzUDUp8VB556
-/9Y35aSIUr9dS6D1Rmi3LSlF/78FBZj2AEypIvvc4buaL8n0YIZo5PFVMWGHVkSb
-gucUejoguLOPxbKDUGRUswhEup9G+rWUuLUpCN+3hDqjlf9bv157uVGkw/rpjMQG
-imEMM5O7L0dBsRFDXF03ImsCgYAQcmy/06/OAAw81Y223CNXuY7pXHHR/mqsIesB
-EpuWnMjUCKh/MnX/1I5Ib2yrkk//+LPqtU2iJyPEw5V6v1D4MqB//WICJRX/znp9
-PmpWwn9eLzHUSD5d06MYYdAwrfBqzcw+nr52t0VvmsI7LLv6OlBwqB1oQRBP86en
-iEenMQKBgCM75q+XN+sDiPsW86Ha1ekbXiSvWXrMuJA3k5el6of9ySiLUKHjTFLc
-TgWsny80x7vHGaJaglYd0FMeZb1zJGSFkS+FEzATjEro0E78ln70eDudJ3OkkoJV
-oDzGKm+uL2ju9IS0fQPV4JfOjEDVtN49UR/KTPc6Cz5NJ2KY3Tqi
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/client2-csr.pem b/tls/tests/files/client2-csr.pem
new file mode 100644
index 0000000..e4e1b1c
--- /dev/null
+++ b/tls/tests/files/client2-csr.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICpzCCAY8CAQAwYjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixk
+ARkWB0VYQU1QTEUxDzANBgNVBAMMBkNsaWVudDEhMB8GCSqGSIb3DQEJARYSY2xp
+ZW50QGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
+uF/D3I34BEL6Q3VZsPI4CqISDFMGd3EMXJfBt08M+k7J+qhqXTGWMK/6OheWce0P
+SfrJecMsvc6JGDWlLiwFACgb6e7fewOaRW9RG/5kHQBcOiuUZZOq0vRU9qVFL0yR
+K9cpH1AVzrQChjVTtEVkKw4+mD1TZf+xNClNfwAKpY7g86qCoC9+bgJ1Svhb4Xm/
+kb9baQF6CK5cCizCZqDlf3+YexIZVO8MeNfbFHN7fSXHp9Ahca+69rF32hi4L5hq
+kHiTogAvO3A9ncctb5U95MRyh35g85EymqOSn4nDALqhLl7nZG2k7/jseWYI08tf
+Atxfl0aAMLWiPde8xGisjwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAEYLfA4F
+SOcmEJgoLhuBa3Kf6z0ACMbnIAU8nq8ijeY4nOlQCeizwXLV7NECczcUl7Qyo6gq
+m99y1BqrM1Pk4SCXf4RYemtv8bZCXRbJjPMZOsiwTr8CJzug+LXIljDUx4ISQOxs
+FDeF9DLNxaTkXbYmuAoc8TSagn5hMT/UnBYwdaK/Q3CqMcSaYjRvmO/T1mecNVEw
+BVqllpiFjavrDW06HB4ij+ibVVzfog4l9ZgXglKbg7GKvjMYDmrpqlDGvD6UDagN
+P+6x3eDUuiIrZCUCMTkgStB81+lDGH5k4TQqFfUNAmeadYMcNjCrqoD4yfagIvk6
+PMT2pKs6ama/hGo=
+-----END CERTIFICATE REQUEST-----
diff --git a/tls/tests/files/client2-key.pem b/tls/tests/files/client2-key.pem
index 987c866..8017082 100644
--- a/tls/tests/files/client2-key.pem
+++ b/tls/tests/files/client2-key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/client2.pem b/tls/tests/files/client2.pem
index b034024..a1e87f8 100644
--- a/tls/tests/files/client2.pem
+++ b/tls/tests/files/client2.pem
@@ -2,20 +2,20 @@
 MIIDXTCCAkUCAQYwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMDEwMTIxNzQ5NTFaFw00NTEwMDYxNzQ5
-NTFaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTA2MjEwMjE1MzJaFw00NjA2MTUwMjE1
+MzJaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVdmmU1KY3o
-MIgJbckUfm7uy/2Ba/60NeZDAWz2oZSZeiA65u7D0w0DYKceOf2btUY6pX9R7xuH
-jbh8ztV2xR93qqJRy2R/JhsW1XHgftWKLrbxUJ9KFN8xyUtECSROICyaaBl577h7
-hP0ifmCuW6+NJ8FQgfzwuWMseT5y2u01tUPHmF2SqEMvorVfoVUYjsdl56jWxlJ5
-v8D7htZbAwfU0XY3XjdMeCOg1/cy7RKMc+wVeVWAQFfHEqqmYAJBGtpMnHWJTXdq
-Omqp2poNEFgLzXdJIT/XjrxKGXKe9sMhSw4oL3lIAvxkjGEiXOqTRUU3ZuYKKJNk
-4SOABmG1T2cCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAbjwRNYbPFq3BXdtRUldW
-56gKwSDd0K/nwSg3lRz89wTQJ4ql3s6CfD9QoTCiq3TcMnOi8lHug+9R2KDRu+CZ
-bCF2gh79TH+kgjDUwVp6lNMu9abVy6QfYnY6BGbhDQp82SdOSKN2/+q0g1aZmGzt
-GYAgP2uPvub9eTbq4fT6xNxctdM7pYFWibECBnw0yailolX+Y7dw2SbQ/8iTFmVQ
-CN6btbpR6PdnF0Ja7mnnVk5GNJh28bbPLvI399PvUJrqlsvcfN5VMVB9IfpQUx9Z
-39hl55qnABIVjWTK/CWIehjpy4306RCe6ug4Szqt61INqeODfPpntRSCGCR3/6uo
-pw==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALhfw9yN+ARC
++kN1WbDyOAqiEgxTBndxDFyXwbdPDPpOyfqoal0xljCv+joXlnHtD0n6yXnDLL3O
+iRg1pS4sBQAoG+nu33sDmkVvURv+ZB0AXDorlGWTqtL0VPalRS9MkSvXKR9QFc60
+AoY1U7RFZCsOPpg9U2X/sTQpTX8ACqWO4POqgqAvfm4CdUr4W+F5v5G/W2kBegiu
+XAoswmag5X9/mHsSGVTvDHjX2xRze30lx6fQIXGvuvaxd9oYuC+YapB4k6IALztw
+PZ3HLW+VPeTEcod+YPORMpqjkp+JwwC6oS5e52RtpO/47HlmCNPLXwLcX5dGgDC1
+oj3XvMRorI8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAh7xYnBOzAgMgEV5TWz/O
+psTna17oKbvnkpPmOaSZiZ8Z7XavSTGGEH0o41siLCC/Nv4XPbO7l2TmY8u1WJoS
+9e7pRkexSRFg/GF84cgJ8ww5VzOd2CrnXGDOda4xgOQ/BUsLN67JGVUh+AcPZ4Xs
+4J8OpS+VuokS6tkK2BCdYc1qfmEpoB2lZdRaIdWGY8zQX0G/ZzvjsjSk4vQ22m40
+UM2gJiDP9LEmYimMP5ew/QBLsv3Vm90mZ6ObIx26TwLD6wlxNd8o/3ntdgS9+YTH
+8MnnUlE81Hp9FYOhw6jDdfKJaGAI0LWe7RHwOCTDy5pzhpDQgl/KGtfE7da1h2xA
+rQ==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/intermediate-ca-csr.pem b/tls/tests/files/intermediate-ca-csr.pem
index 0557eed..e59ebfb 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
-DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANEiR6aaGVdhIBCTJDbB0KBjAYu1
-f5onK3d+meKkp/K5V2DeatnupjqEkK8qEzzl8a81YblGg/k0mghDQMA+Rm9POPVN
-ugUwuOlzlfOshVuNRVGMh+Svu7Sa8y++eMiQnWYk3nQETGa0C+4Lwx/khIfXJ4QQ
-0SWE3RDkNLS052zRXeyTsOnvFRtnLw3Z4rQWJrdJtvcHIL534jEsR8B/6sheYm3u
-L+NupH+NdiWnqWFglrvObG4Diyki1A7u1SHIBMwdc1sHu7yDrKsrTijqPbQpdRri
-p3jHRAMjH+KFzeUaJR8hlnIUgwctdw6kgG7OfQPq1hWtfpI8mJ4CFhux3/cCAwEA
-AaBRME8GCSqGSIb3DQEJDjFCMEAwHQYDVR0OBBYEFHAsg6JzMPalssSqCVu2+wCU
-kXC2MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
-CwUAA4IBAQCP/tVVv0ry4qsvp237Tufq0FRF8iCxdDedPjPyqkTvS60GoU0N3oK7
-/kwJ7BtV6cuPekDmp8gdc3vQ7dkDs0F4rlgnQdYgizDmRyfX+a9PHxqc6uF90qwK
-OcNzGacuqyf4RFMEbVXAGnr2HJCqZPZrD2H5wfKIVkdJwKB6L8x4ZMMCh9MBrYs6
-+GekbOKFGnJsBbwK/dttT/wAydNwbm7I9ICNlm/nREti4IjvDtChUik+nVPiBRdx
-KA0JF0xeCXQMT/yqsXNTka797tGVS84e+DBv6l7a9jvkU/RlsKwYlOvmSNzuwT3E
-wgfVrzE/4yQ24iuzaoSC7VEeNb8WhQFq
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALO9G+tFXTa6f98F0+u5Ds1nOctv
+cfmzX3HFEYVW/qVf55Kb98yLwHnMUwizSsdZcPexMVLgqSQTiy3BJEVpbz2T2Vvs
+KDyaRHbeehi6NSzuYjfTkdVgvfQx+QzdyZ77MDpZeR3aU0jFgQOsYZ+ryo1qvf2Z
+N2SgIne/jFDHdaak5kn2zmj3iZZfue4jf+Yes2X6VGSAy5YOma7OdMAtuC4O8Jyj
+sZX/aeRGtp1XHV32gMbMqSSSjvsUqjRgHgmeumm8ExZXJ/vqH0Y2dJCYDDVX8Mjj
+6lex69Rk9P3uiE2cdIHiLoVEI6luTK8nFJnTjeK5lIvr5K7s4cuaaa7pXKcCAwEA
+AaBRME8GCSqGSIb3DQEJDjFCMEAwHQYDVR0OBBYEFIbmYJGUFqzsqErrLqifNXxX
+MBGfMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+CwUAA4IBAQAFWuTO8VVJjFgMHEZiZQooiWjM4vmijNW8JwqoPNvne82LZgnnQ7ny
+YeoQRKIwMcp4vyNKJzOwVUikdjQMqoCjJ1qKY4/ReEB7+Ji5FvsL9gvKvp2l+my5
+0ffmg1gHbkqfzkttSd/p/tEh1P1QyqE3DvmcZ1RYVlSTsGGUE4M9sYfBIVpmCHyp
+qyXAfCcD4Ce2cABD8R2qVC5AGdA4Hc5cxAHh2ZFxqBZNkAcReD+MTUIHDeF4i/oA
+b+XcLKJsuBkcFEFFD8quAoQ3esPnZGuZbyC1vllHsBKrt+17RLjcvtC2Tb0cYyZz
+JyObcTZ5nfXDJLj3Mn3DlhORRDN2qMrS
 -----END CERTIFICATE REQUEST-----
diff --git a/tls/tests/files/intermediate-ca-key.pem b/tls/tests/files/intermediate-ca-key.pem
index 28f2407..9ca5dae 100644
--- a/tls/tests/files/intermediate-ca-key.pem
+++ b/tls/tests/files/intermediate-ca-key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEA0SJHppoZV2EgEJMkNsHQoGMBi7V/micrd36Z4qSn8rlXYN5q
-2e6mOoSQryoTPOXxrzVhuUaD+TSaCENAwD5Gb0849U26BTC46XOV86yFW41FUYyH
-5K+7tJrzL754yJCdZiTedARMZrQL7gvDH+SEh9cnhBDRJYTdEOQ0tLTnbNFd7JOw
-6e8VG2cvDdnitBYmt0m29wcgvnfiMSxHwH/qyF5ibe4v426kf412JaepYWCWu85s
-bgOLKSLUDu7VIcgEzB1zWwe7vIOsqytOKOo9tCl1GuKneMdEAyMf4oXN5RolHyGW
-chSDBy13DqSAbs59A+rWFa1+kjyYngIWG7Hf9wIDAQABAoIBAQCM6WoZyW8Vvy2Z
-vWsDMiheSRd7iTmHJqlVBIqveX5oP5WugW7BlNmQSE4smE8KE217Pp6v9eFqgpTe
-yGHSpqNS0LByKIMUiDWvpt/8pdvdShzQy72syvPQxy7glphPm5FSh7kTtum7scjw
-BiDdVl4uITxQ8fvaKeHCReF1eQcN+/PypNxxkSumXU+w0skCw8WnroJlPFeR3KzG
-2mu1cE59Xlf5lUPSOY5luKYxz8uUzeWQS6ImOyo+HD/nVRXTYSYXPSCq9Rwcn4Xo
-FtG5T18CuRQw+/U/s+9EvQ9wELUPxOtvsvzBSbxStPR3FLCrmyPAkg5WSzsMTL15
-H0SpWo+hAoGBAPOOFNgPtXUQlzBgOSficZA4CAAsKHQJxsyLpp9g+pn0ctQsA4Jo
-GPHZyZfAmpIhKaplN9dupRx7r59eOspIz8tWYJFo8Uo2ateMH+5Gx4WE63wA5VVi
-nTazX2sDsBpClo3liVJn8kMD8CmM7WJx9FJUrJDQne/QAyDIOVlVLnlpAoGBANvR
-8IP3B1TvLTpMK+EJqgMD7DDc/PSUkqr6UannidaNO91VfjZiOWQ5l4H+YT+2hMGo
-LGIh2wbLAIukO7SgXr+EEszRzyoaEi+HEXCOSa0HpUPjHF63F5xaEf48QK4CNJa+
-+mOrHLXEIi//dwvOMjWP5Gf7e66ri+J+7Hk+gAJfAoGAPiAW5woSwjqqJhfVXHwh
-daUlPU4GP5siz5grt2nYYp79D2vutTvyaPahuojRpMa6xxEsjlJV4Y8XPDKgEmtC
-Pd7ZoR3Atqps1HCU0IXTbRZ7rtTXqtENwx88DqMRL5Ger7FGNvP20utVPnQJNVxV
-8w5QOlxMfRh1Q85u+n+E7EkCgYEAoGo6jPMvBIpuhQalVtpImV65dIcwigQKbH+0
-LLttWYdD0qfbLTDNFRj6OcE7ktVNWE2z5gEy52gpg75cW9pUioqFdbb+6YiREOIO
-lgcgOQdFUZ9hSrVuo4kPbGroAJRXcFL6QtXSY8s377MMWy8kcPYLBt79SWCi+q0J
-QQmdPR0CgYABMy+2WB6ls+EC38t+qqiFyogpz8cXilaHnfbd2vskoRDU5K0SRti2
-1VCL+0QPbd0Pq0R12mHignGZeXuZuPGfAxDB7I3euJkQwxEujyQDELT1u9PGfvNK
-Kw6m3SDPMlxwNTwto5TCQR4k9+bppFUJ+P/5nzCMC4toFdUXhgGQDw==
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/intermediate-ca.pem b/tls/tests/files/intermediate-ca.pem
index c5829fe..6f36e2c 100644
--- a/tls/tests/files/intermediate-ca.pem
+++ b/tls/tests/files/intermediate-ca.pem
@@ -2,28 +2,28 @@
 MIIFAjCCA+qgAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIwMTAxMjE3NDk1MVoXDTQ1MTAw
-NjE3NDk1MVowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMDYyMTAyMTUzMloXDTQ2MDYx
+NTAyMTUzMlowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ
 FgdFWEFNUExFMSswKQYDVQQLDCJJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0
 aG9yaXR5MSQwIgYDVQQDDBtpbnRlcm1lZGlhdGUtY2EuZXhhbXBsZS5jb20xKjAo
 BgkqhkiG9w0BCQEWG2ludGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBANEiR6aaGVdhIBCTJDbB0KBjAYu1f5on
-K3d+meKkp/K5V2DeatnupjqEkK8qEzzl8a81YblGg/k0mghDQMA+Rm9POPVNugUw
-uOlzlfOshVuNRVGMh+Svu7Sa8y++eMiQnWYk3nQETGa0C+4Lwx/khIfXJ4QQ0SWE
-3RDkNLS052zRXeyTsOnvFRtnLw3Z4rQWJrdJtvcHIL534jEsR8B/6sheYm3uL+Nu
-pH+NdiWnqWFglrvObG4Diyki1A7u1SHIBMwdc1sHu7yDrKsrTijqPbQpdRrip3jH
-RAMjH+KFzeUaJR8hlnIUgwctdw6kgG7OfQPq1hWtfpI8mJ4CFhux3/cCAwEAAaOC
-AVAwggFMMB0GA1UdDgQWBBRwLIOiczD2pbLEqglbtvsAlJFwtjCBxgYDVR0jBIG+
-MIG7gBSLcFF+Oi4WrdNajz7wc6U4i2X3O6GBjKSBiTCBhjETMBEGCgmSJomT8ixk
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBALO9G+tFXTa6f98F0+u5Ds1nOctvcfmz
+X3HFEYVW/qVf55Kb98yLwHnMUwizSsdZcPexMVLgqSQTiy3BJEVpbz2T2VvsKDya
+RHbeehi6NSzuYjfTkdVgvfQx+QzdyZ77MDpZeR3aU0jFgQOsYZ+ryo1qvf2ZN2Sg
+Ine/jFDHdaak5kn2zmj3iZZfue4jf+Yes2X6VGSAy5YOma7OdMAtuC4O8JyjsZX/
+aeRGtp1XHV32gMbMqSSSjvsUqjRgHgmeumm8ExZXJ/vqH0Y2dJCYDDVX8Mjj6lex
+69Rk9P3uiE2cdIHiLoVEI6luTK8nFJnTjeK5lIvr5K7s4cuaaa7pXKcCAwEAAaOC
+AVAwggFMMB0GA1UdDgQWBBSG5mCRlBas7KhK6y6onzV8VzARnzCBxgYDVR0jBIG+
+MIG7gBT4+CGh7rsWSaa4rXSSbw/rC4bP7KGBjKSBiTCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghQ+s67jByiORo59Mf4YWphlAh5esDAP
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghR1NQvNS4LOcCDaiNkMzCq9CYPn3jAP
 BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAmBgNVHREEHzAdgRtpbnRl
 cm1lZGlhdGUtY2FAZXhhbXBsZS5jb20wGQYDVR0SBBIwEIEOY2FAZXhhbXBsZS5j
-b20wDQYJKoZIhvcNAQELBQADggEBADb+0KoGV/ZzUQ2moJnOQQRUL9HLtG9OC8Hh
-MZhGO0IhpwOkiT1Jy05n1tXu6x+XC3XI8WmzP6uuuNGmWoq38+AdtofPDXKnnLBN
-L3WU+JGI2cZ9eBv/yv1QeFxPFR9IuVMXc+Pt+2TVoV2ancDeH31GKqkktPO2G50g
-1F8AxaAV/PYIFQVGxH2+Cra3HKOcGWk7qHZBUh/Llvy+UWL6oa2MPBPmawNFq0Jm
-pIIO7SJzIieGTZL/X9GDOyGA4q9onvIJ2NHekIflYDG7hu440rG2evrnkjg63sBA
-QWp62b4ftpTxkvg1aLN92ciNVnajHv6Zc6HP1dBClWI26Hu8TRI=
+b20wDQYJKoZIhvcNAQELBQADggEBAE7Kcdgqeq0VNIwkGtIRtll51HEAYLkJYxHh
+pWP/M6C0gyYThv6Cku+QN/i36DtABjit1CWkp1QBm9ZcaMgjxRodDLl5TPZjpNF5
+DeJe7L0iAYo5nQYNVJpmRXKVgn/fCwD6I7DJD6GeutQhRSQLxd8yai658toFj4Q8
+ueCbKEqmnU8lU7tpQVrbbkRaExtk/DGIAuVzGe0fLQS7jy3346lDfDWnxpczCnj3
+rMJW/FaOz7CFqwjfWWnVjbIMgno0BAlfKNMbIDxJ/NRI9AAC8BiEqFqwDw1D/oWb
+a+le2M6xBnXbUro98eEjFQi/0IkAQv9+2bmWaeNnuP8y/ik18LM=
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/non-ca.pem b/tls/tests/files/non-ca.pem
index e08453c..b96c38a 100644
--- a/tls/tests/files/non-ca.pem
+++ b/tls/tests/files/non-ca.pem
@@ -3,22 +3,22 @@ client.pem:
 MIIDXTCCAkUCAQMwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMDEwMTIxNzQ5NDVaFw00NTEwMDYxNzQ5
-NDVaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMTA2MjEwMjE1MzJaFw00NjA2MTUwMjE1
+MzJaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALB/QctPIfpb
-onzUr4bxSANLsAWPoLyE8a1h2WUz2NJxtSjk0Ch531bGtlXxIMzGeUgJ0WwUh15L
-BJxm6vHcVVar1iV3JUf0XW4Wk0cYmpS36PXa9m0pQAXgzanbh5m5FWnGpO4QZS7d
-O7YYmbVO7lwIkT3B7dw3gCeMeyqSJbgXnBRB7zVff/lW/r0zJ1MF3AZHpDP17CHK
-175MBha29DqfsHkfqQga0eIR9vTqSBwe+m717pLgDoc23SgfHfsI+8F09uT+GEoy
-7Gr1CvT8mCkOHyg8yDIm0h7Az1hjvUPGW7P9PoYBCcto0OjcOPwTFVL8dgX8b6v+
-tOEvQEKIbfcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAnpAITVJnj3JO0K8qk0H6
-0QkygDKnt1WDjRLEWui/oGKGjJOkuiREXWB8l7UM6VrP38xKALdusGX6wj6/9JsO
-H/wGP89YFM8YiP2YXlG9I/7mMNPV6QPai5tW+mYrfrRmqq8Y177Q8HBfNtW8ZXFi
-CsE6GM2fb/lUUSdn3DT7mUMwXcEtIOHKpa7/N2sdbifpNJdnmKzYRJHwIBgdfIj6
-pl6u4baDKiFTClTky+YHuuppGy8cs/ZrXi/b0nyWyZ/Z+cRke9DyWB+QqMPtF1Id
-kvu15eweJB4HbrmSkvA2IpuNIJQy6AQm67FKxiEjP8ksq5RW67CbHM1OZSeTKF4Y
-mQ==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK99P7kmRbDs
+6LATYBvYRaYCqrGiRo/NE5D4iROqpOIAZ78mBqGRp2j9EhSGMfAIVLmWggzQYEwt
+FMivSAcVCa9UXmVEFKec028cmaA9t9auuK/aKXvOwyZaGPuux64fDO4I9LxS3f3k
+1nqErPdAX+bFTYPUe7j311lYn5HH7+55pgKJ3TudHU1Y4DLodZKIJvOaZrvDVct9
+9XkNQ2iYqjve28B5cwQmTnZdhhgWRBcU5PdrQ/TP6yMwnHYpNMrVlGr9Lj9Wb25K
+TdZNMLSpYebgEZcZHaH2vtjF+VRDz6ngkTQ+pSfRBPyM+SmHjEnNS5+XwKNpyzdF
+71NBcykYtQMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAIbPHl+djRBtDli7r6TI/
+gvsqCEBKJ7DWdamxHjoMLG6JxOjyQiQ2qSHJLosilFBeOzVIMxvP0ac26roBOk3g
+rgWpYKse2dGcX4o9bcUvkC8OPaoevXecFO7mNCztrB/hFc4zqKiqRLSfxlnLKDbq
+xNeGju4JHDc3q+KGXDe1eb1xDGydNk4dXYLegdyocUEw8l76BReadqbD/bBPmf28
+qlQpOnQ3Phjbb8r7YSGt2GZbiv/IQ2zly54xOnyB1lGqkNPDX+DDbpqYSHiaRq5q
+Cp/8UkeENY6tv+nLbwQx1rhvvt4eOd0aLgcTFTmZJdXrSHRznsVg3M938VSDgaBU
+dA==
 -----END CERTIFICATE-----
 
 client-future.pem:
@@ -31,19 +31,19 @@ ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
 AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzIzMDAwMFoYDzIwNjEwNzE3
 MjMwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
 RVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGllbnRA
-ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwf0HL
-TyH6W6J81K+G8UgDS7AFj6C8hPGtYdllM9jScbUo5NAoed9WxrZV8SDMxnlICdFs
-FIdeSwScZurx3FVWq9YldyVH9F1uFpNHGJqUt+j12vZtKUAF4M2p24eZuRVpxqTu
-EGUu3Tu2GJm1Tu5cCJE9we3cN4AnjHsqkiW4F5wUQe81X3/5Vv69MydTBdwGR6Qz
-9ewhyte+TAYWtvQ6n7B5H6kIGtHiEfb06kgcHvpu9e6S4A6HNt0oHx37CPvBdPbk
-/hhKMuxq9Qr0/JgpDh8oPMgyJtIewM9YY71Dxluz/T6GAQnLaNDo3Dj8ExVS/HYF
-/G+r/rThL0BCiG33AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAKSDFn8ZZ3jeGauc
-xAz66UKVJq4TmY07OcN0TnU0CGn9k4ZdcHxHDQ+kIUsAYZprDPLY02uTGxP925fn
-RwlbTEyQML1be6e082yrmv0Z6rjgv05BnPr7iNIoAQA+W71jNBuHBoFVZpmPnpFY
-zPh4hEb6zLzicb7gXzZvXM1sapCJWqlfSW3tWOv45CfgEje9iYqN3UoueCcQMGXl
-gaqWipLmlgD6qu/EZ+FfxmHkv5eWMb7KYbvJXgaF7PaT2FgrCrybB+RO1RjIMsnD
-OaRnlfBr9Zue4cJMAVHjRg/jxirYiTnz63pirKQvBZ4g8eLIUO3WCDUVFxjhThgR
-uMedPw0=
+ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvfT+5
+JkWw7OiwE2Ab2EWmAqqxokaPzROQ+IkTqqTiAGe/Jgahkado/RIUhjHwCFS5loIM
+0GBMLRTIr0gHFQmvVF5lRBSnnNNvHJmgPbfWrriv2il7zsMmWhj7rseuHwzuCPS8
+Ut395NZ6hKz3QF/mxU2D1Hu499dZWJ+Rx+/ueaYCid07nR1NWOAy6HWSiCbzmma7
+w1XLffV5DUNomKo73tvAeXMEJk52XYYYFkQXFOT3a0P0z+sjMJx2KTTK1ZRq/S4/
+Vm9uSk3WTTC0qWHm4BGXGR2h9r7YxflUQ8+p4JE0PqUn0QT8jPkph4xJzUufl8Cj
+acs3Re9TQXMpGLUDAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAH9Ku6oUBjuDiapk
+VtwV99sjG7DQd4GIiYGbFBlXlXafvQ47NgHJULRYd9hKhAZL/dWAi6tpz2Bxgc9g
+cpB+B/nT9BV30YbuTTmBxwBHb0EVMAES46iG9a47FfpaMb6ss3I3pD3UIL226hJR
+U9BSSsTx4gTPDNY0UFQQupemXAtB224dhqpqDOW7jaiaH3U2xmOUin/W4OH/EiKU
+hVXAQ9zb2LsuaTt4zMicS/MTfQoOn4KG0dEsBsmDL8gwPREHQcxJFxS8na7LT87Z
+U9I77zSBBaM2CLn6hUqRhZafsiR06VsLBVQdlnHRAiqZerxqveCHimeyTBA2GD2W
+wmmvsKY=
 -----END CERTIFICATE-----
 
 client-past.pem:
@@ -56,62 +56,62 @@ ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
 AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcyMzAwMDBaFw0wMTA3MTcyMzAw
 MDBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALB/QctPIfpb
-onzUr4bxSANLsAWPoLyE8a1h2WUz2NJxtSjk0Ch531bGtlXxIMzGeUgJ0WwUh15L
-BJxm6vHcVVar1iV3JUf0XW4Wk0cYmpS36PXa9m0pQAXgzanbh5m5FWnGpO4QZS7d
-O7YYmbVO7lwIkT3B7dw3gCeMeyqSJbgXnBRB7zVff/lW/r0zJ1MF3AZHpDP17CHK
-175MBha29DqfsHkfqQga0eIR9vTqSBwe+m717pLgDoc23SgfHfsI+8F09uT+GEoy
-7Gr1CvT8mCkOHyg8yDIm0h7Az1hjvUPGW7P9PoYBCcto0OjcOPwTFVL8dgX8b6v+
-tOEvQEKIbfcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgNa0nsEXn2Wdhzwkyhuk
-DvGsoDU8HIXP3hCC8+RIOZlL/rnSF55vizzInXqvkVDnJZ/X3L77v8KWVt7oRtZi
-6bXHpdi8B3JiY5djqVMJuYIHVXNUXL9GcvOqQGQ3c2TIUMGlpAvrppPVKPrqgV/7
-oBj9MFLT/bWQjzKkV5xit6ccrn7I1ncgAUjmUh+p1LbUqU0260oZLDVKlX5Ac9ua
-conXHEqLKcwJgyaANTMb6k9y2nksZIjDD6SFVjyQ8y6f/vc16y+URHBMGz4baNiR
-6OlBcSgjxj/fg0/95nmWS0INA3GV16hXV6tLoSuGLP9z5w8mSYhU7MYiYXn65foE
-mA==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK99P7kmRbDs
+6LATYBvYRaYCqrGiRo/NE5D4iROqpOIAZ78mBqGRp2j9EhSGMfAIVLmWggzQYEwt
+FMivSAcVCa9UXmVEFKec028cmaA9t9auuK/aKXvOwyZaGPuux64fDO4I9LxS3f3k
+1nqErPdAX+bFTYPUe7j311lYn5HH7+55pgKJ3TudHU1Y4DLodZKIJvOaZrvDVct9
+9XkNQ2iYqjve28B5cwQmTnZdhhgWRBcU5PdrQ/TP6yMwnHYpNMrVlGr9Lj9Wb25K
+TdZNMLSpYebgEZcZHaH2vtjF+VRDz6ngkTQ+pSfRBPyM+SmHjEnNS5+XwKNpyzdF
+71NBcykYtQMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEADqlyDS1UTQnS8IuYxUs6
+iePRPhOloIvs7v1bhW6nctf9hjpiLOPAfpc7hTeNn5mZKTxmuPUHRf/wlBCwA9Oa
+u2W14O2To/KG2cjdgKRzcBa1n7cD4Yho/48bOlFPzs7WMuLhcdz2o6ZbQS6X0dWh
+mW4gu/C0xHBLGS5LGpZdUPhnVyc9r2xiDfy2BnsR6O20npqs6tCVR95EGUgs2x6w
+He98eIQ370tXjryW+uYni7MOvqRKUeaJAdrSLTrYXN5pxVWX+h7NqbqkCJj1cqQt
+O/dTBZdsTeR/k2tyr92mgBcC8/rp/4Qz9XaokT512OIQsBLID+mE4BIRLt2NXJVk
+Fw==
 -----END CERTIFICATE-----
 
 server.pem:
 -----BEGIN CERTIFICATE-----
-MIIDlDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
+MIIDpzCCAo+gAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIwMTAxMjE3NDk0NFoXDTQ1MTAw
-NjE3NDk0NFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMDYyMTAyMTUzMloXDTQ2MDYx
+NTAyMTUzMlowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
 B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBANFcFiZ4ymgxJ9zzPc2q9R36m4dEVXmsYSx/
-fk6uXLMZ7S8eFIDRdM/THTLeZamIlWUsPBFigoxlOy/9j3sWR+0r4Ejba7nSlWmM
-o0MkoHgCsVndWtefQzncEbLLkZ1gz2dwjJFVSnaEGSrfdT4Sz5WtCmOX1L06J9fV
-ZQhdvHV8iPOlh1hSHTbkUP6hnsSA/2X5tGrgk3FaAqydTKX/vQbn5Uc+ygIrZCGQ
-t4etXkyXi6EMI6RNRoogYcV36ef8wYHfoxX/ou5fsUPI1ltgc57PCk5EsF1QMWkx
-cW85DZhInU8md7cZivf9MBlP7iwyWe9qISh+GSpfRs+mP1jVlvcCAwEAAaNHMEUw
+hvcNAQEBBQADggEPADCCAQoCggEBAMSScoYKQK4fV0A2UgsdRowb16ndMTo3U83a
+SLnjN+yWdqHeSp0n7uNBqjWsH33sfe4NFjuKk3z3s9qxFImxSmU2WPeixJMPE8/O
+B/Td6Tb3Se7wp4VAchEc30ME7LV+zl8fzi1dihmmTEs4hKPBoRLM3GV+UiWlROu5
++TzjUbMPiCUU5+kjWeKzzyygGIzpxes/ZZM6cKQtA4BdaRbuApQQOzo4abjsrA1c
+C/gAncdWTFtc8Xig1acy1srb1OKKaLcJHkb78hdNlkMF10mn8Ne00xW8JIK991rq
+uWHqOMDCYS1Qm8mHd7qiIEV1fYmW2T4/fSQikmr4a3dj1rbd4LECAwEAAaNaMFgw
 CQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEK
-ghJzZXJ2ZXIuZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAB94wSkKZiW+
-lYf/FBsDpfXEhVNyKSJUs6OxwDPi94Ye9a9ANImUVbLyQG3vYNyJX23mqh/KR//b
-IfO78aUXvbyyejrR4l55nKlEvd+9gcOhfId/xgYdSF/i0mEVKL2W1Z+pj7WY6Izc
-hHUg9SaLYMLRYhQ7C8mB0Ocu7A1svN8J47YKWunaWkToQgIqXDn6naoE4vbv7JO3
-xZEFeMiBsCc8W3dabGxBznBrrBbOckwb9G858IOpKV7RVCGFbGm5zcpMUN4/8Nyg
-hHcmfCdLL3qojamfJ2YiVrkhXSeoT1MS/5xX9fORgHfO/R1+Iv/jZYgw+qub468V
-TXVlrWigIps=
+ghJzZXJ2ZXIuZXhhbXBsZS5jb20wEQYIKwYBBQUHARgEBTADAgEFMA0GCSqGSIb3
+DQEBCwUAA4IBAQANXk6xogrkYU023Bj19OHmyj7mF04KSIah0n5YTRZ7/Xw4f5nM
+r7mWrgdATLiUMESC299vVtwkZH6jdHhCFcygP5qMDtAELoeR6c4T+7vGUNYyey/y
+IfKjgzXzrILHVDimiumothZ7YVcDc9dcj8lcQwFr+v5UBW3IPzs/TCyHA3o0s10o
+U/skjNaO+BhqweOt3m8JfAYXGpqISUXbyiPcROc0F+IXLdxBJHoqyLeK7sc6ni9G
+2U+BxQeOo8F+QG075b3nuv1q6KlhCHXEJQC0XMI6WSCRpq+mXGBVvgeh4W5iZxad
+YUHfhiATYthkgOWvZiiLOpQPQpxxbNB24Zsc
 -----END CERTIFICATE-----
 
 server-self.pem:
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
-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
+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
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/old-ca-key.pem b/tls/tests/files/old-ca-key.pem
index 1db5abf..65bd357 100644
--- a/tls/tests/files/old-ca-key.pem
+++ b/tls/tests/files/old-ca-key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/old-ca.pem b/tls/tests/files/old-ca.pem
index cb498da..4b5fd27 100644
--- a/tls/tests/files/old-ca.pem
+++ b/tls/tests/files/old-ca.pem
@@ -1,30 +1,30 @@
 -----BEGIN CERTIFICATE-----
-MIIFLjCCBBagAwIBAgIUJMXPCPBYU7JuV+eZvzCqQcLy6H8wDQYJKoZIhvcNAQEL
+MIIFLjCCBBagAwIBAgIURTD32C6JKDM+4JL3C0fSOQ5Ilr0wDQYJKoZIhvcNAQEL
 BQAwgZ8xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMSwwKgYDVQQLDCNPbGQgVW50cnVzdGVkIENlcnRpZmljYXRlIEF1dGhvcml0
 eTEiMCAGA1UEAwwZb25jZS53YXMuYS5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3
-DQEJARYOY2FAZXhhbXBsZS5jb20wIBcNMjAxMDEyMTc0OTQ0WhgPMjA1MDEwMDUx
-NzQ5NDRaMIGfMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
+DQEJARYOY2FAZXhhbXBsZS5jb20wIBcNMjEwNjIxMDIxNTMyWhgPMjA1MTA2MTQw
+MjE1MzJaMIGfMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
 RVhBTVBMRTEsMCoGA1UECwwjT2xkIFVudHJ1c3RlZCBDZXJ0aWZpY2F0ZSBBdXRo
 b3JpdHkxIjAgBgNVBAMMGW9uY2Uud2FzLmEuY2EuZXhhbXBsZS5jb20xHTAbBgkq
 hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
-MIIBCgKCAQEAuEDVnakqhymgXTkKnf/ahFRD/Ou+JIHX6EJMYeeTRRuFemCfW0NK
-8opOTjivBe8sv9ApcAe5P99HcDxkBqEsnb92JozKMswwUGoKwnJ8UaRaLFkVffP/
-suz9/r/WJre/SnDZv6iOuhmCz3Xe1E+zZ70IsbCdkhk568KHvArDWQhzygqHtaVX
-/PLV2lcMS0GXA4nlNJZ6zF3NwPp9VDFut95BlhGXHo/g1h5W1lzR5QgPBxgciXX3
-n8HHbUUl2xNhWhrhYPh0TW/FR5YzciEMWC3C+UqG0ln6vPwXO+bMEEkc2zYN86fb
-M8Da2NrzbA1OAqoRpICOHhlwR0Lo94G56QIDAQABo4IBXDCCAVgwHQYDVR0OBBYE
-FAk/MMYEhSngoifsGFkluA8GlQR7MIHfBgNVHSMEgdcwgdSAFAk/MMYEhSngoifs
-GFkluA8GlQR7oYGlpIGiMIGfMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZIm
+MIIBCgKCAQEAqjfeNCTQpFuzWi1e+lY+q8FZ/vno5typFDcS9CL8vVl253iyv+v+
+qywF69YGYOdTJNVSL3Fisp+Psq8WZUa1sGoiS6Cm5nlvYTQYfbMSFiHXRWnhTmQ6
+6gd1OWcd3c3HD+7fKde/JvwxsvZphchbVOpMYzV0rlu63KuAcAjIK3r4P8PRcfu2
+pCZBx0e0AfRn/FJAsvRVgEEEcw1MlFTK8Jgs+gppQUBJkh5CBUnYptbfrswLOPIy
+ZMaqHEIBARptPUXqjDLvbhr+XxHBx+eErbPSPVykNL176IkvsfVWpAKooZXnD04j
++gUJgoizcLNaMZ0Xt9uQ1zbLMgUc6DZalQIDAQABo4IBXDCCAVgwHQYDVR0OBBYE
+FF9CTBnPhBxRABbINRcDB3kfTwN2MIHfBgNVHSMEgdcwgdSAFF9CTBnPhBxRABbI
+NRcDB3kfTwN2oYGlpIGiMIGfMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZIm
 iZPyLGQBGRYHRVhBTVBMRTEsMCoGA1UECwwjT2xkIFVudHJ1c3RlZCBDZXJ0aWZp
 Y2F0ZSBBdXRob3JpdHkxIjAgBgNVBAMMGW9uY2Uud2FzLmEuY2EuZXhhbXBsZS5j
-b20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghQkxc8I8FhTsm5X55m/
-MKpBwvLofzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAZBgNVHREE
+b20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tghRFMPfYLokoMz7gkvcL
+R9I5DkiWvTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAZBgNVHREE
 EjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFtcGxlLmNvbTAN
-BgkqhkiG9w0BAQsFAAOCAQEAtOFK+XTv2hm1XqBItwo3nCC/I8zBOrN9nNFUYeBS
-rtMIMmMTje4JUg6M2x0PyFVhDAZSmmhgJHKiZT3BpLaeHSBoMJFhVEKcCZffXefW
-E7IB409LUdinPNGis88KTTlx976NngbWVJQrnzWfxGbsAXumM2wi8sByNPZoY/Db
-rqPuJSw2flFE0oS3cvm8udS3yrEDMWwMVTrzmj4/Mo//tKpXaxf7GfGjy6LYWrqh
-1TSeqZubqfz0awTkkePErmtrhmk0h0wEomyT5KiJHusIjPHBYPpv93vr7Kdu3/YJ
-vIDwbJgiGKUbQ9ei9WZj64KVgczPQX2/lNXALp85s86Kfg==
+BgkqhkiG9w0BAQsFAAOCAQEAom75X5IHXfVxXo1/Cd29KCUGkYZigT6qIIcg4gYG
+gVZydsEl9L/v2bK1xFKTEUbd7KIjNfvwH/R7csVMygcQT2dCPRcxew/d6AUjR4uZ
+lUdcUhi+tej80vhWlbwGfnk5deH8SMqJKlw3q/PuXQ/nXx9faqd0Po10FxYlKeO3
+D4NEJocqJcTYI89HTGHrvG2fn0EZMemHAta0tufMAP+FxdfMMM9KG22xopJx8TEw
+7tfnOmQRF563bYoRWDGxiACj8SWV9mhxYULpWv5G5de0DTPaXTlk48O97UAENCeG
+xOMgYFYngoO0Mi0aE8bBqfdRhq7coR/XSx2S4LCf3BBizA==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/root-ca-csr.pem b/tls/tests/files/root-ca-csr.pem
index 9ca15dc..fb0047b 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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
-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
+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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 f8dbed6..a51df4b 100644
--- a/tls/tests/files/server-and-key.pem
+++ b/tls/tests/files/server-and-key.pem
@@ -1,49 +1,49 @@
 -----BEGIN CERTIFICATE-----
-MIIDlDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
+MIIDpzCCAo+gAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIwMTAxMjE3NDk0NFoXDTQ1MTAw
-NjE3NDk0NFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMDYyMTAyMTUzMloXDTQ2MDYx
+NTAyMTUzMlowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
 B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBANFcFiZ4ymgxJ9zzPc2q9R36m4dEVXmsYSx/
-fk6uXLMZ7S8eFIDRdM/THTLeZamIlWUsPBFigoxlOy/9j3sWR+0r4Ejba7nSlWmM
-o0MkoHgCsVndWtefQzncEbLLkZ1gz2dwjJFVSnaEGSrfdT4Sz5WtCmOX1L06J9fV
-ZQhdvHV8iPOlh1hSHTbkUP6hnsSA/2X5tGrgk3FaAqydTKX/vQbn5Uc+ygIrZCGQ
-t4etXkyXi6EMI6RNRoogYcV36ef8wYHfoxX/ou5fsUPI1ltgc57PCk5EsF1QMWkx
-cW85DZhInU8md7cZivf9MBlP7iwyWe9qISh+GSpfRs+mP1jVlvcCAwEAAaNHMEUw
+hvcNAQEBBQADggEPADCCAQoCggEBAMSScoYKQK4fV0A2UgsdRowb16ndMTo3U83a
+SLnjN+yWdqHeSp0n7uNBqjWsH33sfe4NFjuKk3z3s9qxFImxSmU2WPeixJMPE8/O
+B/Td6Tb3Se7wp4VAchEc30ME7LV+zl8fzi1dihmmTEs4hKPBoRLM3GV+UiWlROu5
++TzjUbMPiCUU5+kjWeKzzyygGIzpxes/ZZM6cKQtA4BdaRbuApQQOzo4abjsrA1c
+C/gAncdWTFtc8Xig1acy1srb1OKKaLcJHkb78hdNlkMF10mn8Ne00xW8JIK991rq
+uWHqOMDCYS1Qm8mHd7qiIEV1fYmW2T4/fSQikmr4a3dj1rbd4LECAwEAAaNaMFgw
 CQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEK
-ghJzZXJ2ZXIuZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAB94wSkKZiW+
-lYf/FBsDpfXEhVNyKSJUs6OxwDPi94Ye9a9ANImUVbLyQG3vYNyJX23mqh/KR//b
-IfO78aUXvbyyejrR4l55nKlEvd+9gcOhfId/xgYdSF/i0mEVKL2W1Z+pj7WY6Izc
-hHUg9SaLYMLRYhQ7C8mB0Ocu7A1svN8J47YKWunaWkToQgIqXDn6naoE4vbv7JO3
-xZEFeMiBsCc8W3dabGxBznBrrBbOckwb9G858IOpKV7RVCGFbGm5zcpMUN4/8Nyg
-hHcmfCdLL3qojamfJ2YiVrkhXSeoT1MS/5xX9fORgHfO/R1+Iv/jZYgw+qub468V
-TXVlrWigIps=
+ghJzZXJ2ZXIuZXhhbXBsZS5jb20wEQYIKwYBBQUHARgEBTADAgEFMA0GCSqGSIb3
+DQEBCwUAA4IBAQANXk6xogrkYU023Bj19OHmyj7mF04KSIah0n5YTRZ7/Xw4f5nM
+r7mWrgdATLiUMESC299vVtwkZH6jdHhCFcygP5qMDtAELoeR6c4T+7vGUNYyey/y
+IfKjgzXzrILHVDimiumothZ7YVcDc9dcj8lcQwFr+v5UBW3IPzs/TCyHA3o0s10o
+U/skjNaO+BhqweOt3m8JfAYXGpqISUXbyiPcROc0F+IXLdxBJHoqyLeK7sc6ni9G
+2U+BxQeOo8F+QG075b3nuv1q6KlhCHXEJQC0XMI6WSCRpq+mXGBVvgeh4W5iZxad
+YUHfhiATYthkgOWvZiiLOpQPQpxxbNB24Zsc
 -----END CERTIFICATE-----
 -----BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEA0VwWJnjKaDEn3PM9zar1Hfqbh0RVeaxhLH9+Tq5csxntLx4U
-gNF0z9MdMt5lqYiVZSw8EWKCjGU7L/2PexZH7SvgSNtrudKVaYyjQySgeAKxWd1a
-159DOdwRssuRnWDPZ3CMkVVKdoQZKt91PhLPla0KY5fUvTon19VlCF28dXyI86WH
-WFIdNuRQ/qGexID/Zfm0auCTcVoCrJ1Mpf+9BuflRz7KAitkIZC3h61eTJeLoQwj
-pE1GiiBhxXfp5/zBgd+jFf+i7l+xQ8jWW2Bzns8KTkSwXVAxaTFxbzkNmEidTyZ3
-txmK9/0wGU/uLDJZ72ohKH4ZKl9Gz6Y/WNWW9wIDAQABAoIBAHqPrC/teqCwViPV
-ChNCx6g7M51mdZt7PI/uOyUYkhAPV3jD5UDcXcPkVS2YYG91E/BcivWqc7547MNV
-bw+hpY3Ep9I/EbuA+hMGT/VYldBr0yNGoI2mIJbYrEu9PIujRwfJLaFPCv6CqrEc
-i+hA3uFCodhX5CS6zORfenwBU/h6VdPPduegv2uReEcczm4KegIOqctV7JGUgetr
-m05WM3oFlnHiJLMzrBH2K0CXRn5dwMTqbDYfsN+Ynm6ms9PzNYYsMZcqvb449eMT
-jkKTYF12Zso4WRqRnfi7s9a3mXp7e28GFzlwqo7HvVQF4c8E1vhc9BOz1yVACFfO
-erTZl7ECgYEA82zsV1prREkMAzr+YjkdanO0lZEue7ccMUyyTE5o0jluySR3hDsu
-VES0Cei5XuNJF+Av4nptPkMKxHqAFdIq7LEDO4wwgAMVJ8HNjX2w7NS5tzkGo19H
-cnCccSkKz+iaqjPuOJaK+mkPd3yb5MFUM9EeDlLIOk4PhDGw1fvlZMUCgYEA3Cys
-z85Xiki0xEPna4AbNfO4W1t3PcBLAZdX8kADDd9IIU3QBelqoWhKYW2qfEHzMMGZ
-iN0IzvcLKjxfz4e6GANH40rKhriWlyVvys6KlLPpcap5PbIs7zYeYrSFpn+eALOf
-3rmWIaMavzg0yrqxsj9rmvAHEfOvNRsrsjtmYIsCgYAQurOjbTth/gMtVaiV54b2
-Ae2vOcMQDY2KddLrG5homjna6P6tv8N3VyFobO4Qb15enbGsxu0rEkBzMFgNJ9x7
-V875ELFkmtGhYdhWmQTHwfbheLHUGIA4hTS7Mi7kCwBWIiuFCBOVEhNWCuJL3l2D
-EiQWp+nK2AKI+0FD84PYYQKBgF27NyaQdXwNT8duEQsW0n65bvaVjcHgJw5aW7pp
-veMd9xsWgUTDBf4I5AFuKnITsXBEOxSk5KcXTM2CPlefNH4ch3If2PBZjOJzsY/p
-Nd3waaVWKZ82RyLfKzhiGbO0CJPL5HdxEpTnVu+pAfB8YkG79hdTr+7YivJUytlp
-qD/ZAoGAY0lH1VXPCVpp10KC8jVRthw5vXgHhwrYQWEbRBPFx/YS5f8VuksORiU6
-neumUYCEecWSZEZJceuvNZyPJ9wxox0pjInvFCb3gKYt1Y71VXJqcxq47DgAOE3m
-AlV1XzzsH3Fc5W+D9/bSKqt5uikwMiO081wS+MZY1xNSeiTkoQ0=
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/server-csr.pem b/tls/tests/files/server-csr.pem
new file mode 100644
index 0000000..a2bbaaa
--- /dev/null
+++ b/tls/tests/files/server-csr.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICwTCCAakCAQAwSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixk
+ARkWB0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMSScoYKQK4fV0A2UgsdRowb16ndMTo3
+U83aSLnjN+yWdqHeSp0n7uNBqjWsH33sfe4NFjuKk3z3s9qxFImxSmU2WPeixJMP
+E8/OB/Td6Tb3Se7wp4VAchEc30ME7LV+zl8fzi1dihmmTEs4hKPBoRLM3GV+UiWl
+ROu5+TzjUbMPiCUU5+kjWeKzzyygGIzpxes/ZZM6cKQtA4BdaRbuApQQOzo4abjs
+rA1cC/gAncdWTFtc8Xig1acy1srb1OKKaLcJHkb78hdNlkMF10mn8Ne00xW8JIK9
+91rquWHqOMDCYS1Qm8mHd7qiIEV1fYmW2T4/fSQikmr4a3dj1rbd4LECAwEAAaAx
+MC8GCSqGSIb3DQEJDjEiMCAwCQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcD
+ATANBgkqhkiG9w0BAQsFAAOCAQEAaf5Ne9fhOYvu0Jxb3v7kmzUAW60Bkr56bckO
+mO7Fme23AxVsTdjkMCo2efWDV4a+r9XkwifJ0PGeEk8pi1oCsByDZWEmbpzNlcSd
+xXZ0fWV8Wx+ytnh9JRLKqznubnwe1eTAicfmirOaTS/KoRYZwF1YoHOsGsS6cxUV
+5Uu8MlRUvJsIRz7Uv+t/21RpCsWM3GMclvd53a1TPTDlmla1hqPQRBOcQpKIv9F6
+mcccBtL0lIvRc+BJxJK5hAV4ZPryccQOeQjRSQJngnQsi4ePnnjMvT3VKG97wF6G
+DW1fmiL5jD5Z7nt7kTh4kSzGxABCV229LvJh0WYMOcOCXMgZsw==
+-----END CERTIFICATE REQUEST-----
diff --git a/tls/tests/files/server-intermediate-csr.pem b/tls/tests/files/server-intermediate-csr.pem
index 07e86c2..0c5bb6d 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
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBAN4t3FBzYQk48Bzm7S9JiZqmWVY/FagC
-9aim8foydtzXXcXjIEWc6AChko8FhLJAp5ZJCxm7MbYc5pZfyGgecBawG13fKYoP
-o+59dUJAw8xkENKCi57K0fsfwZf4v0SqawmYUj9AtIsy8Q6xTRfVHA+Pj2qbNNTM
-IUzgIg3b7TpGnhjNDlxYzXLPThiKD8Vm+SrXOm8W+hCpIivyGDNWCxTo1MHj2UUm
-HPGHfwZXCJ9dt8scQTV1B0TeTJ3Xm/w+aAzUfbdlkCufsk6nLsj+gYMRkGGsYo/G
-mAv4/PPUop+yNK6VLL1nNgp0hP+VwvGU2cpn6BRBmpUu5xHrXkHjU+ECAwEAAaAx
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBALRhoVUfYCrqGCs7xhK42s0s/XqA+kAD
+eIIAz2yLWzaN9LCvU+m7VH60wmPL4FCtGfBHRyLy+fiDs+j7HTyaFYnUiHcXTSY+
+q9ixKsiZkCyhzNZnkS5mmc370fpWUu6wf/WPgU2d+kHkUNZrWz4qz15viHha6d/1
+XAkQZk/b5fUa3pbn8tDutFPy6/QBF1xDR4Vxlp/HZi4WcCBmkrUvpBqVv5q5vKNE
+H1rsghV1Jz+CH/Vyo/HMeGIdN/uSBIc2WMfQ9fdS26HSc/TvbF/bgcf0ywTaYDOj
+ekz2fA0lQbcW+74YF7QLlCsfcLraVoD6CzSaAAXQPcBkX1hgnUVZG8cCAwEAAaAx
 MC8GCSqGSIb3DQEJDjEiMCAwCQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcD
-ATANBgkqhkiG9w0BAQsFAAOCAQEAGWiCCA7ksG6NgBhTRKQikJ7mxzzSdEfrd6ow
-WmzG48Cuc/QF6Qhrs/EX0qvU76oWTh2zeogL49PxYf9JGHGkERUDWgin6EmCKRHJ
-JK5+gpKxyNnXeINi5I9JUaE2Twi/4kviGeqhmi8ej0n32YIfruHQ4bEfx6wdVa37
-ymZQFimk2HdDmmPxMr7TlGcBbJ+3rgOfl/EGhrogFwBKf55EITRz0QGKFX4DpR+9
-sgEAzICgYV8BHvgYYdcgPqDjOGIPSPG7ntHZZr8f66dl1om1s94t6rz23fabmC3g
-WHYRENSLiEJR+0dvsn4fR6Yo1fj0o4YntmR83O6H7Sa7iZgw3A==
+ATANBgkqhkiG9w0BAQsFAAOCAQEAaEx4YESABLFDD1Jgrhv0O8b/SFrWQsbG9Fxm
+gVML6TBFNxt+eDTzN71rw/26l0u1oaSOEwbUKrDsDKhxEYK+PykWpbbVPfFts2R1
+H1XCPk+5VbDQWmXOrkK5nLjaRodclkgYDY8APURiryazxgSotxDJ8Y1Q8ylOF57q
+E1Eh2UfKPr2di0YFfb+AbP6PC1xDKr+JWvgJ0I895ju44t9BgeAuYFTGd9DH82xO
+2DGJqAUmaqzreQWjZZuz3IhWEPEiUTF5u3jGv66SLajmEv9AHYuUaphW4Bdu/zpV
+E99pleIRfm7VMZ3GjCkEFd1X9XToA5QlQjlc+g+MSPd2ChVfBQ==
 -----END CERTIFICATE REQUEST-----
diff --git a/tls/tests/files/server-intermediate-key.pem b/tls/tests/files/server-intermediate-key.pem
index 3356bcd..958b4ef 100644
--- a/tls/tests/files/server-intermediate-key.pem
+++ b/tls/tests/files/server-intermediate-key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/server-intermediate.pem b/tls/tests/files/server-intermediate.pem
index c2aad3f..d5af950 100644
--- a/tls/tests/files/server-intermediate.pem
+++ b/tls/tests/files/server-intermediate.pem
@@ -3,20 +3,20 @@ MIIDuzCCAqOgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBrTETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxKzApBgNVBAsMIkludGVy
 bWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgNVBAMMG2ludGVybWVk
 aWF0ZS1jYS5leGFtcGxlLmNvbTEqMCgGCSqGSIb3DQEJARYbaW50ZXJtZWRpYXRl
-LWNhQGV4YW1wbGUuY29tMB4XDTIwMTAxMjE3NDk1MVoXDTQ1MTAwNjE3NDk1MVow
+LWNhQGV4YW1wbGUuY29tMB4XDTIxMDYyMTAyMTUzMloXDTQ2MDYxNTAyMTUzMlow
 SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
 GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
-ggEPADCCAQoCggEBAN4t3FBzYQk48Bzm7S9JiZqmWVY/FagC9aim8foydtzXXcXj
-IEWc6AChko8FhLJAp5ZJCxm7MbYc5pZfyGgecBawG13fKYoPo+59dUJAw8xkENKC
-i57K0fsfwZf4v0SqawmYUj9AtIsy8Q6xTRfVHA+Pj2qbNNTMIUzgIg3b7TpGnhjN
-DlxYzXLPThiKD8Vm+SrXOm8W+hCpIivyGDNWCxTo1MHj2UUmHPGHfwZXCJ9dt8sc
-QTV1B0TeTJ3Xm/w+aAzUfbdlkCufsk6nLsj+gYMRkGGsYo/GmAv4/PPUop+yNK6V
-LL1nNgp0hP+VwvGU2cpn6BRBmpUu5xHrXkHjU+ECAwEAAaNHMEUwCQYDVR0TBAIw
+ggEPADCCAQoCggEBALRhoVUfYCrqGCs7xhK42s0s/XqA+kADeIIAz2yLWzaN9LCv
+U+m7VH60wmPL4FCtGfBHRyLy+fiDs+j7HTyaFYnUiHcXTSY+q9ixKsiZkCyhzNZn
+kS5mmc370fpWUu6wf/WPgU2d+kHkUNZrWz4qz15viHha6d/1XAkQZk/b5fUa3pbn
+8tDutFPy6/QBF1xDR4Vxlp/HZi4WcCBmkrUvpBqVv5q5vKNEH1rsghV1Jz+CH/Vy
+o/HMeGIdN/uSBIc2WMfQ9fdS26HSc/TvbF/bgcf0ywTaYDOjekz2fA0lQbcW+74Y
+F7QLlCsfcLraVoD6CzSaAAXQPcBkX1hgnUVZG8cCAwEAAaNHMEUwCQYDVR0TBAIw
 ADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEWghJzZXJ2ZXIu
-ZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAHxnwEN8Xr9TUrHefXPdcDU2
-yd4F3u4bPL4RSSRFIKdqrAaHK0wnzLoF3HneUjKzU/l36kNHBa7dUo8Q2SGd3V4d
-zDR0uT9uUdsZVwmUbAcZs1Z9d1vPMWDqS1zwBKYtLTw2Z7sl9xaLYhxLZSyf1Pxe
-aC8+gNaqJ25aKAbDSMNCyF32vRy4OYy7Hi8Itexkva6XMlF4H4gSXs4QZP9WGhp7
-6YRdcy6Z6lJfkJ9SW6nsoNJvbYGOGbxHg9brxWJV8T7cFBQQVvZKasydS6+6IK/2
-/+n38vEog/7hGQ85iOsu0xOcdkKl/SIj1ckJtGAVif2kbCSzugSafA2jRELyiI0=
+ZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBADdrK0wg0hjXeztV+V4Pm+LR
+ufzDOBb1bh+HfeGAx4N9Ul3CKYy6rVcNXcFuWdgzm/0Ig3XkpDvTn8qzLc4WhgcZ
+e+TIgM2+i0QM7zjKBBv8n8yoixjVcYE3ETa9q3P0IKxF6U8trijrpJPCF17PiV/q
+21K1wp3L3m3UlyWqQBY4SWpuAPGsuNMaSDuTKzJ01B3qeE43oz/VaAXlBsqxWAdn
+VbzA/0j/yv87EEoU8crGI4l4610i3OP3LZJzklgJ/hl+q5+r6Huv4RCBH3qRBkOx
+UC9bL6aqCaBS0VuFJiKSHPzj+zxHMDmBtMpe1pGP4XKvPB/BUX4hinWoFkisIqE=
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/server-key.der b/tls/tests/files/server-key.der
index 781d7a8..8f2f9b8 100644
Binary files a/tls/tests/files/server-key.der and b/tls/tests/files/server-key.der differ
diff --git a/tls/tests/files/server-key.pem b/tls/tests/files/server-key.pem
index 7fd2413..53e5eba 100644
--- a/tls/tests/files/server-key.pem
+++ b/tls/tests/files/server-key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/server-self.pem b/tls/tests/files/server-self.pem
index d203ceb..853a04e 100644
--- a/tls/tests/files/server-self.pem
+++ b/tls/tests/files/server-self.pem
@@ -1,19 +1,19 @@
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
-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
+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
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/server.der b/tls/tests/files/server.der
index 0113337..a1188d0 100644
Binary files a/tls/tests/files/server.der and b/tls/tests/files/server.der differ
diff --git a/tls/tests/files/server.pem b/tls/tests/files/server.pem
index 44b49a8..1476546 100644
--- a/tls/tests/files/server.pem
+++ b/tls/tests/files/server.pem
@@ -1,22 +1,22 @@
 -----BEGIN CERTIFICATE-----
-MIIDlDCCAnygAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
+MIIDpzCCAo+gAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIwMTAxMjE3NDk0NFoXDTQ1MTAw
-NjE3NDk0NFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTIxMDYyMTAyMTUzMloXDTQ2MDYx
+NTAyMTUzMlowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
 B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBANFcFiZ4ymgxJ9zzPc2q9R36m4dEVXmsYSx/
-fk6uXLMZ7S8eFIDRdM/THTLeZamIlWUsPBFigoxlOy/9j3sWR+0r4Ejba7nSlWmM
-o0MkoHgCsVndWtefQzncEbLLkZ1gz2dwjJFVSnaEGSrfdT4Sz5WtCmOX1L06J9fV
-ZQhdvHV8iPOlh1hSHTbkUP6hnsSA/2X5tGrgk3FaAqydTKX/vQbn5Uc+ygIrZCGQ
-t4etXkyXi6EMI6RNRoogYcV36ef8wYHfoxX/ou5fsUPI1ltgc57PCk5EsF1QMWkx
-cW85DZhInU8md7cZivf9MBlP7iwyWe9qISh+GSpfRs+mP1jVlvcCAwEAAaNHMEUw
+hvcNAQEBBQADggEPADCCAQoCggEBAMSScoYKQK4fV0A2UgsdRowb16ndMTo3U83a
+SLnjN+yWdqHeSp0n7uNBqjWsH33sfe4NFjuKk3z3s9qxFImxSmU2WPeixJMPE8/O
+B/Td6Tb3Se7wp4VAchEc30ME7LV+zl8fzi1dihmmTEs4hKPBoRLM3GV+UiWlROu5
++TzjUbMPiCUU5+kjWeKzzyygGIzpxes/ZZM6cKQtA4BdaRbuApQQOzo4abjsrA1c
+C/gAncdWTFtc8Xig1acy1srb1OKKaLcJHkb78hdNlkMF10mn8Ne00xW8JIK991rq
+uWHqOMDCYS1Qm8mHd7qiIEV1fYmW2T4/fSQikmr4a3dj1rbd4LECAwEAAaNaMFgw
 CQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAjBgNVHREEHDAahwTAqAEK
-ghJzZXJ2ZXIuZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAB94wSkKZiW+
-lYf/FBsDpfXEhVNyKSJUs6OxwDPi94Ye9a9ANImUVbLyQG3vYNyJX23mqh/KR//b
-IfO78aUXvbyyejrR4l55nKlEvd+9gcOhfId/xgYdSF/i0mEVKL2W1Z+pj7WY6Izc
-hHUg9SaLYMLRYhQ7C8mB0Ocu7A1svN8J47YKWunaWkToQgIqXDn6naoE4vbv7JO3
-xZEFeMiBsCc8W3dabGxBznBrrBbOckwb9G858IOpKV7RVCGFbGm5zcpMUN4/8Nyg
-hHcmfCdLL3qojamfJ2YiVrkhXSeoT1MS/5xX9fORgHfO/R1+Iv/jZYgw+qub468V
-TXVlrWigIps=
+ghJzZXJ2ZXIuZXhhbXBsZS5jb20wEQYIKwYBBQUHARgEBTADAgEFMA0GCSqGSIb3
+DQEBCwUAA4IBAQANXk6xogrkYU023Bj19OHmyj7mF04KSIah0n5YTRZ7/Xw4f5nM
+r7mWrgdATLiUMESC299vVtwkZH6jdHhCFcygP5qMDtAELoeR6c4T+7vGUNYyey/y
+IfKjgzXzrILHVDimiumothZ7YVcDc9dcj8lcQwFr+v5UBW3IPzs/TCyHA3o0s10o
+U/skjNaO+BhqweOt3m8JfAYXGpqISUXbyiPcROc0F+IXLdxBJHoqyLeK7sc6ni9G
+2U+BxQeOo8F+QG075b3nuv1q6KlhCHXEJQC0XMI6WSCRpq+mXGBVvgeh4W5iZxad
+YUHfhiATYthkgOWvZiiLOpQPQpxxbNB24Zsc
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/ssl/server.conf b/tls/tests/files/ssl/server.conf
index 7adb406..2067430 100644
--- a/tls/tests/files/ssl/server.conf
+++ b/tls/tests/files/ssl/server.conf
@@ -22,6 +22,7 @@ extendedKeyUsage        = serverAuth
 basicConstraints        = CA:false
 extendedKeyUsage        = serverAuth
 subjectAltName          = @alt_names
+tlsfeature              = status_request
 
 [ alt_names ]
 IP.0                    = 192.168.1.10


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]