rpms/mingw32-curl/F-13 curl-7.19.4-debug.patch, NONE, 1.1 curl-7.19.7-localhost6.patch, NONE, 1.1 curl-7.20.0-disable-test1112.patch, NONE, 1.1 curl-7.20.0-e32fe30.patch, NONE, 1.1 curl-7.20.0-multilib.patch, NONE, 1.1 curl-7.20.1-82e9b78.patch, NONE, 1.1 curl-7.20.1-crl-test.patch, NONE, 1.1 curl-7.20.1-crl.patch, NONE, 1.1 curl-7.20.1-d487ade.patch, NONE, 1.1 curl-7.20.1-test-delay.patch, NONE, 1.1 curl-7.20.1-threaded-dns.patch, NONE, 1.1 mingw32-curl.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

epienbro epienbro at fedoraproject.org
Sun May 16 12:56:46 UTC 2010


Author: epienbro

Update of /cvs/pkgs/rpms/mingw32-curl/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv32553/F-13

Modified Files:
	.cvsignore sources 
Added Files:
	curl-7.19.4-debug.patch curl-7.19.7-localhost6.patch 
	curl-7.20.0-disable-test1112.patch curl-7.20.0-e32fe30.patch 
	curl-7.20.0-multilib.patch curl-7.20.1-82e9b78.patch 
	curl-7.20.1-crl-test.patch curl-7.20.1-crl.patch 
	curl-7.20.1-d487ade.patch curl-7.20.1-test-delay.patch 
	curl-7.20.1-threaded-dns.patch mingw32-curl.spec 
Log Message:
Initial import


curl-7.19.4-debug.patch:
 configure.ac |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- NEW FILE curl-7.19.4-debug.patch ---
 configure.ac |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/configure.ac b/configure.ac
index 2d394e1..39cc418 100644
--- a/configure.ac
+++ b/configure.ac
@@ -252,7 +252,10 @@ dnl **********************************************************************
 
 CURL_CHECK_COMPILER
 CURL_SET_COMPILER_BASIC_OPTS
-CURL_SET_COMPILER_DEBUG_OPTS
+
+dnl do not perturb CFLAGS given by the build system
+dnl CURL_SET_COMPILER_DEBUG_OPTS
+
 CURL_SET_COMPILER_OPTIMIZE_OPTS
 CURL_SET_COMPILER_WARNING_OPTS
 

curl-7.19.7-localhost6.patch:
 test1083 |    6 +++---
 test241  |    8 ++++----
 2 files changed, 7 insertions(+), 7 deletions(-)

--- NEW FILE curl-7.19.7-localhost6.patch ---
diff --git a/tests/data/test1083 b/tests/data/test1083
index e441278..b0958b6 100644
--- a/tests/data/test1083
+++ b/tests/data/test1083
@@ -33,13 +33,13 @@ ipv6
 http-ipv6
 </server>
  <name>
-HTTP-IPv6 GET with ip6-localhost --interface
+HTTP-IPv6 GET with localhost6 --interface
  </name>
  <command>
--g "http://%HOST6IP:%HTTP6PORT/1083" --interface ip6-localhost
+-g "http://%HOST6IP:%HTTP6PORT/1083" --interface localhost6
 </command>
 <precheck>
-perl -e "if ('%CLIENT6IP' ne '[::1]') {print 'Test requires default test server host address';} else {exec './server/resolve --ipv6 ip6-localhost'; print 'Cannot run precheck resolve';}"
+perl -e "if ('%CLIENT6IP' ne '[::1]') {print 'Test requires default test server host address';} else {exec './server/resolve --ipv6 localhost6'; print 'Cannot run precheck resolve';}"
 </precheck>
 </client>
 
diff --git a/tests/data/test241 b/tests/data/test241
index 46eae1f..4e1632c 100644
--- a/tests/data/test241
+++ b/tests/data/test241
@@ -30,13 +30,13 @@ ipv6
 http-ipv6
 </server>
  <name>
-HTTP-IPv6 GET (using ip6-localhost)
+HTTP-IPv6 GET (using localhost6)
  </name>
  <command>
--g "http://ip6-localhost:%HTTP6PORT/241"
+-g "http://localhost6:%HTTP6PORT/241"
 </command>
 <precheck>
-./server/resolve --ipv6 ip6-localhost
+./server/resolve --ipv6 localhost6
 </precheck>
 </client>
 
@@ -48,7 +48,7 @@ HTTP-IPv6 GET (using ip6-localhost)
 </strip>
 <protocol>
 GET /241 HTTP/1.1
-Host: ip6-localhost:%HTTP6PORT
+Host: localhost6:%HTTP6PORT
 Accept: */*
 
 </protocol>

curl-7.20.0-disable-test1112.patch:
 Makefile.am |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE curl-7.20.0-disable-test1112.patch ---
 tests/data/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 66ada48..454da4b 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -64,7 +64,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46	   \
  test1097 test560 test561 test1098 test1099 test562 test563 test1100       \
  test564 test1101 test1102 test1103 test1104 test299 test310 test311       \
  test312 test1105 test565 test800 test1106 test801 test566 test802 test803 \
- test1107 test1108 test1109 test1110 test1111 test1112 test129 test567     \
+ test1107 test1108 test1109 test1110 test1111 test129 test567              \
  test568 test569 test570 test571 test804 test572 test313
 
 filecheck:

curl-7.20.0-e32fe30.patch:
 test623 |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

--- NEW FILE curl-7.20.0-e32fe30.patch ---
>From e32fe30d0cf7c1f7045ac0bd29322e7fb4feb5c8 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel at haxx.se>
Date: Tue, 23 Mar 2010 23:25:04 +0100
Subject: [PATCH] enabled valgrind

I ran it now successfully and it helped to pinpoint a libssh2
memory leak!
---
 tests/data/test623 |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/tests/data/test623 b/tests/data/test623
index 38a41d2..19e505b 100644
--- a/tests/data/test623
+++ b/tests/data/test623
@@ -36,8 +36,6 @@ for ssh upload test
 <errorcode>
 79
 </errorcode>
-<valgrind>
-disable
-</valgrind>
+
 </verify>
 </testcase>
-- 
1.6.6.1


curl-7.20.0-multilib.patch:
 b/curl-config.in |   22 ++++------------------
 libcurl.pc.in    |    1 +
 2 files changed, 5 insertions(+), 18 deletions(-)

--- NEW FILE curl-7.20.0-multilib.patch ---
 curl-config.in |   18 ++----------------
 1 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/curl-config.in b/curl-config.in
index ebda129..b404827 100644
--- a/curl-config.in
+++ b/curl-config.in
@@ -42,7 +42,6 @@ Available values for OPTION include:
   --libs      library linking information
   --prefix    curl install prefix
   --protocols newline separated list of enabled protocols
-  --static-libs static libcurl library linking information
   --version   output version information
   --vernum    output the version information as a number (hexadecimal)
 EOF
@@ -69,7 +68,7 @@ while test $# -gt 0; do
 	;;
 
     --cc)
-	echo "@CC@"
+	echo "gcc"
 	;;
 
     --prefix)
@@ -130,25 +129,12 @@ while test $# -gt 0; do
        	;;
 
     --libs)
-	if test "X at libdir@" != "X/usr/lib" -a "X at libdir@" != "X/usr/lib64"; then
-	   CURLLIBDIR="-L at libdir@ "
-	else
-	   CURLLIBDIR=""
-	fi
-	if test "X at REQUIRE_LIB_DEPS@" = "Xyes"; then
-	  echo ${CURLLIBDIR}-lcurl @LDFLAGS@ @LIBCURL_LIBS@ @LIBS@
-	else
-	  echo ${CURLLIBDIR}-lcurl @LDFLAGS@ @LIBS@
-	fi
-	;;
-
-    --static-libs)
-	echo @libdir@/libcurl. at libext@ @LDFLAGS@ @LIBCURL_LIBS@ @LIBS@
+	pkg-config libcurl --libs
 	;;
 
     --configure)
-      echo @CONFIGURE_OPTIONS@
-    ;;
+	pkg-config libcurl --variable=configure_options | sed 's/^"//;s/"$//'
+	;;
 
     *)
         echo "unknown option: $1"
--- a/libcurl.pc.in
+++ b/libcurl.pc.in
@@ -29,6 +29,7 @@ libdir=@libdir@
 includedir=@includedir@
 supported_protocols="@SUPPORT_PROTOCOLS@"
 supported_features="@SUPPORT_FEATURES@"
+configure_options=@CONFIGURE_OPTIONS@
 
 Name: libcurl
 URL: http://curl.haxx.se/

curl-7.20.1-82e9b78.patch:
 CHANGES   |    3 +++
 lib/nss.c |   10 +++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

--- NEW FILE curl-7.20.1-82e9b78.patch ---
>From 82e9b78a388ab539c8784cd853adf6e4a97d52c5 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka at redhat.com>
Date: Sat, 24 Apr 2010 23:21:13 +0200
Subject: [PATCH] nss: fix SSL handshake timeout underflow

 lib/nss.c |   10 +++++++++-
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/CHANGES b/CHANGES
index 99f04a5..7433364 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,9 @@ Kamil Dudka (24 Apr 2010)
 - Fixed test536 in order to not fail with threaded DNS resolver and tweaked
   comments in certain examples using curl_multi_fdset().
 
+- Fixed SSL handshake timeout underflow in libcurl-NSS, which caused test405
+  to hang on a slow machine.
+
 Version 7.20.1 (14 April 2010)
 
 Daniel Stenberg (9 Apr 2010)
diff --git a/lib/nss.c b/lib/nss.c
index 0f8ebd5..addb94b 100644
--- a/lib/nss.c
+++ b/lib/nss.c
@@ -1025,6 +1025,7 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex)
   int curlerr;
   const int *cipher_to_enable;
   PRSocketOptionData sock_opt;
+  long time_left;
   PRUint32 timeout;
 
   curlerr = CURLE_SSL_CONNECT_ERROR;
@@ -1302,8 +1303,15 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex)
 
   SSL_SetURL(connssl->handle, conn->host.name);
 
+  /* check timeout situation */
+  time_left = Curl_timeleft(conn, NULL, TRUE);
+  if(time_left < 0L) {
+    failf(data, "timed out before SSL handshake");
+    goto error;
+  }
+  timeout = PR_MillisecondsToInterval((PRUint32) time_left);
+
   /* Force the handshake now */
-  timeout = PR_MillisecondsToInterval((PRUint32)Curl_timeleft(conn, NULL, TRUE));
   if(SSL_ForceHandshakeWithTimeout(connssl->handle, timeout) != SECSuccess) {
     if(conn->data->set.ssl.certverifyresult == SSL_ERROR_BAD_CERT_DOMAIN)
       curlerr = CURLE_PEER_FAILED_VERIFICATION;

curl-7.20.1-crl-test.patch:
 certs/EdelCurlRoot-ca.cacert     |  106 ++++++++++++++++++-------------------
 certs/EdelCurlRoot-ca.cnf        |   11 +++
 certs/EdelCurlRoot-ca.crt        |  106 ++++++++++++++++++-------------------
 certs/EdelCurlRoot-ca.csr        |   24 ++++----
 certs/EdelCurlRoot-ca.key        |   56 +++++++++----------
 certs/Server-localhost-sv.crl    |   12 ++++
 certs/Server-localhost-sv.crt    |   84 ++++++++++++++---------------
 certs/Server-localhost-sv.csr    |   14 ++--
 certs/Server-localhost-sv.key    |   26 ++++-----
 certs/Server-localhost-sv.pem    |  110 +++++++++++++++++++--------------------
 certs/Server-localhost.nn-sv.crt |   84 ++++++++++++++---------------
 certs/Server-localhost.nn-sv.csr |   14 ++--
 certs/Server-localhost.nn-sv.der |binary
 certs/Server-localhost.nn-sv.key |   26 ++++-----
 certs/Server-localhost.nn-sv.pem |  110 +++++++++++++++++++--------------------
 certs/Server-localhost0h-sv.crt  |   84 ++++++++++++++---------------
 certs/Server-localhost0h-sv.csr  |   14 ++--
 certs/Server-localhost0h-sv.der  |binary
 certs/Server-localhost0h-sv.key  |   26 ++++-----
 certs/Server-localhost0h-sv.pem  |  110 +++++++++++++++++++--------------------
 certs/scripts/genserv.sh         |   12 +++-
 data/Makefile.am                 |    2 
 data/test313                     |   39 +++++++++++++
 23 files changed, 571 insertions(+), 499 deletions(-)

--- NEW FILE curl-7.20.1-crl-test.patch ---
 tests/certs/EdelCurlRoot-ca.cacert     |  106 +++++++++++++++---------------
 tests/certs/EdelCurlRoot-ca.cnf        |   11 +++
 tests/certs/EdelCurlRoot-ca.crt        |  106 +++++++++++++++---------------
 tests/certs/EdelCurlRoot-ca.csr        |   24 ++++----
 tests/certs/EdelCurlRoot-ca.key        |   56 ++++++++--------
 tests/certs/Server-localhost-sv.crl    |   12 ++++
 tests/certs/Server-localhost-sv.crt    |   84 ++++++++++++------------
 tests/certs/Server-localhost-sv.csr    |   14 ++--
 tests/certs/Server-localhost-sv.key    |   26 ++++----
 tests/certs/Server-localhost-sv.pem    |  110 ++++++++++++++++----------------
 tests/certs/Server-localhost.nn-sv.crt |   84 ++++++++++++------------
 tests/certs/Server-localhost.nn-sv.csr |   14 ++--
 tests/certs/Server-localhost.nn-sv.der |  Bin 843 -> 843 bytes
 tests/certs/Server-localhost.nn-sv.key |   26 ++++----
 tests/certs/Server-localhost.nn-sv.pem |  110 ++++++++++++++++----------------
 tests/certs/Server-localhost0h-sv.crt  |   84 ++++++++++++------------
 tests/certs/Server-localhost0h-sv.csr  |   14 ++--
 tests/certs/Server-localhost0h-sv.der  |  Bin 839 -> 839 bytes
 tests/certs/Server-localhost0h-sv.key  |   26 ++++----
 tests/certs/Server-localhost0h-sv.pem  |  110 ++++++++++++++++----------------
 tests/certs/scripts/genserv.sh         |   12 +++-
 tests/data/Makefile.am                 |    2 +-
 tests/data/test313                     |   39 +++++++++++
 23 files changed, 571 insertions(+), 499 deletions(-)

diff --git a/tests/certs/EdelCurlRoot-ca.cacert b/tests/certs/EdelCurlRoot-ca.cacert
index c5154a4..7f59717 100644
--- a/tests/certs/EdelCurlRoot-ca.cacert
+++ b/tests/certs/EdelCurlRoot-ca.cacert
@@ -2,15 +2,15 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            0b:5c:fb:79:f2:09
+            0b:95:4c:80:9f:5b
         Signature Algorithm: sha1WithRSAEncryption
         Issuer:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
             commonName                = Nothern Nowhere Trust Anchor
         Validity
-            Not Before: Aug  4 15:06:44 2009 GMT
-            Not After : Jan  7 15:06:44 2026 GMT
+            Not Before: May 11 13:56:03 2010 GMT
+            Not After : Oct 14 13:56:03 2026 GMT
         Subject:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
@@ -19,24 +19,24 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (2048 bit)
                 Modulus:
-                    00:bd:b7:e7:70:4c:17:0d:0f:e6:a4:ed:81:0b:26:
-                    a9:d2:16:f6:2a:9c:87:6d:8e:7e:e2:71:98:89:41:
-                    97:d7:62:0b:c7:92:35:e5:09:0a:b4:67:06:59:c5:
-                    3b:2f:ae:6c:ff:68:6c:af:46:a3:1f:7e:32:5a:08:
-                    c4:6e:65:5c:c2:9f:99:11:4e:28:dc:37:98:d0:ab:
-                    66:13:35:c6:bd:3c:6f:65:e2:5d:c2:59:21:80:68:
-                    c0:85:eb:7e:a2:58:99:04:45:c3:f7:4c:39:83:fa:
-                    5c:6e:6a:a0:ff:45:b7:2f:7a:bb:bb:7f:3d:2b:cb:
-                    57:5f:09:24:c5:77:96:5d:1b:56:56:9a:48:51:0a:
-                    f5:67:0f:67:8d:0d:82:c7:84:bf:b5:c5:f8:cd:71:
-                    2f:92:cb:e8:94:96:28:04:3a:c2:2c:38:e4:9e:3c:
-                    1b:89:9f:70:b6:02:b6:97:5e:2e:c1:5a:a7:af:86:
-                    c2:b7:65:dc:83:8d:e7:85:72:a7:d1:f0:ba:ea:11:
-                    dc:bd:7c:b5:68:89:82:15:2b:b5:91:f0:70:f5:fa:
-                    e4:8c:21:fe:e7:8f:a3:16:5d:ee:a8:ff:a8:0e:22:
-                    1f:3e:27:25:f5:f1:a0:55:16:f7:c2:02:79:fb:c9:
-                    ac:fd:d1:ca:6e:65:3e:97:cf:f0:df:c9:b9:c4:0a:
-                    87:c1
+                    00:f7:7b:9b:a6:1a:3a:f9:95:6b:4f:a6:39:53:1a:
+                    e3:4e:66:f4:61:e2:f1:66:c9:62:02:29:ab:09:04:
+                    44:d2:18:89:99:23:55:68:0c:94:a7:37:8b:98:a6:
+                    91:a4:79:5e:4b:ad:62:9d:ce:a8:6b:10:66:7a:9a:
+                    36:a9:0a:7e:01:d4:5a:79:e7:31:5a:2f:2b:ed:bb:
+                    17:a6:6e:cd:72:53:ba:dd:f0:97:dd:6c:71:e6:6e:
+                    f7:48:4c:fc:21:26:72:0c:1c:ca:59:03:ce:97:2d:
+                    91:c6:df:dc:96:77:34:26:18:ff:2c:4e:f1:be:34:
+                    2b:7a:6c:39:3b:75:14:d8:8d:cc:58:3b:8f:92:cd:
+                    d6:08:cc:e2:98:5f:6b:c0:15:59:bf:f2:9e:7d:06:
+                    4c:f1:80:e2:1f:11:a5:1a:94:4a:d9:f2:6b:70:85:
+                    68:b7:ce:b5:e3:d1:f1:cf:61:c6:87:6f:f2:44:b8:
+                    f0:d9:84:33:61:5f:7e:5b:3b:30:56:d6:a6:4c:55:
+                    f4:e6:2e:58:56:f6:fb:ec:6b:58:45:f4:d0:14:04:
+                    6b:52:67:da:d5:83:8d:3f:b9:d7:49:c6:37:56:0f:
+                    55:8c:67:a3:98:4b:68:de:0b:c8:15:98:9c:ce:a5:
+                    d0:84:30:26:56:04:96:71:dd:ee:49:8f:44:b6:32:
+                    6c:3b
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: critical
@@ -44,42 +44,42 @@ Certificate:
             X509v3 Key Usage: critical
                 Certificate Sign, CRL Sign
             X509v3 Subject Key Identifier: 
-                12:6B:24:D2:4A:68:B7:A1:B0:1C:CD:BF:D6:4C:CC:40:5B:7F:E0:40
+                68:5C:61:AF:9D:48:32:44:2B:D6:33:97:71:7A:B1:FA:34:C8:CA:98
     Signature Algorithm: sha1WithRSAEncryption
-        66:1e:56:86:7d:87:99:f9:9a:d9:fb:fe:9c:bf:9e:d9:90:07:
-        da:9a:33:0f:72:6b:44:00:df:85:f0:ff:ed:c5:06:1c:1c:ff:
-        4e:94:7d:6f:6c:7e:82:1a:82:bc:fe:ac:02:c5:1d:d0:1f:a8:
-        e3:2d:a2:8d:43:8e:73:8a:b0:a4:da:0b:1d:7e:1c:e9:35:93:
-        29:6d:05:9f:6d:6c:0e:09:ee:9c:1a:15:fe:8a:5e:19:d8:da:
-        a0:6b:2a:d5:1d:fa:0c:af:63:55:41:42:ec:dd:3c:b0:6e:1f:
-        66:67:c5:28:fd:23:1b:a6:42:98:49:f5:33:58:7b:5a:91:c7:
-        9c:66:1f:53:cc:8b:79:11:a9:fa:a3:b8:5e:e1:d1:12:97:ec:
-        5e:4d:c9:77:4c:03:0c:e8:80:33:57:da:d4:ce:af:c5:1b:f5:
-        96:47:d4:68:da:83:3c:45:ee:84:b4:82:94:cd:65:2c:41:f1:
-        45:3d:19:9b:da:7a:54:04:e4:39:b1:b5:2a:15:29:b8:99:6d:
-        30:73:12:bc:7d:e3:79:f2:12:aa:e1:d7:d1:83:c4:bb:0c:bb:
-        a1:36:37:84:38:de:7c:3a:d7:c8:4f:6b:d9:cb:80:2b:29:27:
-        bd:c3:de:a5:2a:11:6d:b6:09:59:e6:d7:49:ae:52:89:28:3b:
-        af:f0:bd:86
+        19:4f:d8:53:8a:6e:e7:f6:b2:ca:38:c0:15:c0:3b:82:86:10:
+        2d:dc:de:7a:20:9f:c7:9d:a0:13:3e:2c:3e:5e:71:62:2a:6f:
+        52:5b:74:95:53:3e:61:f0:d7:ce:a0:5e:83:5d:96:4c:96:33:
+        2a:34:de:7f:77:59:a3:94:04:98:e1:14:c0:cc:09:55:8e:41:
+        76:cf:25:8a:4d:90:d4:e2:99:e1:b6:38:15:cf:6f:c5:f4:c6:
+        e8:03:23:35:b2:14:20:67:40:b5:74:13:e3:e8:1e:4a:7e:06:
+        a3:0a:59:1f:f3:21:d7:20:a4:30:3d:9a:64:5c:db:77:47:a1:
+        92:b7:41:45:d6:25:a0:51:ca:1f:bc:66:72:b9:0e:1a:8b:f4:
+        dd:4b:12:9f:ec:11:3f:f8:1b:2a:3f:c1:6f:bc:ca:4c:af:e0:
+        aa:53:41:79:aa:4e:e3:4e:70:13:31:2c:2d:f6:2c:03:1a:ef:
+        f2:86:02:8d:e0:05:ca:3d:10:39:23:b3:3f:aa:ea:a6:78:cd:
+        19:f7:b5:00:a6:88:7b:94:cf:75:c2:ec:0a:10:50:d7:a8:05:
+        cd:38:45:16:17:1f:4d:06:67:66:dc:46:e7:30:4f:b2:80:54:
+        ef:98:71:35:1f:62:2e:8e:7d:13:88:f9:32:c2:5d:88:ca:21:
+        19:25:43:88
 -----BEGIN CERTIFICATE-----
-MIIDkDCCAnigAwIBAgIGC1z7efIJMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
+MIIDkDCCAnigAwIBAgIGC5VMgJ9bMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
 Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
 IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X
-DTA5MDgwNDE1MDY0NFoXDTI2MDEwNzE1MDY0NFowZzELMAkGA1UEBhMCTk4xMTAv
+DTEwMDUxMTEzNTYwM1oXDTI2MTAxNDEzNTYwM1owZzELMAkGA1UEBhMCTk4xMTAv
 BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx
 JTAjBgNVBAMMHE5vdGhlcm4gTm93aGVyZSBUcnVzdCBBbmNob3IwggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9t+dwTBcND+ak7YELJqnSFvYqnIdtjn7i
-cZiJQZfXYgvHkjXlCQq0ZwZZxTsvrmz/aGyvRqMffjJaCMRuZVzCn5kRTijcN5jQ
-q2YTNca9PG9l4l3CWSGAaMCF636iWJkERcP3TDmD+lxuaqD/Rbcveru7fz0ry1df
-CSTFd5ZdG1ZWmkhRCvVnD2eNDYLHhL+1xfjNcS+Sy+iUligEOsIsOOSePBuJn3C2
-AraXXi7BWqevhsK3ZdyDjeeFcqfR8LrqEdy9fLVoiYIVK7WR8HD1+uSMIf7nj6MW
-Xe6o/6gOIh8+JyX18aBVFvfCAnn7yaz90cpuZT6Xz/DfybnECofBAgMBAAGjQjBA
-MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQSayTS
-Smi3obAczb/WTMxAW3/gQDANBgkqhkiG9w0BAQUFAAOCAQEAZh5Whn2Hmfma2fv+
-nL+e2ZAH2pozD3JrRADfhfD/7cUGHBz/TpR9b2x+ghqCvP6sAsUd0B+o4y2ijUOO
-c4qwpNoLHX4c6TWTKW0Fn21sDgnunBoV/opeGdjaoGsq1R36DK9jVUFC7N08sG4f
-ZmfFKP0jG6ZCmEn1M1h7WpHHnGYfU8yLeRGp+qO4XuHREpfsXk3Jd0wDDOiAM1fa
-1M6vxRv1lkfUaNqDPEXuhLSClM1lLEHxRT0Zm9p6VATkObG1KhUpuJltMHMSvH3j
-efISquHX0YPEuwy7oTY3hDjefDrXyE9r2cuAKyknvcPepSoRbbYJWebXSa5SiSg7
-r/C9hg==
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQD3e5umGjr5lWtPpjlTGuNOZvRh4vFmyWIC
+KasJBETSGImZI1VoDJSnN4uYppGkeV5LrWKdzqhrEGZ6mjapCn4B1Fp55zFaLyvt
+uxembs1yU7rd8JfdbHHmbvdITPwhJnIMHMpZA86XLZHG39yWdzQmGP8sTvG+NCt6
+bDk7dRTYjcxYO4+SzdYIzOKYX2vAFVm/8p59BkzxgOIfEaUalErZ8mtwhWi3zrXj
+0fHPYcaHb/JEuPDZhDNhX35bOzBW1qZMVfTmLlhW9vvsa1hF9NAUBGtSZ9rVg40/
+uddJxjdWD1WMZ6OYS2jeC8gVmJzOpdCEMCZWBJZx3e5Jj0S2Mmw7AgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRoXGGv
+nUgyRCvWM5dxerH6NMjKmDANBgkqhkiG9w0BAQUFAAOCAQEAGU/YU4pu5/ayyjjA
+FcA7goYQLdzeeiCfx52gEz4sPl5xYipvUlt0lVM+YfDXzqBeg12WTJYzKjTef3dZ
+o5QEmOEUwMwJVY5Bds8lik2Q1OKZ4bY4Fc9vxfTG6AMjNbIUIGdAtXQT4+geSn4G
+owpZH/Mh1yCkMD2aZFzbd0ehkrdBRdYloFHKH7xmcrkOGov03UsSn+wRP/gbKj/B
+b7zKTK/gqlNBeapO405wEzEsLfYsAxrv8oYCjeAFyj0QOSOzP6rqpnjNGfe1AKaI
+e5TPdcLsChBQ16gFzThFFhcfTQZnZtxG5zBPsoBU75hxNR9iLo59E4j5MsJdiMoh
+GSVDiA==
 -----END CERTIFICATE-----
diff --git a/tests/certs/EdelCurlRoot-ca.cnf b/tests/certs/EdelCurlRoot-ca.cnf
new file mode 100644
index 0000000..ba99881
--- /dev/null
+++ b/tests/certs/EdelCurlRoot-ca.cnf
@@ -0,0 +1,11 @@
+[ ca ]
+default_ca = EdelCurlRoot
+
+[ EdelCurlRoot ]
+database = EdelCurlRoot-ca.db
+certificate = EdelCurlRoot-ca.crt
+private_key = EdelCurlRoot-ca.key
+crlnumber = EdelCurlRoot-ca.cnt
+default_md = sha1
+default_days = 365
+default_crl_days = 30
diff --git a/tests/certs/EdelCurlRoot-ca.crt b/tests/certs/EdelCurlRoot-ca.crt
index c5154a4..7f59717 100644
--- a/tests/certs/EdelCurlRoot-ca.crt
+++ b/tests/certs/EdelCurlRoot-ca.crt
@@ -2,15 +2,15 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            0b:5c:fb:79:f2:09
+            0b:95:4c:80:9f:5b
         Signature Algorithm: sha1WithRSAEncryption
         Issuer:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
             commonName                = Nothern Nowhere Trust Anchor
         Validity
-            Not Before: Aug  4 15:06:44 2009 GMT
-            Not After : Jan  7 15:06:44 2026 GMT
+            Not Before: May 11 13:56:03 2010 GMT
+            Not After : Oct 14 13:56:03 2026 GMT
         Subject:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
@@ -19,24 +19,24 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (2048 bit)
                 Modulus:
-                    00:bd:b7:e7:70:4c:17:0d:0f:e6:a4:ed:81:0b:26:
-                    a9:d2:16:f6:2a:9c:87:6d:8e:7e:e2:71:98:89:41:
-                    97:d7:62:0b:c7:92:35:e5:09:0a:b4:67:06:59:c5:
-                    3b:2f:ae:6c:ff:68:6c:af:46:a3:1f:7e:32:5a:08:
-                    c4:6e:65:5c:c2:9f:99:11:4e:28:dc:37:98:d0:ab:
-                    66:13:35:c6:bd:3c:6f:65:e2:5d:c2:59:21:80:68:
-                    c0:85:eb:7e:a2:58:99:04:45:c3:f7:4c:39:83:fa:
-                    5c:6e:6a:a0:ff:45:b7:2f:7a:bb:bb:7f:3d:2b:cb:
-                    57:5f:09:24:c5:77:96:5d:1b:56:56:9a:48:51:0a:
-                    f5:67:0f:67:8d:0d:82:c7:84:bf:b5:c5:f8:cd:71:
-                    2f:92:cb:e8:94:96:28:04:3a:c2:2c:38:e4:9e:3c:
-                    1b:89:9f:70:b6:02:b6:97:5e:2e:c1:5a:a7:af:86:
-                    c2:b7:65:dc:83:8d:e7:85:72:a7:d1:f0:ba:ea:11:
-                    dc:bd:7c:b5:68:89:82:15:2b:b5:91:f0:70:f5:fa:
-                    e4:8c:21:fe:e7:8f:a3:16:5d:ee:a8:ff:a8:0e:22:
-                    1f:3e:27:25:f5:f1:a0:55:16:f7:c2:02:79:fb:c9:
-                    ac:fd:d1:ca:6e:65:3e:97:cf:f0:df:c9:b9:c4:0a:
-                    87:c1
+                    00:f7:7b:9b:a6:1a:3a:f9:95:6b:4f:a6:39:53:1a:
+                    e3:4e:66:f4:61:e2:f1:66:c9:62:02:29:ab:09:04:
+                    44:d2:18:89:99:23:55:68:0c:94:a7:37:8b:98:a6:
+                    91:a4:79:5e:4b:ad:62:9d:ce:a8:6b:10:66:7a:9a:
+                    36:a9:0a:7e:01:d4:5a:79:e7:31:5a:2f:2b:ed:bb:
+                    17:a6:6e:cd:72:53:ba:dd:f0:97:dd:6c:71:e6:6e:
+                    f7:48:4c:fc:21:26:72:0c:1c:ca:59:03:ce:97:2d:
+                    91:c6:df:dc:96:77:34:26:18:ff:2c:4e:f1:be:34:
+                    2b:7a:6c:39:3b:75:14:d8:8d:cc:58:3b:8f:92:cd:
+                    d6:08:cc:e2:98:5f:6b:c0:15:59:bf:f2:9e:7d:06:
+                    4c:f1:80:e2:1f:11:a5:1a:94:4a:d9:f2:6b:70:85:
+                    68:b7:ce:b5:e3:d1:f1:cf:61:c6:87:6f:f2:44:b8:
+                    f0:d9:84:33:61:5f:7e:5b:3b:30:56:d6:a6:4c:55:
+                    f4:e6:2e:58:56:f6:fb:ec:6b:58:45:f4:d0:14:04:
+                    6b:52:67:da:d5:83:8d:3f:b9:d7:49:c6:37:56:0f:
+                    55:8c:67:a3:98:4b:68:de:0b:c8:15:98:9c:ce:a5:
+                    d0:84:30:26:56:04:96:71:dd:ee:49:8f:44:b6:32:
+                    6c:3b
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: critical
@@ -44,42 +44,42 @@ Certificate:
             X509v3 Key Usage: critical
                 Certificate Sign, CRL Sign
             X509v3 Subject Key Identifier: 
-                12:6B:24:D2:4A:68:B7:A1:B0:1C:CD:BF:D6:4C:CC:40:5B:7F:E0:40
+                68:5C:61:AF:9D:48:32:44:2B:D6:33:97:71:7A:B1:FA:34:C8:CA:98
     Signature Algorithm: sha1WithRSAEncryption
-        66:1e:56:86:7d:87:99:f9:9a:d9:fb:fe:9c:bf:9e:d9:90:07:
-        da:9a:33:0f:72:6b:44:00:df:85:f0:ff:ed:c5:06:1c:1c:ff:
-        4e:94:7d:6f:6c:7e:82:1a:82:bc:fe:ac:02:c5:1d:d0:1f:a8:
-        e3:2d:a2:8d:43:8e:73:8a:b0:a4:da:0b:1d:7e:1c:e9:35:93:
-        29:6d:05:9f:6d:6c:0e:09:ee:9c:1a:15:fe:8a:5e:19:d8:da:
-        a0:6b:2a:d5:1d:fa:0c:af:63:55:41:42:ec:dd:3c:b0:6e:1f:
-        66:67:c5:28:fd:23:1b:a6:42:98:49:f5:33:58:7b:5a:91:c7:
-        9c:66:1f:53:cc:8b:79:11:a9:fa:a3:b8:5e:e1:d1:12:97:ec:
-        5e:4d:c9:77:4c:03:0c:e8:80:33:57:da:d4:ce:af:c5:1b:f5:
-        96:47:d4:68:da:83:3c:45:ee:84:b4:82:94:cd:65:2c:41:f1:
-        45:3d:19:9b:da:7a:54:04:e4:39:b1:b5:2a:15:29:b8:99:6d:
-        30:73:12:bc:7d:e3:79:f2:12:aa:e1:d7:d1:83:c4:bb:0c:bb:
-        a1:36:37:84:38:de:7c:3a:d7:c8:4f:6b:d9:cb:80:2b:29:27:
-        bd:c3:de:a5:2a:11:6d:b6:09:59:e6:d7:49:ae:52:89:28:3b:
-        af:f0:bd:86
+        19:4f:d8:53:8a:6e:e7:f6:b2:ca:38:c0:15:c0:3b:82:86:10:
+        2d:dc:de:7a:20:9f:c7:9d:a0:13:3e:2c:3e:5e:71:62:2a:6f:
+        52:5b:74:95:53:3e:61:f0:d7:ce:a0:5e:83:5d:96:4c:96:33:
+        2a:34:de:7f:77:59:a3:94:04:98:e1:14:c0:cc:09:55:8e:41:
+        76:cf:25:8a:4d:90:d4:e2:99:e1:b6:38:15:cf:6f:c5:f4:c6:
+        e8:03:23:35:b2:14:20:67:40:b5:74:13:e3:e8:1e:4a:7e:06:
+        a3:0a:59:1f:f3:21:d7:20:a4:30:3d:9a:64:5c:db:77:47:a1:
+        92:b7:41:45:d6:25:a0:51:ca:1f:bc:66:72:b9:0e:1a:8b:f4:
+        dd:4b:12:9f:ec:11:3f:f8:1b:2a:3f:c1:6f:bc:ca:4c:af:e0:
+        aa:53:41:79:aa:4e:e3:4e:70:13:31:2c:2d:f6:2c:03:1a:ef:
+        f2:86:02:8d:e0:05:ca:3d:10:39:23:b3:3f:aa:ea:a6:78:cd:
+        19:f7:b5:00:a6:88:7b:94:cf:75:c2:ec:0a:10:50:d7:a8:05:
+        cd:38:45:16:17:1f:4d:06:67:66:dc:46:e7:30:4f:b2:80:54:
+        ef:98:71:35:1f:62:2e:8e:7d:13:88:f9:32:c2:5d:88:ca:21:
+        19:25:43:88
 -----BEGIN CERTIFICATE-----
-MIIDkDCCAnigAwIBAgIGC1z7efIJMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
+MIIDkDCCAnigAwIBAgIGC5VMgJ9bMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
 Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
 IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X
-DTA5MDgwNDE1MDY0NFoXDTI2MDEwNzE1MDY0NFowZzELMAkGA1UEBhMCTk4xMTAv
+DTEwMDUxMTEzNTYwM1oXDTI2MTAxNDEzNTYwM1owZzELMAkGA1UEBhMCTk4xMTAv
 BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx
 JTAjBgNVBAMMHE5vdGhlcm4gTm93aGVyZSBUcnVzdCBBbmNob3IwggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9t+dwTBcND+ak7YELJqnSFvYqnIdtjn7i
-cZiJQZfXYgvHkjXlCQq0ZwZZxTsvrmz/aGyvRqMffjJaCMRuZVzCn5kRTijcN5jQ
-q2YTNca9PG9l4l3CWSGAaMCF636iWJkERcP3TDmD+lxuaqD/Rbcveru7fz0ry1df
-CSTFd5ZdG1ZWmkhRCvVnD2eNDYLHhL+1xfjNcS+Sy+iUligEOsIsOOSePBuJn3C2
-AraXXi7BWqevhsK3ZdyDjeeFcqfR8LrqEdy9fLVoiYIVK7WR8HD1+uSMIf7nj6MW
-Xe6o/6gOIh8+JyX18aBVFvfCAnn7yaz90cpuZT6Xz/DfybnECofBAgMBAAGjQjBA
-MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQSayTS
-Smi3obAczb/WTMxAW3/gQDANBgkqhkiG9w0BAQUFAAOCAQEAZh5Whn2Hmfma2fv+
-nL+e2ZAH2pozD3JrRADfhfD/7cUGHBz/TpR9b2x+ghqCvP6sAsUd0B+o4y2ijUOO
-c4qwpNoLHX4c6TWTKW0Fn21sDgnunBoV/opeGdjaoGsq1R36DK9jVUFC7N08sG4f
-ZmfFKP0jG6ZCmEn1M1h7WpHHnGYfU8yLeRGp+qO4XuHREpfsXk3Jd0wDDOiAM1fa
-1M6vxRv1lkfUaNqDPEXuhLSClM1lLEHxRT0Zm9p6VATkObG1KhUpuJltMHMSvH3j
-efISquHX0YPEuwy7oTY3hDjefDrXyE9r2cuAKyknvcPepSoRbbYJWebXSa5SiSg7
-r/C9hg==
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQD3e5umGjr5lWtPpjlTGuNOZvRh4vFmyWIC
+KasJBETSGImZI1VoDJSnN4uYppGkeV5LrWKdzqhrEGZ6mjapCn4B1Fp55zFaLyvt
+uxembs1yU7rd8JfdbHHmbvdITPwhJnIMHMpZA86XLZHG39yWdzQmGP8sTvG+NCt6
+bDk7dRTYjcxYO4+SzdYIzOKYX2vAFVm/8p59BkzxgOIfEaUalErZ8mtwhWi3zrXj
+0fHPYcaHb/JEuPDZhDNhX35bOzBW1qZMVfTmLlhW9vvsa1hF9NAUBGtSZ9rVg40/
+uddJxjdWD1WMZ6OYS2jeC8gVmJzOpdCEMCZWBJZx3e5Jj0S2Mmw7AgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRoXGGv
+nUgyRCvWM5dxerH6NMjKmDANBgkqhkiG9w0BAQUFAAOCAQEAGU/YU4pu5/ayyjjA
+FcA7goYQLdzeeiCfx52gEz4sPl5xYipvUlt0lVM+YfDXzqBeg12WTJYzKjTef3dZ
+o5QEmOEUwMwJVY5Bds8lik2Q1OKZ4bY4Fc9vxfTG6AMjNbIUIGdAtXQT4+geSn4G
+owpZH/Mh1yCkMD2aZFzbd0ehkrdBRdYloFHKH7xmcrkOGov03UsSn+wRP/gbKj/B
+b7zKTK/gqlNBeapO405wEzEsLfYsAxrv8oYCjeAFyj0QOSOzP6rqpnjNGfe1AKaI
+e5TPdcLsChBQ16gFzThFFhcfTQZnZtxG5zBPsoBU75hxNR9iLo59E4j5MsJdiMoh
+GSVDiA==
 -----END CERTIFICATE-----
diff --git a/tests/certs/EdelCurlRoot-ca.csr b/tests/certs/EdelCurlRoot-ca.csr
index 3a25911..e8e19a1 100644
--- a/tests/certs/EdelCurlRoot-ca.csr
+++ b/tests/certs/EdelCurlRoot-ca.csr
@@ -2,16 +2,16 @@
 MIICrDCCAZQCAQAwZzELMAkGA1UEBhMCTk4xMTAvBgNVBAoMKEVkZWwgQ3VybCBB
 cmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQxJTAjBgNVBAMMHE5vdGhlcm4g
 Tm93aGVyZSBUcnVzdCBBbmNob3IwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
-AoIBAQC9t+dwTBcND+ak7YELJqnSFvYqnIdtjn7icZiJQZfXYgvHkjXlCQq0ZwZZ
-xTsvrmz/aGyvRqMffjJaCMRuZVzCn5kRTijcN5jQq2YTNca9PG9l4l3CWSGAaMCF
-636iWJkERcP3TDmD+lxuaqD/Rbcveru7fz0ry1dfCSTFd5ZdG1ZWmkhRCvVnD2eN
-DYLHhL+1xfjNcS+Sy+iUligEOsIsOOSePBuJn3C2AraXXi7BWqevhsK3ZdyDjeeF
-cqfR8LrqEdy9fLVoiYIVK7WR8HD1+uSMIf7nj6MWXe6o/6gOIh8+JyX18aBVFvfC
-Ann7yaz90cpuZT6Xz/DfybnECofBAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA
-IFe5QoGVnUvCDOvZPMFmnclBgPVpTYB/twQEK3VoKnTbWj78LL6IGJLoqS7l+wnW
-5PLYGjNwR7atIw1pnq6i+GglV5USXRMCNfB0NYLEZdfIUKwIQia2sidmv1gHDXbW
-oCh33kwizd8K0pCivtS60p7PfrjyKuj0qcdwFLuW6sa9ks4mswsykPJFFWseln6U
-YlFNOX2OWSNnoadLVgTxhIuSr7rXHVza01sNvH/tXKO0J4gfK7TctZpNsl4tnWx8
-6wjXe55aQqokjdfe92mPKClMuiXJTLPkM4tPN1Wau3qYw+BAb038z+j8FL8n7CEU
-n3WlmMJ7tmkd3NShPejqZQ==
+AoIBAQD3e5umGjr5lWtPpjlTGuNOZvRh4vFmyWICKasJBETSGImZI1VoDJSnN4uY
+ppGkeV5LrWKdzqhrEGZ6mjapCn4B1Fp55zFaLyvtuxembs1yU7rd8JfdbHHmbvdI
+TPwhJnIMHMpZA86XLZHG39yWdzQmGP8sTvG+NCt6bDk7dRTYjcxYO4+SzdYIzOKY
+X2vAFVm/8p59BkzxgOIfEaUalErZ8mtwhWi3zrXj0fHPYcaHb/JEuPDZhDNhX35b
+OzBW1qZMVfTmLlhW9vvsa1hF9NAUBGtSZ9rVg40/uddJxjdWD1WMZ6OYS2jeC8gV
+mJzOpdCEMCZWBJZx3e5Jj0S2Mmw7AgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA
+5Iax/Nx8yhosQk0lnIq+hvsFWP0b1W2uHJOsaHq250j+LGX5vtDI2/TTr85cR9vx
+H8GWYoP19i2/shZawmy4pnatNMoTraV6HT1e/pzHz+LrhYGsQUvtqQoa2BXBSUgv
+b3hpi7BXXIz9FJ25q6plbZYr4RzCs24pcLWhZZ+cCWNhJVStLoPcB0oNYT4kodw4
+tUoF3BTULf/Q/HTVOqalTV7Q8OpgFjyTD+W4tayDWaXOgIaWvU4P5HUMx775sOre
+oqXTpzeaZzjHohmUjIDdvT+Y1dNqB+YmDm3Zq3e3uMmj9Pk3KwDwm5t04tFMyXKv
+TZAxYSKK1x4x7778p+LcCA==
 -----END CERTIFICATE REQUEST-----
diff --git a/tests/certs/EdelCurlRoot-ca.key b/tests/certs/EdelCurlRoot-ca.key
index 244aea1..88f1b60 100644
--- a/tests/certs/EdelCurlRoot-ca.key
+++ b/tests/certs/EdelCurlRoot-ca.key
@@ -1,30 +1,30 @@
 -----BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIUbvkhX/UejoCAggA
-MBQGCCqGSIb3DQMHBAhyTjz68mGb9gSCBMjeTO0EBH03MKmIHaDTPzJyJO4jyqQS
-WJw6j+nYXHLQ3/PDh431GIQatN6Hpp14e+y/PZEl68jB8cxVCpiGO+JLT7ov4zlU
-nLsCwSn7lmFeylrlZYOnP//3JVfEwcO3E22y6Ay3RKm5UYKTYoCXwkIC7xockF4+
-E3xq2bRYD4OGrb77srqU2puPie0otfm3dpkZk5FKY/9knygufqO0HoC6y1swPT0q
-ykOst064UGFG36IiISVImoYeOQ2kY0fo3bBtC7QGhCiid0cOXZOUZD7I+Vz7UPJo
-XUtM0s9V1uer/DrDREFrCG/GfwNDhrhqXM4AsJQwPi8FV4KK+rHOFCg0FOPAlGff
-UMArHp81ZmM9T6SWmWFGdmJPNz0jp7HPmzYt3rXQc88qk0iig+A42SMqj6otMPuJ
-st/0Sm+GzRHjbgV0Jh2zPpTwzznLj8NjHCtmSWijFZZbylEvr3klzLdnva5c75pw
-Qhqbe3ZkNaRkJvxWlIvd8qrE4rix34M5ZN1gm4+y5kE8gYjMF8KdBwxfsSkobL48
-i2NpaROvFhewE9IaoJ8bAVJA9KpHZBftWaZFJ7S7h0Vdhw0KRVFZYQiz6xqma4Xp
-yp4EopNdffuEXxQOQiAsHyhnBsPGoMTUpCQAfL1v90+SIs0FG6faClk3L6EyATXW
-pLQURbocUJYr6hyxY62Y1pc3TVlspIv/kukKtwq7iuvD5mFgmGumSI/pq2jfKo02
-aFSPTNVEidFvJJVr0HVIwPVmuMRs0Lr0t8Txih4NIzTITR4tPwaIwhi0Qi3VanNG
-TY9oevkclxiNbP9OQfIP6CMHNnAzLhOm+vbwlkCAqcFo0KjzGJb4NhyAxYpUZ7U3
-NGoNVQ7haF/Frz5PxAGl5l57qLI4pHsknrZsKxiTKpSy5l3melj3Zk0R2jXN9uJX
-Z3FYG6R7Zbnt8gbXw1dqteLo07ObS7OwULqAJlboqporOtvWKhqPTPeNFP7HCdHJ
-uFBVQJwWGD8QBcZ1k591JcFY7vPWHdQF7ku+EEs7dEeNBUS28Baw5qoiXRBWsD7B
-Y3D4QaAZF64rqvtIlhDZBzmrUZ1KqJDX1B9I2pf7D6bbxL0wYiVTRQeoDV7eGZXF
-0+tMbHgZ/CmAsOx0sdcR0BkigQMGh9HHtDs4gRJsf/RjzkKJQD28FfJxqvRYDYFd
-8PSL7/DPipTUxvALuKWX/cRR/kVDEvt3AXJqAJsb3Xf/NloicieQ5QCy2LXwU4rQ
-pBur7YFHw2VfT/HU8Jdd3yoXJPRBy9bAGFXojtBT6cuCcyBrUwrFo/nfiirK1WAd
-krIL1/kUNKy34b/Yp2/BNuo+QrDP7tJNWVO7pVs1eNFs45en0GNR1tsaIxN95MwX
-vw4g4vMNMkpEPdLCPkjCYuW6mqkxT7ED3LAEsOBljcjkaId4QVS2TZv9V+izeHx8
-OGYmyJB5d2N/v1gwBSq7h+xx7bG/hByJ+7hGR3J9+3HEN/TYFPqjIofA8sBZ6Emt
-oICblaS4xlmWwb8iSdo38yDWVaemmuW3zpCLfCR3RFT8aV9u1eahYWuU0/kgn2QB
-GvaavsdlahZl+f0uqf67TDWxTDkeQuiiRwy3UCnooxDLclq3YM9yWP4wbq9xNn4d
-G+0=
+MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIa1F7CGGp8jQCAggA
+MBQGCCqGSIb3DQMHBAhm8pVoPm/LFwSCBMiCDupDCg5KbPkSttKaEGvp5xVa/Ysz
+M3I/bXUmtJQKU5nu3glWKWRbzElCc2dcZmSOQ0JFOF8sc+Cp2EadczTlH20iPpZM
+r1Fszw9R3Dj3PEopHsk1xd1M7ITLsY3W849zoLpYUxKM3p7RLq95BjlS0KH44oGY
+4+0Npo9/hywfGxxMTWYAj+bdiYDe1n20RWPEdwJqP1Ubhm8GoMD48DfxS7EMB2Lm
+kPtqEtcPIki9FKWNaoYznUfvorgyLHYYT+8FM1gZtQlL2a2e/YXuMMFHhqytcxe/
+MfBY7UJw9f7metyDVCsobOV0yg5fBgLyk5SnZniAe+qZ4WV+W9/OeAsLPJCLaocF
+Dqe5FLd61iBG42kVx7dg8CwouMCR+5gGE6EeHe8aeleWWneFw5mODMeyyD6HWyJO
+s9DJISp4Jm4ZV/XggfP4Y/T2cWPQwPGdq4wSwQ4fVJpe7w6S0AggUW5X69R9nrHz
+2V2bz8jlyKad4FxCthoOQ01KGcjZEo/cFeHBsN4xSEwDj0clAPfMbZOHlUPbvMgH
+qgdOMV9TiR2VcpzmBLVrgnlFbmhnJlB6MdoXQMNcy6DXqgiNIPzn5lHPM8Lrg1zB
+Y92XVSMFa4Fy+eFo/81Oy6DIOlNdKq1hXTkix8rE/ArWTWboo/iSq8QvolFN3d0T
+S5H0btosC/PB+niZj/v9gu4NHX0vJtWG+/4EXa057DUD/3ukS9l+eMN9lHbOLfdF
+zcBCg539aZa4yWWNsNQ1MXVY16/ThT3u+tvOnO8hp12SGxiO5VdltTa5DiyCBhbx
+GO27/N1OGxIAcvSQp1hZ8Wkh5PJuRwuxQnc7aMfBhQaJDQ2/6QB+PMiIaa06zcEM
+Ybv48d603a2QkvY+3xKVC/ClO+TKMIL7kCV85U3N/pkm+6eNrKTkydisvJE+1+05
+ESct5Uyht+Q0wwcGZgAKgZMJSS0J7wQeqymhzUb0+e0mOzjZq+u868MbQQecgMAI
+BQ5zEy59CrC/9vACtkN9rVy5GyKBpJvRFUjTJXs3/NubluzSqUVfia0TsWvi8h1k
++yGI+biWiq3vAHn3jwLORrVZaUvQM6jzEXDrCaDHEA0Y7bNZn9iJr85OMn1/NZwJ
+wZhyMQqI/5JVW/vK2KfRfNgErgg8HB8kyAtsPpbTY05jc18fRqXsyDGGNJvAhbAX
+UaoHoEhapiqa/TkMYPAOZfLiZeWv6OizE5wIOwyWHLMmJ+ZE49Anz6o8/QyLiP4f
+75QvRGTACaH6CvN11SYjQ41QI7iImZ7sqf1a/Keru92g7K4ASollANnSaY9Qf3RG
+j4BGVvl7l5DkQqQY3To2dOaktrw4sDsDMxxhHKkuDdvkFwq913o2Spp/FhsSm1bx
+7oFlLhmutp0u7sIBLrrd1q/pwj65x32rrqwS5QFNP2TUrlgOULy/W3cQslIdUlyz
+GwJ6UstewWTvUOSAogEKqEHWcZ6ggcmTtS9DV+l0iUj9NdQLkcT2K2lE16reH4ES
+wj+KvFGVNTpm6+5cFgfG9b3SZGgLHRdduHI+cYE+m4BAv9Expj2fOYA5MhnpFCW5
+LeFS55FO7V9b5w2bp98Z4XFZDyZQ7d+t2FhIjiVMj509iC3HNRo5sSz6sEfIcdji
+YP8=
 -----END ENCRYPTED PRIVATE KEY-----
diff --git a/tests/certs/Server-localhost-sv.crl b/tests/certs/Server-localhost-sv.crl
new file mode 100644
index 0000000..b9ae83c
--- /dev/null
+++ b/tests/certs/Server-localhost-sv.crl
@@ -0,0 +1,12 @@
+-----BEGIN X509 CRL-----
+MIIB2zCBxAIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJOTjExMC8GA1UE
+CgwoRWRlbCBDdXJsIEFyY3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDElMCMG
+A1UEAwwcTm90aGVybiBOb3doZXJlIFRydXN0IEFuY2hvchcNMTAwNTExMTM1ODE5
+WhcNMTAwNjEwMTM1ODE5WjAZMBcCBguVTJWIPRcNMTAwNTExMTM1ODE2WqAOMAww
+CgYDVR0UBAMCAQEwDQYJKoZIhvcNAQEFBQADggEBAOhaSUKNpNiHXQGUFCIto1Uc
+aGl7M8GP2xcP0iuwmxEBeG1Hca5Xu+4nDkd/oc3dRhM9xqX6SN6xo+V2kvNqXB5H
+v38LZ4SLA+1Ol9wua/1DgDpA6XxTSiLSTG34nw+M1748vfBX+H2Hn/ACeKs9RzHm
+Jkyo1CcEesfhtXurapRJg7Vrvsr9tzHxXYl3WzuFn+VAb6RTvljj1kAwNCh8KC5f
++gBzMW+EHrmPd2cL7Togapb0HNMY7UQyEBoWDGz/nlzrfdWQoIPvwsS0YUGdnjnt
+51Yg+Q8MaulgIGFvM3fFqnQ3RiCbXCgmfkgdgPeckCKhLsSpwZCF9B4IAm01o5Y=
+-----END X509 CRL-----
diff --git a/tests/certs/Server-localhost-sv.crt b/tests/certs/Server-localhost-sv.crt
index f78e3c0..6abc1d6 100644
--- a/tests/certs/Server-localhost-sv.crt
+++ b/tests/certs/Server-localhost-sv.crt
@@ -2,15 +2,15 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            0b:5d:0a:89:a5:41
+            0b:95:4c:95:88:3d
         Signature Algorithm: sha1WithRSAEncryption
         Issuer:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
             commonName                = Nothern Nowhere Trust Anchor
         Validity
-            Not Before: Aug  4 22:07:52 2009 GMT
-            Not After : Oct 21 22:07:52 2017 GMT
+            Not Before: May 11 13:58:14 2010 GMT
+            Not After : Jul 28 13:58:14 2018 GMT
         Subject:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
@@ -19,15 +19,15 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (1024 bit)
                 Modulus:
-                    00:d3:6f:53:ed:32:a1:69:20:22:6e:5c:69:34:3d:
-                    8f:14:65:61:c8:f7:99:15:ec:a9:51:43:87:7a:b0:
-                    4b:65:c5:c2:7c:e4:4a:f0:c7:25:42:19:ec:ec:84:
-                    5a:62:a0:4e:de:f9:2d:86:aa:e5:b2:b9:f7:e8:1f:
-                    5d:c6:8d:07:b1:83:54:92:a8:65:5d:2c:e6:3b:e0:
-                    f3:0e:ae:b2:72:05:4c:dd:85:90:16:bc:1f:03:59:
-                    23:76:be:e0:38:ee:21:05:37:d0:01:31:7d:1f:3c:
-                    f5:fd:78:56:cd:cb:86:bb:d1:e8:07:73:a6:90:f9:
-                    3b:7e:9d:85:bc:3c:2a:78:49
+                    00:bd:d4:3e:83:f3:fe:d3:5c:3d:d9:62:b8:84:78:
+                    bd:83:bd:0c:82:81:12:21:ec:4d:69:48:08:14:fc:
+                    b0:ac:35:ac:8f:08:a5:86:70:1f:a0:7e:fc:e0:b5:
+                    e8:41:a5:4f:cb:0f:a6:fa:36:57:3a:70:92:a8:0e:
+                    d5:45:98:1a:af:5e:a1:c9:e4:c5:92:30:3b:2f:f8:
+                    af:c2:ed:90:a4:e9:37:87:8d:62:2f:46:e1:50:39:
+                    0f:c0:99:6b:c2:8a:d0:c6:df:fc:16:6b:93:f5:ec:
+                    26:24:8e:38:7f:37:72:72:ec:9c:da:a6:99:0c:e4:
+                    1a:12:af:2e:b0:d8:4b:43:ff
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Alternative Name: 
@@ -37,45 +37,45 @@ Certificate:
             X509v3 Extended Key Usage: 
                 TLS Web Server Authentication
             X509v3 Subject Key Identifier: 
-                53:59:CB:8D:67:CD:E7:63:E2:E5:DD:F0:F8:E1:82:ED:A8:10:38:A3
+                2D:E2:77:05:7D:AF:9A:65:01:D1:D7:8B:81:A1:24:99:D9:1D:51:F9
             X509v3 Authority Key Identifier: 
-                keyid:12:6B:24:D2:4A:68:B7:A1:B0:1C:CD:BF:D6:4C:CC:40:5B:7F:E0:40
+                keyid:68:5C:61:AF:9D:48:32:44:2B:D6:33:97:71:7A:B1:FA:34:C8:CA:98
 
             X509v3 Basic Constraints: critical
                 CA:FALSE
     Signature Algorithm: sha1WithRSAEncryption
-        06:3f:b8:df:8e:20:9d:cd:cd:bc:a9:88:eb:2d:f8:e6:f0:15:
-        fa:14:9c:5f:55:bc:8f:68:40:aa:d2:51:03:ab:09:ee:ee:a6:
-        d7:8f:32:9a:75:0b:41:35:71:bf:d9:35:03:dd:fd:e5:7d:45:
-        db:e5:9a:16:14:14:c7:98:a5:c5:b9:4d:81:3a:0c:f9:e0:97:
-        71:d0:f3:a0:5d:84:ba:83:a8:d8:a0:98:bf:12:48:42:f0:1b:
-        8a:58:80:16:62:69:bb:96:5a:ce:ac:02:fa:cb:cd:20:30:d0:
-        fb:23:3a:d3:7b:75:03:c8:c1:20:9e:24:90:d2:61:00:85:63:
-        e2:f9:a7:52:50:e2:0d:3b:61:f9:b1:d5:5f:64:dd:cb:38:7b:
-        05:8d:b7:f9:08:8e:bf:d3:02:13:e7:34:fa:3d:bb:af:d7:aa:
-        de:79:28:f4:ae:87:f5:49:85:42:c7:af:8b:a0:94:ed:21:de:
-        36:e6:38:a3:0f:75:cf:68:10:48:1d:7d:9b:a2:88:86:bd:b5:
-        fe:95:4a:c8:fe:77:6b:0a:47:79:ab:d6:35:ea:53:4f:8f:3a:
-        ba:e1:4c:00:57:b8:99:f9:21:5d:d2:ad:d9:c7:fa:bf:71:73:
-        49:5d:0b:2c:fd:02:37:94:3c:3e:d7:ef:72:c5:e3:f3:14:9f:
-        58:27:2a:aa
+        09:2e:e4:98:6f:a4:c5:53:d6:af:8f:d3:42:5d:b7:66:a8:ae:
+        f6:55:06:cb:09:ca:f5:3f:8d:65:92:73:7e:06:05:ff:05:2e:
+        2b:55:a3:44:12:32:1b:ee:e8:74:8b:a8:4a:c1:0c:80:5e:b1:
+        74:a2:00:eb:63:ec:6d:09:f2:67:12:b0:67:0f:20:e0:c4:15:
+        9a:8a:ef:73:0a:e0:d1:e1:2b:68:e3:cb:76:61:59:a2:c5:97:
+        26:00:72:14:4c:52:0f:83:7a:08:61:b1:83:ad:fb:40:85:e8:
+        77:29:91:aa:c3:ad:d2:0d:7f:30:2d:43:88:fd:51:84:b9:eb:
+        52:5d:ca:e2:75:82:93:cf:a8:00:0f:15:f8:e3:80:9e:e4:f2:
+        2c:ba:58:df:7d:89:44:32:cc:36:ed:ea:1a:94:c7:3d:62:8e:
+        2a:52:7e:3a:79:f3:cd:f0:e0:b7:27:9f:b0:aa:cb:76:cf:13:
+        34:f8:3a:15:f2:70:8c:ef:5b:a9:9b:06:49:1a:b1:39:45:07:
+        5e:7e:98:a0:df:0c:ed:9a:cf:41:21:65:8e:03:e5:ea:19:04:
+        39:f6:c3:09:d0:fe:8d:60:5d:d2:7a:98:ae:b8:2d:53:77:f5:
+        e5:de:34:93:92:22:32:18:88:ce:6d:47:bf:cf:b1:0f:75:65:
+        37:ef:26:66
 -----BEGIN CERTIFICATE-----
-MIIDQTCCAimgAwIBAgIGC10KiaVBMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
+MIIDQTCCAimgAwIBAgIGC5VMlYg9MA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
 Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
 IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X
-DTA5MDgwNDIyMDc1MloXDTE3MTAyMTIyMDc1MlowVDELMAkGA1UEBhMCTk4xMTAv
+DTEwMDUxMTEzNTgxNFoXDTE4MDcyODEzNTgxNFowVDELMAkGA1UEBhMCTk4xMTAv
 BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx
 EjAQBgNVBAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
-029T7TKhaSAiblxpND2PFGVhyPeZFeypUUOHerBLZcXCfORK8MclQhns7IRaYqBO
-3vkthqrlsrn36B9dxo0HsYNUkqhlXSzmO+DzDq6ycgVM3YWQFrwfA1kjdr7gOO4h
-BTfQATF9Hzz1/XhWzcuGu9HoB3OmkPk7fp2FvDwqeEkCAwEAAaOBiTCBhjAUBgNV
+vdQ+g/P+01w92WK4hHi9g70MgoESIexNaUgIFPywrDWsjwilhnAfoH784LXoQaVP
+yw+m+jZXOnCSqA7VRZgar16hyeTFkjA7L/ivwu2QpOk3h41iL0bhUDkPwJlrworQ
+xt/8FmuT9ewmJI44fzdycuyc2qaZDOQaEq8usNhLQ/8CAwEAAaOBiTCBhjAUBgNV
 HREEDTALgglsb2NhbGhvc3QwCwYDVR0PBAQDAgUgMBMGA1UdJQQMMAoGCCsGAQUF
-BwMBMB0GA1UdDgQWBBRTWcuNZ83nY+Ll3fD44YLtqBA4ozAfBgNVHSMEGDAWgBQS
-ayTSSmi3obAczb/WTMxAW3/gQDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUA
-A4IBAQAGP7jfjiCdzc28qYjrLfjm8BX6FJxfVbyPaECq0lEDqwnu7qbXjzKadQtB
-NXG/2TUD3f3lfUXb5ZoWFBTHmKXFuU2BOgz54Jdx0POgXYS6g6jYoJi/EkhC8BuK
-WIAWYmm7llrOrAL6y80gMND7IzrTe3UDyMEgniSQ0mEAhWPi+adSUOINO2H5sdVf
-ZN3LOHsFjbf5CI6/0wIT5zT6Pbuv16reeSj0rof1SYVCx6+LoJTtId425jijD3XP
-aBBIHX2booiGvbX+lUrI/ndrCkd5q9Y16lNPjzq64UwAV7iZ+SFd0q3Zx/q/cXNJ
-XQss/QI3lDw+1+9yxePzFJ9YJyqq
+BwMBMB0GA1UdDgQWBBQt4ncFfa+aZQHR14uBoSSZ2R1R+TAfBgNVHSMEGDAWgBRo
+XGGvnUgyRCvWM5dxerH6NMjKmDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUA
+A4IBAQAJLuSYb6TFU9avj9NCXbdmqK72VQbLCcr1P41lknN+BgX/BS4rVaNEEjIb
+7uh0i6hKwQyAXrF0ogDrY+xtCfJnErBnDyDgxBWaiu9zCuDR4Sto48t2YVmixZcm
+AHIUTFIPg3oIYbGDrftAheh3KZGqw63SDX8wLUOI/VGEuetSXcridYKTz6gADxX4
+44Ce5PIsuljffYlEMsw27eoalMc9Yo4qUn46efPN8OC3J5+wqst2zxM0+DoV8nCM
+71upmwZJGrE5RQdefpig3wztms9BIWWOA+XqGQQ59sMJ0P6NYF3SepiuuC1Td/Xl
+3jSTkiIyGIjObUe/z7EPdWU37yZm
 -----END CERTIFICATE-----
diff --git a/tests/certs/Server-localhost-sv.csr b/tests/certs/Server-localhost-sv.csr
index 4a1ccaf..a17a5ba 100644
--- a/tests/certs/Server-localhost-sv.csr
+++ b/tests/certs/Server-localhost-sv.csr
@@ -1,11 +1,11 @@
 -----BEGIN CERTIFICATE REQUEST-----
 MIIBkzCB/QIBADBUMQswCQYDVQQGEwJOTjExMC8GA1UECgwoRWRlbCBDdXJsIEFy
 Y3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDESMBAGA1UEAwwJbG9jYWxob3N0
-MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTb1PtMqFpICJuXGk0PY8UZWHI
-95kV7KlRQ4d6sEtlxcJ85ErwxyVCGezshFpioE7e+S2GquWyuffoH13GjQexg1SS
-qGVdLOY74PMOrrJyBUzdhZAWvB8DWSN2vuA47iEFN9ABMX0fPPX9eFbNy4a70egH
-c6aQ+Tt+nYW8PCp4SQIDAQABoAAwDQYJKoZIhvcNAQELBQADgYEAxfegbegW/e09
-TV4TVuyt7S7wwCJFepfi7hNDoPf/CiuW3KeSySP68iD9QUNhy2wADFP6eHPaooUZ
-h5PIvZ8IKpBzIbtG2mcOV4tKEBIshoBv/VFOTUqGKJf4r9dK0AjbovyPNpt9lCcO
-xcnrH3WuQUVdmXVvlUXHz/mhzs2TFx4=
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC91D6D8/7TXD3ZYriEeL2DvQyC
+gRIh7E1pSAgU/LCsNayPCKWGcB+gfvzgtehBpU/LD6b6Nlc6cJKoDtVFmBqvXqHJ
+5MWSMDsv+K/C7ZCk6TeHjWIvRuFQOQ/AmWvCitDG3/wWa5P17CYkjjh/N3Jy7Jza
+ppkM5BoSry6w2EtD/wIDAQABoAAwDQYJKoZIhvcNAQELBQADgYEAJ+DZjgjdoDt3
+ELXUNSxa6RsaMwltqnsMiTxwZ892b8HyW4i2Xnzg1Ew2bIMbOj/lVn5VP1nGJ90Z
+jlaefKoppJN29njCaxy3tB035jQqhgE9JBhN+yddNu7a3gdPOezzWtXuGzG2GBbe
+GS3cdEjT5OcIxbMPk1Bt9IJw2kBAP/c=
 -----END CERTIFICATE REQUEST-----
diff --git a/tests/certs/Server-localhost-sv.key b/tests/certs/Server-localhost-sv.key
index 832bbba..cd31f9f 100644
--- a/tests/certs/Server-localhost-sv.key
+++ b/tests/certs/Server-localhost-sv.key
@@ -1,15 +1,15 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQDTb1PtMqFpICJuXGk0PY8UZWHI95kV7KlRQ4d6sEtlxcJ85Erw
-xyVCGezshFpioE7e+S2GquWyuffoH13GjQexg1SSqGVdLOY74PMOrrJyBUzdhZAW
-vB8DWSN2vuA47iEFN9ABMX0fPPX9eFbNy4a70egHc6aQ+Tt+nYW8PCp4SQIDAQAB
-AoGBAMhtVySaAzJxONJfHYdc934BIPHt7BtBbbvQBOSDq+V80wGrM3MNhL8lbldC
-m5+0kS+DC+oFpJqI+Xz8BtwJooilPuQO3syo5YZuFRee81M8Z5Ss78TG6FLdjt6Z
-hKQHju+Ghxm08pd2cTaYGDzS3LYsvSXz4TnsdWAVATCwKTSFAkEA8HnPcZdAXiLJ
-eA2cRAuyEUPjs7B6eR5dLraLrIOtcKs/xJH/W+63hhMjqe9CASuSzVJEr8QxijYN
-Cdlq3V3XhwJBAOEVk48TZF+gc87sWsBIy+mn3MdovKbmnYM/rzVXYiu2mBQ+nKhp
-mevRc/UJdkaW8H340wRm1qGMYPCeekRdha8CQCuHcSR3o4Amvd9MX2f10gLMDjCd
-ll3MQEPPaVMN9tw5M27KmrWybWgImOEO3RzHHWirJqHGWs1Q4WVSBMUTUosCQQDf
-sz/6HL3PRHqUltcC79apnEmSbgfAoMa/INYTX4uUAl9XD3tG7d0qP/rM9+By+6R8
-roWahFKgMBJQUlEWDRTFAkAiLYKd8pxw3x3kuk5ItmTiq3JNluMyIA/i3RVW1aVO
-U5tX8sw6r4wVcsvXVboS/Trjeev2qkqC06ARV7vb6Wq5
+MIICWwIBAAKBgQC91D6D8/7TXD3ZYriEeL2DvQyCgRIh7E1pSAgU/LCsNayPCKWG
+cB+gfvzgtehBpU/LD6b6Nlc6cJKoDtVFmBqvXqHJ5MWSMDsv+K/C7ZCk6TeHjWIv
+RuFQOQ/AmWvCitDG3/wWa5P17CYkjjh/N3Jy7JzappkM5BoSry6w2EtD/wIDAQAB
+AoGALifwN2dZW4z/IN9HHDa7Zc/OveCiRwtM2z9/b5LtZkH6viCNFr4mgoC9/eld
+GrEWULpykD4sQXJjxmcs5ioQuo0y0ircZjdUFK/RzHGZDtw7LR+Ihd9lI7kkSfCW
+kZoekbAdL+mQc1Y637PLikCFbXN5OynlB1tF6S2AbUEJEOECQQD7wNtThQhQemt2
+jiQTmqKhbZvkbM3gTDKpgPHvrlfXfAp5UUzXZP2xdbueMHq+N1Dv7Pnb+poJ5sCH
+4jQ1eu/vAkEAwQf7DiJmHfwtPUirwvKMKfiVnn1ZsNHjcryPUdazUg2WApk+ZLRs
+5nzXbHwrKGExGybhHFsddeqy3BqHHoLc8QJAP2jtFVVNqc+b36mfppxtWBGekWNi
+W5t1q0ICLieQkoL4tGPo4dvbFmacEhUN5XlTVosux9yQDexkFBXCprHHWwJAZ2gD
+EdtToRSKl53qhZCxjXphjHnSJmsJ0Vk53bmKbpZgmhvF1OTiwcZ3EOKjrAoE6Gq3
+hR06dwS3tDlx0OKBwQJAMlt286U7P3/jMVgjHnPFZirVSYa/S2YbZuUNfTm8Rgia
+4wTz6ssG5QK6vNJRZ6gwv1Zjp7P/U2JxRR8mx+5t6w==
 -----END RSA PRIVATE KEY-----
diff --git a/tests/certs/Server-localhost-sv.pem b/tests/certs/Server-localhost-sv.pem
index 77f1844..ee5f3d3 100644
--- a/tests/certs/Server-localhost-sv.pem
+++ b/tests/certs/Server-localhost-sv.pem
@@ -24,33 +24,33 @@ commonName_value              = localhost
 # the certficate
 # some dhparam
 -----BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQDTb1PtMqFpICJuXGk0PY8UZWHI95kV7KlRQ4d6sEtlxcJ85Erw
-xyVCGezshFpioE7e+S2GquWyuffoH13GjQexg1SSqGVdLOY74PMOrrJyBUzdhZAW
-vB8DWSN2vuA47iEFN9ABMX0fPPX9eFbNy4a70egHc6aQ+Tt+nYW8PCp4SQIDAQAB
-AoGBAMhtVySaAzJxONJfHYdc934BIPHt7BtBbbvQBOSDq+V80wGrM3MNhL8lbldC
-m5+0kS+DC+oFpJqI+Xz8BtwJooilPuQO3syo5YZuFRee81M8Z5Ss78TG6FLdjt6Z
-hKQHju+Ghxm08pd2cTaYGDzS3LYsvSXz4TnsdWAVATCwKTSFAkEA8HnPcZdAXiLJ
-eA2cRAuyEUPjs7B6eR5dLraLrIOtcKs/xJH/W+63hhMjqe9CASuSzVJEr8QxijYN
-Cdlq3V3XhwJBAOEVk48TZF+gc87sWsBIy+mn3MdovKbmnYM/rzVXYiu2mBQ+nKhp
-mevRc/UJdkaW8H340wRm1qGMYPCeekRdha8CQCuHcSR3o4Amvd9MX2f10gLMDjCd
-ll3MQEPPaVMN9tw5M27KmrWybWgImOEO3RzHHWirJqHGWs1Q4WVSBMUTUosCQQDf
-sz/6HL3PRHqUltcC79apnEmSbgfAoMa/INYTX4uUAl9XD3tG7d0qP/rM9+By+6R8
-roWahFKgMBJQUlEWDRTFAkAiLYKd8pxw3x3kuk5ItmTiq3JNluMyIA/i3RVW1aVO
-U5tX8sw6r4wVcsvXVboS/Trjeev2qkqC06ARV7vb6Wq5
+MIICWwIBAAKBgQC91D6D8/7TXD3ZYriEeL2DvQyCgRIh7E1pSAgU/LCsNayPCKWG
+cB+gfvzgtehBpU/LD6b6Nlc6cJKoDtVFmBqvXqHJ5MWSMDsv+K/C7ZCk6TeHjWIv
+RuFQOQ/AmWvCitDG3/wWa5P17CYkjjh/N3Jy7JzappkM5BoSry6w2EtD/wIDAQAB
+AoGALifwN2dZW4z/IN9HHDa7Zc/OveCiRwtM2z9/b5LtZkH6viCNFr4mgoC9/eld
+GrEWULpykD4sQXJjxmcs5ioQuo0y0ircZjdUFK/RzHGZDtw7LR+Ihd9lI7kkSfCW
+kZoekbAdL+mQc1Y637PLikCFbXN5OynlB1tF6S2AbUEJEOECQQD7wNtThQhQemt2
+jiQTmqKhbZvkbM3gTDKpgPHvrlfXfAp5UUzXZP2xdbueMHq+N1Dv7Pnb+poJ5sCH
+4jQ1eu/vAkEAwQf7DiJmHfwtPUirwvKMKfiVnn1ZsNHjcryPUdazUg2WApk+ZLRs
+5nzXbHwrKGExGybhHFsddeqy3BqHHoLc8QJAP2jtFVVNqc+b36mfppxtWBGekWNi
+W5t1q0ICLieQkoL4tGPo4dvbFmacEhUN5XlTVosux9yQDexkFBXCprHHWwJAZ2gD
+EdtToRSKl53qhZCxjXphjHnSJmsJ0Vk53bmKbpZgmhvF1OTiwcZ3EOKjrAoE6Gq3
+hR06dwS3tDlx0OKBwQJAMlt286U7P3/jMVgjHnPFZirVSYa/S2YbZuUNfTm8Rgia
+4wTz6ssG5QK6vNJRZ6gwv1Zjp7P/U2JxRR8mx+5t6w==
 -----END RSA PRIVATE KEY-----
 Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            0b:5d:0a:89:a5:41
+            0b:95:4c:95:88:3d
         Signature Algorithm: sha1WithRSAEncryption
         Issuer:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
             commonName                = Nothern Nowhere Trust Anchor
         Validity
-            Not Before: Aug  4 22:07:52 2009 GMT
-            Not After : Oct 21 22:07:52 2017 GMT
+            Not Before: May 11 13:58:14 2010 GMT
+            Not After : Jul 28 13:58:14 2018 GMT
         Subject:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
@@ -59,15 +59,15 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (1024 bit)
                 Modulus:
-                    00:d3:6f:53:ed:32:a1:69:20:22:6e:5c:69:34:3d:
-                    8f:14:65:61:c8:f7:99:15:ec:a9:51:43:87:7a:b0:
-                    4b:65:c5:c2:7c:e4:4a:f0:c7:25:42:19:ec:ec:84:
-                    5a:62:a0:4e:de:f9:2d:86:aa:e5:b2:b9:f7:e8:1f:
-                    5d:c6:8d:07:b1:83:54:92:a8:65:5d:2c:e6:3b:e0:
-                    f3:0e:ae:b2:72:05:4c:dd:85:90:16:bc:1f:03:59:
-                    23:76:be:e0:38:ee:21:05:37:d0:01:31:7d:1f:3c:
-                    f5:fd:78:56:cd:cb:86:bb:d1:e8:07:73:a6:90:f9:
-                    3b:7e:9d:85:bc:3c:2a:78:49
+                    00:bd:d4:3e:83:f3:fe:d3:5c:3d:d9:62:b8:84:78:
+                    bd:83:bd:0c:82:81:12:21:ec:4d:69:48:08:14:fc:
+                    b0:ac:35:ac:8f:08:a5:86:70:1f:a0:7e:fc:e0:b5:
+                    e8:41:a5:4f:cb:0f:a6:fa:36:57:3a:70:92:a8:0e:
+                    d5:45:98:1a:af:5e:a1:c9:e4:c5:92:30:3b:2f:f8:
+                    af:c2:ed:90:a4:e9:37:87:8d:62:2f:46:e1:50:39:
+                    0f:c0:99:6b:c2:8a:d0:c6:df:fc:16:6b:93:f5:ec:
+                    26:24:8e:38:7f:37:72:72:ec:9c:da:a6:99:0c:e4:
+                    1a:12:af:2e:b0:d8:4b:43:ff
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Alternative Name: 
@@ -77,47 +77,47 @@ Certificate:
             X509v3 Extended Key Usage: 
                 TLS Web Server Authentication
             X509v3 Subject Key Identifier: 
-                53:59:CB:8D:67:CD:E7:63:E2:E5:DD:F0:F8:E1:82:ED:A8:10:38:A3
+                2D:E2:77:05:7D:AF:9A:65:01:D1:D7:8B:81:A1:24:99:D9:1D:51:F9
             X509v3 Authority Key Identifier: 
-                keyid:12:6B:24:D2:4A:68:B7:A1:B0:1C:CD:BF:D6:4C:CC:40:5B:7F:E0:40
+                keyid:68:5C:61:AF:9D:48:32:44:2B:D6:33:97:71:7A:B1:FA:34:C8:CA:98
 
             X509v3 Basic Constraints: critical
                 CA:FALSE
     Signature Algorithm: sha1WithRSAEncryption
-        06:3f:b8:df:8e:20:9d:cd:cd:bc:a9:88:eb:2d:f8:e6:f0:15:
-        fa:14:9c:5f:55:bc:8f:68:40:aa:d2:51:03:ab:09:ee:ee:a6:
-        d7:8f:32:9a:75:0b:41:35:71:bf:d9:35:03:dd:fd:e5:7d:45:
-        db:e5:9a:16:14:14:c7:98:a5:c5:b9:4d:81:3a:0c:f9:e0:97:
-        71:d0:f3:a0:5d:84:ba:83:a8:d8:a0:98:bf:12:48:42:f0:1b:
-        8a:58:80:16:62:69:bb:96:5a:ce:ac:02:fa:cb:cd:20:30:d0:
-        fb:23:3a:d3:7b:75:03:c8:c1:20:9e:24:90:d2:61:00:85:63:
-        e2:f9:a7:52:50:e2:0d:3b:61:f9:b1:d5:5f:64:dd:cb:38:7b:
-        05:8d:b7:f9:08:8e:bf:d3:02:13:e7:34:fa:3d:bb:af:d7:aa:
-        de:79:28:f4:ae:87:f5:49:85:42:c7:af:8b:a0:94:ed:21:de:
-        36:e6:38:a3:0f:75:cf:68:10:48:1d:7d:9b:a2:88:86:bd:b5:
-        fe:95:4a:c8:fe:77:6b:0a:47:79:ab:d6:35:ea:53:4f:8f:3a:
-        ba:e1:4c:00:57:b8:99:f9:21:5d:d2:ad:d9:c7:fa:bf:71:73:
-        49:5d:0b:2c:fd:02:37:94:3c:3e:d7:ef:72:c5:e3:f3:14:9f:
-        58:27:2a:aa
+        09:2e:e4:98:6f:a4:c5:53:d6:af:8f:d3:42:5d:b7:66:a8:ae:
+        f6:55:06:cb:09:ca:f5:3f:8d:65:92:73:7e:06:05:ff:05:2e:
+        2b:55:a3:44:12:32:1b:ee:e8:74:8b:a8:4a:c1:0c:80:5e:b1:
+        74:a2:00:eb:63:ec:6d:09:f2:67:12:b0:67:0f:20:e0:c4:15:
+        9a:8a:ef:73:0a:e0:d1:e1:2b:68:e3:cb:76:61:59:a2:c5:97:
+        26:00:72:14:4c:52:0f:83:7a:08:61:b1:83:ad:fb:40:85:e8:
+        77:29:91:aa:c3:ad:d2:0d:7f:30:2d:43:88:fd:51:84:b9:eb:
+        52:5d:ca:e2:75:82:93:cf:a8:00:0f:15:f8:e3:80:9e:e4:f2:
+        2c:ba:58:df:7d:89:44:32:cc:36:ed:ea:1a:94:c7:3d:62:8e:
+        2a:52:7e:3a:79:f3:cd:f0:e0:b7:27:9f:b0:aa:cb:76:cf:13:
+        34:f8:3a:15:f2:70:8c:ef:5b:a9:9b:06:49:1a:b1:39:45:07:
+        5e:7e:98:a0:df:0c:ed:9a:cf:41:21:65:8e:03:e5:ea:19:04:
+        39:f6:c3:09:d0:fe:8d:60:5d:d2:7a:98:ae:b8:2d:53:77:f5:
+        e5:de:34:93:92:22:32:18:88:ce:6d:47:bf:cf:b1:0f:75:65:
+        37:ef:26:66
 -----BEGIN CERTIFICATE-----
-MIIDQTCCAimgAwIBAgIGC10KiaVBMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
+MIIDQTCCAimgAwIBAgIGC5VMlYg9MA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
 Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
 IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X
-DTA5MDgwNDIyMDc1MloXDTE3MTAyMTIyMDc1MlowVDELMAkGA1UEBhMCTk4xMTAv
+DTEwMDUxMTEzNTgxNFoXDTE4MDcyODEzNTgxNFowVDELMAkGA1UEBhMCTk4xMTAv
 BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx
 EjAQBgNVBAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
-029T7TKhaSAiblxpND2PFGVhyPeZFeypUUOHerBLZcXCfORK8MclQhns7IRaYqBO
-3vkthqrlsrn36B9dxo0HsYNUkqhlXSzmO+DzDq6ycgVM3YWQFrwfA1kjdr7gOO4h
-BTfQATF9Hzz1/XhWzcuGu9HoB3OmkPk7fp2FvDwqeEkCAwEAAaOBiTCBhjAUBgNV
+vdQ+g/P+01w92WK4hHi9g70MgoESIexNaUgIFPywrDWsjwilhnAfoH784LXoQaVP
+yw+m+jZXOnCSqA7VRZgar16hyeTFkjA7L/ivwu2QpOk3h41iL0bhUDkPwJlrworQ
+xt/8FmuT9ewmJI44fzdycuyc2qaZDOQaEq8usNhLQ/8CAwEAAaOBiTCBhjAUBgNV
 HREEDTALgglsb2NhbGhvc3QwCwYDVR0PBAQDAgUgMBMGA1UdJQQMMAoGCCsGAQUF
-BwMBMB0GA1UdDgQWBBRTWcuNZ83nY+Ll3fD44YLtqBA4ozAfBgNVHSMEGDAWgBQS
-ayTSSmi3obAczb/WTMxAW3/gQDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUA
-A4IBAQAGP7jfjiCdzc28qYjrLfjm8BX6FJxfVbyPaECq0lEDqwnu7qbXjzKadQtB
-NXG/2TUD3f3lfUXb5ZoWFBTHmKXFuU2BOgz54Jdx0POgXYS6g6jYoJi/EkhC8BuK
-WIAWYmm7llrOrAL6y80gMND7IzrTe3UDyMEgniSQ0mEAhWPi+adSUOINO2H5sdVf
-ZN3LOHsFjbf5CI6/0wIT5zT6Pbuv16reeSj0rof1SYVCx6+LoJTtId425jijD3XP
-aBBIHX2booiGvbX+lUrI/ndrCkd5q9Y16lNPjzq64UwAV7iZ+SFd0q3Zx/q/cXNJ
-XQss/QI3lDw+1+9yxePzFJ9YJyqq
+BwMBMB0GA1UdDgQWBBQt4ncFfa+aZQHR14uBoSSZ2R1R+TAfBgNVHSMEGDAWgBRo
+XGGvnUgyRCvWM5dxerH6NMjKmDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUA
+A4IBAQAJLuSYb6TFU9avj9NCXbdmqK72VQbLCcr1P41lknN+BgX/BS4rVaNEEjIb
+7uh0i6hKwQyAXrF0ogDrY+xtCfJnErBnDyDgxBWaiu9zCuDR4Sto48t2YVmixZcm
+AHIUTFIPg3oIYbGDrftAheh3KZGqw63SDX8wLUOI/VGEuetSXcridYKTz6gADxX4
+44Ce5PIsuljffYlEMsw27eoalMc9Yo4qUn46efPN8OC3J5+wqst2zxM0+DoV8nCM
+71upmwZJGrE5RQdefpig3wztms9BIWWOA+XqGQQ59sMJ0P6NYF3SepiuuC1Td/Xl
+3jSTkiIyGIjObUe/z7EPdWU37yZm
 -----END CERTIFICATE-----
 -----BEGIN DH PARAMETERS-----
 MIGHAoGBAP5mA7oYimErFUulbvNC8V0HwyB62NCj6TZb6YXJwElCksQc8RyHnkrY
diff --git a/tests/certs/Server-localhost.nn-sv.crt b/tests/certs/Server-localhost.nn-sv.crt
index e64fddc..d2d35c9 100644
--- a/tests/certs/Server-localhost.nn-sv.crt
+++ b/tests/certs/Server-localhost.nn-sv.crt
@@ -2,15 +2,15 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            0b:5d:0b:23:cb:9d
+            0b:95:4d:e7:b4:4f
         Signature Algorithm: sha1WithRSAEncryption
         Issuer:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
             commonName                = Nothern Nowhere Trust Anchor
         Validity
-            Not Before: Aug  4 22:24:45 2009 GMT
-            Not After : Oct 21 22:24:45 2017 GMT
+            Not Before: May 11 14:35:09 2010 GMT
+            Not After : Jul 28 14:35:09 2018 GMT
         Subject:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
@@ -19,15 +19,15 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (1024 bit)
                 Modulus:
-                    00:c9:dc:c2:58:a5:8b:69:e1:d0:00:c5:e9:57:b7:
-                    47:80:8d:4b:d5:d5:43:71:0c:cc:e4:f1:01:72:71:
-                    11:48:8f:f5:25:ec:33:cb:9e:f2:78:17:90:5c:f2:
-                    af:ec:9f:34:9c:05:ba:f3:1e:01:48:f0:c7:3e:46:
-                    9b:93:97:a8:af:c6:71:c6:c2:06:77:1a:e1:91:a2:
-                    da:87:0e:f4:30:4d:4f:54:39:8b:e6:2f:ec:5c:91:
-                    89:66:4e:00:87:57:f1:2a:57:28:84:5c:63:a5:7e:
-                    d8:7e:ff:82:52:c9:d4:a4:8a:b2:6e:34:e7:b2:67:
-                    2e:5b:0e:6a:a0:58:f4:1c:0d
+                    00:d4:22:a8:65:6e:41:34:ab:ed:96:01:42:51:14:
+                    30:18:74:d9:c9:3b:df:76:71:a3:16:4e:ab:ae:ec:
+                    26:ff:d4:be:82:44:44:74:e4:46:40:33:06:70:66:
+                    4a:06:5a:ba:a3:a4:2f:86:03:18:7d:92:f4:c3:dc:
+                    99:3f:c9:e3:60:be:58:4b:64:cb:b3:f8:ef:bf:ba:
+                    af:30:0c:69:42:35:7e:79:19:39:43:4a:4d:16:fc:
+                    a1:35:1e:c2:08:d3:6c:bd:a7:b8:fb:6b:eb:69:4a:
+                    23:3b:83:c7:6a:86:08:1e:70:6c:f3:ac:76:50:a3:
+                    e4:1b:4b:01:a6:84:80:15:43
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Alternative Name: 
@@ -37,45 +37,45 @@ Certificate:
             X509v3 Extended Key Usage: 
                 TLS Web Server Authentication
             X509v3 Subject Key Identifier: 
-                68:20:D3:B2:EC:E8:1A:2A:3E:28:64:28:28:8F:A0:A1:20:9E:DC:D3
+                99:FC:BD:1F:2E:3F:91:E1:4F:EB:CA:D3:7C:9F:1F:3F:99:F7:6F:27
             X509v3 Authority Key Identifier: 
-                keyid:12:6B:24:D2:4A:68:B7:A1:B0:1C:CD:BF:D6:4C:CC:40:5B:7F:E0:40
+                keyid:68:5C:61:AF:9D:48:32:44:2B:D6:33:97:71:7A:B1:FA:34:C8:CA:98
 
             X509v3 Basic Constraints: critical
                 CA:FALSE
     Signature Algorithm: sha1WithRSAEncryption
-        5f:72:3f:e0:5c:44:b1:3b:c2:d6:10:fe:0a:bc:82:d5:60:c5:
-        71:91:ef:86:2c:b3:71:5d:93:5a:b9:cb:f6:bf:c4:24:33:cc:
-        d7:24:2e:08:40:b9:1a:4d:cd:7b:12:c2:1e:16:d0:10:fb:72:
-        42:d4:95:21:38:31:a6:73:5c:4d:b3:db:58:0c:0e:3f:a8:f9:
-        c0:14:a1:a9:ee:20:7e:3f:7a:30:ab:24:0e:ca:36:19:b0:dd:
-        01:ce:aa:67:69:4a:8d:e3:5d:20:34:74:d6:7f:14:06:96:58:
-        5e:68:78:6e:00:02:1d:3e:56:eb:5f:2c:35:02:10:05:9d:0b:
-        de:66:bb:ac:26:bd:eb:aa:d1:1d:b6:fe:b5:65:15:f8:06:b6:
-        1c:17:cd:bf:f2:28:6c:b0:f4:73:0d:e4:6e:59:1d:a8:54:36:
-        be:68:c2:c1:15:87:c4:20:08:5f:68:93:13:8a:c6:50:f2:1a:
-        9d:91:b4:71:93:e8:c3:c6:c1:f0:89:0f:ea:a0:f3:03:b3:e4:
-        d8:c1:27:ee:f9:41:93:7a:f6:25:2d:07:6f:3f:76:16:02:71:
-        61:70:de:7a:20:6f:dd:ab:35:a2:03:8a:a5:d4:dc:89:47:0f:
-        cc:7c:88:e1:22:ff:6a:e5:83:2e:7a:b4:75:b7:e1:d4:e5:d6:
-        75:8b:bd:5c
+        ae:67:de:ab:c7:48:c2:d1:65:65:ca:87:3a:f4:f6:26:49:94:
+        34:b5:c9:41:3c:8e:96:18:d0:ce:54:a0:8a:f1:19:d9:75:03:
+        70:1a:03:80:a8:e3:45:2a:03:f9:f9:c4:ae:22:06:4b:7b:c1:
+        df:96:69:68:24:45:d6:9d:b7:7c:88:df:1b:20:3f:4b:2a:b7:
+        5f:4f:87:be:8c:05:36:e1:bf:a8:e6:4c:b1:26:26:9f:21:59:
+        94:8d:31:f5:4b:4b:5e:ef:7f:5c:3c:f2:1a:f9:66:6e:87:80:
+        6b:a4:43:11:f5:5c:2e:b5:d8:4d:17:dc:73:ed:b1:77:4a:2f:
+        9a:0e:cc:67:75:dc:18:49:01:76:f0:fe:a1:ad:ae:1d:58:34:
+        0c:35:7e:bb:d5:e5:09:ac:0f:3d:fe:16:4c:a0:b9:75:66:64:
+        29:59:1b:0d:d4:25:a5:51:b4:6c:1f:ba:b5:7d:78:28:23:83:
+        47:98:3c:62:40:27:36:12:71:c7:40:eb:f2:d5:79:11:47:a0:
+        63:c6:1b:62:82:24:e2:b8:a4:eb:30:30:5f:ec:66:9b:76:cb:
+        d1:77:b2:f8:89:d3:44:ae:ff:17:39:26:31:08:96:b9:81:f3:
+        22:67:29:48:b9:b9:27:26:0f:b2:3e:b4:ec:36:b7:a3:1b:ac:
+        2b:87:b5:ff
 -----BEGIN CERTIFICATE-----
-MIIDRzCCAi+gAwIBAgIGC10LI8udMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
+MIIDRzCCAi+gAwIBAgIGC5VN57RPMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
 Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
 IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X
-DTA5MDgwNDIyMjQ0NVoXDTE3MTAyMTIyMjQ0NVowVzELMAkGA1UEBhMCTk4xMTAv
+DTEwMDUxMTE0MzUwOVoXDTE4MDcyODE0MzUwOVowVzELMAkGA1UEBhMCTk4xMTAv
 BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx
 FTATBgNVBAMMDGxvY2FsaG9zdC5ubjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
-gYEAydzCWKWLaeHQAMXpV7dHgI1L1dVDcQzM5PEBcnERSI/1Jewzy57yeBeQXPKv
-7J80nAW68x4BSPDHPkabk5eor8ZxxsIGdxrhkaLahw70ME1PVDmL5i/sXJGJZk4A
-h1fxKlcohFxjpX7Yfv+CUsnUpIqybjTnsmcuWw5qoFj0HA0CAwEAAaOBjDCBiTAX
+gYEA1CKoZW5BNKvtlgFCURQwGHTZyTvfdnGjFk6rruwm/9S+gkREdORGQDMGcGZK
+Blq6o6QvhgMYfZL0w9yZP8njYL5YS2TLs/jvv7qvMAxpQjV+eRk5Q0pNFvyhNR7C
+CNNsvae4+2vraUojO4PHaoYIHnBs86x2UKPkG0sBpoSAFUMCAwEAAaOBjDCBiTAX
 BgNVHREEEDAOggxsb2NhbGhvc3Qubm4wCwYDVR0PBAQDAgUgMBMGA1UdJQQMMAoG
-CCsGAQUFBwMBMB0GA1UdDgQWBBRoINOy7OgaKj4oZCgoj6ChIJ7c0zAfBgNVHSME
-GDAWgBQSayTSSmi3obAczb/WTMxAW3/gQDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3
-DQEBBQUAA4IBAQBfcj/gXESxO8LWEP4KvILVYMVxke+GLLNxXZNaucv2v8QkM8zX
-JC4IQLkaTc17EsIeFtAQ+3JC1JUhODGmc1xNs9tYDA4/qPnAFKGp7iB+P3owqyQO
-yjYZsN0BzqpnaUqN410gNHTWfxQGllheaHhuAAIdPlbrXyw1AhAFnQveZrusJr3r
-qtEdtv61ZRX4BrYcF82/8ihssPRzDeRuWR2oVDa+aMLBFYfEIAhfaJMTisZQ8hqd
-kbRxk+jDxsHwiQ/qoPMDs+TYwSfu+UGTevYlLQdvP3YWAnFhcN56IG/dqzWiA4ql
-1NyJRw/MfIjhIv9q5YMuerR1t+HU5dZ1i71c
+CCsGAQUFBwMBMB0GA1UdDgQWBBSZ/L0fLj+R4U/rytN8nx8/mfdvJzAfBgNVHSME
+GDAWgBRoXGGvnUgyRCvWM5dxerH6NMjKmDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3
+DQEBBQUAA4IBAQCuZ96rx0jC0WVlyoc69PYmSZQ0tclBPI6WGNDOVKCK8RnZdQNw
+GgOAqONFKgP5+cSuIgZLe8HflmloJEXWnbd8iN8bID9LKrdfT4e+jAU24b+o5kyx
+JiafIVmUjTH1S0te739cPPIa+WZuh4BrpEMR9VwutdhNF9xz7bF3Si+aDsxnddwY
+SQF28P6hra4dWDQMNX671eUJrA89/hZMoLl1ZmQpWRsN1CWlUbRsH7q1fXgoI4NH
+mDxiQCc2EnHHQOvy1XkRR6BjxhtigiTiuKTrMDBf7GabdsvRd7L4idNErv8XOSYx
+CJa5gfMiZylIubknJg+yPrTsNrejG6wrh7X/
 -----END CERTIFICATE-----
diff --git a/tests/certs/Server-localhost.nn-sv.csr b/tests/certs/Server-localhost.nn-sv.csr
index 4084d69..3ce405e 100644
--- a/tests/certs/Server-localhost.nn-sv.csr
+++ b/tests/certs/Server-localhost.nn-sv.csr
@@ -1,11 +1,11 @@
 -----BEGIN CERTIFICATE REQUEST-----
 MIIBlzCCAQACAQAwVzELMAkGA1UEBhMCTk4xMTAvBgNVBAoMKEVkZWwgQ3VybCBB
 cmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQxFTATBgNVBAMMDGxvY2FsaG9z
-dC5ubjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAydzCWKWLaeHQAMXpV7dH
-gI1L1dVDcQzM5PEBcnERSI/1Jewzy57yeBeQXPKv7J80nAW68x4BSPDHPkabk5eo
-r8ZxxsIGdxrhkaLahw70ME1PVDmL5i/sXJGJZk4Ah1fxKlcohFxjpX7Yfv+CUsnU
-pIqybjTnsmcuWw5qoFj0HA0CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4GBAJTKRcBm
-GzP0ySB4Oi8nedAruEXou/74ihSeIaydMyMLvqiAiSRhA16CIweRhMqDKqaSHT5B
-aisl0FSMKFODu6TrZQL+1DYTrXOKQ1e8JjSOCbR4c+p/QsiznfabEQNgtzsiDxTy
-Tc4vgvzEKxQ1AxP7G4iW+sVLc0EaA6fA6l/L
+dC5ubjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1CKoZW5BNKvtlgFCURQw
+GHTZyTvfdnGjFk6rruwm/9S+gkREdORGQDMGcGZKBlq6o6QvhgMYfZL0w9yZP8nj
+YL5YS2TLs/jvv7qvMAxpQjV+eRk5Q0pNFvyhNR7CCNNsvae4+2vraUojO4PHaoYI
+HnBs86x2UKPkG0sBpoSAFUMCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4GBAKu4v0bI
+Xtp93SMGsT1Ll/fGdel1UA/tVbm/Ag01r5novQ+M2LaWZePQWilitipadUKc0GVY
+Jm743M1GIeJRhcSaErNwbCK5UbyXJnA9cI+QCWmkRqYyP1IxJD47SuV/eqfJOEEC
+hHrqgyDswVdOjTL/ln/Yc51+xyuesdZR/LND
 -----END CERTIFICATE REQUEST-----
diff --git a/tests/certs/Server-localhost.nn-sv.der b/tests/certs/Server-localhost.nn-sv.der
index cfeb412..03279ce 100644
Binary files a/tests/certs/Server-localhost.nn-sv.der and b/tests/certs/Server-localhost.nn-sv.der differ
diff --git a/tests/certs/Server-localhost.nn-sv.key b/tests/certs/Server-localhost.nn-sv.key
index ce0a007..e30f393 100644
--- a/tests/certs/Server-localhost.nn-sv.key
+++ b/tests/certs/Server-localhost.nn-sv.key
@@ -1,15 +1,15 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDJ3MJYpYtp4dAAxelXt0eAjUvV1UNxDMzk8QFycRFIj/Ul7DPL
-nvJ4F5Bc8q/snzScBbrzHgFI8Mc+RpuTl6ivxnHGwgZ3GuGRotqHDvQwTU9UOYvm
-L+xckYlmTgCHV/EqVyiEXGOlfth+/4JSydSkirJuNOeyZy5bDmqgWPQcDQIDAQAB
-AoGAFJ8Xv4SR3Gw0GpAdSVew10IX+C1EKX1cRRsVwcIpONdz/L7Hf8qqDHijx8sH
-C84ryrCPK5zqFrB6OjNuW0KH+dZ5PRkr6DZwLAIgf+zjTb+qd8aDYlzsnvajTxxY
-RdPbsR94Oort1Gp0BZ9SOi2mUvRZqXsCMQmFxAXQgQ3jqgUCQQDsnRfGoESAIs+3
-W4jl67nD6K+pAcleLQ+yeNYwldRnH0CRWkt9wyjQFSKufz93pD+3NVC446cPlJap
-1beijhHDAkEA2mbEYRxYrQIJ1UyEb375k+hxNl6QlzTO8gUjuZBlAff/maC4FGmt
-9cDfThLPan0m0T9Ucb4RZQeQe4EH0qDt7wJASWncbKZhWphydmOSMDRZaO2TQw7o
-2a2Fh0xyuJRkWLKbp/2qGpUo3pcQMbANkyOFGWUTbKpFtVHXBU7oMSl/XQJANuqG
-UKDPD1mm3VJrLpnv6agV54TpuIuXybVPIVbUfyU7yQZnowJbsqK3w6rpKq6jdxQE
-iMExIIVBaDyumeDLUwJBAMapDN9JlFNq2AW0ifjrXJLaoR2jhF98cUFpjM/AJrAX
-WIbIGxlsCe9HKtvbKFMLuaSZrU87TnR3K0w3zOSbHXk=
+MIICXgIBAAKBgQDUIqhlbkE0q+2WAUJRFDAYdNnJO992caMWTquu7Cb/1L6CRER0
+5EZAMwZwZkoGWrqjpC+GAxh9kvTD3Jk/yeNgvlhLZMuz+O+/uq8wDGlCNX55GTlD
+Sk0W/KE1HsII02y9p7j7a+tpSiM7g8dqhggecGzzrHZQo+QbSwGmhIAVQwIDAQAB
+AoGBAKT5WwqexvkGaBuLWR6i25B5d1GHTY7YayOTBPNhVicJNSsrmi1pxbRxuiU5
+d4IflxxiOE85IxetbMrRSSERidCsFGUCu1qdLggTIqUscqwX2u4JXcczywAzB8HS
+Ij0QM7kfp1vleRSk6jb5veNnCezUrGXTDl6lRbJTX1GN94b5AkEA/Zfmn7T20+Tx
+2fTE/Pvksgc/BRMyNLNIpZbgLy6ObSq2KCqrdvnF3EJhfuhEIw0YgwaImt4YLhE3
+QVP6L28S3QJBANYmCSW06XQjkMyOzFPTAU+x7K4Ug5ZtEUT5LfGmdWEgKd4na91a
+BdjcYwmsmWPu6egmaNI8PQr7GcwPTYY/9p8CQQDBxHt3tLKVHe6ed6S9GUuZrGe+
+3PgTxJnRzQLnik9Ror0k29XARwGkVyRf7+GAVtVP6IIgs2sOaCEsTZpw/BIRAkBG
+n2KS4de/ql79ZvZxinu7OZUxT6iZujxgv8BsGhZJwp6sGdoTtLWK8BtlPFuVvlu7
+aLdW5fDHp0m5py5M4NlHAkEAkVW9G83/Yz5kllMZ5+lEm/34Z5sQsH1H5iQcrdX/
+Fgxas8W5EMZwc976TPUCUAITxDsMhY7iCrUQXOPsSB3KRA==
 -----END RSA PRIVATE KEY-----
diff --git a/tests/certs/Server-localhost.nn-sv.pem b/tests/certs/Server-localhost.nn-sv.pem
index 2b86647..9f5d3fa 100644
--- a/tests/certs/Server-localhost.nn-sv.pem
+++ b/tests/certs/Server-localhost.nn-sv.pem
@@ -24,33 +24,33 @@ commonName_value              = localhost.nn
 # the certficate
 # some dhparam
 -----BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDJ3MJYpYtp4dAAxelXt0eAjUvV1UNxDMzk8QFycRFIj/Ul7DPL
-nvJ4F5Bc8q/snzScBbrzHgFI8Mc+RpuTl6ivxnHGwgZ3GuGRotqHDvQwTU9UOYvm
-L+xckYlmTgCHV/EqVyiEXGOlfth+/4JSydSkirJuNOeyZy5bDmqgWPQcDQIDAQAB
-AoGAFJ8Xv4SR3Gw0GpAdSVew10IX+C1EKX1cRRsVwcIpONdz/L7Hf8qqDHijx8sH
-C84ryrCPK5zqFrB6OjNuW0KH+dZ5PRkr6DZwLAIgf+zjTb+qd8aDYlzsnvajTxxY
-RdPbsR94Oort1Gp0BZ9SOi2mUvRZqXsCMQmFxAXQgQ3jqgUCQQDsnRfGoESAIs+3
-W4jl67nD6K+pAcleLQ+yeNYwldRnH0CRWkt9wyjQFSKufz93pD+3NVC446cPlJap
-1beijhHDAkEA2mbEYRxYrQIJ1UyEb375k+hxNl6QlzTO8gUjuZBlAff/maC4FGmt
-9cDfThLPan0m0T9Ucb4RZQeQe4EH0qDt7wJASWncbKZhWphydmOSMDRZaO2TQw7o
-2a2Fh0xyuJRkWLKbp/2qGpUo3pcQMbANkyOFGWUTbKpFtVHXBU7oMSl/XQJANuqG
-UKDPD1mm3VJrLpnv6agV54TpuIuXybVPIVbUfyU7yQZnowJbsqK3w6rpKq6jdxQE
-iMExIIVBaDyumeDLUwJBAMapDN9JlFNq2AW0ifjrXJLaoR2jhF98cUFpjM/AJrAX
-WIbIGxlsCe9HKtvbKFMLuaSZrU87TnR3K0w3zOSbHXk=
+MIICXgIBAAKBgQDUIqhlbkE0q+2WAUJRFDAYdNnJO992caMWTquu7Cb/1L6CRER0
+5EZAMwZwZkoGWrqjpC+GAxh9kvTD3Jk/yeNgvlhLZMuz+O+/uq8wDGlCNX55GTlD
+Sk0W/KE1HsII02y9p7j7a+tpSiM7g8dqhggecGzzrHZQo+QbSwGmhIAVQwIDAQAB
+AoGBAKT5WwqexvkGaBuLWR6i25B5d1GHTY7YayOTBPNhVicJNSsrmi1pxbRxuiU5
+d4IflxxiOE85IxetbMrRSSERidCsFGUCu1qdLggTIqUscqwX2u4JXcczywAzB8HS
+Ij0QM7kfp1vleRSk6jb5veNnCezUrGXTDl6lRbJTX1GN94b5AkEA/Zfmn7T20+Tx
+2fTE/Pvksgc/BRMyNLNIpZbgLy6ObSq2KCqrdvnF3EJhfuhEIw0YgwaImt4YLhE3
+QVP6L28S3QJBANYmCSW06XQjkMyOzFPTAU+x7K4Ug5ZtEUT5LfGmdWEgKd4na91a
+BdjcYwmsmWPu6egmaNI8PQr7GcwPTYY/9p8CQQDBxHt3tLKVHe6ed6S9GUuZrGe+
+3PgTxJnRzQLnik9Ror0k29XARwGkVyRf7+GAVtVP6IIgs2sOaCEsTZpw/BIRAkBG
+n2KS4de/ql79ZvZxinu7OZUxT6iZujxgv8BsGhZJwp6sGdoTtLWK8BtlPFuVvlu7
+aLdW5fDHp0m5py5M4NlHAkEAkVW9G83/Yz5kllMZ5+lEm/34Z5sQsH1H5iQcrdX/
+Fgxas8W5EMZwc976TPUCUAITxDsMhY7iCrUQXOPsSB3KRA==
 -----END RSA PRIVATE KEY-----
 Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            0b:5d:0b:23:cb:9d
+            0b:95:4d:e7:b4:4f
         Signature Algorithm: sha1WithRSAEncryption
         Issuer:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
             commonName                = Nothern Nowhere Trust Anchor
         Validity
-            Not Before: Aug  4 22:24:45 2009 GMT
-            Not After : Oct 21 22:24:45 2017 GMT
+            Not Before: May 11 14:35:09 2010 GMT
+            Not After : Jul 28 14:35:09 2018 GMT
         Subject:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
@@ -59,15 +59,15 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (1024 bit)
                 Modulus:
-                    00:c9:dc:c2:58:a5:8b:69:e1:d0:00:c5:e9:57:b7:
-                    47:80:8d:4b:d5:d5:43:71:0c:cc:e4:f1:01:72:71:
-                    11:48:8f:f5:25:ec:33:cb:9e:f2:78:17:90:5c:f2:
-                    af:ec:9f:34:9c:05:ba:f3:1e:01:48:f0:c7:3e:46:
-                    9b:93:97:a8:af:c6:71:c6:c2:06:77:1a:e1:91:a2:
-                    da:87:0e:f4:30:4d:4f:54:39:8b:e6:2f:ec:5c:91:
-                    89:66:4e:00:87:57:f1:2a:57:28:84:5c:63:a5:7e:
-                    d8:7e:ff:82:52:c9:d4:a4:8a:b2:6e:34:e7:b2:67:
-                    2e:5b:0e:6a:a0:58:f4:1c:0d
+                    00:d4:22:a8:65:6e:41:34:ab:ed:96:01:42:51:14:
+                    30:18:74:d9:c9:3b:df:76:71:a3:16:4e:ab:ae:ec:
+                    26:ff:d4:be:82:44:44:74:e4:46:40:33:06:70:66:
+                    4a:06:5a:ba:a3:a4:2f:86:03:18:7d:92:f4:c3:dc:
+                    99:3f:c9:e3:60:be:58:4b:64:cb:b3:f8:ef:bf:ba:
+                    af:30:0c:69:42:35:7e:79:19:39:43:4a:4d:16:fc:
+                    a1:35:1e:c2:08:d3:6c:bd:a7:b8:fb:6b:eb:69:4a:
+                    23:3b:83:c7:6a:86:08:1e:70:6c:f3:ac:76:50:a3:
+                    e4:1b:4b:01:a6:84:80:15:43
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Alternative Name: 
@@ -77,47 +77,47 @@ Certificate:
             X509v3 Extended Key Usage: 
                 TLS Web Server Authentication
             X509v3 Subject Key Identifier: 
-                68:20:D3:B2:EC:E8:1A:2A:3E:28:64:28:28:8F:A0:A1:20:9E:DC:D3
+                99:FC:BD:1F:2E:3F:91:E1:4F:EB:CA:D3:7C:9F:1F:3F:99:F7:6F:27
             X509v3 Authority Key Identifier: 
-                keyid:12:6B:24:D2:4A:68:B7:A1:B0:1C:CD:BF:D6:4C:CC:40:5B:7F:E0:40
+                keyid:68:5C:61:AF:9D:48:32:44:2B:D6:33:97:71:7A:B1:FA:34:C8:CA:98
 
             X509v3 Basic Constraints: critical
                 CA:FALSE
     Signature Algorithm: sha1WithRSAEncryption
-        5f:72:3f:e0:5c:44:b1:3b:c2:d6:10:fe:0a:bc:82:d5:60:c5:
-        71:91:ef:86:2c:b3:71:5d:93:5a:b9:cb:f6:bf:c4:24:33:cc:
-        d7:24:2e:08:40:b9:1a:4d:cd:7b:12:c2:1e:16:d0:10:fb:72:
-        42:d4:95:21:38:31:a6:73:5c:4d:b3:db:58:0c:0e:3f:a8:f9:
-        c0:14:a1:a9:ee:20:7e:3f:7a:30:ab:24:0e:ca:36:19:b0:dd:
-        01:ce:aa:67:69:4a:8d:e3:5d:20:34:74:d6:7f:14:06:96:58:
-        5e:68:78:6e:00:02:1d:3e:56:eb:5f:2c:35:02:10:05:9d:0b:
-        de:66:bb:ac:26:bd:eb:aa:d1:1d:b6:fe:b5:65:15:f8:06:b6:
-        1c:17:cd:bf:f2:28:6c:b0:f4:73:0d:e4:6e:59:1d:a8:54:36:
-        be:68:c2:c1:15:87:c4:20:08:5f:68:93:13:8a:c6:50:f2:1a:
-        9d:91:b4:71:93:e8:c3:c6:c1:f0:89:0f:ea:a0:f3:03:b3:e4:
-        d8:c1:27:ee:f9:41:93:7a:f6:25:2d:07:6f:3f:76:16:02:71:
-        61:70:de:7a:20:6f:dd:ab:35:a2:03:8a:a5:d4:dc:89:47:0f:
-        cc:7c:88:e1:22:ff:6a:e5:83:2e:7a:b4:75:b7:e1:d4:e5:d6:
-        75:8b:bd:5c
+        ae:67:de:ab:c7:48:c2:d1:65:65:ca:87:3a:f4:f6:26:49:94:
+        34:b5:c9:41:3c:8e:96:18:d0:ce:54:a0:8a:f1:19:d9:75:03:
+        70:1a:03:80:a8:e3:45:2a:03:f9:f9:c4:ae:22:06:4b:7b:c1:
+        df:96:69:68:24:45:d6:9d:b7:7c:88:df:1b:20:3f:4b:2a:b7:
+        5f:4f:87:be:8c:05:36:e1:bf:a8:e6:4c:b1:26:26:9f:21:59:
+        94:8d:31:f5:4b:4b:5e:ef:7f:5c:3c:f2:1a:f9:66:6e:87:80:
+        6b:a4:43:11:f5:5c:2e:b5:d8:4d:17:dc:73:ed:b1:77:4a:2f:
+        9a:0e:cc:67:75:dc:18:49:01:76:f0:fe:a1:ad:ae:1d:58:34:
+        0c:35:7e:bb:d5:e5:09:ac:0f:3d:fe:16:4c:a0:b9:75:66:64:
+        29:59:1b:0d:d4:25:a5:51:b4:6c:1f:ba:b5:7d:78:28:23:83:
+        47:98:3c:62:40:27:36:12:71:c7:40:eb:f2:d5:79:11:47:a0:
+        63:c6:1b:62:82:24:e2:b8:a4:eb:30:30:5f:ec:66:9b:76:cb:
+        d1:77:b2:f8:89:d3:44:ae:ff:17:39:26:31:08:96:b9:81:f3:
+        22:67:29:48:b9:b9:27:26:0f:b2:3e:b4:ec:36:b7:a3:1b:ac:
+        2b:87:b5:ff
 -----BEGIN CERTIFICATE-----
-MIIDRzCCAi+gAwIBAgIGC10LI8udMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
+MIIDRzCCAi+gAwIBAgIGC5VN57RPMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
 Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
 IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X
-DTA5MDgwNDIyMjQ0NVoXDTE3MTAyMTIyMjQ0NVowVzELMAkGA1UEBhMCTk4xMTAv
+DTEwMDUxMTE0MzUwOVoXDTE4MDcyODE0MzUwOVowVzELMAkGA1UEBhMCTk4xMTAv
 BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx
 FTATBgNVBAMMDGxvY2FsaG9zdC5ubjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
-gYEAydzCWKWLaeHQAMXpV7dHgI1L1dVDcQzM5PEBcnERSI/1Jewzy57yeBeQXPKv
-7J80nAW68x4BSPDHPkabk5eor8ZxxsIGdxrhkaLahw70ME1PVDmL5i/sXJGJZk4A
-h1fxKlcohFxjpX7Yfv+CUsnUpIqybjTnsmcuWw5qoFj0HA0CAwEAAaOBjDCBiTAX
+gYEA1CKoZW5BNKvtlgFCURQwGHTZyTvfdnGjFk6rruwm/9S+gkREdORGQDMGcGZK
+Blq6o6QvhgMYfZL0w9yZP8njYL5YS2TLs/jvv7qvMAxpQjV+eRk5Q0pNFvyhNR7C
+CNNsvae4+2vraUojO4PHaoYIHnBs86x2UKPkG0sBpoSAFUMCAwEAAaOBjDCBiTAX
 BgNVHREEEDAOggxsb2NhbGhvc3Qubm4wCwYDVR0PBAQDAgUgMBMGA1UdJQQMMAoG
-CCsGAQUFBwMBMB0GA1UdDgQWBBRoINOy7OgaKj4oZCgoj6ChIJ7c0zAfBgNVHSME
-GDAWgBQSayTSSmi3obAczb/WTMxAW3/gQDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3
-DQEBBQUAA4IBAQBfcj/gXESxO8LWEP4KvILVYMVxke+GLLNxXZNaucv2v8QkM8zX
-JC4IQLkaTc17EsIeFtAQ+3JC1JUhODGmc1xNs9tYDA4/qPnAFKGp7iB+P3owqyQO
-yjYZsN0BzqpnaUqN410gNHTWfxQGllheaHhuAAIdPlbrXyw1AhAFnQveZrusJr3r
-qtEdtv61ZRX4BrYcF82/8ihssPRzDeRuWR2oVDa+aMLBFYfEIAhfaJMTisZQ8hqd
-kbRxk+jDxsHwiQ/qoPMDs+TYwSfu+UGTevYlLQdvP3YWAnFhcN56IG/dqzWiA4ql
-1NyJRw/MfIjhIv9q5YMuerR1t+HU5dZ1i71c
+CCsGAQUFBwMBMB0GA1UdDgQWBBSZ/L0fLj+R4U/rytN8nx8/mfdvJzAfBgNVHSME
+GDAWgBRoXGGvnUgyRCvWM5dxerH6NMjKmDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3
+DQEBBQUAA4IBAQCuZ96rx0jC0WVlyoc69PYmSZQ0tclBPI6WGNDOVKCK8RnZdQNw
+GgOAqONFKgP5+cSuIgZLe8HflmloJEXWnbd8iN8bID9LKrdfT4e+jAU24b+o5kyx
+JiafIVmUjTH1S0te739cPPIa+WZuh4BrpEMR9VwutdhNF9xz7bF3Si+aDsxnddwY
+SQF28P6hra4dWDQMNX671eUJrA89/hZMoLl1ZmQpWRsN1CWlUbRsH7q1fXgoI4NH
+mDxiQCc2EnHHQOvy1XkRR6BjxhtigiTiuKTrMDBf7GabdsvRd7L4idNErv8XOSYx
+CJa5gfMiZylIubknJg+yPrTsNrejG6wrh7X/
 -----END CERTIFICATE-----
 -----BEGIN DH PARAMETERS-----
 MIGHAoGBAPrtEVPhZfEczB9JnWXbln79YnTh/V6ehXMWe414wyn/VT1ow25sLEev
diff --git a/tests/certs/Server-localhost0h-sv.crt b/tests/certs/Server-localhost0h-sv.crt
index 20759e7..4053341 100644
--- a/tests/certs/Server-localhost0h-sv.crt
+++ b/tests/certs/Server-localhost0h-sv.crt
@@ -2,15 +2,15 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            0b:5d:0a:87:0d:09
+            0b:95:4d:e9:d7:55
         Signature Algorithm: sha1WithRSAEncryption
         Issuer:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
             commonName                = Nothern Nowhere Trust Anchor
         Validity
-            Not Before: Aug  4 22:07:33 2009 GMT
-            Not After : Oct 21 22:07:33 2017 GMT
+            Not Before: May 11 14:35:23 2010 GMT
+            Not After : Jul 28 14:35:23 2018 GMT
         Subject:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
@@ -19,15 +19,15 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (1024 bit)
                 Modulus:
-                    00:be:67:3b:b4:ea:c0:85:b4:c3:56:c1:a4:96:23:
-                    36:f5:c6:77:aa:ad:e5:c1:dd:ce:c1:9a:97:07:dd:
-                    16:90:eb:f0:38:b5:95:6b:a6:0f:b9:73:4e:7d:82:
-                    57:ab:5f:b5:ba:5c:a0:48:8c:82:77:fd:67:d8:53:
-                    44:61:86:a5:06:19:bf:73:51:68:2e:1a:0a:c5:05:
-                    39:ca:3d:ca:83:ed:07:fe:ae:b7:73:1d:60:dd:ab:
-                    9e:0e:7e:02:f3:68:42:93:27:c8:5f:c5:fa:cb:a9:
-                    84:06:2f:f3:66:bd:de:7d:29:82:57:47:e4:a9:df:
-                    bf:8b:bc:c0:46:33:5a:7b:87
+                    00:e5:4a:18:92:a1:18:a3:37:5f:10:0f:b7:7c:e3:
+                    37:26:0a:21:6b:53:41:48:58:53:e4:38:4e:8b:c0:
+                    22:7a:f6:e1:26:df:7b:8c:73:5e:f6:89:62:9b:40:
+                    4d:e3:67:bc:47:d8:9e:eb:f3:a5:a0:54:69:0a:e4:
+                    d8:45:3e:8e:d8:17:7e:38:4f:0d:36:39:89:66:70:
+                    3f:5e:10:e9:f2:cf:82:73:4d:2c:59:37:d3:4e:30:
+                    22:56:ef:3f:9d:6c:15:8a:a7:39:85:73:65:e0:31:
+                    8e:e1:cb:e4:a1:1e:bc:df:26:81:d6:72:69:8c:46:
+                    4a:0a:d4:ed:02:dd:7b:c0:fb
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Alternative Name: 
@@ -37,45 +37,45 @@ Certificate:
             X509v3 Extended Key Usage: 
                 TLS Web Server Authentication
             X509v3 Subject Key Identifier: 
-                0C:37:A3:DB:0F:73:B3:38:8A:69:D3:6E:B3:A7:D6:D8:77:4E:DA:67
+                4B:3F:E2:F5:AB:A9:6B:A8:F8:27:5C:73:C4:67:21:64:0A:5B:7D:BB
             X509v3 Authority Key Identifier: 
-                keyid:12:6B:24:D2:4A:68:B7:A1:B0:1C:CD:BF:D6:4C:CC:40:5B:7F:E0:40
+                keyid:68:5C:61:AF:9D:48:32:44:2B:D6:33:97:71:7A:B1:FA:34:C8:CA:98
 
             X509v3 Basic Constraints: critical
                 CA:FALSE
     Signature Algorithm: sha1WithRSAEncryption
-        88:a0:17:77:77:bf:c1:8a:18:4e:a3:94:6e:45:18:31:fa:2f:
-        7b:1f:ee:95:20:d1:cd:40:df:ee:f0:45:2e:e9:e6:cf:c8:77:
-        bd:85:16:d7:9f:18:52:78:3f:ea:9c:86:62:6e:db:90:b0:cd:
-        f1:c1:6f:2d:87:4a:a0:be:b3:dc:6d:e4:6b:d1:da:b9:10:25:
-        7e:35:1f:1b:aa:a7:09:2f:84:77:27:b0:48:a8:6d:54:57:38:
-        35:22:34:03:0f:d4:5d:ab:1c:72:15:b1:d9:89:56:10:12:fb:
-        7d:0d:18:12:a9:0a:38:dc:93:cf:69:ff:75:86:9e:e3:6b:eb:
-        92:6c:55:16:d5:65:8b:d7:9c:5e:4b:82:c8:92:6c:8b:e6:18:
-        a2:f8:8c:65:aa:b6:eb:23:ed:cb:99:db:fc:8b:8e:1d:7a:39:
-        c9:f5:7b:7f:58:7b:ed:01:6c:3c:40:ec:e3:a9:5f:c4:3d:cb:
-        81:17:03:6d:2d:d7:bd:00:5f:c4:79:f2:fb:ab:c6:0e:a2:01:
-        8b:a1:42:73:de:96:29:3e:bf:d7:d9:51:a7:d4:98:07:7f:f0:
-        f4:cd:00:a1:e1:ac:6c:05:ac:ab:93:1b:b0:5c:2c:13:ad:ff:
-        27:dc:80:99:34:66:bd:e3:31:54:d5:b6:3f:ce:d4:08:a3:52:
-        28:61:5e:bd
+        1e:72:62:39:e4:c6:20:f3:1a:ff:56:9e:e8:5d:3c:0d:a2:f1:
+        a5:e7:0c:72:e9:a8:4c:36:bb:38:e8:78:b5:28:d0:99:e5:1e:
+        ba:63:87:c0:e5:9f:4c:92:55:0e:3e:3c:1b:af:eb:e3:46:d1:
+        b9:62:6c:f5:a7:47:8b:fd:ea:8d:0c:b1:64:be:73:0d:37:46:
+        96:f9:b1:cd:32:7d:3d:28:ad:9b:66:f1:b4:5b:09:10:59:05:
+        f7:ae:53:ae:ac:a6:2b:71:ed:40:1f:ce:de:f5:43:7b:7b:29:
+        94:46:2a:05:4f:f8:e5:16:ec:e9:0d:1d:e1:0a:0a:d9:ab:78:
+        8c:74:7c:aa:ab:82:2e:1c:a7:fa:c3:16:19:3c:43:10:9c:a9:
+        52:5b:c8:09:98:ec:2d:68:85:f0:83:5b:e9:b1:a0:61:a6:a0:
+        a9:b1:f7:5c:c0:0b:dc:ba:39:78:f8:8d:07:08:ef:10:02:ae:
+        55:87:2b:30:a4:84:08:b3:9e:a1:65:b0:86:22:e0:f1:7e:f5:
+        37:b3:38:29:41:30:7f:a7:b8:30:be:e6:bc:59:dd:ea:1f:bd:
+        8d:e2:71:7c:27:f1:88:16:63:11:6f:ad:aa:09:84:ae:a7:af:
+        e5:f5:cb:d3:eb:10:07:3b:99:dd:08:0d:48:fb:ec:d8:5e:41:
+        52:39:29:ab
 -----BEGIN CERTIFICATE-----
-MIIDQzCCAiugAwIBAgIGC10Khw0JMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
+MIIDQzCCAiugAwIBAgIGC5VN6ddVMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
 Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
 IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X
-DTA5MDgwNDIyMDczM1oXDTE3MTAyMTIyMDczM1owVDELMAkGA1UEBhMCTk4xMTAv
+DTEwMDUxMTE0MzUyM1oXDTE4MDcyODE0MzUyM1owVDELMAkGA1UEBhMCTk4xMTAv
 BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx
 EjAQBgNVBAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
-vmc7tOrAhbTDVsGkliM29cZ3qq3lwd3OwZqXB90WkOvwOLWVa6YPuXNOfYJXq1+1
-ulygSIyCd/1n2FNEYYalBhm/c1FoLhoKxQU5yj3Kg+0H/q63cx1g3aueDn4C82hC
-kyfIX8X6y6mEBi/zZr3efSmCV0fkqd+/i7zARjNae4cCAwEAAaOBizCBiDAWBgNV
+5UoYkqEYozdfEA+3fOM3Jgoha1NBSFhT5DhOi8AievbhJt97jHNe9olim0BN42e8
+R9ie6/OloFRpCuTYRT6O2Bd+OE8NNjmJZnA/XhDp8s+Cc00sWTfTTjAiVu8/nWwV
+iqc5hXNl4DGO4cvkoR683yaB1nJpjEZKCtTtAt17wPsCAwEAAaOBizCBiDAWBgNV
 HREEDzANggtsb2NhbGhvc3QAaDALBgNVHQ8EBAMCBSAwEwYDVR0lBAwwCgYIKwYB
-BQUHAwEwHQYDVR0OBBYEFAw3o9sPc7M4imnTbrOn1th3TtpnMB8GA1UdIwQYMBaA
-FBJrJNJKaLehsBzNv9ZMzEBbf+BAMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEF
-BQADggEBAIigF3d3v8GKGE6jlG5FGDH6L3sf7pUg0c1A3+7wRS7p5s/Id72FFtef
-GFJ4P+qchmJu25CwzfHBby2HSqC+s9xt5GvR2rkQJX41HxuqpwkvhHcnsEiobVRX
-ODUiNAMP1F2rHHIVsdmJVhAS+30NGBKpCjjck89p/3WGnuNr65JsVRbVZYvXnF5L
-gsiSbIvmGKL4jGWqtusj7cuZ2/yLjh16Ocn1e39Ye+0BbDxA7OOpX8Q9y4EXA20t
-170AX8R58vurxg6iAYuhQnPelik+v9fZUafUmAd/8PTNAKHhrGwFrKuTG7BcLBOt
-/yfcgJk0Zr3jMVTVtj/O1AijUihhXr0=
+BQUHAwEwHQYDVR0OBBYEFEs/4vWrqWuo+Cdcc8RnIWQKW327MB8GA1UdIwQYMBaA
+FGhcYa+dSDJEK9Yzl3F6sfo0yMqYMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEF
+BQADggEBAB5yYjnkxiDzGv9WnuhdPA2i8aXnDHLpqEw2uzjoeLUo0JnlHrpjh8Dl
+n0ySVQ4+PBuv6+NG0blibPWnR4v96o0MsWS+cw03Rpb5sc0yfT0orZtm8bRbCRBZ
+BfeuU66spitx7UAfzt71Q3t7KZRGKgVP+OUW7OkNHeEKCtmreIx0fKqrgi4cp/rD
+Fhk8QxCcqVJbyAmY7C1ohfCDW+mxoGGmoKmx91zAC9y6OXj4jQcI7xACrlWHKzCk
+hAiznqFlsIYi4PF+9TezOClBMH+nuDC+5rxZ3eofvY3icXwn8YgWYxFvraoJhK6n
+r+X1y9PrEAc7md0IDUj77NheQVI5Kas=
 -----END CERTIFICATE-----
diff --git a/tests/certs/Server-localhost0h-sv.csr b/tests/certs/Server-localhost0h-sv.csr
index a4fe98f..165446f 100644
--- a/tests/certs/Server-localhost0h-sv.csr
+++ b/tests/certs/Server-localhost0h-sv.csr
@@ -1,11 +1,11 @@
 -----BEGIN CERTIFICATE REQUEST-----
 MIIBkzCB/QIBADBUMQswCQYDVQQGEwJOTjExMC8GA1UECgwoRWRlbCBDdXJsIEFy
 Y3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDESMBAGA1UEAwwJbG9jYWxob3N0
-MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+Zzu06sCFtMNWwaSWIzb1xneq
-reXB3c7BmpcH3RaQ6/A4tZVrpg+5c059glerX7W6XKBIjIJ3/WfYU0RhhqUGGb9z
-UWguGgrFBTnKPcqD7Qf+rrdzHWDdq54OfgLzaEKTJ8hfxfrLqYQGL/Nmvd59KYJX
-R+Sp37+LvMBGM1p7hwIDAQABoAAwDQYJKoZIhvcNAQELBQADgYEAbQKEjIglh6El
-8gIh/qRbb5Z89LWPGFRrAIItgG33WVJd61pn4YjO/ugJOtYQYHwxRxUQVjfaGb17
-fTLXzgTu5WJowa7m2DPXgPbw4okUhu5m3Zdum6j5QMu2mfAbTnuS7U4UwLR9C8mV
-rKu+oBCYIgWWybVOoqssJAnjj4r/R/c=
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDlShiSoRijN18QD7d84zcmCiFr
+U0FIWFPkOE6LwCJ69uEm33uMc172iWKbQE3jZ7xH2J7r86WgVGkK5NhFPo7YF344
+Tw02OYlmcD9eEOnyz4JzTSxZN9NOMCJW7z+dbBWKpzmFc2XgMY7hy+ShHrzfJoHW
+cmmMRkoK1O0C3XvA+wIDAQABoAAwDQYJKoZIhvcNAQELBQADgYEAeMzkR4Gonsep
+iXYca2944c3SIzeinK9EBLZkapSFiuZs0bla9yahPu/GJJyM5uhtvB5PngSANt7v
+H1dyPFGkXwzPmQV2J08V3NTBnbsGUR7InDntNdR4bw/3UrCblEnyRYMsE1mNassu
+1YRwiYknni2iiIGum9HFiJZox90Vrlg=
 -----END CERTIFICATE REQUEST-----
diff --git a/tests/certs/Server-localhost0h-sv.der b/tests/certs/Server-localhost0h-sv.der
index b8e6f59..b7dbacb 100644
Binary files a/tests/certs/Server-localhost0h-sv.der and b/tests/certs/Server-localhost0h-sv.der differ
diff --git a/tests/certs/Server-localhost0h-sv.key b/tests/certs/Server-localhost0h-sv.key
index ca5cd3b..3e865da 100644
--- a/tests/certs/Server-localhost0h-sv.key
+++ b/tests/certs/Server-localhost0h-sv.key
@@ -1,15 +1,15 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQC+Zzu06sCFtMNWwaSWIzb1xneqreXB3c7BmpcH3RaQ6/A4tZVr
-pg+5c059glerX7W6XKBIjIJ3/WfYU0RhhqUGGb9zUWguGgrFBTnKPcqD7Qf+rrdz
-HWDdq54OfgLzaEKTJ8hfxfrLqYQGL/Nmvd59KYJXR+Sp37+LvMBGM1p7hwIDAQAB
-AoGAdpisqvrR4jZ+uaoyD0Zt9FajsQ9SHhg/sX3N9xrx9GDRpzELmhq8jqHQ0QKA
-AwHBmwwY1jeXCJAxv5/V5v1MCdamVSQbjkKBmmBrE/J70sZMqxkFbu0h9Bx8p4UB
-SWpKgZTF9R3ZKKZoGS6hlzvhJeAy1atApzVz9xVTSwAL/2kCQQDhPMREu8AtfxFI
-5BedSk2yIyW0EcO2WW5V5+bmekBgiAFc9iB7ulCuwBK7UQDIvYLfklxWc2CzuP50
-nLo32UNVAkEA2GiFdKJuP+32FfE3jK3CL3vTgZbd0ArbhJdBidHlJYr/EU6etxAr
-aYli1dP/qeiehNuhefqWHRlOUPkE6mv7awJAdpRuZB1QbONz7yMeh5Gh3AIDDI05
-s1vb6eBAQODl2axgw1dU/K63YXj/o5xexFB5gUjl0iHGLHhdhnko1NROTQJAMfQu
-mjXEbU1ouLftsrOJV5ylvgwtN5DKC1k+76lb08a6Ciyzxl4dJ0dnYSSGp5nivZhV
-Ner6K81jnp1c3R//8QJBAKe0fNhTAoOoE/YTeE4K4lpXvow2jMyhdBwyaZtHmcQ2
-z8UpojKrNQ87WISUDRqlIy2ze3RZCgCy0LBnxr66Whg=
+MIICXgIBAAKBgQDlShiSoRijN18QD7d84zcmCiFrU0FIWFPkOE6LwCJ69uEm33uM
+c172iWKbQE3jZ7xH2J7r86WgVGkK5NhFPo7YF344Tw02OYlmcD9eEOnyz4JzTSxZ
+N9NOMCJW7z+dbBWKpzmFc2XgMY7hy+ShHrzfJoHWcmmMRkoK1O0C3XvA+wIDAQAB
+AoGBAMBLgw4+Iv6Haqd6tuT7Xf3+EwcCnMaCpWDKRD16FrDPqgZC+UfSXjse/166
+8FeeYU5UAvxZq3cqM6paQHLaQ0qrBJel7YlG3PtFtgA99mRoTN+5mGlxPjQh/xlm
+G2o915TTRuJsfBhBPx7Yez8I7hv/DKV9hlrSN71VV7EfrAaJAkEA9eIcoPNOe9ct
+LUD0qxQtD4XiNVT0N31l78PhxL6ETZBfjaLWD9Qj/iu/wbxufEq/oTJwMkj5eoZ+
+3pD3xgi+tQJBAO65M5hHc6RPha1QOCqSi+TJHP+QnvVauxgk6QP44MYqM2aNrucf
+fPidagCu0PeEgxGN9XbJK6PBpgMp06Pmnu8CQQC9qI56m5HjNkOTj3Hp8CMdwSCO
+EJxbnO8e9RHVRzsX9Q+vWXYSOYkVybscffMfDi0n8pbWQrGkj8+Wb22fJCmtAkAt
+A9NM1bxisXQdmFDfBj9G5v2G23h9/5vkE6G01AtekrqajgD7KB7iqpxAgLZ61gv5
+FXHB8nE+MdfiJNL5xxUVAkEAtAdkZmgjwCMmkNR4T9vlqHpHxCgn+51gc4u7f5Iv
+DsT2oDiWsTbcKnuMPy7L0rZX1Ia6Fj3UKe19JMd+kji0PQ==
 -----END RSA PRIVATE KEY-----
diff --git a/tests/certs/Server-localhost0h-sv.pem b/tests/certs/Server-localhost0h-sv.pem
index 0a5a092..fe79efd 100644
--- a/tests/certs/Server-localhost0h-sv.pem
+++ b/tests/certs/Server-localhost0h-sv.pem
@@ -25,33 +25,33 @@ commonName_value              = localhost
 # the certificate
 # some dhparam
 -----BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQC+Zzu06sCFtMNWwaSWIzb1xneqreXB3c7BmpcH3RaQ6/A4tZVr
-pg+5c059glerX7W6XKBIjIJ3/WfYU0RhhqUGGb9zUWguGgrFBTnKPcqD7Qf+rrdz
-HWDdq54OfgLzaEKTJ8hfxfrLqYQGL/Nmvd59KYJXR+Sp37+LvMBGM1p7hwIDAQAB
-AoGAdpisqvrR4jZ+uaoyD0Zt9FajsQ9SHhg/sX3N9xrx9GDRpzELmhq8jqHQ0QKA
-AwHBmwwY1jeXCJAxv5/V5v1MCdamVSQbjkKBmmBrE/J70sZMqxkFbu0h9Bx8p4UB
-SWpKgZTF9R3ZKKZoGS6hlzvhJeAy1atApzVz9xVTSwAL/2kCQQDhPMREu8AtfxFI
-5BedSk2yIyW0EcO2WW5V5+bmekBgiAFc9iB7ulCuwBK7UQDIvYLfklxWc2CzuP50
-nLo32UNVAkEA2GiFdKJuP+32FfE3jK3CL3vTgZbd0ArbhJdBidHlJYr/EU6etxAr
-aYli1dP/qeiehNuhefqWHRlOUPkE6mv7awJAdpRuZB1QbONz7yMeh5Gh3AIDDI05
-s1vb6eBAQODl2axgw1dU/K63YXj/o5xexFB5gUjl0iHGLHhdhnko1NROTQJAMfQu
-mjXEbU1ouLftsrOJV5ylvgwtN5DKC1k+76lb08a6Ciyzxl4dJ0dnYSSGp5nivZhV
-Ner6K81jnp1c3R//8QJBAKe0fNhTAoOoE/YTeE4K4lpXvow2jMyhdBwyaZtHmcQ2
-z8UpojKrNQ87WISUDRqlIy2ze3RZCgCy0LBnxr66Whg=
+MIICXgIBAAKBgQDlShiSoRijN18QD7d84zcmCiFrU0FIWFPkOE6LwCJ69uEm33uM
+c172iWKbQE3jZ7xH2J7r86WgVGkK5NhFPo7YF344Tw02OYlmcD9eEOnyz4JzTSxZ
+N9NOMCJW7z+dbBWKpzmFc2XgMY7hy+ShHrzfJoHWcmmMRkoK1O0C3XvA+wIDAQAB
+AoGBAMBLgw4+Iv6Haqd6tuT7Xf3+EwcCnMaCpWDKRD16FrDPqgZC+UfSXjse/166
+8FeeYU5UAvxZq3cqM6paQHLaQ0qrBJel7YlG3PtFtgA99mRoTN+5mGlxPjQh/xlm
+G2o915TTRuJsfBhBPx7Yez8I7hv/DKV9hlrSN71VV7EfrAaJAkEA9eIcoPNOe9ct
+LUD0qxQtD4XiNVT0N31l78PhxL6ETZBfjaLWD9Qj/iu/wbxufEq/oTJwMkj5eoZ+
+3pD3xgi+tQJBAO65M5hHc6RPha1QOCqSi+TJHP+QnvVauxgk6QP44MYqM2aNrucf
+fPidagCu0PeEgxGN9XbJK6PBpgMp06Pmnu8CQQC9qI56m5HjNkOTj3Hp8CMdwSCO
+EJxbnO8e9RHVRzsX9Q+vWXYSOYkVybscffMfDi0n8pbWQrGkj8+Wb22fJCmtAkAt
+A9NM1bxisXQdmFDfBj9G5v2G23h9/5vkE6G01AtekrqajgD7KB7iqpxAgLZ61gv5
+FXHB8nE+MdfiJNL5xxUVAkEAtAdkZmgjwCMmkNR4T9vlqHpHxCgn+51gc4u7f5Iv
+DsT2oDiWsTbcKnuMPy7L0rZX1Ia6Fj3UKe19JMd+kji0PQ==
 -----END RSA PRIVATE KEY-----
 Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            0b:5d:0a:87:0d:09
+            0b:95:4d:e9:d7:55
         Signature Algorithm: sha1WithRSAEncryption
         Issuer:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
             commonName                = Nothern Nowhere Trust Anchor
         Validity
-            Not Before: Aug  4 22:07:33 2009 GMT
-            Not After : Oct 21 22:07:33 2017 GMT
+            Not Before: May 11 14:35:23 2010 GMT
+            Not After : Jul 28 14:35:23 2018 GMT
         Subject:
             countryName               = NN
             organizationName          = Edel Curl Arctic Illudium Research Cloud
@@ -60,15 +60,15 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (1024 bit)
                 Modulus:
-                    00:be:67:3b:b4:ea:c0:85:b4:c3:56:c1:a4:96:23:
-                    36:f5:c6:77:aa:ad:e5:c1:dd:ce:c1:9a:97:07:dd:
-                    16:90:eb:f0:38:b5:95:6b:a6:0f:b9:73:4e:7d:82:
-                    57:ab:5f:b5:ba:5c:a0:48:8c:82:77:fd:67:d8:53:
-                    44:61:86:a5:06:19:bf:73:51:68:2e:1a:0a:c5:05:
-                    39:ca:3d:ca:83:ed:07:fe:ae:b7:73:1d:60:dd:ab:
-                    9e:0e:7e:02:f3:68:42:93:27:c8:5f:c5:fa:cb:a9:
-                    84:06:2f:f3:66:bd:de:7d:29:82:57:47:e4:a9:df:
-                    bf:8b:bc:c0:46:33:5a:7b:87
+                    00:e5:4a:18:92:a1:18:a3:37:5f:10:0f:b7:7c:e3:
+                    37:26:0a:21:6b:53:41:48:58:53:e4:38:4e:8b:c0:
+                    22:7a:f6:e1:26:df:7b:8c:73:5e:f6:89:62:9b:40:
+                    4d:e3:67:bc:47:d8:9e:eb:f3:a5:a0:54:69:0a:e4:
+                    d8:45:3e:8e:d8:17:7e:38:4f:0d:36:39:89:66:70:
+                    3f:5e:10:e9:f2:cf:82:73:4d:2c:59:37:d3:4e:30:
+                    22:56:ef:3f:9d:6c:15:8a:a7:39:85:73:65:e0:31:
+                    8e:e1:cb:e4:a1:1e:bc:df:26:81:d6:72:69:8c:46:
+                    4a:0a:d4:ed:02:dd:7b:c0:fb
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Alternative Name: 
@@ -78,47 +78,47 @@ Certificate:
             X509v3 Extended Key Usage: 
                 TLS Web Server Authentication
             X509v3 Subject Key Identifier: 
-                0C:37:A3:DB:0F:73:B3:38:8A:69:D3:6E:B3:A7:D6:D8:77:4E:DA:67
+                4B:3F:E2:F5:AB:A9:6B:A8:F8:27:5C:73:C4:67:21:64:0A:5B:7D:BB
             X509v3 Authority Key Identifier: 
-                keyid:12:6B:24:D2:4A:68:B7:A1:B0:1C:CD:BF:D6:4C:CC:40:5B:7F:E0:40
+                keyid:68:5C:61:AF:9D:48:32:44:2B:D6:33:97:71:7A:B1:FA:34:C8:CA:98
 
             X509v3 Basic Constraints: critical
                 CA:FALSE
     Signature Algorithm: sha1WithRSAEncryption
-        88:a0:17:77:77:bf:c1:8a:18:4e:a3:94:6e:45:18:31:fa:2f:
-        7b:1f:ee:95:20:d1:cd:40:df:ee:f0:45:2e:e9:e6:cf:c8:77:
-        bd:85:16:d7:9f:18:52:78:3f:ea:9c:86:62:6e:db:90:b0:cd:
-        f1:c1:6f:2d:87:4a:a0:be:b3:dc:6d:e4:6b:d1:da:b9:10:25:
-        7e:35:1f:1b:aa:a7:09:2f:84:77:27:b0:48:a8:6d:54:57:38:
-        35:22:34:03:0f:d4:5d:ab:1c:72:15:b1:d9:89:56:10:12:fb:
-        7d:0d:18:12:a9:0a:38:dc:93:cf:69:ff:75:86:9e:e3:6b:eb:
-        92:6c:55:16:d5:65:8b:d7:9c:5e:4b:82:c8:92:6c:8b:e6:18:
-        a2:f8:8c:65:aa:b6:eb:23:ed:cb:99:db:fc:8b:8e:1d:7a:39:
-        c9:f5:7b:7f:58:7b:ed:01:6c:3c:40:ec:e3:a9:5f:c4:3d:cb:
-        81:17:03:6d:2d:d7:bd:00:5f:c4:79:f2:fb:ab:c6:0e:a2:01:
-        8b:a1:42:73:de:96:29:3e:bf:d7:d9:51:a7:d4:98:07:7f:f0:
-        f4:cd:00:a1:e1:ac:6c:05:ac:ab:93:1b:b0:5c:2c:13:ad:ff:
-        27:dc:80:99:34:66:bd:e3:31:54:d5:b6:3f:ce:d4:08:a3:52:
-        28:61:5e:bd
+        1e:72:62:39:e4:c6:20:f3:1a:ff:56:9e:e8:5d:3c:0d:a2:f1:
+        a5:e7:0c:72:e9:a8:4c:36:bb:38:e8:78:b5:28:d0:99:e5:1e:
+        ba:63:87:c0:e5:9f:4c:92:55:0e:3e:3c:1b:af:eb:e3:46:d1:
+        b9:62:6c:f5:a7:47:8b:fd:ea:8d:0c:b1:64:be:73:0d:37:46:
+        96:f9:b1:cd:32:7d:3d:28:ad:9b:66:f1:b4:5b:09:10:59:05:
+        f7:ae:53:ae:ac:a6:2b:71:ed:40:1f:ce:de:f5:43:7b:7b:29:
+        94:46:2a:05:4f:f8:e5:16:ec:e9:0d:1d:e1:0a:0a:d9:ab:78:
+        8c:74:7c:aa:ab:82:2e:1c:a7:fa:c3:16:19:3c:43:10:9c:a9:
+        52:5b:c8:09:98:ec:2d:68:85:f0:83:5b:e9:b1:a0:61:a6:a0:
+        a9:b1:f7:5c:c0:0b:dc:ba:39:78:f8:8d:07:08:ef:10:02:ae:
+        55:87:2b:30:a4:84:08:b3:9e:a1:65:b0:86:22:e0:f1:7e:f5:
+        37:b3:38:29:41:30:7f:a7:b8:30:be:e6:bc:59:dd:ea:1f:bd:
+        8d:e2:71:7c:27:f1:88:16:63:11:6f:ad:aa:09:84:ae:a7:af:
+        e5:f5:cb:d3:eb:10:07:3b:99:dd:08:0d:48:fb:ec:d8:5e:41:
+        52:39:29:ab
 -----BEGIN CERTIFICATE-----
-MIIDQzCCAiugAwIBAgIGC10Khw0JMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
+MIIDQzCCAiugAwIBAgIGC5VN6ddVMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNVBAYT
 Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
 IENsb3VkMSUwIwYDVQQDDBxOb3RoZXJuIE5vd2hlcmUgVHJ1c3QgQW5jaG9yMB4X
-DTA5MDgwNDIyMDczM1oXDTE3MTAyMTIyMDczM1owVDELMAkGA1UEBhMCTk4xMTAv
+DTEwMDUxMTE0MzUyM1oXDTE4MDcyODE0MzUyM1owVDELMAkGA1UEBhMCTk4xMTAv
 BgNVBAoMKEVkZWwgQ3VybCBBcmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQx
 EjAQBgNVBAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
-vmc7tOrAhbTDVsGkliM29cZ3qq3lwd3OwZqXB90WkOvwOLWVa6YPuXNOfYJXq1+1
-ulygSIyCd/1n2FNEYYalBhm/c1FoLhoKxQU5yj3Kg+0H/q63cx1g3aueDn4C82hC
-kyfIX8X6y6mEBi/zZr3efSmCV0fkqd+/i7zARjNae4cCAwEAAaOBizCBiDAWBgNV
+5UoYkqEYozdfEA+3fOM3Jgoha1NBSFhT5DhOi8AievbhJt97jHNe9olim0BN42e8
+R9ie6/OloFRpCuTYRT6O2Bd+OE8NNjmJZnA/XhDp8s+Cc00sWTfTTjAiVu8/nWwV
+iqc5hXNl4DGO4cvkoR683yaB1nJpjEZKCtTtAt17wPsCAwEAAaOBizCBiDAWBgNV
 HREEDzANggtsb2NhbGhvc3QAaDALBgNVHQ8EBAMCBSAwEwYDVR0lBAwwCgYIKwYB
-BQUHAwEwHQYDVR0OBBYEFAw3o9sPc7M4imnTbrOn1th3TtpnMB8GA1UdIwQYMBaA
-FBJrJNJKaLehsBzNv9ZMzEBbf+BAMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEF
-BQADggEBAIigF3d3v8GKGE6jlG5FGDH6L3sf7pUg0c1A3+7wRS7p5s/Id72FFtef
-GFJ4P+qchmJu25CwzfHBby2HSqC+s9xt5GvR2rkQJX41HxuqpwkvhHcnsEiobVRX
-ODUiNAMP1F2rHHIVsdmJVhAS+30NGBKpCjjck89p/3WGnuNr65JsVRbVZYvXnF5L
-gsiSbIvmGKL4jGWqtusj7cuZ2/yLjh16Ocn1e39Ye+0BbDxA7OOpX8Q9y4EXA20t
-170AX8R58vurxg6iAYuhQnPelik+v9fZUafUmAd/8PTNAKHhrGwFrKuTG7BcLBOt
-/yfcgJk0Zr3jMVTVtj/O1AijUihhXr0=
+BQUHAwEwHQYDVR0OBBYEFEs/4vWrqWuo+Cdcc8RnIWQKW327MB8GA1UdIwQYMBaA
+FGhcYa+dSDJEK9Yzl3F6sfo0yMqYMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEF
+BQADggEBAB5yYjnkxiDzGv9WnuhdPA2i8aXnDHLpqEw2uzjoeLUo0JnlHrpjh8Dl
+n0ySVQ4+PBuv6+NG0blibPWnR4v96o0MsWS+cw03Rpb5sc0yfT0orZtm8bRbCRBZ
+BfeuU66spitx7UAfzt71Q3t7KZRGKgVP+OUW7OkNHeEKCtmreIx0fKqrgi4cp/rD
+Fhk8QxCcqVJbyAmY7C1ohfCDW+mxoGGmoKmx91zAC9y6OXj4jQcI7xACrlWHKzCk
+hAiznqFlsIYi4PF+9TezOClBMH+nuDC+5rxZ3eofvY3icXwn8YgWYxFvraoJhK6n
+r+X1y9PrEAc7md0IDUj77NheQVI5Kas=
 -----END CERTIFICATE-----
 -----BEGIN DH PARAMETERS-----
 MIGHAoGBAL/3hRxvWX+Mdyu/aBPU1JeeA5sg4nXtA7B24eCql9Tq53Lks1/HJ5B+
diff --git a/tests/certs/scripts/genserv.sh b/tests/certs/scripts/genserv.sh
index 61145d8..a7876e7 100755
--- a/tests/certs/scripts/genserv.sh
+++ b/tests/certs/scripts/genserv.sh
@@ -39,7 +39,7 @@ if [ ".$CAPREFIX" = . ] ; then
 	NOTOK=1
 else
     if [ ! -f $CAPREFIX-ca.cacert ] ; then
-	echo No CA certficate file $PREFIX-ca.caert
+	echo No CA certficate file $CAPREFIX-ca.caert
 	NOTOK=1
     fi
     if [ ! -f $CAPREFIX-ca.key ] ; then
@@ -92,6 +92,16 @@ fi
 echo "openssl x509 -noout -text -hash -in $PREFIX-sv.selfcert -nameopt multiline"
 $OPENSSL x509 -noout -text -hash -in $PREFIX-sv.crt -nameopt multiline
 
+# revoke server cert
+touch $CAPREFIX-ca.db
+echo 01 > $CAPREFIX-ca.cnt
+echo "openssl ca -config $CAPREFIX-ca.cnf -revoke $PREFIX-sv.crt"
+$OPENSSL ca -config $CAPREFIX-ca.cnf -revoke $PREFIX-sv.crt
+
+# issue CRL
+echo "openssl ca -config $CAPREFIX-ca.cnf -gencrl -out $PREFIX-sv.crl"
+$OPENSSL ca -config $CAPREFIX-ca.cnf -gencrl -out $PREFIX-sv.crl
+
 echo "openssl x509 -in $PREFIX-sv.crt -outform der -out $PREFIX-sv.der "
 $OPENSSL x509 -in $PREFIX-sv.crt -outform der -out $PREFIX-sv.der
 read
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 6f2c090..66ada48 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -65,7 +65,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46	   \
  test564 test1101 test1102 test1103 test1104 test299 test310 test311       \
  test312 test1105 test565 test800 test1106 test801 test566 test802 test803 \
  test1107 test1108 test1109 test1110 test1111 test1112 test129 test567     \
- test568 test569 test570 test571 test804 test572
+ test568 test569 test570 test571 test804 test572 test313
 
 filecheck:
 	@mkdir test-place; \
diff --git a/tests/data/test313 b/tests/data/test313
new file mode 100644
index 0000000..c54495a
--- /dev/null
+++ b/tests/data/test313
@@ -0,0 +1,39 @@
+<testcase>
+<info>
+<keywords>
+HTTPS
+HTTP GET
+PEM certificate
+CRL
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<features>
+SSL
+</features>
+<server>
+https Server-localhost-sv.pem
+</server>
+ <name>
+CRL test
+ </name>
+ <command>
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt --crlfile %SRCDIR/certs/Server-localhost-sv.crl https://localhost:%HTTPSPORT/313
+</command>
+# Ensure that we're running on localhost because we're checking the host name
+<precheck>
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+</precheck>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+60
+</errorcode>
+</verify>
+</testcase>

curl-7.20.1-crl.patch:
 CHANGES   |    4 +
 lib/nss.c |  151 ++++++++++++++++++++++++++++++++++----------------------------
 2 files changed, 87 insertions(+), 68 deletions(-)

--- NEW FILE curl-7.20.1-crl.patch ---
 CHANGES   |    4 ++
 lib/nss.c |  151 +++++++++++++++++++++++++++++++++---------------------------
 2 files changed, 87 insertions(+), 68 deletions(-)

diff --git a/CHANGES b/CHANGES
index 7433364..7928690 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
 
                                   Changelog
 
+Kamil Dudka (11 May 2010)
+- CRL support in libcurl-NSS has been completely broken. Now it works. Original
+  bug report: https://bugzilla.redhat.com/581926
+
 Kamil Dudka (24 Apr 2010)
 - Fixed test536 in order to not fail with threaded DNS resolver and tweaked
   comments in certain examples using curl_multi_fdset().
diff --git a/lib/nss.c b/lib/nss.c
index addb94b..5e94d31 100644
--- a/lib/nss.c
+++ b/lib/nss.c
@@ -63,6 +63,7 @@
 #include <secport.h>
 #include <certdb.h>
 #include <base64.h>
+#include <cert.h>
 
 #include "curl_memory.h"
 #include "rawstr.h"
@@ -79,6 +80,7 @@
 PRFileDesc *PR_ImportTCPSocket(PRInt32 osfd);
 
 PRLock * nss_initlock = NULL;
+PRLock * nss_crllock = NULL;
 
 volatile int initialized = 0;
 
@@ -411,78 +413,90 @@ static int nss_load_cert(struct ssl_connect_data *ssl,
   return 1;
 }
 
-static int nss_load_crl(const char* crlfilename, PRBool ascii)
+/* add given CRL to cache if it is not already there */
+static SECStatus nss_cache_crl(SECItem *crlDER)
 {
-  PRFileDesc *infile;
-  PRStatus    prstat;
-  PRFileInfo  info;
-  PRInt32     nb;
-  int rv;
-  SECItem crlDER;
-  CERTSignedCrl *crl=NULL;
-  PK11SlotInfo *slot=NULL;
-
-  infile = PR_Open(crlfilename,PR_RDONLY,0);
-  if (!infile) {
-    return 0;
+  CERTCertDBHandle *db = CERT_GetDefaultCertDB();
+  CERTSignedCrl *crl = SEC_FindCrlByDERCert(db, crlDER, 0);
+  if(crl) {
+    /* CRL already cached */
+    SEC_DestroyCrl(crl);
+    SECITEM_FreeItem(crlDER, PR_FALSE);
+    return SECSuccess;
   }
-  crlDER.data = NULL;
-  prstat = PR_GetOpenFileInfo(infile,&info);
-  if (prstat!=PR_SUCCESS)
-    return 0;
-  if (ascii) {
-    SECItem filedata;
-    char *asc,*body;
-    filedata.data = NULL;
-    if (!SECITEM_AllocItem(NULL,&filedata,info.size))
-      return 0;
-    nb = PR_Read(infile,filedata.data,info.size);
-    if (nb!=info.size)
-      return 0;
-    asc = (char*)filedata.data;
-    if (!asc)
-      return 0;
 
-    body=strstr(asc,"-----BEGIN");
-    if (body != NULL) {
-      char *trailer=NULL;
-      asc = body;
-      body = PORT_Strchr(asc,'\n');
-      if (!body)
-        body = PORT_Strchr(asc,'\r');
-      if (body)
-        trailer = strstr(++body,"-----END");
-      if (trailer!=NULL)
-        *trailer='\0';
-      else
-        return 0;
-    }
-    else {
-      body = asc;
-    }
-    rv = ATOB_ConvertAsciiToItem(&crlDER,body);
-    PORT_Free(filedata.data);
-    if (rv)
-      return 0;
+  /* acquire lock before call of CERT_CacheCRL() */
+  PR_Lock(nss_crllock);
+  if(SECSuccess != CERT_CacheCRL(db, crlDER)) {
+    /* unable to cache CRL */
+    PR_Unlock(nss_crllock);
+    SECITEM_FreeItem(crlDER, PR_FALSE);
+    return SECFailure;
   }
-  else {
-    if (!SECITEM_AllocItem(NULL,&crlDER,info.size))
-      return 0;
-    nb = PR_Read(infile,crlDER.data,info.size);
-    if (nb!=info.size)
-      return 0;
+
+  /* we need to clear session cache, so that the CRL could take effect */
+  SSL_ClearSessionCache();
+  PR_Unlock(nss_crllock);
+  return SECSuccess;
+}
+
+static SECStatus nss_load_crl(const char* crlfilename)
+{
+  PRFileDesc *infile;
+  PRFileInfo  info;
+  SECItem filedata = { 0, NULL, 0 };
+  SECItem crlDER = { 0, NULL, 0 };
+  char *body;
+
+  infile = PR_Open(crlfilename, PR_RDONLY, 0);
+  if(!infile)
+    return SECFailure;
+
+  if(PR_SUCCESS != PR_GetOpenFileInfo(infile, &info))
+    goto fail;
+
+  if(!SECITEM_AllocItem(NULL, &filedata, info.size + /* zero ended */ 1))
+    goto fail;
+
+  if(info.size != PR_Read(infile, filedata.data, info.size))
+    goto fail;
+
+  /* place a trailing zero right after the visible data */
+  body = (char*)filedata.data;
+  body[--filedata.len] = '\0';
+
+  body = strstr(body, "-----BEGIN");
+  if(body) {
+    /* assume ASCII */
+    char *trailer;
+    char *begin = PORT_Strchr(body, '\n');
+    if(!begin)
+      begin = PORT_Strchr(body, '\r');
+    if(!begin)
+      goto fail;
+
+    trailer = strstr(++begin, "-----END");
+    if(!trailer)
+      goto fail;
+
+    /* retrieve DER from ASCII */
+    *trailer = '\0';
+    if(ATOB_ConvertAsciiToItem(&crlDER, begin))
+      goto fail;
+
+    SECITEM_FreeItem(&filedata, PR_FALSE);
   }
+  else
+    /* assume DER */
+    crlDER = filedata;
 
-  slot = PK11_GetInternalKeySlot();
-  crl  = PK11_ImportCRL(slot,&crlDER,
-                        NULL,SEC_CRL_TYPE,
-                        NULL,CRL_IMPORT_DEFAULT_OPTIONS,
-                        NULL,(CRL_DECODE_DEFAULT_OPTIONS|
-                              CRL_DECODE_DONT_COPY_DER));
-  if (slot) PK11_FreeSlot(slot);
-  if (!crl) return 0;
-  SEC_DestroyCrl(crl);
-  return 1;
+  PR_Close(infile);
+  return nss_cache_crl(&crlDER);
+
+fail:
+  PR_Close(infile);
+  SECITEM_FreeItem(&filedata, PR_FALSE);
+  return SECFailure;
 }
 
 static int nss_load_key(struct connectdata *conn, int sockindex,
@@ -889,6 +903,7 @@ int Curl_nss_init(void)
   if (nss_initlock == NULL) {
     PR_Init(PR_USER_THREAD, PR_PRIORITY_NORMAL, 256);
     nss_initlock = PR_NewLock();
+    nss_crllock = PR_NewLock();
   }
 
   /* We will actually initialize NSS later */
@@ -918,6 +933,7 @@ void Curl_nss_cleanup(void)
   PR_Unlock(nss_initlock);
 
   PR_DestroyLock(nss_initlock);
+  PR_DestroyLock(nss_crllock);
   nss_initlock = NULL;
 
   initialized = 0;
@@ -1244,8 +1260,7 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex)
         data->set.ssl.CApath ? data->set.ssl.CApath : "none");
 
   if (data->set.ssl.CRLfile) {
-    int rc = nss_load_crl(data->set.ssl.CRLfile, PR_FALSE);
-    if (!rc) {
+    if(SECSuccess != nss_load_crl(data->set.ssl.CRLfile)) {
       curlerr = CURLE_SSL_CRL_BADFILE;
       goto error;
     }

curl-7.20.1-d487ade.patch:
 CHANGES                             |    4 ++++
 docs/examples/fopen.c               |    8 +++++---
 docs/examples/multi-app.c           |    8 +++++---
 docs/examples/multi-debugcallback.c |    8 +++++---
 docs/examples/multi-double.c        |    8 +++++---
 docs/examples/multi-post.c          |    8 +++++---
 docs/examples/multi-single.c        |    8 +++++---
 tests/libtest/lib536.c              |   16 ++++++++++++----
 8 files changed, 46 insertions(+), 22 deletions(-)

--- NEW FILE curl-7.20.1-d487ade.patch ---
>From d487ade72c5f31703ce097e8460e0225fad80348 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka at redhat.com>
Date: Sat, 24 Apr 2010 12:14:21 +0200
Subject: [PATCH] test536: do not fail with threaded DNS resolver

Also tweaked comments in certain examples using curl_multi_fdset().
---
 CHANGES                             |    4 ++++
 docs/examples/fopen.c               |    8 +++++---
 docs/examples/multi-app.c           |    8 +++++---
 docs/examples/multi-debugcallback.c |    8 +++++---
 docs/examples/multi-double.c        |    8 +++++---
 docs/examples/multi-post.c          |    8 +++++---
 docs/examples/multi-single.c        |    8 +++++---
 tests/libtest/lib536.c              |   16 ++++++++++++----
 8 files changed, 46 insertions(+), 22 deletions(-)

diff --git a/CHANGES b/CHANGES
index 9ae615a..99f04a5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
 
                                   Changelog
 
+Kamil Dudka (24 Apr 2010)
+- Fixed test536 in order to not fail with threaded DNS resolver and tweaked
+  comments in certain examples using curl_multi_fdset().
+
 Version 7.20.1 (14 April 2010)
 
 Daniel Stenberg (9 Apr 2010)
diff --git a/docs/examples/fopen.c b/docs/examples/fopen.c
index e3814e6..35e24b1 100644
--- a/docs/examples/fopen.c
+++ b/docs/examples/fopen.c
@@ -131,7 +131,6 @@ fill_buffer(URL_FILE *file,int want,int waittime)
     fd_set fdread;
     fd_set fdwrite;
     fd_set fdexcep;
-    int maxfd;
     struct timeval timeout;
     int rc;
 
@@ -144,6 +143,7 @@ fill_buffer(URL_FILE *file,int want,int waittime)
     /* attempt to fill buffer */
     do
     {
+        int maxfd = -1;
         FD_ZERO(&fdread);
         FD_ZERO(&fdwrite);
         FD_ZERO(&fdexcep);
@@ -156,8 +156,10 @@ fill_buffer(URL_FILE *file,int want,int waittime)
         curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
         /* In a real-world program you OF COURSE check the return code of the
-           function calls, *and* you make sure that maxfd is bigger than -1
-           so that the call to select() below makes sense! */
+           function calls.  On success, the value of maxfd is guaranteed to be
+           greater or equal than -1.  We call select(maxfd + 1, ...), specially
+           in case of (maxfd == -1), we call select(0, ...), which is basically
+           equal to sleep. */
 
         rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
 
diff --git a/docs/examples/multi-app.c b/docs/examples/multi-app.c
index a86dd0e..38b50cd 100644
--- a/docs/examples/multi-app.c
+++ b/docs/examples/multi-app.c
@@ -66,7 +66,7 @@ int main(int argc, char **argv)
     fd_set fdread;
     fd_set fdwrite;
     fd_set fdexcep;
-    int maxfd;
+    int maxfd = -1;
 
     FD_ZERO(&fdread);
     FD_ZERO(&fdwrite);
@@ -80,8 +80,10 @@ int main(int argc, char **argv)
     curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
     /* In a real-world program you OF COURSE check the return code of the
-       function calls, *and* you make sure that maxfd is bigger than -1 so
-       that the call to select() below makes sense! */
+       function calls.  On success, the value of maxfd is guaranteed to be
+       greater or equal than -1.  We call select(maxfd + 1, ...), specially in
+       case of (maxfd == -1), we call select(0, ...), which is basically equal
+       to sleep. */
 
     rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
 
diff --git a/docs/examples/multi-debugcallback.c b/docs/examples/multi-debugcallback.c
index b10b47c..8e964c6 100644
--- a/docs/examples/multi-debugcallback.c
+++ b/docs/examples/multi-debugcallback.c
@@ -140,7 +140,7 @@ int main(int argc, char **argv)
     fd_set fdread;
     fd_set fdwrite;
     fd_set fdexcep;
-    int maxfd;
+    int maxfd = -1;
 
     FD_ZERO(&fdread);
     FD_ZERO(&fdwrite);
@@ -154,8 +154,10 @@ int main(int argc, char **argv)
     curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
     /* In a real-world program you OF COURSE check the return code of the
-       function calls, *and* you make sure that maxfd is bigger than -1
-       so that the call to select() below makes sense! */
+       function calls.  On success, the value of maxfd is guaranteed to be
+       greater or equal than -1.  We call select(maxfd + 1, ...), specially in
+       case of (maxfd == -1), we call select(0, ...), which is basically equal
+       to sleep. */
 
     rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
 
diff --git a/docs/examples/multi-double.c b/docs/examples/multi-double.c
index ef3bf92..bc5b446 100644
--- a/docs/examples/multi-double.c
+++ b/docs/examples/multi-double.c
@@ -57,7 +57,7 @@ int main(int argc, char **argv)
     fd_set fdread;
     fd_set fdwrite;
     fd_set fdexcep;
-    int maxfd;
+    int maxfd = -1;
 
     FD_ZERO(&fdread);
     FD_ZERO(&fdwrite);
@@ -71,8 +71,10 @@ int main(int argc, char **argv)
     curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
     /* In a real-world program you OF COURSE check the return code of the
-       function calls, *and* you make sure that maxfd is bigger than -1 so
-       that the call to select() below makes sense! */
+       function calls.  On success, the value of maxfd is guaranteed to be
+       greater or equal than -1.  We call select(maxfd + 1, ...), specially in
+       case of (maxfd == -1), we call select(0, ...), which is basically equal
+       to sleep. */
 
     rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
 
diff --git a/docs/examples/multi-post.c b/docs/examples/multi-post.c
index 229e843..0d3f78e 100644
--- a/docs/examples/multi-post.c
+++ b/docs/examples/multi-post.c
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
       fd_set fdread;
       fd_set fdwrite;
       fd_set fdexcep;
-      int maxfd;
+      int maxfd = -1;
 
       FD_ZERO(&fdread);
       FD_ZERO(&fdwrite);
@@ -91,8 +91,10 @@ int main(int argc, char *argv[])
       curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
       /* In a real-world program you OF COURSE check the return code of the
-         function calls, *and* you make sure that maxfd is bigger than -1
-         so that the call to select() below makes sense! */
+         function calls.  On success, the value of maxfd is guaranteed to be
+         greater or equal than -1.  We call select(maxfd + 1, ...), specially in
+         case of (maxfd == -1), we call select(0, ...), which is basically equal
+         to sleep. */
 
       rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
 
diff --git a/docs/examples/multi-single.c b/docs/examples/multi-single.c
index 3e236f3..cba4f32 100644
--- a/docs/examples/multi-single.c
+++ b/docs/examples/multi-single.c
@@ -51,7 +51,7 @@ int main(int argc, char **argv)
     fd_set fdread;
     fd_set fdwrite;
     fd_set fdexcep;
-    int maxfd;
+    int maxfd = -1;
 
     FD_ZERO(&fdread);
     FD_ZERO(&fdwrite);
@@ -65,8 +65,10 @@ int main(int argc, char **argv)
     curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
     /* In a real-world program you OF COURSE check the return code of the
-       function calls, *and* you make sure that maxfd is bigger than -1 so
-       that the call to select() below makes sense! */
+       function calls.  On success, the value of maxfd is guaranteed to be
+       greater or equal than -1.  We call select(maxfd + 1, ...), specially in
+       case of (maxfd == -1), we call select(0, ...), which is basically equal
+       to sleep. */
 
     rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
 
diff --git a/tests/libtest/lib536.c b/tests/libtest/lib536.c
index 04bc696..e0c19f6 100644
--- a/tests/libtest/lib536.c
+++ b/tests/libtest/lib536.c
@@ -21,7 +21,7 @@
 
 static CURLMcode perform(CURLM * multi)
 {
-  int handles, maxfd;
+  int handles;
   CURLMcode code;
   fd_set fdread, fdwrite, fdexcep;
   struct timeval mp_start;
@@ -31,6 +31,9 @@ static CURLMcode perform(CURLM * multi)
   mp_start = tutil_tvnow();
 
   for (;;) {
+    static struct timeval timeout = /* 100 ms */ { 0, 100000L };
+    int maxfd = -1;
+
     code = curl_multi_perform(multi, &handles);
     if (tutil_tvdiff(tutil_tvnow(), mp_start) >
         MULTI_PERFORM_HANG_TIMEOUT) {
@@ -53,9 +56,14 @@ static CURLMcode perform(CURLM * multi)
     FD_ZERO(&fdwrite);
     FD_ZERO(&fdexcep);
     curl_multi_fdset(multi, &fdread, &fdwrite, &fdexcep, &maxfd);
-    if (maxfd < 0)
-      return (CURLMcode) ~CURLM_OK;
-    if (select(maxfd + 1, &fdread, &fdwrite, &fdexcep, 0) == -1)
+
+    /* In a real-world program you OF COURSE check the return code of the
+       function calls.  On success, the value of maxfd is guaranteed to be
+       greater or equal than -1.  We call select(maxfd + 1, ...), specially in
+       case of (maxfd == -1), we call select(0, ...), which is basically equal
+       to sleep. */
+
+    if (select(maxfd + 1, &fdread, &fdwrite, &fdexcep, &timeout) == -1)
       return (CURLMcode) ~CURLM_OK;
   }
 

curl-7.20.1-test-delay.patch:
 test513 |    2 +-
 test514 |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE curl-7.20.1-test-delay.patch ---
diff -up curl-7.20.1/tests/data/test513.delay curl-7.20.1/tests/data/test513
--- curl-7.20.1/tests/data/test513.delay	2010-04-22 10:00:08.326108258 +0100
+++ curl-7.20.1/tests/data/test513	2010-04-22 11:09:08.342100834 +0100
@@ -17,7 +17,7 @@ lib513
  <name>
 send HTTP POST using read callback that returns CURL_READFUNC_ABORT
  </name>
- <command>
+ <command delay="1">
 http://%HOSTIP:%HTTPPORT/513
 </command>
 </client>
diff -up curl-7.20.1/tests/data/test514.delay curl-7.20.1/tests/data/test514
--- curl-7.20.1/tests/data/test514.delay	2010-04-22 10:00:08.326108258 +0100
+++ curl-7.20.1/tests/data/test514	2010-04-22 11:09:40.192203636 +0100
@@ -29,7 +29,7 @@ lib514
  <name>
 First set options to POST and then to make HEAD
  </name>
- <command>
+ <command delay="1">
 http://%HOSTIP:%HTTPPORT/514
 </command>
 </client>

curl-7.20.1-threaded-dns.patch:
 configure.ac |   14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

--- NEW FILE curl-7.20.1-threaded-dns.patch ---
 configure.ac |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/configure.ac b/configure.ac
index 39cc418..4892fda 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2285,6 +2285,18 @@ AM_CONDITIONAL(USE_MANUAL, test x"$USE_MANUAL" = x1)
 CURL_CHECK_LIB_ARES
 AM_CONDITIONAL(USE_EMBEDDED_ARES, test x$embedded_ares = xyes)
 
+AC_CHECK_HEADER(pthread.h,
+  [ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>])
+    save_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS -pthread"
+    AC_CHECK_LIB(pthread, pthread_create,
+      [ AC_MSG_NOTICE([using POSIX threaded DNS lookup])
+        AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup])
+        USE_THREADS_POSIX=1
+      ],
+      [ CFLAGS="$save_CFLAGS"])
+  ])
+
 dnl ************************************************************
 dnl disable verbose text strings
 dnl
@@ -2478,7 +2490,7 @@ fi
 if test "x$HAVE_LIBZ" = "x1"; then
   SUPPORT_FEATURES="$SUPPORT_FEATURES libz"
 fi
-if test "x$USE_ARES" = "x1"; then
+if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1"; then
   SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS"
 fi
 if test "x$IDN_ENABLED" = "x1"; then


--- NEW FILE mingw32-curl.spec ---
%global __strip %{_mingw32_strip}
%global __objdump %{_mingw32_objdump}
%global _use_internal_dependency_generator 0
%global __find_requires %{_mingw32_findrequires}
%global __find_provides %{_mingw32_findprovides}
%define __debug_install_post %{_mingw32_debug_install_post}

Name:           mingw32-curl
Version:        7.20.1
Release:        1%{?dist}
Summary:        MinGW Windows port of curl and libcurl

License:        MIT
Group:          Development/Libraries
URL:            http://curl.haxx.se/
Source0:        http://curl.haxx.se/download/curl-%{version}.tar.lzma
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildArch:      noarch

#
# Patches from native Fedora package.
#

# upstream commit e32fe30d0cf7c1f7045ac0bd29322e7fb4feb5c8
Patch0:         curl-7.20.0-e32fe30.patch

# upstream commit d487ade72c5f31703ce097e8460e0225fad80348
Patch1:         curl-7.20.1-d487ade.patch

# upstream commit 82e9b78a388ab539c8784cd853adf6e4a97d52c5
Patch2:         curl-7.20.1-82e9b78.patch

# rhbz #581926
#   upstream commit 2e8b21833a581cc5389833ec4fdeeaa6fb7be538
#   upstream commit 3e759f4fb6018b353bd4a1d608be3a3d7b2c9645
#   upstream commit 016ce4b1daa0f8d44a0da7105e1e1c97531e8b87
Patch3:         curl-7.20.1-crl.patch

# rhbz #581926 - test-case
#   http://curl.haxx.se/mail/lib-2010-04/0214.html
#   (the CA pass phrase used in the patch is 'libcurl')
Patch4:         curl-7.20.1-crl-test.patch

# patch making libcurl multilib ready
Patch101:       curl-7.20.0-multilib.patch

# force -lrt when linking the curl tool and test-cases
#Patch102:       curl-7.20.0-lrt.patch

# prevent configure script from discarding -g in CFLAGS (#496778)
Patch103:       curl-7.19.4-debug.patch

# suppress occasional failure of curl test-suite on s390; caused more likely
# by the test-suite infrastructure than (lib)curl itself
# http://curl.haxx.se/mail/lib-2009-12/0031.html
Patch104:       curl-7.20.1-test-delay.patch

# use localhost6 instead of ip6-localhost in the curl test-suite
Patch105:       curl-7.19.7-localhost6.patch

# experimentally enabled threaded DNS lookup
Patch106:       curl-7.20.1-threaded-dns.patch

# exclude test1112 from the test suite (#565305)
Patch107:       curl-7.20.0-disable-test1112.patch

#
# End of native patches
#

BuildRequires:  automake
BuildRequires:  mingw32-filesystem >= 52
BuildRequires:  mingw32-gcc
BuildRequires:  mingw32-binutils
BuildRequires:  mingw32-gettext
BuildRequires:  mingw32-iconv
BuildRequires:  mingw32-zlib
BuildRequires:  mingw32-libidn
BuildRequires:  mingw32-libssh2

# See nss/README for the status of this package.
#BuildRequires:  mingw32-nss
# Temporarily we can use OpenSSL instead of NSS:
BuildRequires:  mingw32-openssl

Requires:       pkgconfig


%description
cURL is a tool for getting files from HTTP, FTP, FILE, LDAP, LDAPS,
DICT, TELNET and TFTP servers, using any of the supported protocols.
cURL is designed to work without user interaction or any kind of
interactivity. cURL offers many useful capabilities, like proxy
support, user authentication, FTP upload, HTTP post, and file transfer
resume.

This is the MinGW cross-compiled Windows library.


%package static
Summary:        Static version of the MinGW Windows Curl library
Requires:       %{name} = %{version}-%{release}
Group:          Development/Libraries

%description static
Static version of the MinGW Windows Curl library.


%{_mingw32_debug_package}


%prep
%setup -q -n curl-%{version}

# Convert docs to UTF-8
# NOTE: we do this _before_ applying of all patches, which are already UTF-8
for f in CHANGES README; do
    iconv -f iso-8859-1 -t utf8 < ${f} > ${f}.utf8
    mv -f ${f}.utf8 ${f}
done

# revert an upstream commit which breaks Fedora builds
%patch0 -p1 -R

# upstream patches (already applied)
%patch1 -p1
%patch2 -p1
%patch3 -p1

# upstream patches (not yet applied)
%patch4 -p1

# Fedora patches
%patch101 -p1
#%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
%patch106 -p1

# exclude test1112 from the test suite (#565305)
%patch107 -p1
rm -f tests/data/test1112

autoreconf

# replace hard wired port numbers in the test suite
sed -i s/899\\\([0-9]\\\)/%{?__isa_bits}9\\1/ tests/data/test*

%build
%{_mingw32_configure} \
  --with-ssl --enable-ipv6 \
  --with-ca-bundle=%{_mingw32_sysconfdir}/pki/tls/certs/ca-bundle.crt \
  --with-libidn \
  --enable-static --with-libssh2 \
  --without-random

# It's not clear where to set the --with-ca-bundle path.  This is the
# default for CURLOPT_CAINFO.  If this doesn't exist, you'll get an
# error from all https transfers unless the program sets
# CURLOPT_CAINFO to point to the correct ca-bundle.crt file.

# --without-random disables random number collection (eg. from
# /dev/urandom).  There isn't an obvious alternative for Windows:
# Perhaps we can port EGD or use a library such as Yarrow.

# These are the original flags that we'll work towards as
# more of the dependencies get ported to Fedora MinGW.
#
#  --without-ssl --with-nss=%{_mingw32_prefix} --enable-ipv6
#  --with-ca-bundle=%{_mingw32_sysconfdir}/pki/tls/certs/ca-bundle.crt
#  --with-gssapi=%{_mingw32_prefix}/kerberos --with-libidn
#  --enable-ldaps --disable-static --with-libssh2

# The ./configure scripts lacks a check for Win32 threads
# As this breaks compilation of async DNS resolving we add a small hack here
echo "#define USE_THREADS_WIN32 1" >> lib/curl_config.h

# Prevent a possible conflict when mingw32-pthreads is installed
sed -i s/'#define USE_THREADS_POSIX 1'// lib/curl_config.h

make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install

# Remove the man pages which duplicate documentation in the
# native Fedora package.
rm -r $RPM_BUILD_ROOT%{_mingw32_mandir}/man{1,3}

# Drop the curl.exe tool as end-user binaries aren't allowed in Fedora MinGW
rm -f $RPM_BUILD_ROOT%{_mingw32_bindir}/curl.exe


%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%doc COPYING
%{_mingw32_bindir}/curl-config
%{_mingw32_bindir}/libcurl-4.dll
%{_mingw32_libdir}/libcurl.dll.a
%{_mingw32_libdir}/libcurl.la
%{_mingw32_libdir}/pkgconfig/libcurl.pc
%{_mingw32_includedir}/curl/


%files static
%defattr(-,root,root,-)
%{_mingw32_libdir}/libcurl.a


%changelog
* Thu May 13 2010 Erik van Pienbroek <epienbro at fedoraproject.org> - 7.20.1-1
- Update to 7.20.1
- Merged the patches of the native .spec file (7.20.1-5)
- Dropped the curl.exe
- Use the Win32 threads API instead of mingw32-pthreads
- Dropped BR: pkgconfig

* Fri Dec 11 2009 Erik van Pienbroek <epienbro at fedoraproject.org> - 7.19.7-1
- Update to 7.19.8
- Merged the patches of the native .spec file (7.19.7-8)
- Use %%global instead of %%define
- Automatically generate debuginfo subpackage

* Sat May  9 2009 Erik van Pienbroek <epienbro at fedoraproject.org> - 7.19.4-2
- Merged the patches of the native .spec file (7.19.4-10)

* Fri Apr  3 2009 Erik van Pienbroek <epienbro at fedoraproject.org> - 7.19.4-1
- Update to version 7.19.4
- Fixed %%defattr line
- Added -static subpackage. Applications which want to use this
  static library need to add -DCURL_STATICLIB to the CFLAGS
- Merged the patches of the native .spec file (7.19.4-5)

* Fri Feb 20 2009 Richard W.M. Jones <rjones at redhat.com> - 7.18.2-6
- Rebuild for mingw32-gcc 4.4

* Fri Feb  6 2009 Richard W.M. Jones <rjones at redhat.com> - 7.18.2-5
- Include license.

* Fri Feb  6 2009 Richard W.M. Jones <rjones at redhat.com> - 7.18.2-4
- Rebuild against new OpenSSH (because of soname bump).

* Fri Jan 30 2009 Richard W.M. Jones <rjones at redhat.com> - 7.18.2-3
- Requires pkgconfig.

* Thu Nov 13 2008 Richard W.M. Jones <rjones at redhat.com> - 7.18.2-2
- Requires mingw32-filesystem >= 35.

* Thu Nov 13 2008 Richard W.M. Jones <rjones at redhat.com> - 7.18.2-1
- Initial RPM release.


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/mingw32-curl/F-13/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- .cvsignore	13 May 2010 22:36:02 -0000	1.1
+++ .cvsignore	16 May 2010 12:56:45 -0000	1.2
@@ -0,0 +1 @@
+curl-7.20.1.tar.lzma


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/mingw32-curl/F-13/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sources	13 May 2010 22:36:02 -0000	1.1
+++ sources	16 May 2010 12:56:46 -0000	1.2
@@ -0,0 +1 @@
+e259b58aab40dd4e7b72f52e96a498e4  curl-7.20.1.tar.lzma



More information about the scm-commits mailing list