[mingw-curl: 2/11] Initial import

epienbro epienbro at fedoraproject.org
Tue Mar 6 18:25:33 UTC 2012


commit 249287e4120846742f5f5e1d718bf6cefff584c4
Author: epienbro <epienbro at fedoraproject.org>
Date:   Sun May 16 12:41:15 2010 +0000

    Initial import

 .cvsignore                         |    1 +
 curl-7.19.4-debug.patch            |   19 +
 curl-7.19.7-localhost6.patch       |   51 ++
 curl-7.20.0-disable-test1112.patch |   16 +
 curl-7.20.0-e32fe30.patch          |   28 +
 curl-7.20.0-multilib.patch         |   63 ++
 curl-7.20.1-82e9b78.patch          |   51 ++
 curl-7.20.1-crl-test.patch         | 1543 ++++++++++++++++++++++++++++++++++++
 curl-7.20.1-crl.patch              |  222 ++++++
 curl-7.20.1-d487ade.patch          |  236 ++++++
 curl-7.20.1-test-delay.patch       |   24 +
 curl-7.20.1-threaded-dns.patch     |   35 +
 import.log                         |    1 +
 mingw32-curl.spec                  |  258 ++++++
 sources                            |    1 +
 15 files changed, 2549 insertions(+), 0 deletions(-)
---
diff --git a/.cvsignore b/.cvsignore
index e69de29..f1ccad6 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -0,0 +1 @@
+curl-7.20.1.tar.lzma
diff --git a/curl-7.19.4-debug.patch b/curl-7.19.4-debug.patch
new file mode 100644
index 0000000..5a3e3ac
--- /dev/null
+++ b/curl-7.19.4-debug.patch
@@ -0,0 +1,19 @@
+ 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
+ 
diff --git a/curl-7.19.7-localhost6.patch b/curl-7.19.7-localhost6.patch
new file mode 100644
index 0000000..4f664d3
--- /dev/null
+++ b/curl-7.19.7-localhost6.patch
@@ -0,0 +1,51 @@
+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>
diff --git a/curl-7.20.0-disable-test1112.patch b/curl-7.20.0-disable-test1112.patch
new file mode 100644
index 0000000..c9e69dc
--- /dev/null
+++ b/curl-7.20.0-disable-test1112.patch
@@ -0,0 +1,16 @@
+ 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:
diff --git a/curl-7.20.0-e32fe30.patch b/curl-7.20.0-e32fe30.patch
new file mode 100644
index 0000000..20469e0
--- /dev/null
+++ b/curl-7.20.0-e32fe30.patch
@@ -0,0 +1,28 @@
+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
+
diff --git a/curl-7.20.0-multilib.patch b/curl-7.20.0-multilib.patch
new file mode 100644
index 0000000..21d0797
--- /dev/null
+++ b/curl-7.20.0-multilib.patch
@@ -0,0 +1,63 @@
+ 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/
diff --git a/curl-7.20.1-82e9b78.patch b/curl-7.20.1-82e9b78.patch
new file mode 100644
index 0000000..ae919e2
--- /dev/null
+++ b/curl-7.20.1-82e9b78.patch
@@ -0,0 +1,51 @@
+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;
diff --git a/curl-7.20.1-crl-test.patch b/curl-7.20.1-crl-test.patch
new file mode 100644
index 0000000..4a8b399
--- /dev/null
+++ b/curl-7.20.1-crl-test.patch
@@ -0,0 +1,1543 @@
+ 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>
diff --git a/curl-7.20.1-crl.patch b/curl-7.20.1-crl.patch
new file mode 100644
index 0000000..0aaa214
--- /dev/null
+++ b/curl-7.20.1-crl.patch
@@ -0,0 +1,222 @@
+ 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;
+     }
diff --git a/curl-7.20.1-d487ade.patch b/curl-7.20.1-d487ade.patch
new file mode 100644
index 0000000..006974c
--- /dev/null
+++ b/curl-7.20.1-d487ade.patch
@@ -0,0 +1,236 @@
+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;
+   }
+ 
diff --git a/curl-7.20.1-test-delay.patch b/curl-7.20.1-test-delay.patch
new file mode 100644
index 0000000..dd75596
--- /dev/null
+++ b/curl-7.20.1-test-delay.patch
@@ -0,0 +1,24 @@
+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>
diff --git a/curl-7.20.1-threaded-dns.patch b/curl-7.20.1-threaded-dns.patch
new file mode 100644
index 0000000..3a0ffdd
--- /dev/null
+++ b/curl-7.20.1-threaded-dns.patch
@@ -0,0 +1,35 @@
+ 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
diff --git a/import.log b/import.log
new file mode 100644
index 0000000..e04fe57
--- /dev/null
+++ b/import.log
@@ -0,0 +1 @@
+mingw32-curl-7_20_1-1_fc13:HEAD:mingw32-curl-7.20.1-1.fc13.src.rpm:1274013640
diff --git a/mingw32-curl.spec b/mingw32-curl.spec
new file mode 100644
index 0000000..589a65a
--- /dev/null
+++ b/mingw32-curl.spec
@@ -0,0 +1,258 @@
+%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.
diff --git a/sources b/sources
index e69de29..489db32 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+e259b58aab40dd4e7b72f52e96a498e4  curl-7.20.1.tar.lzma


More information about the scm-commits mailing list