[glib-networking] test: add script to re-generate test certificates and generate new ones
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib-networking] test: add script to re-generate test certificates and generate new ones
- Date: Mon, 21 Jul 2014 16:10:19 +0000 (UTC)
commit 47d8d7e532e4e31c243cac5c8254162a6cc18912
Author: Aleix Conchillo FlaquƩ <aconchillo gmail com>
Date: Fri Jul 18 17:22:08 2014 +0200
test: add script to re-generate test certificates and generate new ones
Added a create-files.sh script under tls/tests/files that re-generates
all test certificates in the case that it's needed. It will also print
instructions about a few manual changes that need to be made.
This patch also creates new certificates with a new CA. The new CA
private key is also being committed so it's not lost.
https://bugzilla.gnome.org/show_bug.cgi?id=733365
.gitignore | 2 +
tls/tests/file-database.c | 4 +-
tls/tests/files/ca-key.pem | 15 ++++
tls/tests/files/ca-roots-bad.pem | 38 +++++-----
tls/tests/files/ca-roots.pem | 38 +++++-----
tls/tests/files/ca.pem | 38 +++++-----
tls/tests/files/client-and-key.pem | 82 +++++++++++-----------
tls/tests/files/client-future.pem | 32 ++++----
tls/tests/files/client-key.pem | 27 +++++++
tls/tests/files/client-past.pem | 32 ++++----
tls/tests/files/client.pem | 32 ++++----
tls/tests/files/create-files.sh | 107 ++++++++++++++++++++++++++++
tls/tests/files/non-ca.pem | 138 ++++++++++++++++++------------------
tls/tests/files/server-and-key.pem | 43 ++++++------
tls/tests/files/server-key.der | Bin 318 -> 320 bytes
tls/tests/files/server-key.pem | 19 +++---
tls/tests/files/server-self.pem | 16 ++--
tls/tests/files/server.der | Bin 554 -> 554 bytes
tls/tests/files/server.pem | 24 +++---
tls/tests/files/ssl/ca.conf | 31 ++++++++
tls/tests/files/ssl/client.conf | 14 ++++
tls/tests/files/ssl/server.conf | 23 ++++++
22 files changed, 485 insertions(+), 270 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index b55f210..57aa194 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,3 +49,5 @@ proxy/tests/libproxy
/tls/tests/pkcs11-pin
/tls/tests/pkcs11-slot
/tls/tests/pkcs11-util
+/tls/tests/files/server-csr.pem
+/tls/tests/files/client-csr.pem
diff --git a/tls/tests/file-database.c b/tls/tests/file-database.c
index 1425b9e..f5107d6 100644
--- a/tls/tests/file-database.c
+++ b/tls/tests/file-database.c
@@ -465,10 +465,10 @@ test_lookup_certificates_issued_by (void)
const guchar ISSUER[] = "\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\x13\x15"
+ "\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"
- "\x13\x0E\x63\x61\x2E\x65\x78\x61\x6D\x70\x6C\x65\x2E\x63\x6F"
+ "\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-key.pem b/tls/tests/files/ca-key.pem
new file mode 100644
index 0000000..65ee6f7
--- /dev/null
+++ b/tls/tests/files/ca-key.pem
@@ -0,0 +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
+-----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/ca-roots-bad.pem b/tls/tests/files/ca-roots-bad.pem
index f101667..8efd883 100644
--- a/tls/tests/files/ca-roots-bad.pem
+++ b/tls/tests/files/ca-roots-bad.pem
@@ -1,25 +1,25 @@
-----BEGIN CERTIFICATE-----
-MIIDxjCCAy+gAwIBAgIJAOpd4Em2fjp3MA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
+MIIDxjCCAy+gAwIBAgIJAL1m9WCMkFWUMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
CZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UE
-CxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
-bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMDcxMjIwMTc1NjA2
-WhcNMzUwNTA4MTc1NjA2WjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
-JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhvcml0
-eTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
-YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5OjHuXXN2LG3s
-FHISaZZ6L1RSYgRdTenu1nvqkMn/xvzOz385oede1z/7f6BoXyM0kNWCf4SOXtXr
-EIGmQoeURhFfLCnoK8NHfNcel3IPyMPhdJUMJlc3gfpWm+QxjkyqVyMhyYxC9Pmg
-QC7zx4ZKcQrL3zVGYtg8wxmaKY2HwQIDAQABo4IBODCCATQwHQYDVR0OBBYEFNSE
-nYhMCPaaFynFeQ2R5y25+AcFMIG7BgNVHSMEgbMwgbCAFNSEnYhMCPaaFynFeQ2R
-5y25+AcFoYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
-LGQBGRYHRVhBTVBMRTEeMBwGA1UECxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
-FQYDVQQDEw5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
-ZS5jb22CCQDqXeBJtn46dzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+CwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNv
+bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTQwNzE4MTUxNTUw
+WhcNNDQwNzEwMTUxNTUwWjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
+JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRpZmljYXRlIEF1dGhvcml0
+eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
+YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8ZicF8jd7zECF
+FbAViXKwGqKBVdtAOm/cbqaGKDb3P7BFWmkUSSJPa126PCMuU1Ocf8uuVcgXD+08
+LUGc2VK5rdizxx20L1jr2PQ22QXueuq1CRykzdCGpHlA/7D0Ir6ms/7ayFOG+Mj5
+sRue/KNBDCURNAdOmjhvgXMw9putKQIDAQABo4IBODCCATQwHQYDVR0OBBYEFPAS
+hqHGX6hRi49Q4DrninEiThdiMIG7BgNVHSMEgbMwgbCAFPAShqHGX6hRi49Q4Drn
+inEiThdioYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
+LGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
+FQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
+ZS5jb22CCQC9ZvVgjJBVlDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
BjAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFt
-cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQA6xjU2aPgMOh2yyz2KCb6d5gNNvfr4
-pLGpZWilbRkA36OOG43zxeRZoumh1ybyOvhm73cMvNihDUyOf7vQe75Qtp5koGPS
-V3mSruhsRGvOZxcV+SJnBj1exKyH3mdaZA74Xg4y5qkUkywPqnP5Y+E6UMJM7Nmw
-kHk2bKJC5vjxoA==
+cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQBrH0DY2TTMrYmmjkTXqszoK2XXL+NF
+dsXXV24Y9JNunEV3oxpfOCvfQOsfiCU7qQwJHibRBgAM06gvN4xcMv07dOFcnoU3
+DQhyEuWfEBJ6BezsF5uDPxJGGfc/sVdeu0SH7zbmCdbIzx7g2+tUIqcRMTMMq4NZ
+Rga9sq60+ndF+g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290
diff --git a/tls/tests/files/ca-roots.pem b/tls/tests/files/ca-roots.pem
index 984e908..713e25b 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+gAwIBAgIJAOpd4Em2fjp3MA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
+MIIDxjCCAy+gAwIBAgIJAL1m9WCMkFWUMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
CZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UE
-CxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
-bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMDcxMjIwMTc1NjA2
-WhcNMzUwNTA4MTc1NjA2WjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
-JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhvcml0
-eTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
-YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5OjHuXXN2LG3s
-FHISaZZ6L1RSYgRdTenu1nvqkMn/xvzOz385oede1z/7f6BoXyM0kNWCf4SOXtXr
-EIGmQoeURhFfLCnoK8NHfNcel3IPyMPhdJUMJlc3gfpWm+QxjkyqVyMhyYxC9Pmg
-QC7zx4ZKcQrL3zVGYtg8wxmaKY2HwQIDAQABo4IBODCCATQwHQYDVR0OBBYEFNSE
-nYhMCPaaFynFeQ2R5y25+AcFMIG7BgNVHSMEgbMwgbCAFNSEnYhMCPaaFynFeQ2R
-5y25+AcFoYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
-LGQBGRYHRVhBTVBMRTEeMBwGA1UECxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
-FQYDVQQDEw5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
-ZS5jb22CCQDqXeBJtn46dzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+CwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNv
+bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTQwNzE4MTUxNTUw
+WhcNNDQwNzEwMTUxNTUwWjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
+JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRpZmljYXRlIEF1dGhvcml0
+eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
+YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8ZicF8jd7zECF
+FbAViXKwGqKBVdtAOm/cbqaGKDb3P7BFWmkUSSJPa126PCMuU1Ocf8uuVcgXD+08
+LUGc2VK5rdizxx20L1jr2PQ22QXueuq1CRykzdCGpHlA/7D0Ir6ms/7ayFOG+Mj5
+sRue/KNBDCURNAdOmjhvgXMw9putKQIDAQABo4IBODCCATQwHQYDVR0OBBYEFPAS
+hqHGX6hRi49Q4DrninEiThdiMIG7BgNVHSMEgbMwgbCAFPAShqHGX6hRi49Q4Drn
+inEiThdioYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
+LGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
+FQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
+ZS5jb22CCQC9ZvVgjJBVlDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
BjAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFt
-cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQA6xjU2aPgMOh2yyz2KCb6d5gNNvfr4
-pLGpZWilbRkA36OOG43zxeRZoumh1ybyOvhm73cMvNihDUyOf7vQe75Qtp5koGPS
-V3mSruhsRGvOZxcV+SJnBj1exKyH3mdaZA74Xg4y5qkUkywPqnP5Y+E6UMJM7Nmw
-kHk2bKJC5vjxoA==
+cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQBrH0DY2TTMrYmmjkTXqszoK2XXL+NF
+dsXXV24Y9JNunEV3oxpfOCvfQOsfiCU7qQwJHibRBgAM06gvN4xcMv07dOFcnoU3
+DQhyEuWfEBJ6BezsF5uDPxJGGfc/sVdeu0SH7zbmCdbIzx7g2+tUIqcRMTMMq4NZ
+Rga9sq60+ndF+g==
-----END CERTIFICATE-----
GLib shouldn't care about this comment
diff --git a/tls/tests/files/ca.pem b/tls/tests/files/ca.pem
index b8d6008..10322b2 100644
--- a/tls/tests/files/ca.pem
+++ b/tls/tests/files/ca.pem
@@ -1,23 +1,23 @@
-----BEGIN CERTIFICATE-----
-MIIDxjCCAy+gAwIBAgIJAOpd4Em2fjp3MA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
+MIIDxjCCAy+gAwIBAgIJAL1m9WCMkFWUMA0GCSqGSIb3DQEBBQUAMIGGMRMwEQYK
CZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEeMBwGA1UE
-CxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
-bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMDcxMjIwMTc1NjA2
-WhcNMzUwNTA4MTc1NjA2WjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
-JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhvcml0
-eTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
-YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5OjHuXXN2LG3s
-FHISaZZ6L1RSYgRdTenu1nvqkMn/xvzOz385oede1z/7f6BoXyM0kNWCf4SOXtXr
-EIGmQoeURhFfLCnoK8NHfNcel3IPyMPhdJUMJlc3gfpWm+QxjkyqVyMhyYxC9Pmg
-QC7zx4ZKcQrL3zVGYtg8wxmaKY2HwQIDAQABo4IBODCCATQwHQYDVR0OBBYEFNSE
-nYhMCPaaFynFeQ2R5y25+AcFMIG7BgNVHSMEgbMwgbCAFNSEnYhMCPaaFynFeQ2R
-5y25+AcFoYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
-LGQBGRYHRVhBTVBMRTEeMBwGA1UECxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
-FQYDVQQDEw5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
-ZS5jb22CCQDqXeBJtn46dzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
+CwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcwFQYDVQQDDA5jYS5leGFtcGxlLmNv
+bTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb20wHhcNMTQwNzE4MTUxNTUw
+WhcNNDQwNzEwMTUxNTUwWjCBhjETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmS
+JomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRpZmljYXRlIEF1dGhvcml0
+eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkqhkiG9w0BCQEWDmNhQGV4
+YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8ZicF8jd7zECF
+FbAViXKwGqKBVdtAOm/cbqaGKDb3P7BFWmkUSSJPa126PCMuU1Ocf8uuVcgXD+08
+LUGc2VK5rdizxx20L1jr2PQ22QXueuq1CRykzdCGpHlA/7D0Ir6ms/7ayFOG+Mj5
+sRue/KNBDCURNAdOmjhvgXMw9putKQIDAQABo4IBODCCATQwHQYDVR0OBBYEFPAS
+hqHGX6hRi49Q4DrninEiThdiMIG7BgNVHSMEgbMwgbCAFPAShqHGX6hRi49Q4Drn
+inEiThdioYGMpIGJMIGGMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPy
+LGQBGRYHRVhBTVBMRTEeMBwGA1UECwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRcw
+FQYDVQQDDA5jYS5leGFtcGxlLmNvbTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBs
+ZS5jb22CCQC9ZvVgjJBVlDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
BjAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTAZBgNVHRIEEjAQgQ5jYUBleGFt
-cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQA6xjU2aPgMOh2yyz2KCb6d5gNNvfr4
-pLGpZWilbRkA36OOG43zxeRZoumh1ybyOvhm73cMvNihDUyOf7vQe75Qtp5koGPS
-V3mSruhsRGvOZxcV+SJnBj1exKyH3mdaZA74Xg4y5qkUkywPqnP5Y+E6UMJM7Nmw
-kHk2bKJC5vjxoA==
+cGxlLmNvbTANBgkqhkiG9w0BAQUFAAOBgQBrH0DY2TTMrYmmjkTXqszoK2XXL+NF
+dsXXV24Y9JNunEV3oxpfOCvfQOsfiCU7qQwJHibRBgAM06gvN4xcMv07dOFcnoU3
+DQhyEuWfEBJ6BezsF5uDPxJGGfc/sVdeu0SH7zbmCdbIzx7g2+tUIqcRMTMMq4NZ
+Rga9sq60+ndF+g==
-----END CERTIFICATE-----
diff --git a/tls/tests/files/client-and-key.pem b/tls/tests/files/client-and-key.pem
index 897b5f2..de984ae 100644
--- a/tls/tests/files/client-and-key.pem
+++ b/tls/tests/files/client-and-key.pem
@@ -1,45 +1,45 @@
-----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQkwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLExVDZXJ0aWZpY2F0
-ZSBBdXRob3JpdHkxFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xMTAxMTgwNjA0MTFaFw0yMTAxMTUwNjA0
-MTFaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
-UExFMQ8wDQYDVQQDEwZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMEgNDM/dg3t
-9DHNAPz/b87LSxEaKhoZ8AcNBym3LEOdCnXGEnKf0b9lkT5caXu5GAM84ahTCJ7n
-79RVNrqGKM7jbBdSX+ZUfkqJQPhOXD2+0niYQicH92nz78kxmjlbizvd3fM1BlO+
-C/++NWf2EAhORVAjvJrHNokJp3PTNRJ1WWteHeU9PwfGmWHKVc1IgvRFMH08604I
-ZzX5CcxIg/b56g27A7CBPh/KO/qKTDLFFNGc1T2asvY/P3+PeN6y+leFHStCTu7R
-Bi/l4hczZdnwq3BGT6mnjEN7wau2s7pA067SXimNOkYi5fgwspMHi8fJWmYyBypU
-mQBRzwfm77ECAwEAATANBgkqhkiG9w0BAQUFAAOBgQA3LuElj2QB9wQvmIxk2Jmb
-IPP2/WS8dwPoCv/N3+6nTx8yRsrILf4QsnEbbsxoYO5jW4r9Kt8m8B/M7YgnBDE9
-zlm7JbXKZf2isSm5TyT627Ymzxrzs5d+7o2eS7SN1DB6PyvRh2ye7EMbyEYD8ULi
-itDUkYkssNCVivYwVvJoMg==
+MIIC3DCCAkUCAQIwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
+ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xNDA3MTgxNTE1NTBaFw0zOTA3MTIxNTE1
+NTBaMGIxEzARBgoJkiaJk/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==
-----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 de1cb75..1efc7b1 100644
--- a/tls/tests/files/client-future.pem
+++ b/tls/tests/files/client-future.pem
@@ -1,18 +1,18 @@
-----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQowDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLExVDZXJ0aWZpY2F0
-ZSBBdXRob3JpdHkxFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMDAxMTgxNzI3MDNaFw0yMTAxMTcxNzI3
-MDNaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
-UExFMQ8wDQYDVQQDEwZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMEgNDM/dg3t
-9DHNAPz/b87LSxEaKhoZ8AcNBym3LEOdCnXGEnKf0b9lkT5caXu5GAM84ahTCJ7n
-79RVNrqGKM7jbBdSX+ZUfkqJQPhOXD2+0niYQicH92nz78kxmjlbizvd3fM1BlO+
-C/++NWf2EAhORVAjvJrHNokJp3PTNRJ1WWteHeU9PwfGmWHKVc1IgvRFMH08604I
-ZzX5CcxIg/b56g27A7CBPh/KO/qKTDLFFNGc1T2asvY/P3+PeN6y+leFHStCTu7R
-Bi/l4hczZdnwq3BGT6mnjEN7wau2s7pA067SXimNOkYi5fgwspMHi8fJWmYyBypU
-mQBRzwfm77ECAwEAATANBgkqhkiG9w0BAQUFAAOBgQBvt8v930fQtxR7f7Vcb1Hg
-irq1CtffsBqtKYupYg6IgloiRA6U5wdU0e6faA3Ppsmd4SmNKb9ZavIgnDBfx8MP
-1/IpsNOkg0366bP/zzkAhcXspo7PU8yZIqep//wT4TOFz04N8Lshqm8HUejShFdA
-fB8C0LX5Y/2219ZVMaaEbw==
+MIIC4DCCAkkCAQQwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
+ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
+AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzE2MDAwMFoYDzIwNjEwNzE3
+MTYwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
+RVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGllbnRA
+ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC0gGBg
+gZWcZgOwtfK4spaRYglmL4XcO52y7O4sQXbQStUgliXOKo9CKxBDUoiHwaYX20Rm
+77uWEJQAtPtTMqmk6gu1NAm8EJWpogH+D2af2rEq7RZWSte7SPwScDmSmnbri6lb
+2Yt73HmXX2OMzMRncSLTYZKcrDiJajYRmiL/HtVz04aFTcr5M9lyHN42uf4Evudn
+kW09lmZj6j/HwR7PcDFah4AqyU7nCuauQeRGZyx6x0/ovdEHpOd9Pb1fk0Ha8Wnj
+Uy9DxJQxCkoErc2jZMdaT/ar1yBm1ff85KTTsMEamwcCHZohPDuPC3OVD2EqdloD
+sCUCshzZnY0DHoKRAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAlvwZaozayj5zWaEK
+VoXBZgiC+X9LNjQBf4Nyn6aaxdcWZxerzcK6IZXfpoIfFg8fMf5GoMQtv7lwEnlv
+YpHhYBLJIkuaiRWGe66BLuE4ptFwpW74A1l75q8lb0Tne+sFJUQskq/0MjFHzhPN
+VP9m5ioo12rNhafGNOYjyM+pmXA=
-----END CERTIFICATE-----
diff --git a/tls/tests/files/client-key.pem b/tls/tests/files/client-key.pem
new file mode 100644
index 0000000..e74b785
--- /dev/null
+++ b/tls/tests/files/client-key.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAtIBgYIGVnGYDsLXyuLKWkWIJZi+F3DudsuzuLEF20ErVIJYl
+ziqPQisQQ1KIh8GmF9tEZu+7lhCUALT7UzKppOoLtTQJvBCVqaIB/g9mn9qxKu0W
+VkrXu0j8EnA5kpp264upW9mLe9x5l19jjMzEZ3Ei02GSnKw4iWo2EZoi/x7Vc9OG
+hU3K+TPZchzeNrn+BL7nZ5FtPZZmY+o/x8Eez3AxWoeAKslO5wrmrkHkRmcsesdP
+6L3RB6TnfT29X5NB2vFp41MvQ8SUMQpKBK3No2THWk/2q9cgZtX3/OSk07DBGpsH
+Ah2aITw7jwtzlQ9hKnZaA7AlArIc2Z2NAx6CkQIDAQABAoIBAQCRElDjn6LgZbl3
+kHT5b0fGp1XIlE9w91VC1lyCo0bcGBj9rM/LyLcFRlk20qG7Aq/8opVyaiGJdd+O
+RedtMd3ZFua8B4v/ZBD1mqkhSb2AoyMbzhvS1SpYc0ttglczdgQ4QjKnCMyri0MK
+n3cCVh1QykRkQhq041I5V20HbqvMAODQ8UbRHCrzY25lzW+b8JUbv8PU3DWWmUZO
+1CMhALj5PLaoQM5Wnou0HrRULvKC4piBmvsWLpRf1unwNZxo2gfut8Kwrvibk/Vt
+7sMJkAkkImU3bZf90CZnPIE4LvVrbdsXhhauL+8Elf+1BudQ26+NE1ELAjNwmJLV
+RtxIQAHlAoGBAOY9LYBJxj3zbpA0KlsMbYjgAL0nsPDXvZeobyygjpj0twM68l4L
+dQRHqN71MmujHTVtrgI+Ut3U8bf4jjhyxs4XYyJsia5omGr2a8GF4gZXnS0qD1qJ
+3jsPgJpg9CVYZmeFr43ClqM4itdY+2UD4neZrFvuKVb6pqG2tbz9N3a3AoGBAMiy
+jGwPoKr/VXvSGJIFXYHBCrSCPM7BIuCHoVgTF26vpi6ofI/uXRJ/uMW7YxoMyIqi
+XzQz04YPjznsX/IInvoCDKWGkxob/+d9o+Eoa64AueyPQVFDvDXuQcWnBRA0vSFR
+iFlv3Q+97ttOBniRlC3rlSWyoqp/6ogjVu2VBMj3AoGAJcpi3oy9aku7mRXG4fzv
+Oaky1dle9JkkuHDgFp4f6cE5DOGvCHqu8U3lzPrIFNzIHY3sItgh9+FM75pvlZpZ
+QVibX/oauzLV2bCqzS/xgoL8/H3L2VuJy33m6PADAuI4pMNPpmALI61TNLeZQ+JY
+WLMzlD9KL8miciawO94ALY8CgYBg/BdrqOmleJogqdiBx+H18AlyTXWBHEf0ZNaN
+LzylmnAeIAGBtFh5tgreUr2DOyY2CF0lZt4S7LXz8cwztALPIepmmu+/MESr40Us
+a1IN1gAC1v9je+4ZybczApEp0bKLxVC0l6AmGUyx4bSy0vbecfezLe35orL9csZx
+LRAQ5QKBgE5Xc1Pj7veJfsrcJX3Sh7qfJrhozGQjXMglUkOhTg2a6II9IEykprFR
+AccJ00IBIEgYZ2OBKulsG2hSO4iatArKRtzywvWyFFI7LgFf8b8wxhzAsgrmy7tr
+TDs1oDvc3esS8CTkL9+m5TLeTTQOXoHvDRapWJNN/u7vC1O/07d2
+-----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/client-past.pem b/tls/tests/files/client-past.pem
index 2dbb4d1..7c22f28 100644
--- a/tls/tests/files/client-past.pem
+++ b/tls/tests/files/client-past.pem
@@ -1,18 +1,18 @@
-----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQswDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLExVDZXJ0aWZpY2F0
-ZSBBdXRob3JpdHkxFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDAxMTgxNzI3NDdaFw0wMTAxMTcxNzI3
-NDdaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
-UExFMQ8wDQYDVQQDEwZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMEgNDM/dg3t
-9DHNAPz/b87LSxEaKhoZ8AcNBym3LEOdCnXGEnKf0b9lkT5caXu5GAM84ahTCJ7n
-79RVNrqGKM7jbBdSX+ZUfkqJQPhOXD2+0niYQicH92nz78kxmjlbizvd3fM1BlO+
-C/++NWf2EAhORVAjvJrHNokJp3PTNRJ1WWteHeU9PwfGmWHKVc1IgvRFMH08604I
-ZzX5CcxIg/b56g27A7CBPh/KO/qKTDLFFNGc1T2asvY/P3+PeN6y+leFHStCTu7R
-Bi/l4hczZdnwq3BGT6mnjEN7wau2s7pA067SXimNOkYi5fgwspMHi8fJWmYyBypU
-mQBRzwfm77ECAwEAATANBgkqhkiG9w0BAQUFAAOBgQBC3BOULAOkRFLKLajHIIB2
-VB0tHOFWuflP/LXso3ogGA8ItqbjacqjRHdTGK79etbxSTdi7k8owMVMPavJnBYk
-TraOkf/xxHo2zWy3XES1lniTUfGgKpjYNlALB6K6DJseZorSOmGA4KllL46MYwNu
-jsLO+5HkS/uNxlKo2l+xGw==
+MIIC3DCCAkUCAQMwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
+ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcxNjAwMDBaFw0wMTA3MTcxNjAw
+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==
-----END CERTIFICATE-----
diff --git a/tls/tests/files/client.pem b/tls/tests/files/client.pem
index 04bc8ac..a6dce66 100644
--- a/tls/tests/files/client.pem
+++ b/tls/tests/files/client.pem
@@ -1,18 +1,18 @@
-----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQkwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLExVDZXJ0aWZpY2F0
-ZSBBdXRob3JpdHkxFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xMTAxMTgwNjA0MTFaFw0yMTAxMTUwNjA0
-MTFaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
-UExFMQ8wDQYDVQQDEwZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMEgNDM/dg3t
-9DHNAPz/b87LSxEaKhoZ8AcNBym3LEOdCnXGEnKf0b9lkT5caXu5GAM84ahTCJ7n
-79RVNrqGKM7jbBdSX+ZUfkqJQPhOXD2+0niYQicH92nz78kxmjlbizvd3fM1BlO+
-C/++NWf2EAhORVAjvJrHNokJp3PTNRJ1WWteHeU9PwfGmWHKVc1IgvRFMH08604I
-ZzX5CcxIg/b56g27A7CBPh/KO/qKTDLFFNGc1T2asvY/P3+PeN6y+leFHStCTu7R
-Bi/l4hczZdnwq3BGT6mnjEN7wau2s7pA067SXimNOkYi5fgwspMHi8fJWmYyBypU
-mQBRzwfm77ECAwEAATANBgkqhkiG9w0BAQUFAAOBgQA3LuElj2QB9wQvmIxk2Jmb
-IPP2/WS8dwPoCv/N3+6nTx8yRsrILf4QsnEbbsxoYO5jW4r9Kt8m8B/M7YgnBDE9
-zlm7JbXKZf2isSm5TyT627Ymzxrzs5d+7o2eS7SN1DB6PyvRh2ye7EMbyEYD8ULi
-itDUkYkssNCVivYwVvJoMg==
+MIIC3DCCAkUCAQIwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
+ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xNDA3MTgxNTE1NTBaFw0zOTA3MTIxNTE1
+NTBaMGIxEzARBgoJkiaJk/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==
-----END CERTIFICATE-----
diff --git a/tls/tests/files/create-files.sh b/tls/tests/files/create-files.sh
new file mode 100755
index 0000000..ec2c752
--- /dev/null
+++ b/tls/tests/files/create-files.sh
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+msg() {
+ echo
+ echo "* $1 ..."
+}
+
+echo
+echo "This script re-generates all private keys and certificates"
+echo "needed to run the Unit Test."
+echo
+echo " *** IMPORTANT ***"
+echo
+echo "This script will change the system date momentarily to generate"
+echo "a couple of certificates (sudo password will be requested). This"
+echo "is because it uses the OpenSSL x509 utility instead of the ca"
+echo "utility which allows to set a starting date for the certificates."
+echo
+echo "A few manual changes need to be made. The first certificate"
+echo "in ca-roots.pem and ca-roots-bad.pem need to be replaced by"
+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
+echo " *** IMPORTANT ***"
+echo
+
+read -p "Press [Enter] key to continue..." key
+
+# Create serial file
+echo "00" > serial
+
+msg "Creating CA private key"
+openssl genrsa -out ca-key.pem 1024
+
+msg "Creating CA certificate"
+openssl req -x509 -new -config ssl/ca.conf -days 10950 -key ca-key.pem -out ca.pem
+
+msg "Creating server private key"
+openssl genrsa -out server-key.pem 512
+
+msg "Creating server certificate request"
+openssl req -config ssl/server.conf -key server-key.pem -new -out server-csr.pem
+
+msg "Creating server certificate"
+openssl x509 -req -in server-csr.pem -days 9125 -CA ca.pem -CAkey ca-key.pem -CAserial serial -extfile
ssl/server.conf -extensions v3_req_ext -out server.pem
+
+msg "Concatenating server certificate and private key into a single file"
+cat server.pem > server-and-key.pem
+cat server-key.pem >> server-and-key.pem
+
+msg "Converting server certificate from PEM to DER"
+openssl x509 -in server.pem -outform DER -out server.der
+
+msg "Converting server private key from PEM to DER"
+openssl rsa -in server-key.pem -outform DER -out server-key.der
+
+msg "Creating server self-signed certificate"
+openssl x509 -req -days 9125 -in server-csr.pem -signkey server-key.pem -out server-self.pem
+
+msg "Creating client private key"
+openssl genrsa -out client-key.pem 2048
+
+msg "Creating client certificate request"
+openssl req -config ssl/client.conf -key client-key.pem -new -out client-csr.pem
+
+msg "Creating client certificate"
+openssl x509 -req -in client-csr.pem -days 9125 -CA ca.pem -CAkey ca-key.pem -CAserial serial -out client.pem
+
+msg "Concatenating client certificate and private key into a single file"
+cat client.pem > client-and-key.pem
+cat client-key.pem >> client-and-key.pem
+
+# It is not possible to specify the start and end date using the "x509" tool.
+# It would be better to use the "ca" tool. Sorry!
+msg "Creating client certificate (past)"
+sudo date -s "17 JUL 2000 18:00:00"
+openssl x509 -req -in client-csr.pem -days 365 -startdate -enddate -CA ca.pem -CAkey ca-key.pem -CAserial
serial -out client-past.pem
+sudo hwclock -s
+touch client-past.pem
+
+msg "Creating client certificate (future)"
+sudo date -s "17 JUL 2060 18:00:00"
+openssl x509 -req -in client-csr.pem -days 365 -startdate -enddate -CA ca.pem -CAkey ca-key.pem -CAserial
serial -out client-future.pem
+sudo hwclock -s
+touch client-future.pem
+
+msg "Concatenating all non-CA certificates into a single file"
+echo "client.pem:" > non-ca.pem
+cat client.pem >> non-ca.pem
+echo >> non-ca.pem
+echo "client-future.pem:" >> non-ca.pem
+cat client-future.pem >> non-ca.pem
+echo >> non-ca.pem
+echo "client-past.pem:" >> non-ca.pem
+cat client-past.pem >> non-ca.pem
+echo >> non-ca.pem
+echo "server.pem:" >> non-ca.pem
+cat server.pem >> non-ca.pem
+echo >> non-ca.pem
+echo "server-self.pem:" >> non-ca.pem
+cat server-self.pem >> non-ca.pem
+
+# We don't need the serial file anymore
+rm -f serial
diff --git a/tls/tests/files/non-ca.pem b/tls/tests/files/non-ca.pem
index 42c2070..975ffba 100644
--- a/tls/tests/files/non-ca.pem
+++ b/tls/tests/files/non-ca.pem
@@ -1,90 +1,88 @@
client.pem:
-----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQkwDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLExVDZXJ0aWZpY2F0
-ZSBBdXRob3JpdHkxFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xMTAxMTgwNjA0MTFaFw0yMTAxMTUwNjA0
-MTFaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
-UExFMQ8wDQYDVQQDEwZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMEgNDM/dg3t
-9DHNAPz/b87LSxEaKhoZ8AcNBym3LEOdCnXGEnKf0b9lkT5caXu5GAM84ahTCJ7n
-79RVNrqGKM7jbBdSX+ZUfkqJQPhOXD2+0niYQicH92nz78kxmjlbizvd3fM1BlO+
-C/++NWf2EAhORVAjvJrHNokJp3PTNRJ1WWteHeU9PwfGmWHKVc1IgvRFMH08604I
-ZzX5CcxIg/b56g27A7CBPh/KO/qKTDLFFNGc1T2asvY/P3+PeN6y+leFHStCTu7R
-Bi/l4hczZdnwq3BGT6mnjEN7wau2s7pA067SXimNOkYi5fgwspMHi8fJWmYyBypU
-mQBRzwfm77ECAwEAATANBgkqhkiG9w0BAQUFAAOBgQA3LuElj2QB9wQvmIxk2Jmb
-IPP2/WS8dwPoCv/N3+6nTx8yRsrILf4QsnEbbsxoYO5jW4r9Kt8m8B/M7YgnBDE9
-zlm7JbXKZf2isSm5TyT627Ymzxrzs5d+7o2eS7SN1DB6PyvRh2ye7EMbyEYD8ULi
-itDUkYkssNCVivYwVvJoMg==
+MIIC3DCCAkUCAQIwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
+ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0xNDA3MTgxNTE1NTBaFw0zOTA3MTIxNTE1
+NTBaMGIxEzARBgoJkiaJk/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==
-----END CERTIFICATE-----
client-future.pem:
-----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQowDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLExVDZXJ0aWZpY2F0
-ZSBBdXRob3JpdHkxFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0yMDAxMTgxNzI3MDNaFw0yMTAxMTcxNzI3
-MDNaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
-UExFMQ8wDQYDVQQDEwZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMEgNDM/dg3t
-9DHNAPz/b87LSxEaKhoZ8AcNBym3LEOdCnXGEnKf0b9lkT5caXu5GAM84ahTCJ7n
-79RVNrqGKM7jbBdSX+ZUfkqJQPhOXD2+0niYQicH92nz78kxmjlbizvd3fM1BlO+
-C/++NWf2EAhORVAjvJrHNokJp3PTNRJ1WWteHeU9PwfGmWHKVc1IgvRFMH08604I
-ZzX5CcxIg/b56g27A7CBPh/KO/qKTDLFFNGc1T2asvY/P3+PeN6y+leFHStCTu7R
-Bi/l4hczZdnwq3BGT6mnjEN7wau2s7pA067SXimNOkYi5fgwspMHi8fJWmYyBypU
-mQBRzwfm77ECAwEAATANBgkqhkiG9w0BAQUFAAOBgQBvt8v930fQtxR7f7Vcb1Hg
-irq1CtffsBqtKYupYg6IgloiRA6U5wdU0e6faA3Ppsmd4SmNKb9ZavIgnDBfx8MP
-1/IpsNOkg0366bP/zzkAhcXspo7PU8yZIqep//wT4TOFz04N8Lshqm8HUejShFdA
-fB8C0LX5Y/2219ZVMaaEbw==
+MIIC4DCCAkkCAQQwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
+ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
+AQkBFg5jYUBleGFtcGxlLmNvbTAiGA8yMDYwMDcxNzE2MDAwMFoYDzIwNjEwNzE3
+MTYwMDAwWjBiMRMwEQYKCZImiZPyLGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYH
+RVhBTVBMRTEPMA0GA1UEAwwGQ2xpZW50MSEwHwYJKoZIhvcNAQkBFhJjbGllbnRA
+ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC0gGBg
+gZWcZgOwtfK4spaRYglmL4XcO52y7O4sQXbQStUgliXOKo9CKxBDUoiHwaYX20Rm
+77uWEJQAtPtTMqmk6gu1NAm8EJWpogH+D2af2rEq7RZWSte7SPwScDmSmnbri6lb
+2Yt73HmXX2OMzMRncSLTYZKcrDiJajYRmiL/HtVz04aFTcr5M9lyHN42uf4Evudn
+kW09lmZj6j/HwR7PcDFah4AqyU7nCuauQeRGZyx6x0/ovdEHpOd9Pb1fk0Ha8Wnj
+Uy9DxJQxCkoErc2jZMdaT/ar1yBm1ff85KTTsMEamwcCHZohPDuPC3OVD2EqdloD
+sCUCshzZnY0DHoKRAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAlvwZaozayj5zWaEK
+VoXBZgiC+X9LNjQBf4Nyn6aaxdcWZxerzcK6IZXfpoIfFg8fMf5GoMQtv7lwEnlv
+YpHhYBLJIkuaiRWGe66BLuE4ptFwpW74A1l75q8lb0Tne+sFJUQskq/0MjFHzhPN
+VP9m5ioo12rNhafGNOYjyM+pmXA=
-----END CERTIFICATE-----
client-past.pem:
-----BEGIN CERTIFICATE-----
-MIIC3DCCAkUCAQswDQYJKoZIhvcNAQEFBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
-T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLExVDZXJ0aWZpY2F0
-ZSBBdXRob3JpdHkxFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
-AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDAxMTgxNzI3NDdaFw0wMTAxMTcxNzI3
-NDdaMGIxEzARBgoJkiaJk/IsZAEZFgNDT00xFzAVBgoJkiaJk/IsZAEZFgdFWEFN
-UExFMQ8wDQYDVQQDEwZDbGllbnQxITAfBgkqhkiG9w0BCQEWEmNsaWVudEBleGFt
-cGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMEgNDM/dg3t
-9DHNAPz/b87LSxEaKhoZ8AcNBym3LEOdCnXGEnKf0b9lkT5caXu5GAM84ahTCJ7n
-79RVNrqGKM7jbBdSX+ZUfkqJQPhOXD2+0niYQicH92nz78kxmjlbizvd3fM1BlO+
-C/++NWf2EAhORVAjvJrHNokJp3PTNRJ1WWteHeU9PwfGmWHKVc1IgvRFMH08604I
-ZzX5CcxIg/b56g27A7CBPh/KO/qKTDLFFNGc1T2asvY/P3+PeN6y+leFHStCTu7R
-Bi/l4hczZdnwq3BGT6mnjEN7wau2s7pA067SXimNOkYi5fgwspMHi8fJWmYyBypU
-mQBRzwfm77ECAwEAATANBgkqhkiG9w0BAQUFAAOBgQBC3BOULAOkRFLKLajHIIB2
-VB0tHOFWuflP/LXso3ogGA8ItqbjacqjRHdTGK79etbxSTdi7k8owMVMPavJnBYk
-TraOkf/xxHo2zWy3XES1lniTUfGgKpjYNlALB6K6DJseZorSOmGA4KllL46MYwNu
-jsLO+5HkS/uNxlKo2l+xGw==
+MIIC3DCCAkUCAQMwDQYJKoZIhvcNAQELBQAwgYYxEzARBgoJkiaJk/IsZAEZFgND
+T00xFzAVBgoJkiaJk/IsZAEZFgdFWEFNUExFMR4wHAYDVQQLDBVDZXJ0aWZpY2F0
+ZSBBdXRob3JpdHkxFzAVBgNVBAMMDmNhLmV4YW1wbGUuY29tMR0wGwYJKoZIhvcN
+AQkBFg5jYUBleGFtcGxlLmNvbTAeFw0wMDA3MTcxNjAwMDBaFw0wMTA3MTcxNjAw
+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==
-----END CERTIFICATE-----
server.pem:
-----BEGIN CERTIFICATE-----
-MIICJjCCAY+gAwIBAgIBBzANBgkqhkiG9w0BAQUFADCBhjETMBEGCgmSJomT8ixk
-ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsTFUNlcnRp
-ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTExMDExNzE5NDcxN1oXDTIxMDEx
-NDE5NDcxN1owSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
-B0VYQU1QTEUxGzAZBgNVBAMTEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3
-DQEBAQUAA0sAMEgCQQDYScTxk55XBmbDM9zzwO+grVySE4rudWuzH2PpObIonqbf
-hRoAalKVluG9jvbHI81eXxCdSObv1KBP1sbN5RzpAgMBAAGjIjAgMAkGA1UdEwQC
-MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADgYEAYx6fMqT1
-Gvo0jq88E8mc+bmp4LfXD4wJ7KxYeadQxt75HFRpj4FhFO3DOpVRFgzHlOEo3Fwk
-PZOKjvkT0cbcoEq5whLH25dHoQxGoVQgFyAP5s+7Vp5AlHh8Y/vAoXeEVyy/RCIH
-QkhUlAflfDMcrrYjsmwoOPSjhx6Mm/AopX4=
+MIICJjCCAY+gAwIBAgIBATANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
+ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
+ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE0MDcxODE1MTU1MFoXDTM5MDcx
+MjE1MTU1MFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
+B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3
+DQEBAQUAA0sAMEgCQQDAUI4hEDPatu3gIu+7GWekO2Rn5Dez761UKqO+BEzBPq+k
+0c4vM3zSxHSN+qs4GXo4c5NjE4B2bd4vBQbjdMxBAgMBAAGjIjAgMAkGA1UdEwQC
+MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADgYEAaoEumI8o
+7LvXVznbhf5kBfFRVzxfSNdT6x6FXsPuODFNmoZpCkAROvzE2wDJwaDnFs2M+Nv8
+EKSxfjGdhuDYkgxIAneKXBSokE4RSW6jiS7tY3q+ksi2RlhpObqLbH8D0TstnTIB
+8sY/g7RSIZajYAYNzlJjWWntiXZp/ASRpBc=
-----END CERTIFICATE-----
-
server-self.pem:
-----BEGIN CERTIFICATE-----
-MIIBiDCCATICCQDJ4QeFpYPYljANBgkqhkiG9w0BAQUFADBLMRMwEQYKCZImiZPy
-LGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEbMBkGA1UEAxMSc2Vy
-dmVyLmV4YW1wbGUuY29tMB4XDTExMDExOTAzMTYzOFoXDTIxMDExNjAzMTYzOFow
+MIIBiDCCATICCQCGr5DYAwta3jANBgkqhkiG9w0BAQsFADBLMRMwEQYKCZImiZPy
+LGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEbMBkGA1UEAwwSc2Vy
+dmVyLmV4YW1wbGUuY29tMB4XDTE0MDcxODE1MTU1MFoXDTM5MDcxMjE1MTU1MFow
SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
-GzAZBgNVBAMTEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sA
-MEgCQQDYScTxk55XBmbDM9zzwO+grVySE4rudWuzH2PpObIonqbfhRoAalKVluG9
-jvbHI81eXxCdSObv1KBP1sbN5RzpAgMBAAEwDQYJKoZIhvcNAQEFBQADQQAagc2P
-/lCfDwT3max+D2M7++KMDfGqiO3gI+hMarf/jAaQpcKO/9G95AnNo4lTd6W6/7yj
-YYvUupv+0vi4CtQG
+GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sA
+MEgCQQDAUI4hEDPatu3gIu+7GWekO2Rn5Dez761UKqO+BEzBPq+k0c4vM3zSxHSN
++qs4GXo4c5NjE4B2bd4vBQbjdMxBAgMBAAEwDQYJKoZIhvcNAQELBQADQQA5cctq
+qwmQTXiBR60skzFdqiEED6KHOCS1UU0ufF0dA0Wb3maet5QPIZcAYMjMChftdhPB
+Uvdhf9VIwnUZ85KW
-----END CERTIFICATE-----
-
diff --git a/tls/tests/files/server-and-key.pem b/tls/tests/files/server-and-key.pem
index d09b0b5..6a5984c 100644
--- a/tls/tests/files/server-and-key.pem
+++ b/tls/tests/files/server-and-key.pem
@@ -1,24 +1,23 @@
-----BEGIN CERTIFICATE-----
-MIICJjCCAY+gAwIBAgIBBzANBgkqhkiG9w0BAQUFADCBhjETMBEGCgmSJomT8ixk
-ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsTFUNlcnRp
-ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTExMDExNzE5NDcxN1oXDTIxMDEx
-NDE5NDcxN1owSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
-B0VYQU1QTEUxGzAZBgNVBAMTEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3
-DQEBAQUAA0sAMEgCQQDYScTxk55XBmbDM9zzwO+grVySE4rudWuzH2PpObIonqbf
-hRoAalKVluG9jvbHI81eXxCdSObv1KBP1sbN5RzpAgMBAAGjIjAgMAkGA1UdEwQC
-MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADgYEAYx6fMqT1
-Gvo0jq88E8mc+bmp4LfXD4wJ7KxYeadQxt75HFRpj4FhFO3DOpVRFgzHlOEo3Fwk
-PZOKjvkT0cbcoEq5whLH25dHoQxGoVQgFyAP5s+7Vp5AlHh8Y/vAoXeEVyy/RCIH
-QkhUlAflfDMcrrYjsmwoOPSjhx6Mm/AopX4=
+MIICJjCCAY+gAwIBAgIBATANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
+ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
+ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE0MDcxODE1MTU1MFoXDTM5MDcx
+MjE1MTU1MFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
+B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3
+DQEBAQUAA0sAMEgCQQDAUI4hEDPatu3gIu+7GWekO2Rn5Dez761UKqO+BEzBPq+k
+0c4vM3zSxHSN+qs4GXo4c5NjE4B2bd4vBQbjdMxBAgMBAAGjIjAgMAkGA1UdEwQC
+MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADgYEAaoEumI8o
+7LvXVznbhf5kBfFRVzxfSNdT6x6FXsPuODFNmoZpCkAROvzE2wDJwaDnFs2M+Nv8
+EKSxfjGdhuDYkgxIAneKXBSokE4RSW6jiS7tY3q+ksi2RlhpObqLbH8D0TstnTIB
+8sY/g7RSIZajYAYNzlJjWWntiXZp/ASRpBc=
-----END CERTIFICATE-----
------BEGIN PRIVATE KEY-----
-MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEA2EnE8ZOeVwZmwzPc
-88DvoK1ckhOK7nVrsx9j6TmyKJ6m34UaAGpSlZbhvY72xyPNXl8QnUjm79SgT9bG
-zeUc6QIDAQABAkBRFJZ32VbqWMP9OVwDJLiwC01AlYLnka0mIQZbT/2xq9dUc9GW
-U3kiVw4lL8v/+sPjtTPCYYdzHHOyDen6znVhAiEA9qJT7BtQvRxCvGrAhr9MS022
-tTdPbW829BoUtIeH64cCIQDggG5i48v7HPacPBIH1RaSVhXl8qHCpQD3qrIw3FMw
-DwIga8PqH5Sf5sHedy2+CiK0V4MRfoU4c3zQ6kArI+bEgSkCIQCLA1vXBiE31B5s
-bdHoYa1BXebfZVd+1Hd95IfEM5mbRwIgSkDuQwV55BBlvWph3U8wVIMIb4GStaH8
-W535W8UBbEg=
------END PRIVATE KEY-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIBPAIBAAJBAMBQjiEQM9q27eAi77sZZ6Q7ZGfkN7PvrVQqo74ETME+r6TRzi8z
+fNLEdI36qzgZejhzk2MTgHZt3i8FBuN0zEECAwEAAQJAb0GrF+GhvhQ6BYLwoZMO
+7GoXqirTNtufsKOCWvlt1hUEjZ4zkW5AV8H4p8Hn+Ts32juUAlqR9qC5BZWYIfYN
+aQIhAP9ow++v/XiHwY10Z41q4Qc0pNQDo0HsarsZLjXxaYN/AiEAwMJuCdIurAd5
+d5xVHsefJ770C23e3nLETd1cNop6kD8CIQCr/nv729LgKONxg5L8S54QASaCU5TM
+Hw3cwt84mkKItwIhAL8ynE9liiHdMCDykoP7YeTcxdloW/6uPAU4IrV+2l+lAiEA
+r1t5eaEdJHwNyefGFeMbPEy+UkUZY7qfp9eXmgarT7g=
+-----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/server-key.der b/tls/tests/files/server-key.der
index ec4efb7..cdca53c 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 3a19b3a..7f720a6 100644
--- a/tls/tests/files/server-key.pem
+++ b/tls/tests/files/server-key.pem
@@ -1,10 +1,9 @@
------BEGIN PRIVATE KEY-----
-MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEA2EnE8ZOeVwZmwzPc
-88DvoK1ckhOK7nVrsx9j6TmyKJ6m34UaAGpSlZbhvY72xyPNXl8QnUjm79SgT9bG
-zeUc6QIDAQABAkBRFJZ32VbqWMP9OVwDJLiwC01AlYLnka0mIQZbT/2xq9dUc9GW
-U3kiVw4lL8v/+sPjtTPCYYdzHHOyDen6znVhAiEA9qJT7BtQvRxCvGrAhr9MS022
-tTdPbW829BoUtIeH64cCIQDggG5i48v7HPacPBIH1RaSVhXl8qHCpQD3qrIw3FMw
-DwIga8PqH5Sf5sHedy2+CiK0V4MRfoU4c3zQ6kArI+bEgSkCIQCLA1vXBiE31B5s
-bdHoYa1BXebfZVd+1Hd95IfEM5mbRwIgSkDuQwV55BBlvWph3U8wVIMIb4GStaH8
-W535W8UBbEg=
------END PRIVATE KEY-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIBPAIBAAJBAMBQjiEQM9q27eAi77sZZ6Q7ZGfkN7PvrVQqo74ETME+r6TRzi8z
+fNLEdI36qzgZejhzk2MTgHZt3i8FBuN0zEECAwEAAQJAb0GrF+GhvhQ6BYLwoZMO
+7GoXqirTNtufsKOCWvlt1hUEjZ4zkW5AV8H4p8Hn+Ts32juUAlqR9qC5BZWYIfYN
+aQIhAP9ow++v/XiHwY10Z41q4Qc0pNQDo0HsarsZLjXxaYN/AiEAwMJuCdIurAd5
+d5xVHsefJ770C23e3nLETd1cNop6kD8CIQCr/nv729LgKONxg5L8S54QASaCU5TM
+Hw3cwt84mkKItwIhAL8ynE9liiHdMCDykoP7YeTcxdloW/6uPAU4IrV+2l+lAiEA
+r1t5eaEdJHwNyefGFeMbPEy+UkUZY7qfp9eXmgarT7g=
+-----END RSA PRIVATE KEY-----
diff --git a/tls/tests/files/server-self.pem b/tls/tests/files/server-self.pem
index 20b3500..2082f8b 100644
--- a/tls/tests/files/server-self.pem
+++ b/tls/tests/files/server-self.pem
@@ -1,11 +1,11 @@
-----BEGIN CERTIFICATE-----
-MIIBiDCCATICCQDJ4QeFpYPYljANBgkqhkiG9w0BAQUFADBLMRMwEQYKCZImiZPy
-LGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEbMBkGA1UEAxMSc2Vy
-dmVyLmV4YW1wbGUuY29tMB4XDTExMDExOTAzMTYzOFoXDTIxMDExNjAzMTYzOFow
+MIIBiDCCATICCQCGr5DYAwta3jANBgkqhkiG9w0BAQsFADBLMRMwEQYKCZImiZPy
+LGQBGRYDQ09NMRcwFQYKCZImiZPyLGQBGRYHRVhBTVBMRTEbMBkGA1UEAwwSc2Vy
+dmVyLmV4YW1wbGUuY29tMB4XDTE0MDcxODE1MTU1MFoXDTM5MDcxMjE1MTU1MFow
SzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUx
-GzAZBgNVBAMTEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sA
-MEgCQQDYScTxk55XBmbDM9zzwO+grVySE4rudWuzH2PpObIonqbfhRoAalKVluG9
-jvbHI81eXxCdSObv1KBP1sbN5RzpAgMBAAEwDQYJKoZIhvcNAQEFBQADQQAagc2P
-/lCfDwT3max+D2M7++KMDfGqiO3gI+hMarf/jAaQpcKO/9G95AnNo4lTd6W6/7yj
-YYvUupv+0vi4CtQG
+GzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sA
+MEgCQQDAUI4hEDPatu3gIu+7GWekO2Rn5Dez761UKqO+BEzBPq+k0c4vM3zSxHSN
++qs4GXo4c5NjE4B2bd4vBQbjdMxBAgMBAAEwDQYJKoZIhvcNAQELBQADQQA5cctq
+qwmQTXiBR60skzFdqiEED6KHOCS1UU0ufF0dA0Wb3maet5QPIZcAYMjMChftdhPB
+Uvdhf9VIwnUZ85KW
-----END CERTIFICATE-----
diff --git a/tls/tests/files/server.der b/tls/tests/files/server.der
index cf2de65..c87dba1 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 d4bd526..144edb5 100644
--- a/tls/tests/files/server.pem
+++ b/tls/tests/files/server.pem
@@ -1,14 +1,14 @@
-----BEGIN CERTIFICATE-----
-MIICJjCCAY+gAwIBAgIBBzANBgkqhkiG9w0BAQUFADCBhjETMBEGCgmSJomT8ixk
-ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsTFUNlcnRp
-ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5jb20xHTAbBgkq
-hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTExMDExNzE5NDcxN1oXDTIxMDEx
-NDE5NDcxN1owSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
-B0VYQU1QTEUxGzAZBgNVBAMTEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3
-DQEBAQUAA0sAMEgCQQDYScTxk55XBmbDM9zzwO+grVySE4rudWuzH2PpObIonqbf
-hRoAalKVluG9jvbHI81eXxCdSObv1KBP1sbN5RzpAgMBAAGjIjAgMAkGA1UdEwQC
-MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADgYEAYx6fMqT1
-Gvo0jq88E8mc+bmp4LfXD4wJ7KxYeadQxt75HFRpj4FhFO3DOpVRFgzHlOEo3Fwk
-PZOKjvkT0cbcoEq5whLH25dHoQxGoVQgFyAP5s+7Vp5AlHh8Y/vAoXeEVyy/RCIH
-QkhUlAflfDMcrrYjsmwoOPSjhx6Mm/AopX4=
+MIICJjCCAY+gAwIBAgIBATANBgkqhkiG9w0BAQsFADCBhjETMBEGCgmSJomT8ixk
+ARkWA0NPTTEXMBUGCgmSJomT8ixkARkWB0VYQU1QTEUxHjAcBgNVBAsMFUNlcnRp
+ZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOY2EuZXhhbXBsZS5jb20xHTAbBgkq
+hkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tMB4XDTE0MDcxODE1MTU1MFoXDTM5MDcx
+MjE1MTU1MFowSzETMBEGCgmSJomT8ixkARkWA0NPTTEXMBUGCgmSJomT8ixkARkW
+B0VYQU1QTEUxGzAZBgNVBAMMEnNlcnZlci5leGFtcGxlLmNvbTBcMA0GCSqGSIb3
+DQEBAQUAA0sAMEgCQQDAUI4hEDPatu3gIu+7GWekO2Rn5Dez761UKqO+BEzBPq+k
+0c4vM3zSxHSN+qs4GXo4c5NjE4B2bd4vBQbjdMxBAgMBAAGjIjAgMAkGA1UdEwQC
+MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADgYEAaoEumI8o
+7LvXVznbhf5kBfFRVzxfSNdT6x6FXsPuODFNmoZpCkAROvzE2wDJwaDnFs2M+Nv8
+EKSxfjGdhuDYkgxIAneKXBSokE4RSW6jiS7tY3q+ksi2RlhpObqLbH8D0TstnTIB
+8sY/g7RSIZajYAYNzlJjWWntiXZp/ASRpBc=
-----END CERTIFICATE-----
diff --git a/tls/tests/files/ssl/ca.conf b/tls/tests/files/ssl/ca.conf
new file mode 100644
index 0000000..9ee7034
--- /dev/null
+++ b/tls/tests/files/ssl/ca.conf
@@ -0,0 +1,31 @@
+# Root CA
+
+[ req ]
+default_md = sha1
+utf8 = yes
+string_mask = utf8only
+prompt = no
+distinguished_name = req_dn
+req_extensions = req_ext
+x509_extensions = v3_req_ext
+
+[ req_dn ]
+0.domainComponent = "COM"
+1.domainComponent = "EXAMPLE"
+organizationalUnitName = "Certificate Authority"
+commonName = "ca.example.com"
+emailAddress = "ca example com"
+
+[ req_ext ]
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always,issuer:always
+basicConstraints = critical,CA:true
+keyUsage = critical,keyCertSign,cRLSign
+
+[ v3_req_ext ]
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always,issuer:always
+basicConstraints = critical,CA:true
+keyUsage = critical,keyCertSign,cRLSign
+subjectAltName = email:ca example com
+issuerAltName = issuer:copy
diff --git a/tls/tests/files/ssl/client.conf b/tls/tests/files/ssl/client.conf
new file mode 100644
index 0000000..be59460
--- /dev/null
+++ b/tls/tests/files/ssl/client.conf
@@ -0,0 +1,14 @@
+# Client
+
+[ req ]
+default_md = sha1
+utf8 = yes
+string_mask = utf8only
+prompt = no
+distinguished_name = req_dn
+
+[ req_dn ]
+0.domainComponent = "COM"
+1.domainComponent = "EXAMPLE"
+commonName = "Client"
+emailAddress = client example com
diff --git a/tls/tests/files/ssl/server.conf b/tls/tests/files/ssl/server.conf
new file mode 100644
index 0000000..1de63a8
--- /dev/null
+++ b/tls/tests/files/ssl/server.conf
@@ -0,0 +1,23 @@
+# Server
+
+[ req ]
+default_md = sha1
+utf8 = yes
+string_mask = utf8only
+prompt = no
+distinguished_name = req_dn
+req_extensions = req_ext
+x509_extensions = v3_req_ext
+
+[ req_dn ]
+0.domainComponent = "COM"
+1.domainComponent = "EXAMPLE"
+commonName = "server.example.com"
+
+[ req_ext ]
+basicConstraints = CA:false
+extendedKeyUsage = serverAuth
+
+[ v3_req_ext ]
+basicConstraints = CA:false
+extendedKeyUsage = serverAuth
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]