[glib-networking] Add tests for client certificate chain handling



commit 01631a0efb53b1a477663f933a29fcf9ae32d277
Author: Michael Catanzaro <mcatanzaro gnome org>
Date:   Sat Aug 29 13:12:56 2015 -0500

    Add tests for client certificate chain handling
    
    Made possible thanks to help from Dan Winship.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754129

 tls/tests/connection.c                       |  268 +++++++++++++++++++++++++-
 tls/tests/files/ca-key.pem                   |   26 ++--
 tls/tests/files/ca-roots-bad.pem             |   28 ++--
 tls/tests/files/ca-roots.pem                 |   28 ++--
 tls/tests/files/ca.pem                       |   28 ++--
 tls/tests/files/chain.pem                    |   66 +++---
 tls/tests/files/client-and-key.pem           |   76 ++++----
 tls/tests/files/client-future.pem            |   26 ++--
 tls/tests/files/client-key.pem               |   50 +++---
 tls/tests/files/client-past.pem              |   24 ++--
 tls/tests/files/client.pem                   |   26 ++--
 tls/tests/files/create-files.sh              |    2 +-
 tls/tests/files/intermediate-ca-csr.pem      |   12 +-
 tls/tests/files/intermediate-ca-key.pem      |   14 +-
 tls/tests/files/intermediate-ca.pem          |   20 +-
 tls/tests/files/non-ca.pem                   |  104 +++++-----
 tls/tests/files/server-and-key.pem           |   30 ++--
 tls/tests/files/server-intermediate-csr.pem  |   14 +-
 tls/tests/files/server-intermediate-key.pem  |   14 +-
 tls/tests/files/server-intermediate.pem      |   18 +-
 tls/tests/files/server-key.der               |  Bin 318 -> 317 bytes
 tls/tests/files/server-key.pem               |   14 +-
 tls/tests/files/server-self.pem              |   12 +-
 tls/tests/files/server.der                   |  Bin 571 -> 571 bytes
 tls/tests/files/server.pem                   |   16 +-
 tls/tests/files/ssl/server-intermediate.conf |    2 +-
 26 files changed, 589 insertions(+), 329 deletions(-)
---
diff --git a/tls/tests/connection.c b/tls/tests/connection.c
index 5f3cd42..766401c 100644
--- a/tls/tests/connection.c
+++ b/tls/tests/connection.c
@@ -75,6 +75,7 @@ typedef struct {
   GError *server_error;
   gboolean server_should_close;
   gboolean server_running;
+  GTlsCertificate *server_certificate;
 
   char buf[128];
   gssize nread, nwrote;
@@ -145,6 +146,7 @@ teardown_connection (TestConnection *test, gconstpointer data)
 
   g_clear_object (&test->address);
   g_clear_object (&test->identity);
+  g_clear_object (&test->server_certificate);
   g_main_loop_unref (test->loop);
   g_clear_error (&test->read_error);
   g_clear_error (&test->server_error);
@@ -265,8 +267,15 @@ on_incoming_connection (GSocketService     *service,
   GTlsCertificate *cert;
   GError *error = NULL;
 
-  cert = g_tls_certificate_new_from_file (tls_test_file_path ("server-and-key.pem"), &error);
-  g_assert_no_error (error);
+  if (test->server_certificate)
+    {
+      cert = g_object_ref (test->server_certificate);
+    }
+  else
+    {
+      cert = g_tls_certificate_new_from_file (tls_test_file_path ("server-and-key.pem"), &error);
+      g_assert_no_error (error);
+    }
 
   test->server_connection = g_tls_server_connection_new (G_IO_STREAM (connection),
                                                          cert, &error);
@@ -337,8 +346,15 @@ run_echo_server (GThreadedSocketService *service,
   gssize nread, nwrote, total;
   gchar buf[128];
 
-  cert = g_tls_certificate_new_from_file (tls_test_file_path ("server-and-key.pem"), &error);
-  g_assert_no_error (error);
+  if (test->server_certificate)
+    {
+      cert = g_object_ref (test->server_certificate);
+    }
+  else
+    {
+      cert = g_tls_certificate_new_from_file (tls_test_file_path ("server-and-key.pem"), &error);
+      g_assert_no_error (error);
+    }
 
   test->server_connection = g_tls_server_connection_new (G_IO_STREAM (connection),
                                                          cert, &error);
@@ -513,6 +529,242 @@ test_verified_connection (TestConnection *test,
 }
 
 static void
+test_verified_chain (TestConnection *test,
+                    gconstpointer   data)
+{
+  GTlsBackend *backend;
+  GTlsCertificate *server_cert;
+  GTlsCertificate *intermediate_cert;
+  char *cert_data = NULL;
+  char *key_data = NULL;
+  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 ("intermediate-ca.pem"), &error);
+  g_assert_no_error (error);
+  g_assert (intermediate_cert);
+
+  /* Prepare the server cert. */
+  g_clear_pointer (&cert_data, g_free);
+  g_file_get_contents (tls_test_file_path ("server-intermediate.pem"),
+                      &cert_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (cert_data);
+
+  g_file_get_contents (tls_test_file_path ("server-intermediate-key.pem"),
+                      &key_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (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 (server_cert);
+
+  g_object_unref (intermediate_cert);
+  g_free (cert_data);
+  g_free (key_data);
+
+  test->server_certificate = server_cert;
+  test_verified_connection (test, data);
+}
+
+static void
+test_verified_chain_with_redundant_root_cert (TestConnection *test,
+                                             gconstpointer   data)
+{
+  GTlsBackend *backend;
+  GTlsCertificate *server_cert;
+  GTlsCertificate *intermediate_cert;
+  GTlsCertificate *root_cert;
+  char *cert_data = NULL;
+  char *key_data = NULL;
+  GError *error = NULL;
+
+  backend = g_tls_backend_get_default ();
+
+  /* The root is redundant. It should not hurt anything. */
+  root_cert = g_tls_certificate_new_from_file (tls_test_file_path ("ca.pem"), &error);
+  g_assert_no_error (error);
+  g_assert (root_cert);
+
+  /* Prepare the intermediate cert. */
+  g_file_get_contents (tls_test_file_path ("intermediate-ca.pem"),
+                      &cert_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (cert_data);
+
+  intermediate_cert = g_initable_new (g_tls_backend_get_certificate_type (backend),
+                                     NULL, &error,
+                                     "issuer", root_cert,
+                                     "certificate-pem", cert_data,
+                                     NULL);
+  g_assert_no_error (error);
+  g_assert (intermediate_cert);
+
+  /* Prepare the server cert. */
+  g_clear_pointer (&cert_data, g_free);
+  g_file_get_contents (tls_test_file_path ("server-intermediate.pem"),
+                      &cert_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (cert_data);
+
+  g_file_get_contents (tls_test_file_path ("server-intermediate-key.pem"),
+                      &key_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (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 (server_cert);
+
+  g_object_unref (intermediate_cert);
+  g_object_unref (root_cert);
+  g_free (cert_data);
+  g_free (key_data);
+
+  test->server_certificate = server_cert;
+  test_verified_connection (test, data);
+}
+
+static void
+test_verified_chain_with_duplicate_server_cert (TestConnection *test,
+                                               gconstpointer   data)
+{
+  /* This is another common server misconfiguration. Apache reads certificates
+   * from two configuration files: one for the server cert, and one for the rest
+   * of the chain. If the server cert is pasted into both files, it will be sent
+   * twice. We should be tolerant of this. */
+
+  GTlsBackend *backend;
+  GTlsCertificate *server_cert;
+  GTlsCertificate *extra_server_cert;
+  GTlsCertificate *intermediate_cert;
+  char *cert_data = NULL;
+  char *key_data = NULL;
+  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 ("intermediate-ca.pem"), &error);
+  g_assert_no_error (error);
+  g_assert (intermediate_cert);
+
+  /* Prepare the server cert. */
+  g_clear_pointer (&cert_data, g_free);
+  g_file_get_contents (tls_test_file_path ("server-intermediate.pem"),
+                      &cert_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (cert_data);
+
+  g_file_get_contents (tls_test_file_path ("server-intermediate-key.pem"),
+                      &key_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (key_data);
+
+  server_cert = g_initable_new (g_tls_backend_get_certificate_type (backend),
+                               NULL, &error,
+                                "issuer", intermediate_cert,
+                                "certificate-pem", cert_data,
+                                NULL);
+  g_assert_no_error (error);
+  g_assert (server_cert);
+
+  /* Prepare the server cert... again. Private key must go on this one. */
+  extra_server_cert = g_initable_new (g_tls_backend_get_certificate_type (backend),
+                                     NULL, &error,
+                                     "issuer", server_cert,
+                                     "certificate-pem", cert_data,
+                                     "private-key-pem", key_data,
+                                     NULL);
+  g_assert_no_error (error);
+  g_assert (extra_server_cert);
+
+  g_object_unref (intermediate_cert);
+  g_object_unref (server_cert);
+  g_free (cert_data);
+  g_free (key_data);
+
+  test->server_certificate = extra_server_cert;
+  test_verified_connection (test, data);
+}
+
+static void
+test_verified_unordered_chain (TestConnection *test,
+                              gconstpointer   data)
+{
+  GTlsBackend *backend;
+  GTlsCertificate *server_cert;
+  GTlsCertificate *intermediate_cert;
+  GTlsCertificate *root_cert;
+  char *cert_data = NULL;
+  char *key_data = NULL;
+  GError *error = NULL;
+
+  backend = g_tls_backend_get_default ();
+
+  /* Prepare the intermediate cert (to be sent last, out of order)! */
+  intermediate_cert = g_tls_certificate_new_from_file (tls_test_file_path ("intermediate-ca.pem"),
+                                                      &error);
+  g_assert_no_error (error);
+  g_assert (intermediate_cert);
+
+  g_file_get_contents (tls_test_file_path ("ca.pem"), &cert_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (cert_data);
+
+  /* Prepare the root cert (to be sent in the middle of the chain). */
+  root_cert = g_initable_new (g_tls_backend_get_certificate_type (backend),
+                             NULL, &error,
+                              "issuer", intermediate_cert,
+                              "certificate-pem", cert_data,
+                              NULL);
+  g_assert_no_error (error);
+  g_assert (root_cert);
+
+  g_clear_pointer (&cert_data, g_free);
+  g_file_get_contents (tls_test_file_path ("server-intermediate.pem"),
+                      &cert_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (cert_data);
+
+  g_file_get_contents (tls_test_file_path ("server-intermediate-key.pem"),
+                      &key_data, NULL, &error);
+  g_assert_no_error (error);
+  g_assert (key_data);
+
+  /* Prepare the server cert. */
+  server_cert = g_initable_new (g_tls_backend_get_certificate_type (backend),
+                               NULL, &error,
+                                "issuer", root_cert,
+                                "certificate-pem", cert_data,
+                                "private-key-pem", key_data,
+                                NULL);
+  g_assert_no_error (error);
+  g_assert (server_cert);
+
+  g_object_unref (intermediate_cert);
+  g_object_unref (root_cert);
+  g_free (cert_data);
+  g_free (key_data);
+
+  test->server_certificate = server_cert;
+  test_verified_connection (test, data);
+}
+
+static void
 on_notify_accepted_cas (GObject *obj,
                         GParamSpec *spec,
                         gpointer user_data)
@@ -1502,6 +1754,14 @@ main (int   argc,
               setup_connection, test_basic_connection, teardown_connection);
   g_test_add ("/tls/connection/verified", TestConnection, NULL,
               setup_connection, test_verified_connection, teardown_connection);
+  g_test_add ("/tls/connection/verified-chain", TestConnection, NULL,
+             setup_connection, test_verified_chain, teardown_connection);
+  g_test_add ("/tls/connection/verified-chain-with-redundant-root-cert", TestConnection, NULL,
+             setup_connection, test_verified_chain_with_redundant_root_cert, teardown_connection);
+  g_test_add ("/tls/connection/verified-chain-with-duplicate-server-cert", TestConnection, NULL,
+             setup_connection, test_verified_chain_with_duplicate_server_cert, teardown_connection);
+  g_test_add ("/tls/connection/verified-unordered-chain", TestConnection, NULL,
+             setup_connection, test_verified_unordered_chain, teardown_connection);
   g_test_add ("/tls/connection/client-auth", TestConnection, NULL,
               setup_connection, test_client_auth_connection, teardown_connection);
   g_test_add ("/tls/connection/client-auth-rehandshake", TestConnection, NULL,
diff --git a/tls/tests/files/ca-key.pem b/tls/tests/files/ca-key.pem
index 65ee6f7..faa6865 100644
--- a/tls/tests/files/ca-key.pem
+++ b/tls/tests/files/ca-key.pem
@@ -1,15 +1,15 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQC8ZicF8jd7zECFFbAViXKwGqKBVdtAOm/cbqaGKDb3P7BFWmkU
-SSJPa126PCMuU1Ocf8uuVcgXD+08LUGc2VK5rdizxx20L1jr2PQ22QXueuq1CRyk
-zdCGpHlA/7D0Ir6ms/7ayFOG+Mj5sRue/KNBDCURNAdOmjhvgXMw9putKQIDAQAB
-AoGAHQF1PJsgI7U8scC3DXnN6IMRRexcBzV4B24ZwUnrvIFXuDXFO9ROrf+PvJ6J
-pBY8Jzodt8eJONPA6KTnFyj2bVAPrhXqhW+XEgHSDW8nl0Ii31sU1NKr1K4Q/++s
-jM17z+EU/TchdFyDF3QVwBI3qOMFRA0mCkbF7BMFez28FMkCQQDvh8ddsffVYyBC
-OOuxaiCisJEnmdPq6VPiqD1C8TWMMJmHWTerEOnw3VtsApcMVfE/lIjjmcL5aXmt
-KXVRljqfAkEAyVpbpsENO8FJQeMlXv6KQu/dZk0uxipzGisvdgAgKqi1NqwS8xNV
-Ydn1366eSrvAe5MK3b7myxKUYM65e4fLNwJAO3JeR2Go2Xu9gNHxpNlq+hWKIOLr
-lkyMNh98/MUyffV91PqOd1U+SjoVu2u1IymdMyNhCeOaYR4NRa2ZYUNAjwJBALwa
-3u59AcjmPHMCKkKBl1cLURGmX2Ef/SHgYFljqqlPrONjg9x0HlrozYtnTVfR6PNJ
-HmikVGY4eEesOJnP9acCQQCXoBXUhTF9yiRmNxYrxHDuO2Q5hE86gUeBGhMlHEl+
-vUGQ0dlqE5btZO8dffqSu4HMkHEwOlOHPluT4yMf6W4K
+MIICXgIBAAKBgQC2LMvQzqrlIaAxnZ3CuzzbS0s0v3Ql/yR7N9ozeH2itLFMKpJw
+cz8v+wXV21IlbGRDYSzL8jwW98NtVZhCkHYo+zcUnZGuw1UZs1kcPx4BzHnb/qJO
+nlkJZ5DiH8WlLrfirJvNeuncTgh/k0QM2L47BuhSYF6rFKKEHBFABgKfowIDAQAB
+AoGBAJ7ylN5aA5ep8Bh6OjS2o1F+715VkWS5qb3srHBuN8gnue4H0v9UPpSBg8Tk
++FZ4rT5w4eIMN0ue359cqF2jp8N+eotFdlZO9togUG68wUYAxsAccYDqRzRuFXed
+9JM+1tbZQ/dvLBSb5Ja058Az7wSsyRH9DhiVZ+mSGDbjOI+JAkEA5M2BUsP0EKel
+KMlOzbbgHjus9gFd8yWa88r2acWAAaYMNsj/HThODIsWHeY6EIzRD1F+mZBKBnCB
+nCS2kqFSbwJBAMvUZwcoYX8jMh12oezzTtFRIYVue4rKkVX4WeSNOneEfIexKaf3
+A1WSqDuf2rUtnDfO/gxHsb8yPh/gCF89kA0CQQDDX+BgZkdQuXbEnzGVY+V4q4iE
+AKLS73ejWdqUcztdLQcc+QEvWFb9Sv81xNQsMbKLHBG424b6fLOQO6FTEEItAkAg
+NKBOxjeZcgMyGpN9L/htJEeKoKlOhbEvBz2U2ie5yKowenKdgm75b2G7ggd5hwpe
+2wrS/+T608JzIN/RxJVlAkEAi5SWYtrSncRCK08frmjPj11ZWZi5O/fVDSuHmNNf
+AQhPvBTwTMLBo15tBs2HMnKRObq1ElllBJ6m7tpkmKse+w==
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/ca-roots-bad.pem b/tls/tests/files/ca-roots-bad.pem
index 8efd883..a3844e0 100644
--- a/tls/tests/files/ca-roots-bad.pem
+++ b/tls/tests/files/ca-roots-bad.pem
@@ -1,25 +1,25 @@
 -----BEGIN CERTIFICATE-----
-MIIDxjCCAy+gAwIBAgIJAL1m9WCMkFWUMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
+MIIDxjCCAy+gAwIBAgIJAIGL5Lhn5uCIMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
 CZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UE
 CwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNv
-bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTQwNzE4MTUxNTUw
-WhcNNDQwNzEwMTUxNTUwWjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
+bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTUwODI5MTc1NzM4
+WhcNNDUwODIxMTc1NzM4WjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
 JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRpZmljYXRlIEF1dGhvcml0
 eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
-YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8ZicF8jd7zECF
-FbAViXKwGqKBVdtAOm/cbqaGKDb3P7BFWmkUSSJPa126PCMuU1Ocf8uuVcgXD+08
-LUGc2VK5rdizxx20L1jr2PQ22QXueuq1CRykzdCGpHlA/7D0Ir6ms/7ayFOG+Mj5
-sRue/KNBDCURNAdOmjhvgXMw9putKQIDAQABo4IBODCCATQwHQYDVR0OBBYEFPAS
-hqHGX6hRi49Q4DrninEiThdiMIG7BgNVHSMEgbMwgbCAFPAShqHGX6hRi49Q4Drn
-inEiThdioYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
+YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2LMvQzqrlIaAx
+nZ3CuzzbS0s0v3Ql/yR7N9ozeH2itLFMKpJwcz8v+wXV21IlbGRDYSzL8jwW98Nt
+VZhCkHYo+zcUnZGuw1UZs1kcPx4BzHnb/qJOnlkJZ5DiH8WlLrfirJvNeuncTgh/
+k0QM2L47BuhSYF6rFKKEHBFABgKfowIDAQABo4IBODCCATQwHQYDVR0OBBYEFH49
+Hkz2s0GYc+159H7h41WHLcfjMIG7BgNVHSMEgbMwgbCAFH49Hkz2s0GYc+159H7h
+41WHLcfjoYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
 LGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
 FQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
-ZS5jb22CCQC9ZvVgjJBVlDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+ZS5jb22CCQCBi+S4Z+bgiDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
 BjAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFt
-cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQBrH0DY2TTMrYmmjkTXqszoK2XXL+NF
-dsXXV24Y9JNunEV3oxpfOCvfQOsfiCU7qQwJHibRBgAM06gvN4xcMv07dOFcnoU3
-DQhyEuWfEBJ6BezsF5uDPxJGGfc/sVdeu0SH7zbmCdbIzx7g2+tUIqcRMTMMq4NZ
-Rga9sq60+ndF+g==
+cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQAwL8ZHaqOeyVB1UjKri+k1H3WTUoTI
+o6E4nvMuM1LGWTcwNMRC4M+MH8c6RRpcQFO84BclmnoPHPw7dJ6bJcMqmzt5kub4
+YVu1kbvyWXU3BnHGtlvJ6X18Y2UNkXOWDTFOzbWqPGaO8pG3EZQwpnCFCbulPp6o
+1TVvSugobgLDCA==
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
 MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290
diff --git a/tls/tests/files/ca-roots.pem b/tls/tests/files/ca-roots.pem
index 713e25b..d65ba96 100644
--- a/tls/tests/files/ca-roots.pem
+++ b/tls/tests/files/ca-roots.pem
@@ -1,27 +1,27 @@
 These are some CA certificates
 
 -----BEGIN CERTIFICATE-----
-MIIDxjCCAy+gAwIBAgIJAL1m9WCMkFWUMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
+MIIDxjCCAy+gAwIBAgIJAIGL5Lhn5uCIMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
 CZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UE
 CwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNv
-bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTQwNzE4MTUxNTUw
-WhcNNDQwNzEwMTUxNTUwWjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
+bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTUwODI5MTc1NzM4
+WhcNNDUwODIxMTc1NzM4WjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
 JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRpZmljYXRlIEF1dGhvcml0
 eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
-YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8ZicF8jd7zECF
-FbAViXKwGqKBVdtAOm/cbqaGKDb3P7BFWmkUSSJPa126PCMuU1Ocf8uuVcgXD+08
-LUGc2VK5rdizxx20L1jr2PQ22QXueuq1CRykzdCGpHlA/7D0Ir6ms/7ayFOG+Mj5
-sRue/KNBDCURNAdOmjhvgXMw9putKQIDAQABo4IBODCCATQwHQYDVR0OBBYEFPAS
-hqHGX6hRi49Q4DrninEiThdiMIG7BgNVHSMEgbMwgbCAFPAShqHGX6hRi49Q4Drn
-inEiThdioYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
+YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2LMvQzqrlIaAx
+nZ3CuzzbS0s0v3Ql/yR7N9ozeH2itLFMKpJwcz8v+wXV21IlbGRDYSzL8jwW98Nt
+VZhCkHYo+zcUnZGuw1UZs1kcPx4BzHnb/qJOnlkJZ5DiH8WlLrfirJvNeuncTgh/
+k0QM2L47BuhSYF6rFKKEHBFABgKfowIDAQABo4IBODCCATQwHQYDVR0OBBYEFH49
+Hkz2s0GYc+159H7h41WHLcfjMIG7BgNVHSMEgbMwgbCAFH49Hkz2s0GYc+159H7h
+41WHLcfjoYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
 LGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
 FQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
-ZS5jb22CCQC9ZvVgjJBVlDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+ZS5jb22CCQCBi+S4Z+bgiDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
 BjAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFt
-cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQBrH0DY2TTMrYmmjkTXqszoK2XXL+NF
-dsXXV24Y9JNunEV3oxpfOCvfQOsfiCU7qQwJHibRBgAM06gvN4xcMv07dOFcnoU3
-DQhyEuWfEBJ6BezsF5uDPxJGGfc/sVdeu0SH7zbmCdbIzx7g2+tUIqcRMTMMq4NZ
-Rga9sq60+ndF+g==
+cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQAwL8ZHaqOeyVB1UjKri+k1H3WTUoTI
+o6E4nvMuM1LGWTcwNMRC4M+MH8c6RRpcQFO84BclmnoPHPw7dJ6bJcMqmzt5kub4
+YVu1kbvyWXU3BnHGtlvJ6X18Y2UNkXOWDTFOzbWqPGaO8pG3EZQwpnCFCbulPp6o
+1TVvSugobgLDCA==
 -----END CERTIFICATE-----
 
 GLib shouldn't care about this comment
diff --git a/tls/tests/files/ca.pem b/tls/tests/files/ca.pem
index 10322b2..780fbdf 100644
--- a/tls/tests/files/ca.pem
+++ b/tls/tests/files/ca.pem
@@ -1,23 +1,23 @@
 -----BEGIN CERTIFICATE-----
-MIIDxjCCAy+gAwIBAgIJAL1m9WCMkFWUMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
+MIIDxjCCAy+gAwIBAgIJAIGL5Lhn5uCIMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
 CZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UE
 CwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNv
-bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTQwNzE4MTUxNTUw
-WhcNNDQwNzEwMTUxNTUwWjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
+bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTUwODI5MTc1NzM4
+WhcNNDUwODIxMTc1NzM4WjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
 JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRpZmljYXRlIEF1dGhvcml0
 eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
-YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8ZicF8jd7zECF
-FbAViXKwGqKBVdtAOm/cbqaGKDb3P7BFWmkUSSJPa126PCMuU1Ocf8uuVcgXD+08
-LUGc2VK5rdizxx20L1jr2PQ22QXueuq1CRykzdCGpHlA/7D0Ir6ms/7ayFOG+Mj5
-sRue/KNBDCURNAdOmjhvgXMw9putKQIDAQABo4IBODCCATQwHQYDVR0OBBYEFPAS
-hqHGX6hRi49Q4DrninEiThdiMIG7BgNVHSMEgbMwgbCAFPAShqHGX6hRi49Q4Drn
-inEiThdioYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
+YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2LMvQzqrlIaAx
+nZ3CuzzbS0s0v3Ql/yR7N9ozeH2itLFMKpJwcz8v+wXV21IlbGRDYSzL8jwW98Nt
+VZhCkHYo+zcUnZGuw1UZs1kcPx4BzHnb/qJOnlkJZ5DiH8WlLrfirJvNeuncTgh/
+k0QM2L47BuhSYF6rFKKEHBFABgKfowIDAQABo4IBODCCATQwHQYDVR0OBBYEFH49
+Hkz2s0GYc+159H7h41WHLcfjMIG7BgNVHSMEgbMwgbCAFH49Hkz2s0GYc+159H7h
+41WHLcfjoYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
 LGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
 FQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
-ZS5jb22CCQC9ZvVgjJBVlDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+ZS5jb22CCQCBi+S4Z+bgiDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
 BjAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFt
-cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQBrH0DY2TTMrYmmjkTXqszoK2XXL+NF
-dsXXV24Y9JNunEV3oxpfOCvfQOsfiCU7qQwJHibRBgAM06gvN4xcMv07dOFcnoU3
-DQhyEuWfEBJ6BezsF5uDPxJGGfc/sVdeu0SH7zbmCdbIzx7g2+tUIqcRMTMMq4NZ
-Rga9sq60+ndF+g==
+cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQAwL8ZHaqOeyVB1UjKri+k1H3WTUoTI
+o6E4nvMuM1LGWTcwNMRC4M+MH8c6RRpcQFO84BclmnoPHPw7dJ6bJcMqmzt5kub4
+YVu1kbvyWXU3BnHGtlvJ6X18Y2UNkXOWDTFOzbWqPGaO8pG3EZQwpnCFCbulPp6o
+1TVvSugobgLDCA==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/chain.pem b/tls/tests/files/chain.pem
index dc21b3e..36ef91e 100644
--- a/tls/tests/files/chain.pem
+++ b/tls/tests/files/chain.pem
@@ -1,59 +1,59 @@
 -----BEGIN CERTIFICATE-----
-MIICKjCCAdSgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBrTETMBEGCgmSJomT8ixk
+MIICHTCCAcegAwIBAgIBATANBgkqhkiG9w0BAQUFADCBrTETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxKzApBgNVBAsMIkludGVy
 bWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgNVBAMMG2ludGVybWVk
 aWF0ZS1jYS5leGFtcGxlLmNvbTEqMCgGCSqGSIb3DQEJARYbaW50ZXJtZWRpYXRl
-LWNhQGV4YW1wbGUuY29tMB4XDTE0MDczMTE4MDQwNVoXDTM5MDcyNTE4MDQwNVow
-WDETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
-KDAmBgNVBAMMH3NlcnZlci1pbnRlcm1lZGlhdGUuZXhhbXBsZS5jb20wXDANBgkq
-hkiG9w0BAQEFAANLADBIAkEAtJ7gH4CHiiALnnOqu79ToTGj8I1xd8m62+WDGwib
-tMfNrQ+Jjw7SU0gjv2GFk3TX3HY456Sp/OnCPTB2C3lx5wIDAQABozMwMTAJBgNV
-HRMEAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEQQIMAaHBMCoARYwDQYJ
-KoZIhvcNAQEFBQADQQBPcxVN1ylw3GKWeZMm6ZD+CSTSfgFjlbm/c0oGZCnz8fvs
-vCf7OpmCBLaArbkZlxNP6a6dAP23mcx6+WwKP8km
+LWNhQGV4YW1wbGUuY29tMB4XDTE1MDgyOTE3NTc0NFoXDTQwMDgyMjE3NTc0NFow
+SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
+GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sA
+MEgCQQDEmAwDjC2Wsp7ccX96e32yC4W4NWWJbBTwR4jWVaDjC8IfBgRMx6A4GxlY
+rp7P3O5CFskc6bJ/2J60b2VIqrYRAgMBAAGjMzAxMAkGA1UdEwQCMAAwEwYDVR0l
+BAwwCgYIKwYBBQUHAwEwDwYDVR0RBAgwBocEwKgBFjANBgkqhkiG9w0BAQUFAANB
+AEQKnmS9dU91lbbea6KSNPhEAkgFcWjqYsj48VbMsIHQvLrz4Hj9ZjjySC2iu+5W
+6aKuVqhz5+lWRbqraV6Tkdg=
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
 MIIDrjCCAxegAwIBAgIBBTANBgkqhkiG9w0BAQUFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE0MDczMTE4MDQwNVoXDTM5MDcy
-NTE4MDQwNVowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE1MDgyOTE3NTc0NFoXDTQwMDgy
+MjE3NTc0NFowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ
 FgdFWEFNUExFMSswKQYDVQQLDCJJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0
 aG9yaXR5MSQwIgYDVQQDDBtpbnRlcm1lZGlhdGUtY2EuZXhhbXBsZS5jb20xKjAo
 BgkqhkiG9w0BCQEWG2ludGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDZy5UlNwps/3/XguGKO8EmWhzTXJl6LcRmFaDcrlXO
-Dg8bak8LftX8e3coQR2/1UBHGrc/vx3iuaPo4zqb6klvAgMBAAGjggFFMIIBQTAd
-BgNVHQ4EFgQUY8cTwoNkLNWWDASVAmwmL8Upfk0wgbsGA1UdIwSBszCBsIAUuR3p
-wFSjo4H3Mb3UQDjQ4rxKDTehgYykgYkwgYYxEzARBgoJkiaJk/IsZAEZFgNDT00x
+SIb3DQEBAQUAA0sAMEgCQQCzMihGRvxXEZeJ3xKtjEULUnjXOwS+8mRU2vSLRji8
+2RnOXZQLAaTY5YDauG+i1v4CPbMkCth91U0x6yf+IVslAgMBAAGjggFFMIIBQTAd
+BgNVHQ4EFgQUE6Ks6NppSIyjISXsqPdmhfycgBUwgbsGA1UdIwSBszCBsIAUfj0e
+TPazQZhz7Xn0fuHjVYctx+OhgYykgYkwgYYxEzARBgoJkiaJk/IsZAEZFgNDT00x
 FzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0ZSBB
 dXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcNAQkB
-Fg5jYUBleGFtcGxlLmNvbYIJAIKoNLAclgPoMA8GA1UdEwEB/wQFMAMBAf8wDgYD
+Fg5jYUBleGFtcGxlLmNvbYIJAIGL5Lhn5uCIMA8GA1UdEwEB/wQFMAMBAf8wDgYD
 VR0PAQH/BAQDAgEGMCYGA1UdEQQfMB2BG2ludGVybWVkaWF0ZS1jYUBleGFtcGxl
 LmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQUFAAOB
-gQBVb72AEGUWEbE9ZUZIy/zNJrsywSl3SDWcUIbHwCFihH0V7RfgmR+v22aPWSfq
-3r8Y3FIZ82RuFhAc1q0W1ZlbOvdVgVvCC/R97m2t/AzZ5Xo797aJYZ9TY+b6wVJH
-H/P3JPD/RrBXIW/OaK+L70n6O/ikhXwWDkpenPIoY4BBsg==
+gQBIiQAwaTfID8rK5Js3W2MF2TKoUsvNCZuZyDxitUcqBZcVCPR178kTXHbaUeb5
+lUQAW0o/2IgdzfkFoC6fiCMRhECSPj0wGlFDDdxVcLSpwo9qyDDXJc4LOq5OQP75
+ZQd00/f8nEJcsJSjjkRhcAt5TiillXfD8Tmm5iKkTfxHLA==
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIDxjCCAy+gAwIBAgIJAIKoNLAclgPoMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
+MIIDxjCCAy+gAwIBAgIJAIGL5Lhn5uCIMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
 CZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UE
 CwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNv
-bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMDAwNzE3MTYwMDUz
-WhcNMzAwNzEwMTYwMDUzWjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
+bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTUwODI5MTc1NzM4
+WhcNNDUwODIxMTc1NzM4WjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
 JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRpZmljYXRlIEF1dGhvcml0
 eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
-YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGfSd/mHqbKBQe
-5aIe3T/ZgVAxP0IczXrpP1CYeohiDfvcSff9000/6dk46XlVhSM4JPIMbrd23YPf
-u8bnlzHqrPD1+HdqwhnmwMhLl3GphB/0PuWoOeEDoFhYSE2XWccCLLc1GtX9nKiS
-GOH3Uam4WrQCibQ4IVL3WKs++U77jwIDAQABo4IBODCCATQwHQYDVR0OBBYEFLkd
-6cBUo6OB9zG91EA40OK8Sg03MIG7BgNVHSMEgbMwgbCAFLkd6cBUo6OB9zG91EA4
-0OK8Sg03oYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
+YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2LMvQzqrlIaAx
+nZ3CuzzbS0s0v3Ql/yR7N9ozeH2itLFMKpJwcz8v+wXV21IlbGRDYSzL8jwW98Nt
+VZhCkHYo+zcUnZGuw1UZs1kcPx4BzHnb/qJOnlkJZ5DiH8WlLrfirJvNeuncTgh/
+k0QM2L47BuhSYF6rFKKEHBFABgKfowIDAQABo4IBODCCATQwHQYDVR0OBBYEFH49
+Hkz2s0GYc+159H7h41WHLcfjMIG7BgNVHSMEgbMwgbCAFH49Hkz2s0GYc+159H7h
+41WHLcfjoYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
 LGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
 FQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
-ZS5jb22CCQCCqDSwHJYD6DAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+ZS5jb22CCQCBi+S4Z+bgiDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
 BjAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFt
-cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQAnIzWB2+yQIsyKfD6CpsPy9f/njn2A
-KZGI0CSJxOMPr4vxL7JvZHtGc3LLRdMtxlk1QlNQlGTr/SsEzZDQfYIF+gzVPZ+h
-bUy8HHWYerWh6Vz1yOe07I7XyGAyvu9xRaIN2DjDUEvXTd4wgZ+6TjzmwX34bvon
-JEOrMtYPA+tV4Q==
+cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQAwL8ZHaqOeyVB1UjKri+k1H3WTUoTI
+o6E4nvMuM1LGWTcwNMRC4M+MH8c6RRpcQFO84BclmnoPHPw7dJ6bJcMqmzt5kub4
+YVu1kbvyWXU3BnHGtlvJ6X18Y2UNkXOWDTFOzbWqPGaO8pG3EZQwpnCFCbulPp6o
+1TVvSugobgLDCA==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/client-and-key.pem b/tls/tests/files/client-and-key.pem
index de984ae..e64050c 100644
--- a/tls/tests/files/client-and-key.pem
+++ b/tls/tests/files/client-and-key.pem
@@ -1,45 +1,45 @@
 -----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQIwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+MIIC3DCCAkUCAQIwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xNDA3MTgxNTE1NTBaFw0zOTA3MTIxNTE1
-NTBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xNTA4MjkxNzU3MzhaFw00MDA4MjIxNzU3
+MzhaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALSAYGCBlZxm
-A7C18riylpFiCWYvhdw7nbLs7ixBdtBK1SCWJc4qj0IrEENSiIfBphfbRGbvu5YQ
-lAC0+1MyqaTqC7U0CbwQlamiAf4PZp/asSrtFlZK17tI/BJwOZKaduuLqVvZi3vc
-eZdfY4zMxGdxItNhkpysOIlqNhGaIv8e1XPThoVNyvkz2XIc3ja5/gS+52eRbT2W
-ZmPqP8fBHs9wMVqHgCrJTucK5q5B5EZnLHrHT+i90Qek5309vV+TQdrxaeNTL0PE
-lDEKSgStzaNkx1pP9qvXIGbV9/zkpNOwwRqbBwIdmiE8O48Lc5UPYSp2WgOwJQKy
-HNmdjQMegpECAwEAATANBgkqhkiG9w0BAQsFAAOBgQB3ZtwtBZDj0FQpVAp3UzY0
-QEnF4ZLksFr79Z0P+1JGo/CCwAVsH/QwE+fAMH9G65fECPSRYCy6MWYJ7+g7iwJn
-kfh2gd5SZY/iOOpRu5rJXVkUvFyq5pJ7OKzAjYdLWpzRu6Xk/I1Lo8dgoTJqp1/Y
-vF623hzx0M3UDEyWLBnJzw==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALG58Q0krS7u
+pSgrpAjLGua2XZemo0NGoT7/ZSa4eWu4TTfJ4J6+4h1RE2pHpRQjYPuGjZ/qp7OM
+SFw0sbVoyC2Vkkmap2++qwOfvrZ9cRQIy9LVjzUSQBA2TVsqoFoptRsJH5V2NZSk
+Em+F/ZW4LJkWsi8yecBehVM/sZNyg9JP6kOL1WhW/+Aeyo5fGYSt0vgg1P3VwbAm
+9//76/5uUSXfxpges+4QodYWGqi0pDIxBpgwoMzwq+pG+UhBBpP0cN04/oZ/W1nz
+Lhr/maAQIdHJOxBwEWTBqgXqjavtcbrpQMBKHwRr6tqlRVDs4SP2CeSWMnLwfl59
+xVH9WB7TplECAwEAATANBgkqhkiG9w0BAQUFAAOBgQACBd12RB/ViGCuDc5mCzrF
+rafOhxJ3RVmZ5z+PU2qOTZW8K56k0iEP0oIVAcYELYugwTWBGJ2OT+JcawBbO+20
+qSEGWnmiqi/dRt8NXxDyz4kQuhFJboyPQfgrMpsc40/ZSvar/TdzK5EflAXInfgE
+nbhTcJ+r2qG7lTDnin1c0w==
 -----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-future.pem b/tls/tests/files/client-future.pem
index 1efc7b1..a90ba6b 100644
--- a/tls/tests/files/client-future.pem
+++ b/tls/tests/files/client-future.pem
@@ -1,18 +1,18 @@
 -----BEGIN CERTIFICATE-----
-MIIC4DCCAkkCAQQwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+MIIC4DCCAkkCAQQwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzE2MDAwMFoYDzIwNjEwNzE3
-MTYwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
+AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzIzMDAwMFoYDzIwNjEwNzE3
+MjMwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
 RVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGllbnRA
-ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC0gGBg
-gZWcZgOwtfK4spaRYglmL4XcO52y7O4sQXbQStUgliXOKo9CKxBDUoiHwaYX20Rm
-77uWEJQAtPtTMqmk6gu1NAm8EJWpogH+D2af2rEq7RZWSte7SPwScDmSmnbri6lb
-2Yt73HmXX2OMzMRncSLTYZKcrDiJajYRmiL/HtVz04aFTcr5M9lyHN42uf4Evudn
-kW09lmZj6j/HwR7PcDFah4AqyU7nCuauQeRGZyx6x0/ovdEHpOd9Pb1fk0Ha8Wnj
-Uy9DxJQxCkoErc2jZMdaT/ar1yBm1ff85KTTsMEamwcCHZohPDuPC3OVD2EqdloD
-sCUCshzZnY0DHoKRAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAlvwZaozayj5zWaEK
-VoXBZgiC+X9LNjQBf4Nyn6aaxdcWZxerzcK6IZXfpoIfFg8fMf5GoMQtv7lwEnlv
-YpHhYBLJIkuaiRWGe66BLuE4ptFwpW74A1l75q8lb0Tne+sFJUQskq/0MjFHzhPN
-VP9m5ioo12rNhafGNOYjyM+pmXA=
+ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCxufEN
+JK0u7qUoK6QIyxrmtl2XpqNDRqE+/2UmuHlruE03yeCevuIdURNqR6UUI2D7ho2f
+6qezjEhcNLG1aMgtlZJJmqdvvqsDn762fXEUCMvS1Y81EkAQNk1bKqBaKbUbCR+V
+djWUpBJvhf2VuCyZFrIvMnnAXoVTP7GTcoPST+pDi9VoVv/gHsqOXxmErdL4INT9
+1cGwJvf/++v+blEl38aYHrPuEKHWFhqotKQyMQaYMKDM8KvqRvlIQQaT9HDdOP6G
+f1tZ8y4a/5mgECHRyTsQcBFkwaoF6o2r7XG66UDASh8Ea+rapUVQ7OEj9gnkljJy
+8H5efcVR/Vge06ZRAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAE1HY14EXO9bAK8rV
+MZ5Su+Ow65lO777o1tn0Tc6GMftmLJPOHzOnUE741FH04oR7cZ8cGgKZOVDMQXAt
+P6b9r9CpTr9KA8SUqVus1KHxfrVMTWwHSUwRlxtz60ACPZ9jkBZY/Y+wx412+VZc
+OQYvmx7aWpbQ9Lva5Y+Zam5BARw=
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/client-key.pem b/tls/tests/files/client-key.pem
index e74b785..57389c9 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 7c22f28..ab312f8 100644
--- a/tls/tests/files/client-past.pem
+++ b/tls/tests/files/client-past.pem
@@ -1,18 +1,18 @@
 -----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQMwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+MIIC3DCCAkUCAQMwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcxNjAwMDBaFw0wMTA3MTcxNjAw
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcyMzAwMDBaFw0wMTA3MTcyMzAw
 MDBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALSAYGCBlZxm
-A7C18riylpFiCWYvhdw7nbLs7ixBdtBK1SCWJc4qj0IrEENSiIfBphfbRGbvu5YQ
-lAC0+1MyqaTqC7U0CbwQlamiAf4PZp/asSrtFlZK17tI/BJwOZKaduuLqVvZi3vc
-eZdfY4zMxGdxItNhkpysOIlqNhGaIv8e1XPThoVNyvkz2XIc3ja5/gS+52eRbT2W
-ZmPqP8fBHs9wMVqHgCrJTucK5q5B5EZnLHrHT+i90Qek5309vV+TQdrxaeNTL0PE
-lDEKSgStzaNkx1pP9qvXIGbV9/zkpNOwwRqbBwIdmiE8O48Lc5UPYSp2WgOwJQKy
-HNmdjQMegpECAwEAATANBgkqhkiG9w0BAQsFAAOBgQAT1xUWWPSwDuW0aEX4P+Tb
-6QOmZXnsSFNK1C4tt7N96x2HPP2CEEqvge8wwXTzdm50qrAYMCqoX3O4yNWhe7TO
-KWFIiuzdPfLvgDR/OZS+rilEFuj89X03LYLqJuy94tz3e54z1HenEcPDLSrNXHI9
-H39pXiBnpiVmSaRUHMsszw==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALG58Q0krS7u
+pSgrpAjLGua2XZemo0NGoT7/ZSa4eWu4TTfJ4J6+4h1RE2pHpRQjYPuGjZ/qp7OM
+SFw0sbVoyC2Vkkmap2++qwOfvrZ9cRQIy9LVjzUSQBA2TVsqoFoptRsJH5V2NZSk
+Em+F/ZW4LJkWsi8yecBehVM/sZNyg9JP6kOL1WhW/+Aeyo5fGYSt0vgg1P3VwbAm
+9//76/5uUSXfxpges+4QodYWGqi0pDIxBpgwoMzwq+pG+UhBBpP0cN04/oZ/W1nz
+Lhr/maAQIdHJOxBwEWTBqgXqjavtcbrpQMBKHwRr6tqlRVDs4SP2CeSWMnLwfl59
+xVH9WB7TplECAwEAATANBgkqhkiG9w0BAQUFAAOBgQAGlVz96Zm2uQLzssuphCuY
+9Pn2/dDIMxr3/1/syHc6zS8dMO0GdEPVus6WCncMx87+kb/yHtLUg92sNIMylHbr
+Dr01nFY+1dXUa6V9cFkDD83bv8LccHABDBJNZ2HkmTtueVLx/eJzxUBoY9uTbW7x
+l6gDnG+Hfl95qzvSAM5LnQ==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/client.pem b/tls/tests/files/client.pem
index a6dce66..219ab62 100644
--- a/tls/tests/files/client.pem
+++ b/tls/tests/files/client.pem
@@ -1,18 +1,18 @@
 -----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQIwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+MIIC3DCCAkUCAQIwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xNDA3MTgxNTE1NTBaFw0zOTA3MTIxNTE1
-NTBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xNTA4MjkxNzU3MzhaFw00MDA4MjIxNzU3
+MzhaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALSAYGCBlZxm
-A7C18riylpFiCWYvhdw7nbLs7ixBdtBK1SCWJc4qj0IrEENSiIfBphfbRGbvu5YQ
-lAC0+1MyqaTqC7U0CbwQlamiAf4PZp/asSrtFlZK17tI/BJwOZKaduuLqVvZi3vc
-eZdfY4zMxGdxItNhkpysOIlqNhGaIv8e1XPThoVNyvkz2XIc3ja5/gS+52eRbT2W
-ZmPqP8fBHs9wMVqHgCrJTucK5q5B5EZnLHrHT+i90Qek5309vV+TQdrxaeNTL0PE
-lDEKSgStzaNkx1pP9qvXIGbV9/zkpNOwwRqbBwIdmiE8O48Lc5UPYSp2WgOwJQKy
-HNmdjQMegpECAwEAATANBgkqhkiG9w0BAQsFAAOBgQB3ZtwtBZDj0FQpVAp3UzY0
-QEnF4ZLksFr79Z0P+1JGo/CCwAVsH/QwE+fAMH9G65fECPSRYCy6MWYJ7+g7iwJn
-kfh2gd5SZY/iOOpRu5rJXVkUvFyq5pJ7OKzAjYdLWpzRu6Xk/I1Lo8dgoTJqp1/Y
-vF623hzx0M3UDEyWLBnJzw==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALG58Q0krS7u
+pSgrpAjLGua2XZemo0NGoT7/ZSa4eWu4TTfJ4J6+4h1RE2pHpRQjYPuGjZ/qp7OM
+SFw0sbVoyC2Vkkmap2++qwOfvrZ9cRQIy9LVjzUSQBA2TVsqoFoptRsJH5V2NZSk
+Em+F/ZW4LJkWsi8yecBehVM/sZNyg9JP6kOL1WhW/+Aeyo5fGYSt0vgg1P3VwbAm
+9//76/5uUSXfxpges+4QodYWGqi0pDIxBpgwoMzwq+pG+UhBBpP0cN04/oZ/W1nz
+Lhr/maAQIdHJOxBwEWTBqgXqjavtcbrpQMBKHwRr6tqlRVDs4SP2CeSWMnLwfl59
+xVH9WB7TplECAwEAATANBgkqhkiG9w0BAQUFAAOBgQACBd12RB/ViGCuDc5mCzrF
+rafOhxJ3RVmZ5z+PU2qOTZW8K56k0iEP0oIVAcYELYugwTWBGJ2OT+JcawBbO+20
+qSEGWnmiqi/dRt8NXxDyz4kQuhFJboyPQfgrMpsc40/ZSvar/TdzK5EflAXInfgE
+nbhTcJ+r2qG7lTDnin1c0w==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/create-files.sh b/tls/tests/files/create-files.sh
index 3afc8fb..f5f0629 100755
--- a/tls/tests/files/create-files.sh
+++ b/tls/tests/files/create-files.sh
@@ -24,7 +24,7 @@ echo "the contents of ca.pem."
 echo
 echo "Also, file-database.c:test_lookup_certificates_issued_by has"
 echo "an ISSUER variable that needs to be changed by the CA identifier"
-echo "(read the comment in that function)."
+echo "(read the comment in that function) if you modify this script."
 echo
 echo "                   *** IMPORTANT ***"
 echo
diff --git a/tls/tests/files/intermediate-ca-csr.pem b/tls/tests/files/intermediate-ca-csr.pem
index 475c6da..458c1b9 100644
--- a/tls/tests/files/intermediate-ca-csr.pem
+++ b/tls/tests/files/intermediate-ca-csr.pem
@@ -3,10 +3,10 @@ MIIBujCCAWQCAQAwga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/Is
 ZAEZFgdFWEFNUExFMSswKQYDVQQLDCJJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUg
 QXV0aG9yaXR5MSQwIgYDVQQDDBtpbnRlcm1lZGlhdGUtY2EuZXhhbXBsZS5jb20x
 KjAoBgkqhkiG9w0BCQEWG2ludGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTBcMA0G
-CSqGSIb3DQEBAQUAA0sAMEgCQQDZy5UlNwps/3/XguGKO8EmWhzTXJl6LcRmFaDc
-rlXODg8bak8LftX8e3coQR2/1UBHGrc/vx3iuaPo4zqb6klvAgMBAAGgUTBPBgkq
-hkiG9w0BCQ4xQjBAMB0GA1UdDgQWBBRjxxPCg2Qs1ZYMBJUCbCYvxSl+TTAPBgNV
-HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAANBAL7G
-C93dOvWLF1e732ReW1O0jJwBy93EuEDJKWdkl4fP5ATqXXEVxtIOvodBRgJjZHjR
-orZTdnMZS2lJPRZHOms=
+CSqGSIb3DQEBAQUAA0sAMEgCQQCzMihGRvxXEZeJ3xKtjEULUnjXOwS+8mRU2vSL
+Rji82RnOXZQLAaTY5YDauG+i1v4CPbMkCth91U0x6yf+IVslAgMBAAGgUTBPBgkq
+hkiG9w0BCQ4xQjBAMB0GA1UdDgQWBBQToqzo2mlIjKMhJeyo92aF/JyAFTAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAANBAH7e
+z0YzhZUniYLub64iEiKQWXkWTtdSDQmEd+15515qL2Rw0fQ619cEcyMWP6yx9MNB
+JJ7KK03FR4rpbFmQ0nQ=
 -----END CERTIFICATE REQUEST-----
diff --git a/tls/tests/files/intermediate-ca-key.pem b/tls/tests/files/intermediate-ca-key.pem
index 9b29fd8..9021048 100644
--- a/tls/tests/files/intermediate-ca-key.pem
+++ b/tls/tests/files/intermediate-ca-key.pem
@@ -1,9 +1,9 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIIBPAIBAAJBANnLlSU3Cmz/f9eC4Yo7wSZaHNNcmXotxGYVoNyuVc4ODxtqTwt+
-1fx7dyhBHb/VQEcatz+/HeK5o+jjOpvqSW8CAwEAAQJBAJBMZwOiJQE0guIpr/7j
-OkSLvb94AaPGgPJV8B9mTilXRFqOhU2fw/i+SbX42JM6wVY+ByomPfpNj1V/sI4K
-hrECIQDt6B6V//oXOLzsPx3idn3lPa9OUtKsneFU+0IIP6NvVwIhAOpb6BRPghIl
-Oq/jLHkRWOKaoU553YgEeMmKx/kMn9+pAiEAqBITAY9MQ/l+ZjwUxbdGK5xPa7rR
-QMdsuBelR6SFtpMCIQCIVntHBZIX2Eyx8ij3LZ5WBbr9mmvEK0XRickYG74OMQIg
-agZFDu2+IR8oP+KcXvT9gcMs1fgC90poZYiCsKD7Jss=
+MIIBOwIBAAJBALMyKEZG/FcRl4nfEq2MRQtSeNc7BL7yZFTa9ItGOLzZGc5dlAsB
+pNjlgNq4b6LW/gI9syQK2H3VTTHrJ/4hWyUCAwEAAQJBALB4SKlM5txn+rBP+njm
+lmgcA90Rxg61bpESP5mYwe9Wx0GnqwiRjEi/XuPjDs2RddQEeMfLixq8F0Jf8JD/
+z9ECIQDi3N1XoeQ0toL7Ml701PRfYMkQU6Ojj4xm9JyVby2bAwIhAMo2B++uWjvQ
+iGlvSYYI9CuEHCnNUucI8Wvm3xXc3oS3AiATtdjNSlWHduv+Yyv43Z+1wbT2ZC3t
+ggVS1KHeIeC2fQIgW3JP6H7K494MstHXSDxoX/2g1u66HS2YMJn6LWLzZsUCIQCA
+/80HCe93i1JBluD7Rizzi6k5TcOKaIemYfaLmzrR7w==
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/intermediate-ca.pem b/tls/tests/files/intermediate-ca.pem
index 2de5efd..b89967b 100644
--- a/tls/tests/files/intermediate-ca.pem
+++ b/tls/tests/files/intermediate-ca.pem
@@ -2,21 +2,21 @@
 MIIDrjCCAxegAwIBAgIBBTANBgkqhkiG9w0BAQUFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE0MDczMTE4MDQwNVoXDTM5MDcy
-NTE4MDQwNVowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE1MDgyOTE3NTc0NFoXDTQwMDgy
+MjE3NTc0NFowga0xEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZ
 FgdFWEFNUExFMSswKQYDVQQLDCJJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0
 aG9yaXR5MSQwIgYDVQQDDBtpbnRlcm1lZGlhdGUtY2EuZXhhbXBsZS5jb20xKjAo
 BgkqhkiG9w0BCQEWG2ludGVybWVkaWF0ZS1jYUBleGFtcGxlLmNvbTBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDZy5UlNwps/3/XguGKO8EmWhzTXJl6LcRmFaDcrlXO
-Dg8bak8LftX8e3coQR2/1UBHGrc/vx3iuaPo4zqb6klvAgMBAAGjggFFMIIBQTAd
-BgNVHQ4EFgQUY8cTwoNkLNWWDASVAmwmL8Upfk0wgbsGA1UdIwSBszCBsIAUuR3p
-wFSjo4H3Mb3UQDjQ4rxKDTehgYykgYkwgYYxEzARBgoJkiaJk/IsZAEZFgNDT00x
+SIb3DQEBAQUAA0sAMEgCQQCzMihGRvxXEZeJ3xKtjEULUnjXOwS+8mRU2vSLRji8
+2RnOXZQLAaTY5YDauG+i1v4CPbMkCth91U0x6yf+IVslAgMBAAGjggFFMIIBQTAd
+BgNVHQ4EFgQUE6Ks6NppSIyjISXsqPdmhfycgBUwgbsGA1UdIwSBszCBsIAUfj0e
+TPazQZhz7Xn0fuHjVYctx+OhgYykgYkwgYYxEzARBgoJkiaJk/IsZAEZFgNDT00x
 FzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0ZSBB
 dXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcNAQkB
-Fg5jYUBleGFtcGxlLmNvbYIJAIKoNLAclgPoMA8GA1UdEwEB/wQFMAMBAf8wDgYD
+Fg5jYUBleGFtcGxlLmNvbYIJAIGL5Lhn5uCIMA8GA1UdEwEB/wQFMAMBAf8wDgYD
 VR0PAQH/BAQDAgEGMCYGA1UdEQQfMB2BG2ludGVybWVkaWF0ZS1jYUBleGFtcGxl
 LmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0BAQUFAAOB
-gQBVb72AEGUWEbE9ZUZIy/zNJrsywSl3SDWcUIbHwCFihH0V7RfgmR+v22aPWSfq
-3r8Y3FIZ82RuFhAc1q0W1ZlbOvdVgVvCC/R97m2t/AzZ5Xo797aJYZ9TY+b6wVJH
-H/P3JPD/RrBXIW/OaK+L70n6O/ikhXwWDkpenPIoY4BBsg==
+gQBIiQAwaTfID8rK5Js3W2MF2TKoUsvNCZuZyDxitUcqBZcVCPR178kTXHbaUeb5
+lUQAW0o/2IgdzfkFoC6fiCMRhECSPj0wGlFDDdxVcLSpwo9qyDDXJc4LOq5OQP75
+ZQd00/f8nEJcsJSjjkRhcAt5TiillXfD8Tmm5iKkTfxHLA==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/non-ca.pem b/tls/tests/files/non-ca.pem
index 2e990c2..0250dc1 100644
--- a/tls/tests/files/non-ca.pem
+++ b/tls/tests/files/non-ca.pem
@@ -1,88 +1,88 @@
 client.pem:
 -----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQIwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+MIIC3DCCAkUCAQIwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xNDA3MTgxNTE1NTBaFw0zOTA3MTIxNTE1
-NTBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xNTA4MjkxNzU3MzhaFw00MDA4MjIxNzU3
+MzhaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALSAYGCBlZxm
-A7C18riylpFiCWYvhdw7nbLs7ixBdtBK1SCWJc4qj0IrEENSiIfBphfbRGbvu5YQ
-lAC0+1MyqaTqC7U0CbwQlamiAf4PZp/asSrtFlZK17tI/BJwOZKaduuLqVvZi3vc
-eZdfY4zMxGdxItNhkpysOIlqNhGaIv8e1XPThoVNyvkz2XIc3ja5/gS+52eRbT2W
-ZmPqP8fBHs9wMVqHgCrJTucK5q5B5EZnLHrHT+i90Qek5309vV+TQdrxaeNTL0PE
-lDEKSgStzaNkx1pP9qvXIGbV9/zkpNOwwRqbBwIdmiE8O48Lc5UPYSp2WgOwJQKy
-HNmdjQMegpECAwEAATANBgkqhkiG9w0BAQsFAAOBgQB3ZtwtBZDj0FQpVAp3UzY0
-QEnF4ZLksFr79Z0P+1JGo/CCwAVsH/QwE+fAMH9G65fECPSRYCy6MWYJ7+g7iwJn
-kfh2gd5SZY/iOOpRu5rJXVkUvFyq5pJ7OKzAjYdLWpzRu6Xk/I1Lo8dgoTJqp1/Y
-vF623hzx0M3UDEyWLBnJzw==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALG58Q0krS7u
+pSgrpAjLGua2XZemo0NGoT7/ZSa4eWu4TTfJ4J6+4h1RE2pHpRQjYPuGjZ/qp7OM
+SFw0sbVoyC2Vkkmap2++qwOfvrZ9cRQIy9LVjzUSQBA2TVsqoFoptRsJH5V2NZSk
+Em+F/ZW4LJkWsi8yecBehVM/sZNyg9JP6kOL1WhW/+Aeyo5fGYSt0vgg1P3VwbAm
+9//76/5uUSXfxpges+4QodYWGqi0pDIxBpgwoMzwq+pG+UhBBpP0cN04/oZ/W1nz
+Lhr/maAQIdHJOxBwEWTBqgXqjavtcbrpQMBKHwRr6tqlRVDs4SP2CeSWMnLwfl59
+xVH9WB7TplECAwEAATANBgkqhkiG9w0BAQUFAAOBgQACBd12RB/ViGCuDc5mCzrF
+rafOhxJ3RVmZ5z+PU2qOTZW8K56k0iEP0oIVAcYELYugwTWBGJ2OT+JcawBbO+20
+qSEGWnmiqi/dRt8NXxDyz4kQuhFJboyPQfgrMpsc40/ZSvar/TdzK5EflAXInfgE
+nbhTcJ+r2qG7lTDnin1c0w==
 -----END CERTIFICATE-----
 
 client-future.pem:
 -----BEGIN CERTIFICATE-----
-MIIC4DCCAkkCAQQwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+MIIC4DCCAkkCAQQwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzE2MDAwMFoYDzIwNjEwNzE3
-MTYwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
+AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzIzMDAwMFoYDzIwNjEwNzE3
+MjMwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
 RVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGllbnRA
-ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC0gGBg
-gZWcZgOwtfK4spaRYglmL4XcO52y7O4sQXbQStUgliXOKo9CKxBDUoiHwaYX20Rm
-77uWEJQAtPtTMqmk6gu1NAm8EJWpogH+D2af2rEq7RZWSte7SPwScDmSmnbri6lb
-2Yt73HmXX2OMzMRncSLTYZKcrDiJajYRmiL/HtVz04aFTcr5M9lyHN42uf4Evudn
-kW09lmZj6j/HwR7PcDFah4AqyU7nCuauQeRGZyx6x0/ovdEHpOd9Pb1fk0Ha8Wnj
-Uy9DxJQxCkoErc2jZMdaT/ar1yBm1ff85KTTsMEamwcCHZohPDuPC3OVD2EqdloD
-sCUCshzZnY0DHoKRAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAlvwZaozayj5zWaEK
-VoXBZgiC+X9LNjQBf4Nyn6aaxdcWZxerzcK6IZXfpoIfFg8fMf5GoMQtv7lwEnlv
-YpHhYBLJIkuaiRWGe66BLuE4ptFwpW74A1l75q8lb0Tne+sFJUQskq/0MjFHzhPN
-VP9m5ioo12rNhafGNOYjyM+pmXA=
+ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCxufEN
+JK0u7qUoK6QIyxrmtl2XpqNDRqE+/2UmuHlruE03yeCevuIdURNqR6UUI2D7ho2f
+6qezjEhcNLG1aMgtlZJJmqdvvqsDn762fXEUCMvS1Y81EkAQNk1bKqBaKbUbCR+V
+djWUpBJvhf2VuCyZFrIvMnnAXoVTP7GTcoPST+pDi9VoVv/gHsqOXxmErdL4INT9
+1cGwJvf/++v+blEl38aYHrPuEKHWFhqotKQyMQaYMKDM8KvqRvlIQQaT9HDdOP6G
+f1tZ8y4a/5mgECHRyTsQcBFkwaoF6o2r7XG66UDASh8Ea+rapUVQ7OEj9gnkljJy
+8H5efcVR/Vge06ZRAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAE1HY14EXO9bAK8rV
+MZ5Su+Ow65lO777o1tn0Tc6GMftmLJPOHzOnUE741FH04oR7cZ8cGgKZOVDMQXAt
+P6b9r9CpTr9KA8SUqVus1KHxfrVMTWwHSUwRlxtz60ACPZ9jkBZY/Y+wx412+VZc
+OQYvmx7aWpbQ9Lva5Y+Zam5BARw=
 -----END CERTIFICATE-----
 
 client-past.pem:
 -----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQMwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+MIIC3DCCAkUCAQMwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
 T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
 ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcxNjAwMDBaFw0wMTA3MTcxNjAw
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcyMzAwMDBaFw0wMTA3MTcyMzAw
 MDBaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
 UExFMQ8wDQYDVQQDDAZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALSAYGCBlZxm
-A7C18riylpFiCWYvhdw7nbLs7ixBdtBK1SCWJc4qj0IrEENSiIfBphfbRGbvu5YQ
-lAC0+1MyqaTqC7U0CbwQlamiAf4PZp/asSrtFlZK17tI/BJwOZKaduuLqVvZi3vc
-eZdfY4zMxGdxItNhkpysOIlqNhGaIv8e1XPThoVNyvkz2XIc3ja5/gS+52eRbT2W
-ZmPqP8fBHs9wMVqHgCrJTucK5q5B5EZnLHrHT+i90Qek5309vV+TQdrxaeNTL0PE
-lDEKSgStzaNkx1pP9qvXIGbV9/zkpNOwwRqbBwIdmiE8O48Lc5UPYSp2WgOwJQKy
-HNmdjQMegpECAwEAATANBgkqhkiG9w0BAQsFAAOBgQAT1xUWWPSwDuW0aEX4P+Tb
-6QOmZXnsSFNK1C4tt7N96x2HPP2CEEqvge8wwXTzdm50qrAYMCqoX3O4yNWhe7TO
-KWFIiuzdPfLvgDR/OZS+rilEFuj89X03LYLqJuy94tz3e54z1HenEcPDLSrNXHI9
-H39pXiBnpiVmSaRUHMsszw==
+cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALG58Q0krS7u
+pSgrpAjLGua2XZemo0NGoT7/ZSa4eWu4TTfJ4J6+4h1RE2pHpRQjYPuGjZ/qp7OM
+SFw0sbVoyC2Vkkmap2++qwOfvrZ9cRQIy9LVjzUSQBA2TVsqoFoptRsJH5V2NZSk
+Em+F/ZW4LJkWsi8yecBehVM/sZNyg9JP6kOL1WhW/+Aeyo5fGYSt0vgg1P3VwbAm
+9//76/5uUSXfxpges+4QodYWGqi0pDIxBpgwoMzwq+pG+UhBBpP0cN04/oZ/W1nz
+Lhr/maAQIdHJOxBwEWTBqgXqjavtcbrpQMBKHwRr6tqlRVDs4SP2CeSWMnLwfl59
+xVH9WB7TplECAwEAATANBgkqhkiG9w0BAQUFAAOBgQAGlVz96Zm2uQLzssuphCuY
+9Pn2/dDIMxr3/1/syHc6zS8dMO0GdEPVus6WCncMx87+kb/yHtLUg92sNIMylHbr
+Dr01nFY+1dXUa6V9cFkDD83bv8LccHABDBJNZ2HkmTtueVLx/eJzxUBoY9uTbW7x
+l6gDnG+Hfl95qzvSAM5LnQ==
 -----END CERTIFICATE-----
 
 server.pem:
 -----BEGIN CERTIFICATE-----
-MIICNzCCAaCgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
+MIICNzCCAaCgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE0MDcxODE1NDg0M1oXDTM5MDcx
-MjE1NDg0M1owSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE1MDgyOTE3NTczOFoXDTQwMDgy
+MjE3NTczOFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
 B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3
-DQEBAQUAA0sAMEgCQQDYr/S4UqathXoTeBKb94cGUHph+2Qtlap+eONpInhAsfka
-NovCeCUmjHS/pOBOsKAdyckLhb/BAabX4qgFwIcfAgMBAAGjMzAxMAkGA1UdEwQC
+DQEBAQUAA0sAMEgCQQCoG8Jdgm5O44c/i6ke0dhNY8AmIsrEmY93iYD98QQ07JuE
+VTp+bHgozCEOQQdBaS6q/1/q5vQYEaJQoh9Ys9cLAgMBAAGjMzAxMAkGA1UdEwQC
 MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0RBAgwBocEwKgBCjANBgkqhkiG
-9w0BAQsFAAOBgQA2DvQ4t6ScSANCWNpCwLlG/Mzmv/Nu/95pivh/MSJha1Cr2zLy
-6yyzi1atmSXhRcEn63dUoYuPdrd5P679fQVyepQ1EEksa9TaEaf8GcfUQFnBxrqq
-h/Uky1rKIhFkboLF+3yASZ/V70MYl+Rr8RNa2VKilKNh5rFw6tqg/sBiNw==
+9w0BAQUFAAOBgQA6r1t6llBm+tE/DT32RbM55jlhk+tweoJe2zte0wYKeGdHv5W/
+CPVxhLqr/4oly/fOsFvamtp6++6JELF7A4a91tMny8HI2Vjuvl9KKDNL+VBnmrGF
+h494TQP1aboqAyPljlX7s1728KpgPJkToKSCzQaNfAMRy5LjojIDQPtiJg==
 -----END CERTIFICATE-----
 
 server-self.pem:
 -----BEGIN CERTIFICATE-----
-MIIBiDCCATICCQCGr5DYAwta3jANBgkqhkiG9w0BAQsFADBLMRMwEQYKCZImiZPy
+MIIBiDCCATICCQDcDYKM9fP8yDANBgkqhkiG9w0BAQUFADBLMRMwEQYKCZImiZPy
 LGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEbMBkGA1UEAwwSc2Vy
-dmVyLmV4YW1wbGUuY29tMB4XDTE0MDcxODE1MTU1MFoXDTM5MDcxMjE1MTU1MFow
+dmVyLmV4YW1wbGUuY29tMB4XDTE1MDgyOTE3NTczOFoXDTQwMDgyMjE3NTczOFow
 SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
 GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sA
-MEgCQQDAUI4hEDPatu3gIu+7GWekO2Rn5Dez761UKqO+BEzBPq+k0c4vM3zSxHSN
-+qs4GXo4c5NjE4B2bd4vBQbjdMxBAgMBAAEwDQYJKoZIhvcNAQELBQADQQA5cctq
-qwmQTXiBR60skzFdqiEED6KHOCS1UU0ufF0dA0Wb3maet5QPIZcAYMjMChftdhPB
-Uvdhf9VIwnUZ85KW
+MEgCQQCoG8Jdgm5O44c/i6ke0dhNY8AmIsrEmY93iYD98QQ07JuEVTp+bHgozCEO
+QQdBaS6q/1/q5vQYEaJQoh9Ys9cLAgMBAAEwDQYJKoZIhvcNAQEFBQADQQBeTddU
+wuWCIzyRTtI0ryY7ZYdLmjzbZRmfcVdSLUiMmt7TaO1hFTlwkErktO9seVOnkMeE
+OrG23LPbsd4DKNWk
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/server-and-key.pem b/tls/tests/files/server-and-key.pem
index b6ea2af..d1715d8 100644
--- a/tls/tests/files/server-and-key.pem
+++ b/tls/tests/files/server-and-key.pem
@@ -1,23 +1,23 @@
 -----BEGIN CERTIFICATE-----
-MIICNzCCAaCgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
+MIICNzCCAaCgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE0MDcxODE1NDg0M1oXDTM5MDcx
-MjE1NDg0M1owSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE1MDgyOTE3NTczOFoXDTQwMDgy
+MjE3NTczOFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
 B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3
-DQEBAQUAA0sAMEgCQQDYr/S4UqathXoTeBKb94cGUHph+2Qtlap+eONpInhAsfka
-NovCeCUmjHS/pOBOsKAdyckLhb/BAabX4qgFwIcfAgMBAAGjMzAxMAkGA1UdEwQC
+DQEBAQUAA0sAMEgCQQCoG8Jdgm5O44c/i6ke0dhNY8AmIsrEmY93iYD98QQ07JuE
+VTp+bHgozCEOQQdBaS6q/1/q5vQYEaJQoh9Ys9cLAgMBAAGjMzAxMAkGA1UdEwQC
 MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0RBAgwBocEwKgBCjANBgkqhkiG
-9w0BAQsFAAOBgQA2DvQ4t6ScSANCWNpCwLlG/Mzmv/Nu/95pivh/MSJha1Cr2zLy
-6yyzi1atmSXhRcEn63dUoYuPdrd5P679fQVyepQ1EEksa9TaEaf8GcfUQFnBxrqq
-h/Uky1rKIhFkboLF+3yASZ/V70MYl+Rr8RNa2VKilKNh5rFw6tqg/sBiNw==
+9w0BAQUFAAOBgQA6r1t6llBm+tE/DT32RbM55jlhk+tweoJe2zte0wYKeGdHv5W/
+CPVxhLqr/4oly/fOsFvamtp6++6JELF7A4a91tMny8HI2Vjuvl9KKDNL+VBnmrGF
+h494TQP1aboqAyPljlX7s1728KpgPJkToKSCzQaNfAMRy5LjojIDQPtiJg==
 -----END CERTIFICATE-----
 -----BEGIN RSA PRIVATE KEY-----
-MIIBOgIBAAJBANiv9LhSpq2FehN4Epv3hwZQemH7ZC2Vqn5442kieECx+Ro2i8J4
-JSaMdL+k4E6woB3JyQuFv8EBptfiqAXAhx8CAwEAAQJAEMr6JTrKjhIVFuMsVggF
-39hm06ce6WV69Bg8T46LUUAVM39HdsNDIRkhYXExpQUmiYRFzcrLF1ot8S/4u889
-yQIhAOwDbAqT2QrEcGIWi8aZP1N5gDv8h67UcHBcftveklC7AiEA6wmPopj8qFoh
-/xM4GCKtdAYUdbfqUFMTFo7ZmD+Tvu0CIBafdVnGNkXL8qHUW22b/u/3c41MdY0S
-m/yJQTe+K/RFAiAoStxP0JBHwCPh2YadRJydrkkloSDPIl68WELfQc7vRQIhAM9E
-FvuChciFJzfnNNzKpH93hH9f2YMDsVWvgz0fIRz0
+MIIBOQIBAAJBAKgbwl2Cbk7jhz+LqR7R2E1jwCYiysSZj3eJgP3xBDTsm4RVOn5s
+eCjMIQ5BB0FpLqr/X+rm9BgRolCiH1iz1wsCAwEAAQJAGnTT7/d4+L1iKaQHJ6yK
+yBMsyFOtaadpJrzjKhPmP5XDsrkzq9ozrEHoW2TAPG6FcYKDxc0B/FGhNj0y2/mU
+sQIhANwSUpkJ1FFfhhhr1JQNO9G8HMlSP1I+bNDP2+kgJaUlAiEAw42wEUVjfnD4
+4D5rKyUd+jImaoHM6wnBeRheVcN9jG8CIBk7WJEHWXqC80L1igf3hHZFlR9X+L6b
+PaqrSlFuSCKpAiA4yG21tiZb0sYRp05LKu33dpR9HM+5+A078n2B/c/49QIgTWlA
+hMV7XwlQguIBwBbHP9QskSiW+5hpyz2eh2b0i1c=
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/server-intermediate-csr.pem b/tls/tests/files/server-intermediate-csr.pem
index ee82a25..f53321b 100644
--- a/tls/tests/files/server-intermediate-csr.pem
+++ b/tls/tests/files/server-intermediate-csr.pem
@@ -1,9 +1,9 @@
 -----BEGIN CERTIFICATE REQUEST-----
-MIIBQzCB7gIBADBYMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB
-GRYHRVhBTVBMRTEoMCYGA1UEAwwfc2VydmVyLWludGVybWVkaWF0ZS5leGFtcGxl
-LmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC0nuAfgIeKIAuec6q7v1OhMaPw
-jXF3ybrb5YMbCJu0x82tD4mPDtJTSCO/YYWTdNfcdjjnpKn86cI9MHYLeXHnAgMB
-AAGgMTAvBgkqhkiG9w0BCQ4xIjAgMAkGA1UdEwQCMAAwEwYDVR0lBAwwCgYIKwYB
-BQUHAwEwDQYJKoZIhvcNAQEFBQADQQAqVMCLX4TCIVVJWisEcXYSrAVJHtqsd1Tn
-SbN7hLt1p1wnHhf3BItUYzD0Fn9DtSXjvXs37lYEl7XA3qzICP/3
+MIIBNjCB4QIBADBLMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQB
+GRYHRVhBTVBMRTEbMBkGA1UEAwwSc2VydmVyLmV4YW1wbGUuY29tMFwwDQYJKoZI
+hvcNAQEBBQADSwAwSAJBAMSYDAOMLZayntxxf3p7fbILhbg1ZYlsFPBHiNZVoOML
+wh8GBEzHoDgbGViuns/c7kIWyRzpsn/YnrRvZUiqthECAwEAAaAxMC8GCSqGSIb3
+DQEJDjEiMCAwCQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG
+9w0BAQUFAANBAGT4XkwkYMnet6W9vIAm8Hju4cPvjjume7hJva+MlGCJgkBgH+3p
+xifvhBEkuOoTWi/QK+AhNdp/FnbFDCAjow0=
 -----END CERTIFICATE REQUEST-----
diff --git a/tls/tests/files/server-intermediate-key.pem b/tls/tests/files/server-intermediate-key.pem
index e161e74..f40a56b 100644
--- a/tls/tests/files/server-intermediate-key.pem
+++ b/tls/tests/files/server-intermediate-key.pem
@@ -1,9 +1,9 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIIBOgIBAAJBALSe4B+Ah4ogC55zqru/U6Exo/CNcXfJutvlgxsIm7THza0PiY8O
-0lNII79hhZN019x2OOekqfzpwj0wdgt5cecCAwEAAQJAGdZsWzVIrlKdNuJ29vqM
-nQ970yp4o9kguNohIhneJEL/NFnjMUAJTd5CIgXvKTzLtuT0l8QSeS3vu0m61RzY
-eQIhAN4glP7Hh8LeWf8y7R0MjufwC7LNLNIZGK6tSZ6G0h0rAiEA0Cn0JrJb0ZwZ
-lm/j3nyvyhW9d9tfH88NbTQqgSbIODUCID82EnB2o6HG2OGQwn1Tx48ldo7JaInZ
-bna3BY5BW6XFAiEAlvWF2LZJ/hWNPNrBzqxvs0bW01/keSXnn8VP+b9NPe0CIGtO
-aVNEJl+f7cGqtjXe9FYM0A2yn7YoBYH3yCpPOPRb
+MIIBOwIBAAJBAMSYDAOMLZayntxxf3p7fbILhbg1ZYlsFPBHiNZVoOMLwh8GBEzH
+oDgbGViuns/c7kIWyRzpsn/YnrRvZUiqthECAwEAAQJAHkU3HFi6MEkCkvja4xYe
+rYp+pXV7U+STeMfa9v2qTyscJIguoVRbVGAYhpMkXdOkZ08FmMpGXLcZKwypBLEp
+UQIhAOwjF5VPTeQGDYLKcUsGzC09mEwgjmk10DJPJ3d2Aj9tAiEA1SFxsHrznfzX
+29jbz079KcSakwLNuP1hjFTlmLNSlrUCIQCIt2iYEepO8xIvf3ZIsg7UwqzCprbN
+Q1LfTeTTzYdPoQIgYBa69hEIwsLa4yBrQZTgKLOd6QfLjkqWbzlbZjP62T0CIQCW
+LKoQ8CXcoq2lWl61GKw+XySqzMUrhakwV1EPjpm9rQ==
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/server-intermediate.pem b/tls/tests/files/server-intermediate.pem
index 577bf85..da1d686 100644
--- a/tls/tests/files/server-intermediate.pem
+++ b/tls/tests/files/server-intermediate.pem
@@ -1,14 +1,14 @@
 -----BEGIN CERTIFICATE-----
-MIICKjCCAdSgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBrTETMBEGCgmSJomT8ixk
+MIICHTCCAcegAwIBAgIBATANBgkqhkiG9w0BAQUFADCBrTETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxKzApBgNVBAsMIkludGVy
 bWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgNVBAMMG2ludGVybWVk
 aWF0ZS1jYS5leGFtcGxlLmNvbTEqMCgGCSqGSIb3DQEJARYbaW50ZXJtZWRpYXRl
-LWNhQGV4YW1wbGUuY29tMB4XDTE0MDczMTE4MDQwNVoXDTM5MDcyNTE4MDQwNVow
-WDETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
-KDAmBgNVBAMMH3NlcnZlci1pbnRlcm1lZGlhdGUuZXhhbXBsZS5jb20wXDANBgkq
-hkiG9w0BAQEFAANLADBIAkEAtJ7gH4CHiiALnnOqu79ToTGj8I1xd8m62+WDGwib
-tMfNrQ+Jjw7SU0gjv2GFk3TX3HY456Sp/OnCPTB2C3lx5wIDAQABozMwMTAJBgNV
-HRMEAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEQQIMAaHBMCoARYwDQYJ
-KoZIhvcNAQEFBQADQQBPcxVN1ylw3GKWeZMm6ZD+CSTSfgFjlbm/c0oGZCnz8fvs
-vCf7OpmCBLaArbkZlxNP6a6dAP23mcx6+WwKP8km
+LWNhQGV4YW1wbGUuY29tMB4XDTE1MDgyOTE3NTc0NFoXDTQwMDgyMjE3NTc0NFow
+SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
+GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sA
+MEgCQQDEmAwDjC2Wsp7ccX96e32yC4W4NWWJbBTwR4jWVaDjC8IfBgRMx6A4GxlY
+rp7P3O5CFskc6bJ/2J60b2VIqrYRAgMBAAGjMzAxMAkGA1UdEwQCMAAwEwYDVR0l
+BAwwCgYIKwYBBQUHAwEwDwYDVR0RBAgwBocEwKgBFjANBgkqhkiG9w0BAQUFAANB
+AEQKnmS9dU91lbbea6KSNPhEAkgFcWjqYsj48VbMsIHQvLrz4Hj9ZjjySC2iu+5W
+6aKuVqhz5+lWRbqraV6Tkdg=
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/server-key.der b/tls/tests/files/server-key.der
index 31c1ea0..d6434ae 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 0f167a7..5bc8669 100644
--- a/tls/tests/files/server-key.pem
+++ b/tls/tests/files/server-key.pem
@@ -1,9 +1,9 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIIBOgIBAAJBANiv9LhSpq2FehN4Epv3hwZQemH7ZC2Vqn5442kieECx+Ro2i8J4
-JSaMdL+k4E6woB3JyQuFv8EBptfiqAXAhx8CAwEAAQJAEMr6JTrKjhIVFuMsVggF
-39hm06ce6WV69Bg8T46LUUAVM39HdsNDIRkhYXExpQUmiYRFzcrLF1ot8S/4u889
-yQIhAOwDbAqT2QrEcGIWi8aZP1N5gDv8h67UcHBcftveklC7AiEA6wmPopj8qFoh
-/xM4GCKtdAYUdbfqUFMTFo7ZmD+Tvu0CIBafdVnGNkXL8qHUW22b/u/3c41MdY0S
-m/yJQTe+K/RFAiAoStxP0JBHwCPh2YadRJydrkkloSDPIl68WELfQc7vRQIhAM9E
-FvuChciFJzfnNNzKpH93hH9f2YMDsVWvgz0fIRz0
+MIIBOQIBAAJBAKgbwl2Cbk7jhz+LqR7R2E1jwCYiysSZj3eJgP3xBDTsm4RVOn5s
+eCjMIQ5BB0FpLqr/X+rm9BgRolCiH1iz1wsCAwEAAQJAGnTT7/d4+L1iKaQHJ6yK
+yBMsyFOtaadpJrzjKhPmP5XDsrkzq9ozrEHoW2TAPG6FcYKDxc0B/FGhNj0y2/mU
+sQIhANwSUpkJ1FFfhhhr1JQNO9G8HMlSP1I+bNDP2+kgJaUlAiEAw42wEUVjfnD4
+4D5rKyUd+jImaoHM6wnBeRheVcN9jG8CIBk7WJEHWXqC80L1igf3hHZFlR9X+L6b
+PaqrSlFuSCKpAiA4yG21tiZb0sYRp05LKu33dpR9HM+5+A078n2B/c/49QIgTWlA
+hMV7XwlQguIBwBbHP9QskSiW+5hpyz2eh2b0i1c=
 -----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/server-self.pem b/tls/tests/files/server-self.pem
index 2082f8b..afbe575 100644
--- a/tls/tests/files/server-self.pem
+++ b/tls/tests/files/server-self.pem
@@ -1,11 +1,11 @@
 -----BEGIN CERTIFICATE-----
-MIIBiDCCATICCQCGr5DYAwta3jANBgkqhkiG9w0BAQsFADBLMRMwEQYKCZImiZPy
+MIIBiDCCATICCQDcDYKM9fP8yDANBgkqhkiG9w0BAQUFADBLMRMwEQYKCZImiZPy
 LGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEbMBkGA1UEAwwSc2Vy
-dmVyLmV4YW1wbGUuY29tMB4XDTE0MDcxODE1MTU1MFoXDTM5MDcxMjE1MTU1MFow
+dmVyLmV4YW1wbGUuY29tMB4XDTE1MDgyOTE3NTczOFoXDTQwMDgyMjE3NTczOFow
 SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
 GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sA
-MEgCQQDAUI4hEDPatu3gIu+7GWekO2Rn5Dez761UKqO+BEzBPq+k0c4vM3zSxHSN
-+qs4GXo4c5NjE4B2bd4vBQbjdMxBAgMBAAEwDQYJKoZIhvcNAQELBQADQQA5cctq
-qwmQTXiBR60skzFdqiEED6KHOCS1UU0ufF0dA0Wb3maet5QPIZcAYMjMChftdhPB
-Uvdhf9VIwnUZ85KW
+MEgCQQCoG8Jdgm5O44c/i6ke0dhNY8AmIsrEmY93iYD98QQ07JuEVTp+bHgozCEO
+QQdBaS6q/1/q5vQYEaJQoh9Ys9cLAgMBAAEwDQYJKoZIhvcNAQEFBQADQQBeTddU
+wuWCIzyRTtI0ryY7ZYdLmjzbZRmfcVdSLUiMmt7TaO1hFTlwkErktO9seVOnkMeE
+OrG23LPbsd4DKNWk
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/server.der b/tls/tests/files/server.der
index cbee9a6..4db320a 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 e749e63..032a393 100644
--- a/tls/tests/files/server.pem
+++ b/tls/tests/files/server.pem
@@ -1,14 +1,14 @@
 -----BEGIN CERTIFICATE-----
-MIICNzCCAaCgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
+MIICNzCCAaCgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhjETMBEGCgmSJomT8ixk
 ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
 ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE0MDcxODE1NDg0M1oXDTM5MDcx
-MjE1NDg0M1owSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE1MDgyOTE3NTczOFoXDTQwMDgy
+MjE3NTczOFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
 B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3
-DQEBAQUAA0sAMEgCQQDYr/S4UqathXoTeBKb94cGUHph+2Qtlap+eONpInhAsfka
-NovCeCUmjHS/pOBOsKAdyckLhb/BAabX4qgFwIcfAgMBAAGjMzAxMAkGA1UdEwQC
+DQEBAQUAA0sAMEgCQQCoG8Jdgm5O44c/i6ke0dhNY8AmIsrEmY93iYD98QQ07JuE
+VTp+bHgozCEOQQdBaS6q/1/q5vQYEaJQoh9Ys9cLAgMBAAGjMzAxMAkGA1UdEwQC
 MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0RBAgwBocEwKgBCjANBgkqhkiG
-9w0BAQsFAAOBgQA2DvQ4t6ScSANCWNpCwLlG/Mzmv/Nu/95pivh/MSJha1Cr2zLy
-6yyzi1atmSXhRcEn63dUoYuPdrd5P679fQVyepQ1EEksa9TaEaf8GcfUQFnBxrqq
-h/Uky1rKIhFkboLF+3yASZ/V70MYl+Rr8RNa2VKilKNh5rFw6tqg/sBiNw==
+9w0BAQUFAAOBgQA6r1t6llBm+tE/DT32RbM55jlhk+tweoJe2zte0wYKeGdHv5W/
+CPVxhLqr/4oly/fOsFvamtp6++6JELF7A4a91tMny8HI2Vjuvl9KKDNL+VBnmrGF
+h494TQP1aboqAyPljlX7s1728KpgPJkToKSCzQaNfAMRy5LjojIDQPtiJg==
 -----END CERTIFICATE-----
diff --git a/tls/tests/files/ssl/server-intermediate.conf b/tls/tests/files/ssl/server-intermediate.conf
index 740a6ce..d899a0f 100644
--- a/tls/tests/files/ssl/server-intermediate.conf
+++ b/tls/tests/files/ssl/server-intermediate.conf
@@ -12,7 +12,7 @@ x509_extensions         = v3_req_ext
 [ req_dn ]
 0.domainComponent       = "COM"
 1.domainComponent       = "EXAMPLE"
-commonName              = "server-intermediate.example.com"
+commonName              = "server.example.com"
 
 [ req_ext ]
 basicConstraints        = CA:false


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