From 06f4d2205e0a6dba09c448699abff8f215589589 Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Thu, 19 Jun 2014 09:24:53 +0100
Subject: [PATCH] update test CA (using cam)

---
 authserv/test/testca/_lock                   |   0
 authserv/test/testca/ca.pem                  |  12 --
 authserv/test/testca/certs/client.pem        |  12 --
 authserv/test/testca/certs/server.pem        |  13 --
 authserv/test/testca/conf/ca.conf            |  76 ++++++++++
 authserv/test/testca/crl.pem                 |   7 -
 authserv/test/testca/crlnumber               |   1 +
 authserv/test/testca/index                   |   3 +
 authserv/test/testca/index.attr              |   1 +
 authserv/test/testca/index.attr.old          |   1 +
 authserv/test/testca/index.old               |   2 +
 authserv/test/testca/newcerts/19028A9B.pem   | 136 ++++++++++++++++++
 authserv/test/testca/newcerts/19028A9C.pem   | 141 +++++++++++++++++++
 authserv/test/testca/newcerts/19028A9D.pem   | 141 +++++++++++++++++++
 authserv/test/testca/private/ca.key          |  70 ++++++---
 authserv/test/testca/private/client.key      |  64 +++++++--
 authserv/test/testca/private/server.key      |  64 +++++++--
 authserv/test/testca/public/ca.pem           | 136 ++++++++++++++++++
 authserv/test/testca/public/certs/client.pem | 141 +++++++++++++++++++
 authserv/test/testca/public/certs/server.pem | 141 +++++++++++++++++++
 authserv/test/testca/serial                  |   2 +-
 authserv/test/testca/serial.old              |   1 +
 authserv/test/testca/testca.conf             |  16 +++
 23 files changed, 1092 insertions(+), 89 deletions(-)
 create mode 100644 authserv/test/testca/_lock
 delete mode 100644 authserv/test/testca/ca.pem
 delete mode 100644 authserv/test/testca/certs/client.pem
 delete mode 100644 authserv/test/testca/certs/server.pem
 create mode 100644 authserv/test/testca/conf/ca.conf
 delete mode 100644 authserv/test/testca/crl.pem
 create mode 100644 authserv/test/testca/crlnumber
 create mode 100644 authserv/test/testca/index
 create mode 100644 authserv/test/testca/index.attr
 create mode 100644 authserv/test/testca/index.attr.old
 create mode 100644 authserv/test/testca/index.old
 create mode 100644 authserv/test/testca/newcerts/19028A9B.pem
 create mode 100644 authserv/test/testca/newcerts/19028A9C.pem
 create mode 100644 authserv/test/testca/newcerts/19028A9D.pem
 create mode 100644 authserv/test/testca/public/ca.pem
 create mode 100644 authserv/test/testca/public/certs/client.pem
 create mode 100644 authserv/test/testca/public/certs/server.pem
 create mode 100644 authserv/test/testca/serial.old
 create mode 100644 authserv/test/testca/testca.conf

diff --git a/authserv/test/testca/_lock b/authserv/test/testca/_lock
new file mode 100644
index 0000000..e69de29
diff --git a/authserv/test/testca/ca.pem b/authserv/test/testca/ca.pem
deleted file mode 100644
index 409558c..0000000
--- a/authserv/test/testca/ca.pem
+++ /dev/null
@@ -1,12 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIBtTCCAR4CAQEwDQYJKoZIhvcNAQEFBQAwDzENMAsGA1UEAxMETXlDQTAeFw0x
-NDA0MTgxNTI5MThaFw0yNDA0MTUxNTI5MThaMA8xDTALBgNVBAMTBE15Q0EwgZ8w
-DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKpmrgKD15cCPF3GqmV1A9b8/7+LRO+s
-7YAiVhpYYMbVtNzyZNXjIaTB6XJgphhJtC3oFxvkbilfoZ+26HBrUQCqr61plFVv
-xrgLrOSx9zkd4udKHaS9mRzIAiNZu5HASb2XZmRs5cTac2j+MEbFB3wKwBIFp0eu
-lZLRMFncnZOPAgMBAAGjJjAkMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/
-BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBABNHIaM1oHLI4kAfh1+TbJ2hdUXKEuvc
-kpKjovClWHomVVkYvJ3ytA1bZlHoMGpu25dOOJ8D2gGx529R6we3U7JGpadKBY0v
-9nuzx67M+S9iyhNui7m+/ExSaqIdL5gfas61gWFilhaye6P3DSmLq5goVo540pvn
-lTh6vMaWVDkC
------END CERTIFICATE-----
diff --git a/authserv/test/testca/certs/client.pem b/authserv/test/testca/certs/client.pem
deleted file mode 100644
index df9ba57..0000000
--- a/authserv/test/testca/certs/client.pem
+++ /dev/null
@@ -1,12 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIB3DCCAUUCBFNRRTUwDQYJKoZIhvcNAQEFBQAwDzENMAsGA1UEAxMETXlDQTAe
-Fw0xNDA0MTgxNTMxMjBaFw0xNDA0MjUxNTMxMjBaMBExDzANBgNVBAMTBmNsaWVu
-dDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvDBO/RbQjVGsWvDUCKVYxCeO
-BdJQBm8emZ2x9T0EfB76pAjZM1S6KWAkM1K+gJq/BP0in5cnzefuRnrfBZIBPEcw
-84qcsqq4U0zcWJhPr+rVlWvcxmFch8b7+PDAFJ63xsPILlqtdFEPBVEGEF6V13ws
-+uW9Fvk/sDg8WeW6mtECAwEAAaNIMEYwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8E
-BAMCBeAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwEQYJYIZIAYb4QgEBBAQDAgeAMA0G
-CSqGSIb3DQEBBQUAA4GBAFNe3d0Gbbq7G8SaL+CUxf8w3oHcwA3z52TH4lfhVTIB
-kotjDKHDNsMTtkJ3vHZv4Ae8UMGFDDYTNJYuWKMIUZfrfVK6zvhy3auhPrrDDiHG
-cfBOoAtuyUBhLKgFlNZ/CEC8tj0iT3M4+glYjF7X8fcb1ITOOY9cwNF2ogA/4RHr
------END CERTIFICATE-----
diff --git a/authserv/test/testca/certs/server.pem b/authserv/test/testca/certs/server.pem
deleted file mode 100644
index c65a259..0000000
--- a/authserv/test/testca/certs/server.pem
+++ /dev/null
@@ -1,13 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIB5jCCAU8CBFNRRTQwDQYJKoZIhvcNAQEFBQAwDzENMAsGA1UEAxMETXlDQTAe
-Fw0xNDA0MTgxNTMxMDBaFw0xNDA0MjUxNTMxMDBaMBExDzANBgNVBAMTBnNlcnZl
-cjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAr1RWb+pLnctpZTKjLgJmB5+Z
-Ll02OjnPov9si8BwhuM/oDtCvG8fSj6D2PSSwKhQAjv2rq+w/VjBA8+1BYgrNb2u
-2a/V6LNHusFXKdY6OQL8iTdE8sojsDL6pcazHkkLha40+xczRfInbVsVETNp2gn9
-nMHfA42MVl0TlwGEj7UCAwEAAaNSMFAwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8E
-BAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBEGCWCGSAGG+EIB
-AQQEAwIGwDANBgkqhkiG9w0BAQUFAAOBgQBu9+sDtpWM5Qv7Rcil2Ngyiq07vvpq
-FDY5wcLUCrqQXrb8keZ58hF49cHYiw58iPN5inEeI8fEvtzStDf6uFzx3lOO7SDs
-XBEge+y09evQXhHJ5zUk2DgbbkZxm2wPsDnfq7JMdB930ZXLpTu6E1xRNDPcypr4
-ta2Am0fnol4krg==
------END CERTIFICATE-----
diff --git a/authserv/test/testca/conf/ca.conf b/authserv/test/testca/conf/ca.conf
new file mode 100644
index 0000000..112fca8
--- /dev/null
+++ b/authserv/test/testca/conf/ca.conf
@@ -0,0 +1,76 @@
+RANDFILE = ${ENV::CAROOT}/.random
+
+[ ca ]
+default_ca              = CA_default
+
+[ CA_default ]
+dir                     = ${ENV::CAROOT}
+certs                   = $dir/public/certs
+crl_dir                 = $dir/public/crl
+crl                     = $dir/public/crl.pem
+crlnumber               = $dir/crlnumber
+database                = $dir/index
+serial                  = $dir/serial
+new_certs_dir           = $dir/newcerts
+certificate             = $dir/public/ca.pem
+private_key             = $dir/private/ca.key
+x509_extensions         = certificate_extensions
+email_in_dn             = no
+default_days            = 3650
+default_crl_days        = 31
+default_md              = sha1
+preserve                = yes
+policy                  = policy_match
+
+[ policy_match ]
+countryName             = supplied
+organizationName        = supplied
+organizationalUnitName  = optional
+commonName              = supplied
+emailAddress            = optional
+
+[ policy_anything ]
+countryName             = optional
+organizationName        = optional
+organizationalUnitName  = optional
+commonName              = supplied
+emailAddress            = optional
+
+[ req ]
+default_bits            = 4096
+default_md              = sha1
+distinguished_name      = req_distinguished_name
+attributes              = req_attributes
+x509_extensions         = v3_ca
+string_mask             = nombstr
+
+[ req_distinguished_name ]
+countryName                     = Country Name
+countryName_default             = "xx"
+countryName_min                 = 2
+countryName_max                 = 2
+0.organizationName              = Organization Name
+0.organizationName_default      = "test"
+organizationalUnitName          = Organizational Unit Name
+organizationalUnitName_default  = "CA"
+commonName                      = Common Name
+commonName_max                  = 64
+commonName_default              = "test certification authority"
+SET-ex3                         = SET extension number 3
+
+[ req_attributes ]
+
+[ certificate_extensions ]
+
+[ v3_ca ]
+subjectKeyIdentifier    = hash
+authorityKeyIdentifier  = keyid:always,issuer:always
+basicConstraints        = critical, CA:true
+keyUsage                = cRLSign, keyCertSign
+nsCertType              = sslCA, emailCA, objCA
+nsComment               = "test certification authority"
+subjectAltName          = @ca_alt_name
+issuerAltName           = issuer:copy
+
+[ ca_alt_name ]
+email = "ca@example.org"
diff --git a/authserv/test/testca/crl.pem b/authserv/test/testca/crl.pem
deleted file mode 100644
index 2c58532..0000000
--- a/authserv/test/testca/crl.pem
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN X509 CRL-----
-MIHTMD4wDQYJKoZIhvcNAQEEBQAwDzENMAsGA1UEAxMETXlDQRcNMTQwNDE4MTUy
-OTE4WhcNMTQwNTE4MTUyOTE4WjANBgkqhkiG9w0BAQQFAAOBgQCcdiHz6giUk/x2
-ZDmOvgyQ4+9gAQ+oyCOxrAdKIQLXtm6fXGxOQPZ08D0b++zNVULcUfqbcJ48Q+5K
-6Wy/Q8FVXQEDhrlrhiThV/LSgBBwQJk7zSD77IRh+exvFSPVyiNgukdhAm8jwHq7
-YjI3ViXdA1b1byDbEu/QGx5X1eNXTw==
------END X509 CRL-----
diff --git a/authserv/test/testca/crlnumber b/authserv/test/testca/crlnumber
new file mode 100644
index 0000000..8a0f05e
--- /dev/null
+++ b/authserv/test/testca/crlnumber
@@ -0,0 +1 @@
+01
diff --git a/authserv/test/testca/index b/authserv/test/testca/index
new file mode 100644
index 0000000..16938ac
--- /dev/null
+++ b/authserv/test/testca/index
@@ -0,0 +1,3 @@
+V	240615222645Z		19028A9B	unknown	/C=xx/O=test/OU=CA/CN=test certification authority
+V	240615222705Z		19028A9C	unknown	/C=xx/O=test/OU=CA/CN=client
+V	240615222709Z		19028A9D	unknown	/C=xx/O=test/OU=CA/CN=server
diff --git a/authserv/test/testca/index.attr b/authserv/test/testca/index.attr
new file mode 100644
index 0000000..8f7e63a
--- /dev/null
+++ b/authserv/test/testca/index.attr
@@ -0,0 +1 @@
+unique_subject = yes
diff --git a/authserv/test/testca/index.attr.old b/authserv/test/testca/index.attr.old
new file mode 100644
index 0000000..8f7e63a
--- /dev/null
+++ b/authserv/test/testca/index.attr.old
@@ -0,0 +1 @@
+unique_subject = yes
diff --git a/authserv/test/testca/index.old b/authserv/test/testca/index.old
new file mode 100644
index 0000000..1d9fc05
--- /dev/null
+++ b/authserv/test/testca/index.old
@@ -0,0 +1,2 @@
+V	240615222645Z		19028A9B	unknown	/C=xx/O=test/OU=CA/CN=test certification authority
+V	240615222705Z		19028A9C	unknown	/C=xx/O=test/OU=CA/CN=client
diff --git a/authserv/test/testca/newcerts/19028A9B.pem b/authserv/test/testca/newcerts/19028A9B.pem
new file mode 100644
index 0000000..9bc1c49
--- /dev/null
+++ b/authserv/test/testca/newcerts/19028A9B.pem
@@ -0,0 +1,136 @@
+Certificate:
+    Data:
+        Version: 3 (0x2)
+        Serial Number: 419596955 (0x19028a9b)
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=xx, O=test, OU=CA, CN=test certification authority
+        Validity
+            Not Before: Jun 18 22:26:45 2014 GMT
+            Not After : Jun 15 22:26:45 2024 GMT
+        Subject: C=xx, O=test, OU=CA, CN=test certification authority
+        Subject Public Key Info:
+            Public Key Algorithm: rsaEncryption
+                Public-Key: (4096 bit)
+                Modulus:
+                    00:cd:f8:55:27:b2:e6:bf:e7:58:13:13:0e:34:c4:
+                    25:57:1f:d2:8f:49:45:f7:db:23:8d:2f:6b:1e:9a:
+                    fd:c4:f2:a8:40:db:98:47:2b:f4:3a:73:30:d5:ef:
+                    d0:fb:3a:e5:5a:68:9d:b1:09:df:7d:94:a8:a8:3e:
+                    cb:40:c6:2c:95:67:72:0e:5e:ad:0b:62:a8:30:a2:
+                    5f:82:c8:f6:d8:d9:38:c8:33:c1:64:47:fe:be:14:
+                    69:e0:56:bb:aa:1b:3e:e2:6b:e9:ec:9d:28:bf:ed:
+                    75:9b:92:52:27:11:4b:92:46:90:63:5d:6c:48:86:
+                    84:41:b3:dd:10:9a:9f:d3:bb:89:43:ab:a9:d2:62:
+                    d6:74:b4:e6:bb:3a:60:21:84:6c:0b:51:97:80:dd:
+                    38:6e:6e:87:c7:33:84:e9:93:84:0d:a9:c4:dc:3f:
+                    af:b1:33:2d:41:79:56:7b:54:bd:ed:d9:ee:e1:b4:
+                    87:06:56:be:a2:8e:e8:16:fa:10:8c:72:75:89:14:
+                    12:7f:cf:2d:e8:c6:88:f1:ec:c1:c2:6a:71:5e:20:
+                    13:d7:f6:a6:cc:6d:a9:c2:9e:9e:a9:19:ae:ff:80:
+                    f1:d3:9b:39:6e:e6:7d:7c:d1:1c:3d:33:0d:a8:ab:
+                    9a:80:56:9e:ea:bd:ab:2e:25:42:f1:e4:92:24:3c:
+                    a4:64:7b:15:b4:b6:6f:82:ad:c2:0a:cc:a9:fa:e7:
+                    2a:4d:dd:a4:4f:77:58:bd:a6:47:38:d6:c5:5f:f3:
+                    bf:12:50:ab:c4:c3:6f:c7:26:61:3d:b0:be:66:45:
+                    8d:1c:2d:02:3e:e8:ba:91:22:a6:e5:e6:ee:48:c7:
+                    69:cc:e7:1e:11:14:c4:63:16:c8:73:9a:66:48:5c:
+                    bf:4b:d7:00:28:f4:4c:f5:3d:2d:36:c5:be:34:e2:
+                    68:99:09:7b:d8:fc:a9:b0:a7:2b:f1:11:a7:2b:1a:
+                    fe:99:92:5d:46:5d:5e:35:e4:c8:44:4f:c6:b0:cb:
+                    93:53:af:b7:a0:c7:15:1b:df:b1:23:3c:fd:77:56:
+                    87:bb:ce:2d:d1:e3:1f:8d:04:44:4f:ed:d4:e6:f7:
+                    30:ff:f0:f8:0a:e0:59:c4:3b:f1:90:c1:4c:1b:58:
+                    4d:18:f6:52:39:5f:83:7e:8c:a6:e4:5b:50:da:fb:
+                    9e:37:4e:20:7f:be:56:b2:3c:86:ad:ca:0b:11:b5:
+                    3f:a7:25:b6:0d:98:7b:3e:59:9a:f4:8c:45:e9:55:
+                    b3:61:1d:27:b3:c4:7c:86:c0:1e:bf:b2:94:7b:77:
+                    26:12:0a:5e:a0:cb:01:c7:b9:56:0f:9c:6b:d0:bf:
+                    a2:23:bc:25:a2:4c:b2:d3:35:e6:96:07:37:27:a2:
+                    05:d2:77
+                Exponent: 65537 (0x10001)
+        X509v3 extensions:
+            X509v3 Subject Key Identifier: 
+                C0:24:9A:D1:70:E0:B2:DF:75:E5:00:E2:7F:94:A1:01:87:20:DF:3E
+            X509v3 Authority Key Identifier: 
+                keyid:C0:24:9A:D1:70:E0:B2:DF:75:E5:00:E2:7F:94:A1:01:87:20:DF:3E
+                DirName:/C=xx/O=test/OU=CA/CN=test certification authority
+                serial:19:02:8A:9B
+
+            X509v3 Basic Constraints: critical
+                CA:TRUE
+            X509v3 Key Usage: 
+                Certificate Sign, CRL Sign
+            Netscape Cert Type: 
+                SSL CA, S/MIME CA, Object Signing CA
+            Netscape Comment: 
+                test certification authority
+            X509v3 Subject Alternative Name: 
+                email:ca@example.org
+            X509v3 Issuer Alternative Name: 
+                email:ca@example.org
+    Signature Algorithm: sha1WithRSAEncryption
+         52:6a:69:76:df:14:01:09:ec:3c:4d:ee:24:8b:72:32:f6:c9:
+         3a:e4:6f:ef:70:a6:cd:d2:6d:1f:ed:87:c0:d9:01:b9:57:de:
+         c1:3c:94:18:30:dc:23:22:c9:6e:69:d6:fb:39:8d:1a:b4:4f:
+         8d:91:28:7e:a9:53:c3:3c:4e:4e:51:c4:39:5d:56:47:ee:d8:
+         17:c6:34:56:1d:f8:d9:a0:25:2f:c0:11:22:e8:e8:d4:b3:36:
+         58:74:22:66:90:01:75:74:f5:e8:ab:73:a7:63:e3:6f:93:2b:
+         e0:a6:76:84:2f:c7:f8:5d:74:1d:12:8b:09:de:4c:62:1b:80:
+         b0:86:fd:6b:51:5f:6d:cd:28:39:af:52:2d:61:b8:81:9e:4e:
+         ea:da:40:13:64:7b:1b:7a:42:13:8f:10:ec:4e:c0:89:60:fa:
+         73:f0:b7:a8:a3:28:87:e2:e3:b9:d2:a9:df:25:bc:df:c5:d8:
+         84:91:bc:e7:1e:12:1b:70:38:3d:d5:29:3a:d9:4a:2d:c8:73:
+         2e:39:9b:c2:85:8a:05:3c:ee:26:3b:5f:55:81:c1:6e:e9:fe:
+         c8:7f:66:47:01:cf:72:48:b2:0f:cf:78:33:37:0f:92:4a:5f:
+         b8:0d:9a:7f:82:bb:84:95:a2:65:17:cf:a5:81:bd:47:26:f1:
+         6e:37:da:77:50:51:b5:80:f8:29:3d:5b:e2:c7:13:1b:ce:87:
+         68:8e:19:78:62:75:a4:cf:62:ef:83:6b:95:17:e1:49:d2:a1:
+         d5:68:16:a2:a1:63:8d:00:b2:80:bf:68:4f:58:e7:32:60:da:
+         17:f9:1c:02:b7:37:32:b5:90:ba:9f:d1:38:0a:1d:bc:fb:01:
+         fc:1f:52:d5:26:d3:69:1b:02:ff:de:03:a4:95:6a:1c:33:74:
+         d2:5e:bc:3c:2e:a4:ae:a0:c8:b5:92:e2:a2:25:be:eb:0e:e2:
+         ba:4f:82:d1:b5:ac:1c:41:66:57:dc:1a:41:1f:8e:d8:fb:7a:
+         6d:06:fc:9a:39:a6:6d:bb:1a:15:de:a6:fb:af:26:c9:d2:fd:
+         dc:7c:68:a7:90:6b:d4:91:7d:14:91:f2:87:fe:ac:fe:17:2a:
+         e0:0b:11:44:02:a5:6f:3c:5e:ac:01:d0:69:f3:b7:ad:a6:7f:
+         51:25:21:a3:cc:d4:0c:60:04:b9:ae:83:d5:73:f2:40:c9:96:
+         4d:83:14:74:e8:b5:3f:3c:73:7d:7b:27:8b:d1:c8:05:54:05:
+         6b:73:3b:f9:f7:a3:ae:2b:e3:3c:56:1f:76:fe:ca:b4:d4:d1:
+         ef:ac:d4:e8:22:1a:0c:4d:69:94:23:55:1d:92:be:ac:b8:b2:
+         33:8f:17:6f:64:57:5a:5e
+-----BEGIN CERTIFICATE-----
+MIIGVDCCBDygAwIBAgIEGQKKmzANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJ4
+eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0ExJTAjBgNVBAMTHHRlc3QgY2Vy
+dGlmaWNhdGlvbiBhdXRob3JpdHkwHhcNMTQwNjE4MjIyNjQ1WhcNMjQwNjE1MjIy
+NjQ1WjBQMQswCQYDVQQGEwJ4eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0Ex
+JTAjBgNVBAMTHHRlc3QgY2VydGlmaWNhdGlvbiBhdXRob3JpdHkwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQDN+FUnsua/51gTEw40xCVXH9KPSUX32yON
+L2semv3E8qhA25hHK/Q6czDV79D7OuVaaJ2xCd99lKioPstAxiyVZ3IOXq0LYqgw
+ol+CyPbY2TjIM8FkR/6+FGngVruqGz7ia+nsnSi/7XWbklInEUuSRpBjXWxIhoRB
+s90Qmp/Tu4lDq6nSYtZ0tOa7OmAhhGwLUZeA3ThubofHM4Tpk4QNqcTcP6+xMy1B
+eVZ7VL3t2e7htIcGVr6ijugW+hCMcnWJFBJ/zy3oxojx7MHCanFeIBPX9qbMbanC
+np6pGa7/gPHTmzlu5n180Rw9Mw2oq5qAVp7qvasuJULx5JIkPKRkexW0tm+CrcIK
+zKn65ypN3aRPd1i9pkc41sVf878SUKvEw2/HJmE9sL5mRY0cLQI+6LqRIqbl5u5I
+x2nM5x4RFMRjFshzmmZIXL9L1wAo9Ez1PS02xb404miZCXvY/KmwpyvxEacrGv6Z
+kl1GXV415MhET8awy5NTr7egxxUb37EjPP13Voe7zi3R4x+NBERP7dTm9zD/8PgK
+4FnEO/GQwUwbWE0Y9lI5X4N+jKbkW1Da+543TiB/vlayPIatygsRtT+nJbYNmHs+
+WZr0jEXpVbNhHSezxHyGwB6/spR7dyYSCl6gywHHuVYPnGvQv6IjvCWiTLLTNeaW
+BzcnogXSdwIDAQABo4IBNDCCATAwHQYDVR0OBBYEFMAkmtFw4LLfdeUA4n+UoQGH
+IN8+MHsGA1UdIwR0MHKAFMAkmtFw4LLfdeUA4n+UoQGHIN8+oVSkUjBQMQswCQYD
+VQQGEwJ4eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0ExJTAjBgNVBAMTHHRl
+c3QgY2VydGlmaWNhdGlvbiBhdXRob3JpdHmCBBkCipswDwYDVR0TAQH/BAUwAwEB
+/zALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCsGCWCGSAGG+EIBDQQe
+Fhx0ZXN0IGNlcnRpZmljYXRpb24gYXV0aG9yaXR5MBkGA1UdEQQSMBCBDmNhQGV4
+YW1wbGUub3JnMBkGA1UdEgQSMBCBDmNhQGV4YW1wbGUub3JnMA0GCSqGSIb3DQEB
+BQUAA4ICAQBSaml23xQBCew8Te4ki3Iy9sk65G/vcKbN0m0f7YfA2QG5V97BPJQY
+MNwjIsluadb7OY0atE+NkSh+qVPDPE5OUcQ5XVZH7tgXxjRWHfjZoCUvwBEi6OjU
+szZYdCJmkAF1dPXoq3OnY+NvkyvgpnaEL8f4XXQdEosJ3kxiG4Cwhv1rUV9tzSg5
+r1ItYbiBnk7q2kATZHsbekITjxDsTsCJYPpz8LeooyiH4uO50qnfJbzfxdiEkbzn
+HhIbcDg91Sk62UotyHMuOZvChYoFPO4mO19VgcFu6f7If2ZHAc9ySLIPz3gzNw+S
+Sl+4DZp/gruElaJlF8+lgb1HJvFuN9p3UFG1gPgpPVvixxMbzodojhl4YnWkz2Lv
+g2uVF+FJ0qHVaBaioWONALKAv2hPWOcyYNoX+RwCtzcytZC6n9E4Ch28+wH8H1LV
+JtNpGwL/3gOklWocM3TSXrw8LqSuoMi1kuKiJb7rDuK6T4LRtawcQWZX3BpBH47Y
++3ptBvyaOaZtuxoV3qb7rybJ0v3cfGinkGvUkX0UkfKH/qz+FyrgCxFEAqVvPF6s
+AdBp87etpn9RJSGjzNQMYAS5roPVc/JAyZZNgxR06LU/PHN9eyeL0cgFVAVrczv5
+96OuK+M8Vh92/sq01NHvrNToIhoMTWmUI1Udkr6suLIzjxdvZFdaXg==
+-----END CERTIFICATE-----
diff --git a/authserv/test/testca/newcerts/19028A9C.pem b/authserv/test/testca/newcerts/19028A9C.pem
new file mode 100644
index 0000000..634842b
--- /dev/null
+++ b/authserv/test/testca/newcerts/19028A9C.pem
@@ -0,0 +1,141 @@
+Certificate:
+    Data:
+        Version: 3 (0x2)
+        Serial Number: 419596956 (0x19028a9c)
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=xx, O=test, OU=CA, CN=test certification authority
+        Validity
+            Not Before: Jun 18 22:27:05 2014 GMT
+            Not After : Jun 15 22:27:05 2024 GMT
+        Subject: C=xx, O=test, OU=CA, CN=client
+        Subject Public Key Info:
+            Public Key Algorithm: rsaEncryption
+                Public-Key: (4096 bit)
+                Modulus:
+                    00:c9:2a:4e:10:05:08:c4:7c:07:f8:8b:f9:22:7a:
+                    6f:0c:a5:4d:ec:89:20:9d:02:2b:84:1a:7f:8d:dc:
+                    88:23:de:04:29:69:11:a9:88:9e:14:e3:6c:a3:eb:
+                    11:aa:7f:b1:ab:1d:75:b4:a8:ba:a7:fa:43:64:fa:
+                    d8:44:c6:7f:77:9a:2d:1e:8e:8e:8a:3f:8d:09:c0:
+                    39:7b:07:56:4f:5a:46:c2:f3:6c:41:1a:33:04:9c:
+                    ec:46:cb:3a:5d:c6:a5:86:7f:b4:72:f6:15:a6:52:
+                    10:13:7b:a8:a5:4d:94:f3:b3:0c:5b:f3:69:69:6a:
+                    6d:a3:9f:2b:f3:ad:b0:cf:12:7d:a2:7d:44:51:35:
+                    78:bb:93:47:6e:ab:e1:68:85:cd:40:f3:41:cd:7d:
+                    fb:aa:a2:4d:13:ec:10:72:92:42:a0:5c:e2:4b:cb:
+                    18:bc:d7:40:83:dc:73:54:22:9d:ac:39:2c:24:ef:
+                    59:92:94:28:94:58:7e:11:9a:4e:bb:00:2e:74:eb:
+                    8e:52:af:f8:3d:02:8a:d4:41:69:da:0b:d2:e1:f1:
+                    49:3d:60:da:70:61:5e:27:b8:0d:6f:21:67:6a:34:
+                    48:4b:c4:d2:a1:3d:b0:08:c2:d4:40:73:12:f7:75:
+                    2c:03:56:82:01:2b:f1:e6:00:2e:d6:60:51:c4:4b:
+                    e3:cb:2b:bb:51:ce:a1:4e:09:66:16:78:0f:6a:53:
+                    c5:11:58:c9:30:a6:58:a6:b7:58:be:8d:14:66:12:
+                    80:59:8b:48:d9:a8:e0:80:a8:21:af:5c:89:fc:d3:
+                    a1:80:b4:3c:78:7a:dd:1d:94:ea:5d:d6:c1:c0:78:
+                    09:6c:d3:aa:9f:2c:82:6d:a8:71:a9:a0:92:34:86:
+                    43:b0:c0:91:74:a1:f6:c1:5c:6a:77:6f:06:81:85:
+                    cf:38:ac:18:44:10:a9:86:d1:c0:69:fb:37:95:54:
+                    a8:f3:4f:57:84:06:16:64:57:6c:6b:7e:16:f5:ca:
+                    cb:ef:d4:6a:86:36:dd:8d:db:02:fa:ed:32:e7:81:
+                    54:a8:09:b9:a7:a3:d9:c4:7d:1a:0d:a4:b7:46:97:
+                    f1:94:27:46:9e:c4:79:00:96:b3:61:16:6c:64:fc:
+                    14:42:3b:04:e7:d4:cc:ad:85:12:b7:f8:98:25:19:
+                    0b:fa:0c:48:87:23:07:81:fa:1b:35:38:d9:4b:1c:
+                    1a:fd:4c:16:08:51:7a:5f:ff:73:f0:d9:19:d3:48:
+                    9f:45:5c:8c:8a:e4:b7:bd:8e:83:47:9d:6d:a5:68:
+                    f8:ab:16:bd:f3:c0:88:56:e5:2d:bd:9c:8b:16:7c:
+                    d3:bb:e9:52:15:d6:c1:2d:cf:b2:06:1b:47:90:32:
+                    2e:f9:95
+                Exponent: 65537 (0x10001)
+        X509v3 extensions:
+            X509v3 Basic Constraints: 
+                CA:FALSE
+            Netscape Cert Type: 
+                SSL Client, SSL Server
+            X509v3 Key Usage: 
+                Digital Signature, Non Repudiation, Key Encipherment
+            X509v3 Extended Key Usage: 
+                TLS Web Client Authentication, TLS Web Server Authentication
+            X509v3 Subject Key Identifier: 
+                11:38:C8:10:EA:80:1F:01:3D:63:55:69:8D:15:3C:79:B9:A1:98:55
+            X509v3 Authority Key Identifier: 
+                keyid:C0:24:9A:D1:70:E0:B2:DF:75:E5:00:E2:7F:94:A1:01:87:20:DF:3E
+                DirName:/C=xx/O=test/OU=CA/CN=test certification authority
+                serial:19:02:8A:9B
+
+            X509v3 Subject Alternative Name: 
+                DNS:client
+            X509v3 Issuer Alternative Name: 
+                email:ca@example.org
+            X509v3 CRL Distribution Points: 
+
+                Full Name:
+                  URI:
+
+    Signature Algorithm: sha1WithRSAEncryption
+         04:5e:06:c5:d9:ec:db:2d:dd:c1:4a:c7:57:55:05:7a:fc:f3:
+         13:8b:56:e5:a9:50:22:e7:b3:eb:9e:dd:2c:b5:06:32:15:68:
+         ed:66:8f:01:cd:8c:2a:db:e0:e2:81:08:47:6b:a0:7a:07:23:
+         48:13:d0:ed:cf:0b:e2:16:d2:cc:c9:d9:47:d7:d9:3b:4b:a7:
+         da:11:fb:af:12:b1:2e:6b:18:7e:cf:a6:3d:bf:a2:b7:96:af:
+         44:56:a9:df:dd:3e:55:65:5c:52:21:0a:0f:31:43:9c:a3:4d:
+         d1:b3:59:cd:2a:80:fe:8a:15:1e:91:bd:04:f2:3f:92:5b:53:
+         22:83:e2:af:6f:b0:64:c4:d2:9b:42:17:ab:3a:ee:84:5f:84:
+         38:1a:11:14:ad:45:cd:f7:99:14:fe:c4:eb:c1:d8:61:f9:61:
+         84:0b:d4:51:93:bd:9c:b8:8a:5e:21:af:24:42:7f:f1:92:7e:
+         c1:62:bc:b3:15:ce:8d:6b:18:09:b6:da:e7:37:24:74:15:be:
+         23:0e:12:94:69:e6:84:d3:b1:e6:25:e2:3d:9e:21:55:36:fb:
+         28:20:29:61:b5:ac:3d:31:29:6d:af:bf:a4:23:43:c7:ad:e4:
+         ad:b3:cf:0b:ae:7f:d4:ae:6a:26:87:bb:d9:7d:39:2a:c0:06:
+         98:83:b5:2f:ea:99:2f:24:3d:5c:3b:21:6d:2c:16:c4:81:bd:
+         44:d0:ac:36:08:1e:31:c8:93:3b:a2:b6:18:49:01:f6:4e:1c:
+         f4:0e:f8:6a:e2:ea:cb:0b:e1:41:ae:66:9d:7b:08:41:98:8b:
+         42:32:ea:96:54:4f:27:c5:49:68:84:78:a4:f2:fb:86:ce:90:
+         ac:84:2f:51:28:66:db:73:49:76:88:c5:0e:da:91:50:ea:2c:
+         06:13:b6:5f:24:eb:e5:70:e4:26:3e:c6:c2:b7:ae:df:dd:f9:
+         7b:11:f1:12:27:83:5f:2e:74:3d:6f:4a:d5:22:b2:55:aa:da:
+         09:c4:6f:a3:37:ce:76:d5:a4:ac:26:8a:c5:80:e0:f0:1e:13:
+         0b:e7:82:0b:b0:3f:d3:b8:96:60:99:28:b3:8b:b5:21:e1:09:
+         9c:21:7e:d1:cd:76:6b:11:17:80:40:b7:6f:56:77:0d:fa:a5:
+         6b:d5:66:58:3a:f5:e7:5b:3d:7b:d2:ba:11:39:e7:f8:ff:2f:
+         b3:a0:6d:09:e0:89:2e:07:95:9d:77:8b:84:60:32:c1:31:93:
+         32:3a:e3:fa:da:32:b5:75:a3:ed:43:bc:cc:c6:ab:9c:c7:d7:
+         d2:7b:3a:55:ab:96:05:f6:af:cd:d4:8a:cf:1b:a5:3d:31:08:
+         16:b9:81:64:17:ec:37:67
+-----BEGIN CERTIFICATE-----
+MIIGNTCCBB2gAwIBAgIEGQKKnDANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJ4
+eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0ExJTAjBgNVBAMTHHRlc3QgY2Vy
+dGlmaWNhdGlvbiBhdXRob3JpdHkwHhcNMTQwNjE4MjIyNzA1WhcNMjQwNjE1MjIy
+NzA1WjA6MQswCQYDVQQGEwJ4eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0Ex
+DzANBgNVBAMTBmNsaWVudDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
+AMkqThAFCMR8B/iL+SJ6bwylTeyJIJ0CK4Qaf43ciCPeBClpEamInhTjbKPrEap/
+sasddbSouqf6Q2T62ETGf3eaLR6Ojoo/jQnAOXsHVk9aRsLzbEEaMwSc7EbLOl3G
+pYZ/tHL2FaZSEBN7qKVNlPOzDFvzaWlqbaOfK/OtsM8SfaJ9RFE1eLuTR26r4WiF
+zUDzQc19+6qiTRPsEHKSQqBc4kvLGLzXQIPcc1Qinaw5LCTvWZKUKJRYfhGaTrsA
+LnTrjlKv+D0CitRBadoL0uHxST1g2nBhXie4DW8hZ2o0SEvE0qE9sAjC1EBzEvd1
+LANWggEr8eYALtZgUcRL48sru1HOoU4JZhZ4D2pTxRFYyTCmWKa3WL6NFGYSgFmL
+SNmo4ICoIa9cifzToYC0PHh63R2U6l3WwcB4CWzTqp8sgm2ocamgkjSGQ7DAkXSh
+9sFcandvBoGFzzisGEQQqYbRwGn7N5VUqPNPV4QGFmRXbGt+FvXKy+/UaoY23Y3b
+AvrtMueBVKgJuaej2cR9Gg2kt0aX8ZQnRp7EeQCWs2EWbGT8FEI7BOfUzK2FErf4
+mCUZC/oMSIcjB4H6GzU42UscGv1MFghRel//c/DZGdNIn0VcjIrkt72Og0edbaVo
++KsWvfPAiFblLb2cixZ807vpUhXWwS3PsgYbR5AyLvmVAgMBAAGjggErMIIBJzAJ
+BgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGwDALBgNVHQ8EBAMCBeAwHQYDVR0l
+BBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBQROMgQ6oAfAT1jVWmN
+FTx5uaGYVTB7BgNVHSMEdDBygBTAJJrRcOCy33XlAOJ/lKEBhyDfPqFUpFIwUDEL
+MAkGA1UEBhMCeHgxDTALBgNVBAoTBHRlc3QxCzAJBgNVBAsTAkNBMSUwIwYDVQQD
+Exx0ZXN0IGNlcnRpZmljYXRpb24gYXV0aG9yaXR5ggQZAoqbMBEGA1UdEQQKMAiC
+BmNsaWVudDAZBgNVHRIEEjAQgQ5jYUBleGFtcGxlLm9yZzARBgNVHR8ECjAIMAag
+BKAChgAwDQYJKoZIhvcNAQEFBQADggIBAAReBsXZ7Nst3cFKx1dVBXr88xOLVuWp
+UCLns+ue3Sy1BjIVaO1mjwHNjCrb4OKBCEdroHoHI0gT0O3PC+IW0szJ2UfX2TtL
+p9oR+68SsS5rGH7Ppj2/oreWr0RWqd/dPlVlXFIhCg8xQ5yjTdGzWc0qgP6KFR6R
+vQTyP5JbUyKD4q9vsGTE0ptCF6s67oRfhDgaERStRc33mRT+xOvB2GH5YYQL1FGT
+vZy4il4hryRCf/GSfsFivLMVzo1rGAm22uc3JHQVviMOEpRp5oTTseYl4j2eIVU2
++yggKWG1rD0xKW2vv6QjQ8et5K2zzwuuf9SuaiaHu9l9OSrABpiDtS/qmS8kPVw7
+IW0sFsSBvUTQrDYIHjHIkzuithhJAfZOHPQO+Gri6ssL4UGuZp17CEGYi0Iy6pZU
+TyfFSWiEeKTy+4bOkKyEL1EoZttzSXaIxQ7akVDqLAYTtl8k6+Vw5CY+xsK3rt/d
++XsR8RIng18udD1vStUislWq2gnEb6M3znbVpKwmisWA4PAeEwvngguwP9O4lmCZ
+KLOLtSHhCZwhftHNdmsRF4BAt29Wdw36pWvVZlg69edbPXvSuhE55/j/L7OgbQng
+iS4HlZ13i4RgMsExkzI64/raMrV1o+1DvMzGq5zH19J7OlWrlgX2r83Uis8bpT0x
+CBa5gWQX7Ddn
+-----END CERTIFICATE-----
diff --git a/authserv/test/testca/newcerts/19028A9D.pem b/authserv/test/testca/newcerts/19028A9D.pem
new file mode 100644
index 0000000..9a0c738
--- /dev/null
+++ b/authserv/test/testca/newcerts/19028A9D.pem
@@ -0,0 +1,141 @@
+Certificate:
+    Data:
+        Version: 3 (0x2)
+        Serial Number: 419596957 (0x19028a9d)
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=xx, O=test, OU=CA, CN=test certification authority
+        Validity
+            Not Before: Jun 18 22:27:09 2014 GMT
+            Not After : Jun 15 22:27:09 2024 GMT
+        Subject: C=xx, O=test, OU=CA, CN=server
+        Subject Public Key Info:
+            Public Key Algorithm: rsaEncryption
+                Public-Key: (4096 bit)
+                Modulus:
+                    00:b1:61:2d:13:fd:74:be:64:e3:52:54:3d:22:6c:
+                    57:a9:9b:ad:0d:83:ef:46:e5:75:1c:87:c3:54:22:
+                    35:f4:47:a2:8e:bc:6f:e3:50:3a:dd:83:87:3d:02:
+                    35:bb:69:be:26:44:89:0b:0e:9c:0b:5a:4d:13:f5:
+                    75:81:fe:f3:e6:40:77:3c:16:5d:f5:14:28:6b:52:
+                    d2:7c:e4:a6:06:d3:62:1a:04:c5:25:1a:09:ca:08:
+                    f7:8a:4a:d1:7a:25:f7:84:76:e0:58:7d:72:9b:e6:
+                    af:13:5e:e6:2c:13:10:f3:09:ff:84:cf:77:d8:af:
+                    aa:28:d6:2f:f4:48:a8:74:25:7d:69:93:f4:6a:1f:
+                    84:06:8b:07:33:85:37:34:34:65:f8:bc:a7:f0:80:
+                    a9:ec:e3:bb:ec:18:f4:47:5a:e9:e8:97:6a:c1:ff:
+                    98:06:38:93:fb:bd:f2:75:70:05:18:db:7c:73:2a:
+                    86:bb:4a:bb:12:89:23:34:47:e7:d9:81:c4:4f:8b:
+                    dd:41:c2:5d:8b:94:c5:0d:4e:e1:0e:96:b9:13:ab:
+                    af:59:25:91:de:df:6d:6f:e8:a5:88:28:98:59:ad:
+                    98:a8:e7:71:ab:20:e7:fe:8f:a0:07:52:b1:0e:d8:
+                    9a:c8:d4:07:18:68:35:f7:fc:da:6a:0e:fa:de:c6:
+                    f8:49:81:40:bc:49:c5:7c:ff:e3:be:72:0d:e9:68:
+                    9d:0c:6e:9b:1d:3e:e8:50:96:f8:1d:a2:92:9a:ca:
+                    05:da:1b:91:ab:19:e7:08:98:a2:0b:ba:59:34:06:
+                    12:54:7b:84:2e:73:f1:4a:8b:3a:93:b2:53:e8:bb:
+                    a9:5f:f6:31:4f:dc:ca:6a:fe:3e:80:50:49:00:47:
+                    17:4d:71:8f:16:a4:de:54:bd:1f:6d:0c:45:42:09:
+                    3b:73:96:29:51:08:ea:23:3c:aa:0c:c6:01:a8:12:
+                    99:94:75:d5:a9:a2:3a:c1:90:c8:4e:05:95:10:96:
+                    c6:b0:8d:a8:dd:f7:57:ea:39:cd:ac:8a:f0:15:a6:
+                    32:7e:b0:b5:c0:ce:8c:3e:98:25:6d:61:43:cf:53:
+                    e6:30:36:7c:92:6f:80:01:aa:e6:3c:4c:d3:6b:7b:
+                    34:f3:a3:c0:d1:34:23:f2:a5:55:b5:ff:3a:3d:35:
+                    36:ce:0c:28:e2:7c:b9:9f:a8:28:a9:4f:12:66:8b:
+                    eb:bd:b0:b6:d6:35:d3:fb:bb:90:4b:0c:52:99:e5:
+                    d3:e2:dd:a6:18:49:55:02:e8:64:6a:32:aa:bb:b2:
+                    ca:c9:9f:d8:f5:a3:e6:03:c4:fc:3a:eb:ed:a9:3f:
+                    6c:fe:a5:af:36:77:2d:1d:b1:61:ce:a5:db:58:7b:
+                    8e:30:e9
+                Exponent: 65537 (0x10001)
+        X509v3 extensions:
+            X509v3 Basic Constraints: 
+                CA:FALSE
+            Netscape Cert Type: 
+                SSL Client, SSL Server
+            X509v3 Key Usage: 
+                Digital Signature, Non Repudiation, Key Encipherment
+            X509v3 Extended Key Usage: 
+                TLS Web Client Authentication, TLS Web Server Authentication
+            X509v3 Subject Key Identifier: 
+                70:D2:9C:0D:EE:05:06:6B:86:D6:CA:79:0F:08:3D:A6:BF:F4:6C:C2
+            X509v3 Authority Key Identifier: 
+                keyid:C0:24:9A:D1:70:E0:B2:DF:75:E5:00:E2:7F:94:A1:01:87:20:DF:3E
+                DirName:/C=xx/O=test/OU=CA/CN=test certification authority
+                serial:19:02:8A:9B
+
+            X509v3 Subject Alternative Name: 
+                DNS:server
+            X509v3 Issuer Alternative Name: 
+                email:ca@example.org
+            X509v3 CRL Distribution Points: 
+
+                Full Name:
+                  URI:
+
+    Signature Algorithm: sha1WithRSAEncryption
+         27:38:16:00:29:27:7a:51:89:39:39:b5:83:47:86:1a:8b:cf:
+         12:e6:79:ca:f3:b3:c1:dc:0b:8d:3b:63:43:89:6e:9e:c2:43:
+         8c:95:0b:0f:d2:e8:91:11:96:56:68:99:61:39:00:da:11:f7:
+         e3:cd:d0:62:b8:b2:e1:e8:86:76:16:fd:2b:2b:93:f7:11:7c:
+         d1:72:ac:a3:c0:62:83:c1:f6:16:6e:73:21:08:ba:b0:03:cd:
+         70:47:13:6d:ea:6d:74:8d:2b:9e:e1:0b:d7:f7:5d:df:88:52:
+         2e:a2:8b:23:53:cb:02:fd:42:b4:e5:39:76:e8:85:20:12:f4:
+         36:d5:22:ca:21:93:d7:f9:aa:99:91:98:30:a8:3e:0b:7e:ee:
+         c8:d8:0c:ad:cc:49:32:f5:0f:c4:7d:cb:bb:41:29:ce:81:b6:
+         88:75:2c:97:1d:56:c6:a1:06:7a:3f:c3:01:8c:ce:ec:79:3a:
+         cf:53:d1:af:9d:f4:8d:61:c8:78:8c:13:73:9a:40:1d:b3:d9:
+         4a:28:64:34:2f:68:41:41:15:76:0a:4b:53:62:b9:ec:92:74:
+         ef:65:bc:8a:c0:50:72:4b:77:aa:71:76:55:d5:c3:df:90:bc:
+         90:c9:8f:f4:40:4e:60:d1:69:0a:34:07:71:b4:cd:a6:dd:ab:
+         14:bf:74:3e:e7:e0:ad:df:9b:5d:62:eb:fc:4f:35:fc:3a:33:
+         29:ca:80:cf:81:cd:e8:ec:e0:08:07:68:03:6e:b0:0d:ae:2a:
+         fe:c2:43:97:cb:d9:89:43:55:c7:29:a1:06:9e:ba:5a:da:01:
+         28:be:a7:39:df:0f:2b:36:ee:b0:99:4b:71:b3:a2:eb:54:56:
+         a1:a1:41:5e:1c:e9:05:f0:32:54:bf:20:9a:89:68:1a:17:5f:
+         b1:d3:1f:b4:c7:e5:de:94:d1:c4:e1:ae:33:a9:1b:7c:34:21:
+         24:38:70:85:bf:16:52:f4:73:df:5c:05:82:e3:23:78:6a:be:
+         fd:08:8d:5f:29:86:d5:99:44:48:cf:1f:3e:fd:4d:d2:9d:ad:
+         a6:27:83:56:64:17:43:bb:a4:4a:f2:fe:f5:c1:f1:28:2f:8b:
+         8c:09:6a:19:75:05:de:c8:aa:57:a7:0a:1a:ae:ca:e7:76:90:
+         5f:a7:41:06:fe:9f:3d:95:c9:da:f2:67:23:e0:71:ec:ea:12:
+         9f:1d:18:4c:65:b6:e9:10:1b:ca:85:41:8a:ba:ea:5f:21:a8:
+         23:c4:5f:ae:90:1c:f7:e6:a5:f2:6a:1b:42:aa:80:4a:f0:54:
+         1c:89:68:56:68:50:c8:70:bb:28:88:80:f4:03:0e:97:48:e6:
+         7c:34:0d:cc:92:55:1a:e3
+-----BEGIN CERTIFICATE-----
+MIIGNTCCBB2gAwIBAgIEGQKKnTANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJ4
+eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0ExJTAjBgNVBAMTHHRlc3QgY2Vy
+dGlmaWNhdGlvbiBhdXRob3JpdHkwHhcNMTQwNjE4MjIyNzA5WhcNMjQwNjE1MjIy
+NzA5WjA6MQswCQYDVQQGEwJ4eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0Ex
+DzANBgNVBAMTBnNlcnZlcjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
+ALFhLRP9dL5k41JUPSJsV6mbrQ2D70bldRyHw1QiNfRHoo68b+NQOt2Dhz0CNbtp
+viZEiQsOnAtaTRP1dYH+8+ZAdzwWXfUUKGtS0nzkpgbTYhoExSUaCcoI94pK0Xol
+94R24Fh9cpvmrxNe5iwTEPMJ/4TPd9ivqijWL/RIqHQlfWmT9GofhAaLBzOFNzQ0
+Zfi8p/CAqezju+wY9Eda6eiXasH/mAY4k/u98nVwBRjbfHMqhrtKuxKJIzRH59mB
+xE+L3UHCXYuUxQ1O4Q6WuROrr1klkd7fbW/opYgomFmtmKjncasg5/6PoAdSsQ7Y
+msjUBxhoNff82moO+t7G+EmBQLxJxXz/475yDelonQxumx0+6FCW+B2ikprKBdob
+kasZ5wiYogu6WTQGElR7hC5z8UqLOpOyU+i7qV/2MU/cymr+PoBQSQBHF01xjxak
+3lS9H20MRUIJO3OWKVEI6iM8qgzGAagSmZR11amiOsGQyE4FlRCWxrCNqN33V+o5
+zayK8BWmMn6wtcDOjD6YJW1hQ89T5jA2fJJvgAGq5jxM02t7NPOjwNE0I/KlVbX/
+Oj01Ns4MKOJ8uZ+oKKlPEmaL672wttY10/u7kEsMUpnl0+LdphhJVQLoZGoyqruy
+ysmf2PWj5gPE/Drr7ak/bP6lrzZ3LR2xYc6l21h7jjDpAgMBAAGjggErMIIBJzAJ
+BgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGwDALBgNVHQ8EBAMCBeAwHQYDVR0l
+BBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBRw0pwN7gUGa4bWynkP
+CD2mv/RswjB7BgNVHSMEdDBygBTAJJrRcOCy33XlAOJ/lKEBhyDfPqFUpFIwUDEL
+MAkGA1UEBhMCeHgxDTALBgNVBAoTBHRlc3QxCzAJBgNVBAsTAkNBMSUwIwYDVQQD
+Exx0ZXN0IGNlcnRpZmljYXRpb24gYXV0aG9yaXR5ggQZAoqbMBEGA1UdEQQKMAiC
+BnNlcnZlcjAZBgNVHRIEEjAQgQ5jYUBleGFtcGxlLm9yZzARBgNVHR8ECjAIMAag
+BKAChgAwDQYJKoZIhvcNAQEFBQADggIBACc4FgApJ3pRiTk5tYNHhhqLzxLmecrz
+s8HcC407Y0OJbp7CQ4yVCw/S6JERllZomWE5ANoR9+PN0GK4suHohnYW/Ssrk/cR
+fNFyrKPAYoPB9hZucyEIurADzXBHE23qbXSNK57hC9f3Xd+IUi6iiyNTywL9QrTl
+OXbohSAS9DbVIsohk9f5qpmRmDCoPgt+7sjYDK3MSTL1D8R9y7tBKc6Btoh1LJcd
+VsahBno/wwGMzux5Os9T0a+d9I1hyHiME3OaQB2z2UooZDQvaEFBFXYKS1NiueyS
+dO9lvIrAUHJLd6pxdlXVw9+QvJDJj/RATmDRaQo0B3G0zabdqxS/dD7n4K3fm11i
+6/xPNfw6MynKgM+Bzejs4AgHaANusA2uKv7CQ5fL2YlDVccpoQaeulraASi+pznf
+Dys27rCZS3GzoutUVqGhQV4c6QXwMlS/IJqJaBoXX7HTH7TH5d6U0cThrjOpG3w0
+ISQ4cIW/FlL0c99cBYLjI3hqvv0IjV8phtWZREjPHz79TdKdraYng1ZkF0O7pEry
+/vXB8Sgvi4wJahl1Bd7IqlenChquyud2kF+nQQb+nz2VydryZyPgcezqEp8dGExl
+tukQG8qFQYq66l8hqCPEX66QHPfmpfJqG0KqgErwVByJaFZoUMhwuyiIgPQDDpdI
+5nw0DcySVRrj
+-----END CERTIFICATE-----
diff --git a/authserv/test/testca/private/ca.key b/authserv/test/testca/private/ca.key
index c41736c..e1d1186 100644
--- a/authserv/test/testca/private/ca.key
+++ b/authserv/test/testca/private/ca.key
@@ -1,16 +1,54 @@
------BEGIN PRIVATE KEY-----
-MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKpmrgKD15cCPF3G
-qmV1A9b8/7+LRO+s7YAiVhpYYMbVtNzyZNXjIaTB6XJgphhJtC3oFxvkbilfoZ+2
-6HBrUQCqr61plFVvxrgLrOSx9zkd4udKHaS9mRzIAiNZu5HASb2XZmRs5cTac2j+
-MEbFB3wKwBIFp0eulZLRMFncnZOPAgMBAAECgYB+XxXvoY1SXYMdXMdj5MsLNqgI
-iqV+RjYAj/ZhJWfoLfcq4MztXrvFr1WM0KZ9XrO0U+pHcjpMjrKTexeYv83axQky
-bRtUUsuEqPQ3ybksl5txat2/udo3Zh4NztIiejwhWim6YQJxxIxlKgEsNFiO4Zg+
-LVAh4JoRe3ihXFK4cQJBAOFtdYWGkZFXh9Zp5n9U9qGFBDQg8QsyYo1U3xQZO1yd
-yYPTa0vCeStIrPeirhIil9VtasuMumfNH1+p1UA+8rkCQQDBgsaI2qZ44QO9e1Oe
-+BTLV6lAM9tIHuiJTtUDrHmlUt3lF0loXd4glCMg1EfdvQymFkF/0Xq/fawtsxhM
-DjSHAkEAl/PAlBDxbpch6VXZGVucI6QWAU1zLaj45WugM1wOt49kloece6TLKHIE
-pafyziajUio/IpXp0K5jx4gjRvsngQJAA9Rju3egTcoeOdTD/eRo/PE6L0QXdeDu
-tzDxNEZojeYK8Cq60C7zY2+rFk49Md0479yG5VGu/TUugCUIOREa5wJBAIviG8J/
-ye9ghH7tuacPhVZzcvlvpFxncYhBfxdp5P8zvGkE+9UhOWdauyj5rDoMMfwqBbgt
-nNumMRD7vpSnzgQ=
------END PRIVATE KEY-----
+-----BEGIN ENCRYPTED PRIVATE KEY-----
+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
+gt0=
+-----END ENCRYPTED PRIVATE KEY-----
diff --git a/authserv/test/testca/private/client.key b/authserv/test/testca/private/client.key
index f1fc1fe..98c899a 100644
--- a/authserv/test/testca/private/client.key
+++ b/authserv/test/testca/private/client.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALwwTv0W0I1RrFrw
-1AilWMQnjgXSUAZvHpmdsfU9BHwe+qQI2TNUuilgJDNSvoCavwT9Ip+XJ83n7kZ6
-3wWSATxHMPOKnLKquFNM3FiYT6/q1ZVr3MZhXIfG+/jwwBSet8bDyC5arXRRDwVR
-BhBeldd8LPrlvRb5P7A4PFnluprRAgMBAAECgYA56kAU4ZWTOERrxFvswT4dN/Mc
-VYotQLtRGVfwGjQsIriODO8TPgsAusbJSLi6CWWqGmEybilg0/TfmebS5wkbxcVF
-Y5qiSkhAnPKr4PtT6NvI1evxSXkf36vP0d0bj9foYnj0CbdHKcWn3+wPTHq3jOtD
-AcCGIekvHDPaz0Qx1QJBAOD3XLna45/7OzALaejpVER949sK0dSiCCVp6s7nBoei
-kxWeN2dpsmHMEK8lAyPUcV4Pw5uoS1Npn9ZhhP2CB1sCQQDWJieNa/gUIxgsaXNa
-qRKMxULjgOWRJy6g7VxPmywo74Bj9TUFoIfGm+XtQxzvsLuiHv5wOpiRERxB+9ho
-pWpDAkEAxBueP33qs8lj/SvV9W2BQfukJ4w1AnEFPOgqApcuAArewRedII7pK4ui
-d6uCIzfMY7zGPejlUR9gcJeuQPeaxQJAE135/8E++1s9KW8T/qQByHdimD6lBF6d
-yfINgimPcdhPLTsU44BkJyMcRTvnlwnNvli9PBsghyYb/x+ur7AeDwJAPNImdjPH
-7qb+0V6zI0dmtbk9Hw54W3sMPV79IQGISAt74tpBZ2k2eS9qDdA7CL1NXcvx4WCz
-Ky0hz07M7JFlWw==
+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
+V7JiV6uWqBoJ1zA3RwcxJv3UZG3/
 -----END PRIVATE KEY-----
diff --git a/authserv/test/testca/private/server.key b/authserv/test/testca/private/server.key
index 21924df..cd359f6 100644
--- a/authserv/test/testca/private/server.key
+++ b/authserv/test/testca/private/server.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAK9UVm/qS53LaWUy
-oy4CZgefmS5dNjo5z6L/bIvAcIbjP6A7QrxvH0o+g9j0ksCoUAI79q6vsP1YwQPP
-tQWIKzW9rtmv1eizR7rBVynWOjkC/Ik3RPLKI7Ay+qXGsx5JC4WuNPsXM0XyJ21b
-FREzadoJ/ZzB3wONjFZdE5cBhI+1AgMBAAECgYBTrr1SzVEqD1xOoMyhuSNZoCNM
-rdCkGdOwyJjWWxNaTjygDajcp20X0p67foBM1AjcCCLFXbXsNeBqIUkVStjUEpXe
-nSj9HnkwVjwQR8JkDiwPaNOE1pSM0FmzrRdxr0c76Z/JiW3AMuWNJTMtXX9kNvgx
-Zq+24T3PzNleZZqgAQJBAOfP7g3anamnbVhqVWlyuLmTgMtCcg6cBz4ka4KdPCUw
-MPy8FGAHGIv0lQqt3/CJVNvJXi34Vs5yUe7mETyCtDUCQQDBn6nfdtKBhXfXV6Du
-hnR/Om+RTjV8mU9ZWaorYGbdVayNGrmYNahaPEXUAGDrj/loorHR1Fy7AP9/hMWM
-ft2BAkASLkipZYAAElWNHandP1Yll9/+ERQI+UvIH+ser15MPF9bMxUWAvh14ZTe
-5YwuvVaedkigql2Ei4rJhdnMOSQRAkAIRPhtWdbNv1SJ9u0hos5w7J79NrjkFGwm
-JcU1yw05oMIY2K5aiNgi2nYlAssg5GpDhMdRbd90ASvoV1RUlsqBAkEAvMYZOEGp
-wkn3gnc+VTnkN1UJDdNmRJ8oW0lEDG5MAAN4dicYO6g2AAHaABfwXGUqUY5oO5kK
-tOGlcHKoMloeEw==
+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
+r3NG3cIWPVpxmb/zCSXe6mo8RPDR
 -----END PRIVATE KEY-----
diff --git a/authserv/test/testca/public/ca.pem b/authserv/test/testca/public/ca.pem
new file mode 100644
index 0000000..9bc1c49
--- /dev/null
+++ b/authserv/test/testca/public/ca.pem
@@ -0,0 +1,136 @@
+Certificate:
+    Data:
+        Version: 3 (0x2)
+        Serial Number: 419596955 (0x19028a9b)
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=xx, O=test, OU=CA, CN=test certification authority
+        Validity
+            Not Before: Jun 18 22:26:45 2014 GMT
+            Not After : Jun 15 22:26:45 2024 GMT
+        Subject: C=xx, O=test, OU=CA, CN=test certification authority
+        Subject Public Key Info:
+            Public Key Algorithm: rsaEncryption
+                Public-Key: (4096 bit)
+                Modulus:
+                    00:cd:f8:55:27:b2:e6:bf:e7:58:13:13:0e:34:c4:
+                    25:57:1f:d2:8f:49:45:f7:db:23:8d:2f:6b:1e:9a:
+                    fd:c4:f2:a8:40:db:98:47:2b:f4:3a:73:30:d5:ef:
+                    d0:fb:3a:e5:5a:68:9d:b1:09:df:7d:94:a8:a8:3e:
+                    cb:40:c6:2c:95:67:72:0e:5e:ad:0b:62:a8:30:a2:
+                    5f:82:c8:f6:d8:d9:38:c8:33:c1:64:47:fe:be:14:
+                    69:e0:56:bb:aa:1b:3e:e2:6b:e9:ec:9d:28:bf:ed:
+                    75:9b:92:52:27:11:4b:92:46:90:63:5d:6c:48:86:
+                    84:41:b3:dd:10:9a:9f:d3:bb:89:43:ab:a9:d2:62:
+                    d6:74:b4:e6:bb:3a:60:21:84:6c:0b:51:97:80:dd:
+                    38:6e:6e:87:c7:33:84:e9:93:84:0d:a9:c4:dc:3f:
+                    af:b1:33:2d:41:79:56:7b:54:bd:ed:d9:ee:e1:b4:
+                    87:06:56:be:a2:8e:e8:16:fa:10:8c:72:75:89:14:
+                    12:7f:cf:2d:e8:c6:88:f1:ec:c1:c2:6a:71:5e:20:
+                    13:d7:f6:a6:cc:6d:a9:c2:9e:9e:a9:19:ae:ff:80:
+                    f1:d3:9b:39:6e:e6:7d:7c:d1:1c:3d:33:0d:a8:ab:
+                    9a:80:56:9e:ea:bd:ab:2e:25:42:f1:e4:92:24:3c:
+                    a4:64:7b:15:b4:b6:6f:82:ad:c2:0a:cc:a9:fa:e7:
+                    2a:4d:dd:a4:4f:77:58:bd:a6:47:38:d6:c5:5f:f3:
+                    bf:12:50:ab:c4:c3:6f:c7:26:61:3d:b0:be:66:45:
+                    8d:1c:2d:02:3e:e8:ba:91:22:a6:e5:e6:ee:48:c7:
+                    69:cc:e7:1e:11:14:c4:63:16:c8:73:9a:66:48:5c:
+                    bf:4b:d7:00:28:f4:4c:f5:3d:2d:36:c5:be:34:e2:
+                    68:99:09:7b:d8:fc:a9:b0:a7:2b:f1:11:a7:2b:1a:
+                    fe:99:92:5d:46:5d:5e:35:e4:c8:44:4f:c6:b0:cb:
+                    93:53:af:b7:a0:c7:15:1b:df:b1:23:3c:fd:77:56:
+                    87:bb:ce:2d:d1:e3:1f:8d:04:44:4f:ed:d4:e6:f7:
+                    30:ff:f0:f8:0a:e0:59:c4:3b:f1:90:c1:4c:1b:58:
+                    4d:18:f6:52:39:5f:83:7e:8c:a6:e4:5b:50:da:fb:
+                    9e:37:4e:20:7f:be:56:b2:3c:86:ad:ca:0b:11:b5:
+                    3f:a7:25:b6:0d:98:7b:3e:59:9a:f4:8c:45:e9:55:
+                    b3:61:1d:27:b3:c4:7c:86:c0:1e:bf:b2:94:7b:77:
+                    26:12:0a:5e:a0:cb:01:c7:b9:56:0f:9c:6b:d0:bf:
+                    a2:23:bc:25:a2:4c:b2:d3:35:e6:96:07:37:27:a2:
+                    05:d2:77
+                Exponent: 65537 (0x10001)
+        X509v3 extensions:
+            X509v3 Subject Key Identifier: 
+                C0:24:9A:D1:70:E0:B2:DF:75:E5:00:E2:7F:94:A1:01:87:20:DF:3E
+            X509v3 Authority Key Identifier: 
+                keyid:C0:24:9A:D1:70:E0:B2:DF:75:E5:00:E2:7F:94:A1:01:87:20:DF:3E
+                DirName:/C=xx/O=test/OU=CA/CN=test certification authority
+                serial:19:02:8A:9B
+
+            X509v3 Basic Constraints: critical
+                CA:TRUE
+            X509v3 Key Usage: 
+                Certificate Sign, CRL Sign
+            Netscape Cert Type: 
+                SSL CA, S/MIME CA, Object Signing CA
+            Netscape Comment: 
+                test certification authority
+            X509v3 Subject Alternative Name: 
+                email:ca@example.org
+            X509v3 Issuer Alternative Name: 
+                email:ca@example.org
+    Signature Algorithm: sha1WithRSAEncryption
+         52:6a:69:76:df:14:01:09:ec:3c:4d:ee:24:8b:72:32:f6:c9:
+         3a:e4:6f:ef:70:a6:cd:d2:6d:1f:ed:87:c0:d9:01:b9:57:de:
+         c1:3c:94:18:30:dc:23:22:c9:6e:69:d6:fb:39:8d:1a:b4:4f:
+         8d:91:28:7e:a9:53:c3:3c:4e:4e:51:c4:39:5d:56:47:ee:d8:
+         17:c6:34:56:1d:f8:d9:a0:25:2f:c0:11:22:e8:e8:d4:b3:36:
+         58:74:22:66:90:01:75:74:f5:e8:ab:73:a7:63:e3:6f:93:2b:
+         e0:a6:76:84:2f:c7:f8:5d:74:1d:12:8b:09:de:4c:62:1b:80:
+         b0:86:fd:6b:51:5f:6d:cd:28:39:af:52:2d:61:b8:81:9e:4e:
+         ea:da:40:13:64:7b:1b:7a:42:13:8f:10:ec:4e:c0:89:60:fa:
+         73:f0:b7:a8:a3:28:87:e2:e3:b9:d2:a9:df:25:bc:df:c5:d8:
+         84:91:bc:e7:1e:12:1b:70:38:3d:d5:29:3a:d9:4a:2d:c8:73:
+         2e:39:9b:c2:85:8a:05:3c:ee:26:3b:5f:55:81:c1:6e:e9:fe:
+         c8:7f:66:47:01:cf:72:48:b2:0f:cf:78:33:37:0f:92:4a:5f:
+         b8:0d:9a:7f:82:bb:84:95:a2:65:17:cf:a5:81:bd:47:26:f1:
+         6e:37:da:77:50:51:b5:80:f8:29:3d:5b:e2:c7:13:1b:ce:87:
+         68:8e:19:78:62:75:a4:cf:62:ef:83:6b:95:17:e1:49:d2:a1:
+         d5:68:16:a2:a1:63:8d:00:b2:80:bf:68:4f:58:e7:32:60:da:
+         17:f9:1c:02:b7:37:32:b5:90:ba:9f:d1:38:0a:1d:bc:fb:01:
+         fc:1f:52:d5:26:d3:69:1b:02:ff:de:03:a4:95:6a:1c:33:74:
+         d2:5e:bc:3c:2e:a4:ae:a0:c8:b5:92:e2:a2:25:be:eb:0e:e2:
+         ba:4f:82:d1:b5:ac:1c:41:66:57:dc:1a:41:1f:8e:d8:fb:7a:
+         6d:06:fc:9a:39:a6:6d:bb:1a:15:de:a6:fb:af:26:c9:d2:fd:
+         dc:7c:68:a7:90:6b:d4:91:7d:14:91:f2:87:fe:ac:fe:17:2a:
+         e0:0b:11:44:02:a5:6f:3c:5e:ac:01:d0:69:f3:b7:ad:a6:7f:
+         51:25:21:a3:cc:d4:0c:60:04:b9:ae:83:d5:73:f2:40:c9:96:
+         4d:83:14:74:e8:b5:3f:3c:73:7d:7b:27:8b:d1:c8:05:54:05:
+         6b:73:3b:f9:f7:a3:ae:2b:e3:3c:56:1f:76:fe:ca:b4:d4:d1:
+         ef:ac:d4:e8:22:1a:0c:4d:69:94:23:55:1d:92:be:ac:b8:b2:
+         33:8f:17:6f:64:57:5a:5e
+-----BEGIN CERTIFICATE-----
+MIIGVDCCBDygAwIBAgIEGQKKmzANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJ4
+eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0ExJTAjBgNVBAMTHHRlc3QgY2Vy
+dGlmaWNhdGlvbiBhdXRob3JpdHkwHhcNMTQwNjE4MjIyNjQ1WhcNMjQwNjE1MjIy
+NjQ1WjBQMQswCQYDVQQGEwJ4eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0Ex
+JTAjBgNVBAMTHHRlc3QgY2VydGlmaWNhdGlvbiBhdXRob3JpdHkwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQDN+FUnsua/51gTEw40xCVXH9KPSUX32yON
+L2semv3E8qhA25hHK/Q6czDV79D7OuVaaJ2xCd99lKioPstAxiyVZ3IOXq0LYqgw
+ol+CyPbY2TjIM8FkR/6+FGngVruqGz7ia+nsnSi/7XWbklInEUuSRpBjXWxIhoRB
+s90Qmp/Tu4lDq6nSYtZ0tOa7OmAhhGwLUZeA3ThubofHM4Tpk4QNqcTcP6+xMy1B
+eVZ7VL3t2e7htIcGVr6ijugW+hCMcnWJFBJ/zy3oxojx7MHCanFeIBPX9qbMbanC
+np6pGa7/gPHTmzlu5n180Rw9Mw2oq5qAVp7qvasuJULx5JIkPKRkexW0tm+CrcIK
+zKn65ypN3aRPd1i9pkc41sVf878SUKvEw2/HJmE9sL5mRY0cLQI+6LqRIqbl5u5I
+x2nM5x4RFMRjFshzmmZIXL9L1wAo9Ez1PS02xb404miZCXvY/KmwpyvxEacrGv6Z
+kl1GXV415MhET8awy5NTr7egxxUb37EjPP13Voe7zi3R4x+NBERP7dTm9zD/8PgK
+4FnEO/GQwUwbWE0Y9lI5X4N+jKbkW1Da+543TiB/vlayPIatygsRtT+nJbYNmHs+
+WZr0jEXpVbNhHSezxHyGwB6/spR7dyYSCl6gywHHuVYPnGvQv6IjvCWiTLLTNeaW
+BzcnogXSdwIDAQABo4IBNDCCATAwHQYDVR0OBBYEFMAkmtFw4LLfdeUA4n+UoQGH
+IN8+MHsGA1UdIwR0MHKAFMAkmtFw4LLfdeUA4n+UoQGHIN8+oVSkUjBQMQswCQYD
+VQQGEwJ4eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0ExJTAjBgNVBAMTHHRl
+c3QgY2VydGlmaWNhdGlvbiBhdXRob3JpdHmCBBkCipswDwYDVR0TAQH/BAUwAwEB
+/zALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCsGCWCGSAGG+EIBDQQe
+Fhx0ZXN0IGNlcnRpZmljYXRpb24gYXV0aG9yaXR5MBkGA1UdEQQSMBCBDmNhQGV4
+YW1wbGUub3JnMBkGA1UdEgQSMBCBDmNhQGV4YW1wbGUub3JnMA0GCSqGSIb3DQEB
+BQUAA4ICAQBSaml23xQBCew8Te4ki3Iy9sk65G/vcKbN0m0f7YfA2QG5V97BPJQY
+MNwjIsluadb7OY0atE+NkSh+qVPDPE5OUcQ5XVZH7tgXxjRWHfjZoCUvwBEi6OjU
+szZYdCJmkAF1dPXoq3OnY+NvkyvgpnaEL8f4XXQdEosJ3kxiG4Cwhv1rUV9tzSg5
+r1ItYbiBnk7q2kATZHsbekITjxDsTsCJYPpz8LeooyiH4uO50qnfJbzfxdiEkbzn
+HhIbcDg91Sk62UotyHMuOZvChYoFPO4mO19VgcFu6f7If2ZHAc9ySLIPz3gzNw+S
+Sl+4DZp/gruElaJlF8+lgb1HJvFuN9p3UFG1gPgpPVvixxMbzodojhl4YnWkz2Lv
+g2uVF+FJ0qHVaBaioWONALKAv2hPWOcyYNoX+RwCtzcytZC6n9E4Ch28+wH8H1LV
+JtNpGwL/3gOklWocM3TSXrw8LqSuoMi1kuKiJb7rDuK6T4LRtawcQWZX3BpBH47Y
++3ptBvyaOaZtuxoV3qb7rybJ0v3cfGinkGvUkX0UkfKH/qz+FyrgCxFEAqVvPF6s
+AdBp87etpn9RJSGjzNQMYAS5roPVc/JAyZZNgxR06LU/PHN9eyeL0cgFVAVrczv5
+96OuK+M8Vh92/sq01NHvrNToIhoMTWmUI1Udkr6suLIzjxdvZFdaXg==
+-----END CERTIFICATE-----
diff --git a/authserv/test/testca/public/certs/client.pem b/authserv/test/testca/public/certs/client.pem
new file mode 100644
index 0000000..634842b
--- /dev/null
+++ b/authserv/test/testca/public/certs/client.pem
@@ -0,0 +1,141 @@
+Certificate:
+    Data:
+        Version: 3 (0x2)
+        Serial Number: 419596956 (0x19028a9c)
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=xx, O=test, OU=CA, CN=test certification authority
+        Validity
+            Not Before: Jun 18 22:27:05 2014 GMT
+            Not After : Jun 15 22:27:05 2024 GMT
+        Subject: C=xx, O=test, OU=CA, CN=client
+        Subject Public Key Info:
+            Public Key Algorithm: rsaEncryption
+                Public-Key: (4096 bit)
+                Modulus:
+                    00:c9:2a:4e:10:05:08:c4:7c:07:f8:8b:f9:22:7a:
+                    6f:0c:a5:4d:ec:89:20:9d:02:2b:84:1a:7f:8d:dc:
+                    88:23:de:04:29:69:11:a9:88:9e:14:e3:6c:a3:eb:
+                    11:aa:7f:b1:ab:1d:75:b4:a8:ba:a7:fa:43:64:fa:
+                    d8:44:c6:7f:77:9a:2d:1e:8e:8e:8a:3f:8d:09:c0:
+                    39:7b:07:56:4f:5a:46:c2:f3:6c:41:1a:33:04:9c:
+                    ec:46:cb:3a:5d:c6:a5:86:7f:b4:72:f6:15:a6:52:
+                    10:13:7b:a8:a5:4d:94:f3:b3:0c:5b:f3:69:69:6a:
+                    6d:a3:9f:2b:f3:ad:b0:cf:12:7d:a2:7d:44:51:35:
+                    78:bb:93:47:6e:ab:e1:68:85:cd:40:f3:41:cd:7d:
+                    fb:aa:a2:4d:13:ec:10:72:92:42:a0:5c:e2:4b:cb:
+                    18:bc:d7:40:83:dc:73:54:22:9d:ac:39:2c:24:ef:
+                    59:92:94:28:94:58:7e:11:9a:4e:bb:00:2e:74:eb:
+                    8e:52:af:f8:3d:02:8a:d4:41:69:da:0b:d2:e1:f1:
+                    49:3d:60:da:70:61:5e:27:b8:0d:6f:21:67:6a:34:
+                    48:4b:c4:d2:a1:3d:b0:08:c2:d4:40:73:12:f7:75:
+                    2c:03:56:82:01:2b:f1:e6:00:2e:d6:60:51:c4:4b:
+                    e3:cb:2b:bb:51:ce:a1:4e:09:66:16:78:0f:6a:53:
+                    c5:11:58:c9:30:a6:58:a6:b7:58:be:8d:14:66:12:
+                    80:59:8b:48:d9:a8:e0:80:a8:21:af:5c:89:fc:d3:
+                    a1:80:b4:3c:78:7a:dd:1d:94:ea:5d:d6:c1:c0:78:
+                    09:6c:d3:aa:9f:2c:82:6d:a8:71:a9:a0:92:34:86:
+                    43:b0:c0:91:74:a1:f6:c1:5c:6a:77:6f:06:81:85:
+                    cf:38:ac:18:44:10:a9:86:d1:c0:69:fb:37:95:54:
+                    a8:f3:4f:57:84:06:16:64:57:6c:6b:7e:16:f5:ca:
+                    cb:ef:d4:6a:86:36:dd:8d:db:02:fa:ed:32:e7:81:
+                    54:a8:09:b9:a7:a3:d9:c4:7d:1a:0d:a4:b7:46:97:
+                    f1:94:27:46:9e:c4:79:00:96:b3:61:16:6c:64:fc:
+                    14:42:3b:04:e7:d4:cc:ad:85:12:b7:f8:98:25:19:
+                    0b:fa:0c:48:87:23:07:81:fa:1b:35:38:d9:4b:1c:
+                    1a:fd:4c:16:08:51:7a:5f:ff:73:f0:d9:19:d3:48:
+                    9f:45:5c:8c:8a:e4:b7:bd:8e:83:47:9d:6d:a5:68:
+                    f8:ab:16:bd:f3:c0:88:56:e5:2d:bd:9c:8b:16:7c:
+                    d3:bb:e9:52:15:d6:c1:2d:cf:b2:06:1b:47:90:32:
+                    2e:f9:95
+                Exponent: 65537 (0x10001)
+        X509v3 extensions:
+            X509v3 Basic Constraints: 
+                CA:FALSE
+            Netscape Cert Type: 
+                SSL Client, SSL Server
+            X509v3 Key Usage: 
+                Digital Signature, Non Repudiation, Key Encipherment
+            X509v3 Extended Key Usage: 
+                TLS Web Client Authentication, TLS Web Server Authentication
+            X509v3 Subject Key Identifier: 
+                11:38:C8:10:EA:80:1F:01:3D:63:55:69:8D:15:3C:79:B9:A1:98:55
+            X509v3 Authority Key Identifier: 
+                keyid:C0:24:9A:D1:70:E0:B2:DF:75:E5:00:E2:7F:94:A1:01:87:20:DF:3E
+                DirName:/C=xx/O=test/OU=CA/CN=test certification authority
+                serial:19:02:8A:9B
+
+            X509v3 Subject Alternative Name: 
+                DNS:client
+            X509v3 Issuer Alternative Name: 
+                email:ca@example.org
+            X509v3 CRL Distribution Points: 
+
+                Full Name:
+                  URI:
+
+    Signature Algorithm: sha1WithRSAEncryption
+         04:5e:06:c5:d9:ec:db:2d:dd:c1:4a:c7:57:55:05:7a:fc:f3:
+         13:8b:56:e5:a9:50:22:e7:b3:eb:9e:dd:2c:b5:06:32:15:68:
+         ed:66:8f:01:cd:8c:2a:db:e0:e2:81:08:47:6b:a0:7a:07:23:
+         48:13:d0:ed:cf:0b:e2:16:d2:cc:c9:d9:47:d7:d9:3b:4b:a7:
+         da:11:fb:af:12:b1:2e:6b:18:7e:cf:a6:3d:bf:a2:b7:96:af:
+         44:56:a9:df:dd:3e:55:65:5c:52:21:0a:0f:31:43:9c:a3:4d:
+         d1:b3:59:cd:2a:80:fe:8a:15:1e:91:bd:04:f2:3f:92:5b:53:
+         22:83:e2:af:6f:b0:64:c4:d2:9b:42:17:ab:3a:ee:84:5f:84:
+         38:1a:11:14:ad:45:cd:f7:99:14:fe:c4:eb:c1:d8:61:f9:61:
+         84:0b:d4:51:93:bd:9c:b8:8a:5e:21:af:24:42:7f:f1:92:7e:
+         c1:62:bc:b3:15:ce:8d:6b:18:09:b6:da:e7:37:24:74:15:be:
+         23:0e:12:94:69:e6:84:d3:b1:e6:25:e2:3d:9e:21:55:36:fb:
+         28:20:29:61:b5:ac:3d:31:29:6d:af:bf:a4:23:43:c7:ad:e4:
+         ad:b3:cf:0b:ae:7f:d4:ae:6a:26:87:bb:d9:7d:39:2a:c0:06:
+         98:83:b5:2f:ea:99:2f:24:3d:5c:3b:21:6d:2c:16:c4:81:bd:
+         44:d0:ac:36:08:1e:31:c8:93:3b:a2:b6:18:49:01:f6:4e:1c:
+         f4:0e:f8:6a:e2:ea:cb:0b:e1:41:ae:66:9d:7b:08:41:98:8b:
+         42:32:ea:96:54:4f:27:c5:49:68:84:78:a4:f2:fb:86:ce:90:
+         ac:84:2f:51:28:66:db:73:49:76:88:c5:0e:da:91:50:ea:2c:
+         06:13:b6:5f:24:eb:e5:70:e4:26:3e:c6:c2:b7:ae:df:dd:f9:
+         7b:11:f1:12:27:83:5f:2e:74:3d:6f:4a:d5:22:b2:55:aa:da:
+         09:c4:6f:a3:37:ce:76:d5:a4:ac:26:8a:c5:80:e0:f0:1e:13:
+         0b:e7:82:0b:b0:3f:d3:b8:96:60:99:28:b3:8b:b5:21:e1:09:
+         9c:21:7e:d1:cd:76:6b:11:17:80:40:b7:6f:56:77:0d:fa:a5:
+         6b:d5:66:58:3a:f5:e7:5b:3d:7b:d2:ba:11:39:e7:f8:ff:2f:
+         b3:a0:6d:09:e0:89:2e:07:95:9d:77:8b:84:60:32:c1:31:93:
+         32:3a:e3:fa:da:32:b5:75:a3:ed:43:bc:cc:c6:ab:9c:c7:d7:
+         d2:7b:3a:55:ab:96:05:f6:af:cd:d4:8a:cf:1b:a5:3d:31:08:
+         16:b9:81:64:17:ec:37:67
+-----BEGIN CERTIFICATE-----
+MIIGNTCCBB2gAwIBAgIEGQKKnDANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJ4
+eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0ExJTAjBgNVBAMTHHRlc3QgY2Vy
+dGlmaWNhdGlvbiBhdXRob3JpdHkwHhcNMTQwNjE4MjIyNzA1WhcNMjQwNjE1MjIy
+NzA1WjA6MQswCQYDVQQGEwJ4eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0Ex
+DzANBgNVBAMTBmNsaWVudDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
+AMkqThAFCMR8B/iL+SJ6bwylTeyJIJ0CK4Qaf43ciCPeBClpEamInhTjbKPrEap/
+sasddbSouqf6Q2T62ETGf3eaLR6Ojoo/jQnAOXsHVk9aRsLzbEEaMwSc7EbLOl3G
+pYZ/tHL2FaZSEBN7qKVNlPOzDFvzaWlqbaOfK/OtsM8SfaJ9RFE1eLuTR26r4WiF
+zUDzQc19+6qiTRPsEHKSQqBc4kvLGLzXQIPcc1Qinaw5LCTvWZKUKJRYfhGaTrsA
+LnTrjlKv+D0CitRBadoL0uHxST1g2nBhXie4DW8hZ2o0SEvE0qE9sAjC1EBzEvd1
+LANWggEr8eYALtZgUcRL48sru1HOoU4JZhZ4D2pTxRFYyTCmWKa3WL6NFGYSgFmL
+SNmo4ICoIa9cifzToYC0PHh63R2U6l3WwcB4CWzTqp8sgm2ocamgkjSGQ7DAkXSh
+9sFcandvBoGFzzisGEQQqYbRwGn7N5VUqPNPV4QGFmRXbGt+FvXKy+/UaoY23Y3b
+AvrtMueBVKgJuaej2cR9Gg2kt0aX8ZQnRp7EeQCWs2EWbGT8FEI7BOfUzK2FErf4
+mCUZC/oMSIcjB4H6GzU42UscGv1MFghRel//c/DZGdNIn0VcjIrkt72Og0edbaVo
++KsWvfPAiFblLb2cixZ807vpUhXWwS3PsgYbR5AyLvmVAgMBAAGjggErMIIBJzAJ
+BgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGwDALBgNVHQ8EBAMCBeAwHQYDVR0l
+BBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBQROMgQ6oAfAT1jVWmN
+FTx5uaGYVTB7BgNVHSMEdDBygBTAJJrRcOCy33XlAOJ/lKEBhyDfPqFUpFIwUDEL
+MAkGA1UEBhMCeHgxDTALBgNVBAoTBHRlc3QxCzAJBgNVBAsTAkNBMSUwIwYDVQQD
+Exx0ZXN0IGNlcnRpZmljYXRpb24gYXV0aG9yaXR5ggQZAoqbMBEGA1UdEQQKMAiC
+BmNsaWVudDAZBgNVHRIEEjAQgQ5jYUBleGFtcGxlLm9yZzARBgNVHR8ECjAIMAag
+BKAChgAwDQYJKoZIhvcNAQEFBQADggIBAAReBsXZ7Nst3cFKx1dVBXr88xOLVuWp
+UCLns+ue3Sy1BjIVaO1mjwHNjCrb4OKBCEdroHoHI0gT0O3PC+IW0szJ2UfX2TtL
+p9oR+68SsS5rGH7Ppj2/oreWr0RWqd/dPlVlXFIhCg8xQ5yjTdGzWc0qgP6KFR6R
+vQTyP5JbUyKD4q9vsGTE0ptCF6s67oRfhDgaERStRc33mRT+xOvB2GH5YYQL1FGT
+vZy4il4hryRCf/GSfsFivLMVzo1rGAm22uc3JHQVviMOEpRp5oTTseYl4j2eIVU2
++yggKWG1rD0xKW2vv6QjQ8et5K2zzwuuf9SuaiaHu9l9OSrABpiDtS/qmS8kPVw7
+IW0sFsSBvUTQrDYIHjHIkzuithhJAfZOHPQO+Gri6ssL4UGuZp17CEGYi0Iy6pZU
+TyfFSWiEeKTy+4bOkKyEL1EoZttzSXaIxQ7akVDqLAYTtl8k6+Vw5CY+xsK3rt/d
++XsR8RIng18udD1vStUislWq2gnEb6M3znbVpKwmisWA4PAeEwvngguwP9O4lmCZ
+KLOLtSHhCZwhftHNdmsRF4BAt29Wdw36pWvVZlg69edbPXvSuhE55/j/L7OgbQng
+iS4HlZ13i4RgMsExkzI64/raMrV1o+1DvMzGq5zH19J7OlWrlgX2r83Uis8bpT0x
+CBa5gWQX7Ddn
+-----END CERTIFICATE-----
diff --git a/authserv/test/testca/public/certs/server.pem b/authserv/test/testca/public/certs/server.pem
new file mode 100644
index 0000000..9a0c738
--- /dev/null
+++ b/authserv/test/testca/public/certs/server.pem
@@ -0,0 +1,141 @@
+Certificate:
+    Data:
+        Version: 3 (0x2)
+        Serial Number: 419596957 (0x19028a9d)
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=xx, O=test, OU=CA, CN=test certification authority
+        Validity
+            Not Before: Jun 18 22:27:09 2014 GMT
+            Not After : Jun 15 22:27:09 2024 GMT
+        Subject: C=xx, O=test, OU=CA, CN=server
+        Subject Public Key Info:
+            Public Key Algorithm: rsaEncryption
+                Public-Key: (4096 bit)
+                Modulus:
+                    00:b1:61:2d:13:fd:74:be:64:e3:52:54:3d:22:6c:
+                    57:a9:9b:ad:0d:83:ef:46:e5:75:1c:87:c3:54:22:
+                    35:f4:47:a2:8e:bc:6f:e3:50:3a:dd:83:87:3d:02:
+                    35:bb:69:be:26:44:89:0b:0e:9c:0b:5a:4d:13:f5:
+                    75:81:fe:f3:e6:40:77:3c:16:5d:f5:14:28:6b:52:
+                    d2:7c:e4:a6:06:d3:62:1a:04:c5:25:1a:09:ca:08:
+                    f7:8a:4a:d1:7a:25:f7:84:76:e0:58:7d:72:9b:e6:
+                    af:13:5e:e6:2c:13:10:f3:09:ff:84:cf:77:d8:af:
+                    aa:28:d6:2f:f4:48:a8:74:25:7d:69:93:f4:6a:1f:
+                    84:06:8b:07:33:85:37:34:34:65:f8:bc:a7:f0:80:
+                    a9:ec:e3:bb:ec:18:f4:47:5a:e9:e8:97:6a:c1:ff:
+                    98:06:38:93:fb:bd:f2:75:70:05:18:db:7c:73:2a:
+                    86:bb:4a:bb:12:89:23:34:47:e7:d9:81:c4:4f:8b:
+                    dd:41:c2:5d:8b:94:c5:0d:4e:e1:0e:96:b9:13:ab:
+                    af:59:25:91:de:df:6d:6f:e8:a5:88:28:98:59:ad:
+                    98:a8:e7:71:ab:20:e7:fe:8f:a0:07:52:b1:0e:d8:
+                    9a:c8:d4:07:18:68:35:f7:fc:da:6a:0e:fa:de:c6:
+                    f8:49:81:40:bc:49:c5:7c:ff:e3:be:72:0d:e9:68:
+                    9d:0c:6e:9b:1d:3e:e8:50:96:f8:1d:a2:92:9a:ca:
+                    05:da:1b:91:ab:19:e7:08:98:a2:0b:ba:59:34:06:
+                    12:54:7b:84:2e:73:f1:4a:8b:3a:93:b2:53:e8:bb:
+                    a9:5f:f6:31:4f:dc:ca:6a:fe:3e:80:50:49:00:47:
+                    17:4d:71:8f:16:a4:de:54:bd:1f:6d:0c:45:42:09:
+                    3b:73:96:29:51:08:ea:23:3c:aa:0c:c6:01:a8:12:
+                    99:94:75:d5:a9:a2:3a:c1:90:c8:4e:05:95:10:96:
+                    c6:b0:8d:a8:dd:f7:57:ea:39:cd:ac:8a:f0:15:a6:
+                    32:7e:b0:b5:c0:ce:8c:3e:98:25:6d:61:43:cf:53:
+                    e6:30:36:7c:92:6f:80:01:aa:e6:3c:4c:d3:6b:7b:
+                    34:f3:a3:c0:d1:34:23:f2:a5:55:b5:ff:3a:3d:35:
+                    36:ce:0c:28:e2:7c:b9:9f:a8:28:a9:4f:12:66:8b:
+                    eb:bd:b0:b6:d6:35:d3:fb:bb:90:4b:0c:52:99:e5:
+                    d3:e2:dd:a6:18:49:55:02:e8:64:6a:32:aa:bb:b2:
+                    ca:c9:9f:d8:f5:a3:e6:03:c4:fc:3a:eb:ed:a9:3f:
+                    6c:fe:a5:af:36:77:2d:1d:b1:61:ce:a5:db:58:7b:
+                    8e:30:e9
+                Exponent: 65537 (0x10001)
+        X509v3 extensions:
+            X509v3 Basic Constraints: 
+                CA:FALSE
+            Netscape Cert Type: 
+                SSL Client, SSL Server
+            X509v3 Key Usage: 
+                Digital Signature, Non Repudiation, Key Encipherment
+            X509v3 Extended Key Usage: 
+                TLS Web Client Authentication, TLS Web Server Authentication
+            X509v3 Subject Key Identifier: 
+                70:D2:9C:0D:EE:05:06:6B:86:D6:CA:79:0F:08:3D:A6:BF:F4:6C:C2
+            X509v3 Authority Key Identifier: 
+                keyid:C0:24:9A:D1:70:E0:B2:DF:75:E5:00:E2:7F:94:A1:01:87:20:DF:3E
+                DirName:/C=xx/O=test/OU=CA/CN=test certification authority
+                serial:19:02:8A:9B
+
+            X509v3 Subject Alternative Name: 
+                DNS:server
+            X509v3 Issuer Alternative Name: 
+                email:ca@example.org
+            X509v3 CRL Distribution Points: 
+
+                Full Name:
+                  URI:
+
+    Signature Algorithm: sha1WithRSAEncryption
+         27:38:16:00:29:27:7a:51:89:39:39:b5:83:47:86:1a:8b:cf:
+         12:e6:79:ca:f3:b3:c1:dc:0b:8d:3b:63:43:89:6e:9e:c2:43:
+         8c:95:0b:0f:d2:e8:91:11:96:56:68:99:61:39:00:da:11:f7:
+         e3:cd:d0:62:b8:b2:e1:e8:86:76:16:fd:2b:2b:93:f7:11:7c:
+         d1:72:ac:a3:c0:62:83:c1:f6:16:6e:73:21:08:ba:b0:03:cd:
+         70:47:13:6d:ea:6d:74:8d:2b:9e:e1:0b:d7:f7:5d:df:88:52:
+         2e:a2:8b:23:53:cb:02:fd:42:b4:e5:39:76:e8:85:20:12:f4:
+         36:d5:22:ca:21:93:d7:f9:aa:99:91:98:30:a8:3e:0b:7e:ee:
+         c8:d8:0c:ad:cc:49:32:f5:0f:c4:7d:cb:bb:41:29:ce:81:b6:
+         88:75:2c:97:1d:56:c6:a1:06:7a:3f:c3:01:8c:ce:ec:79:3a:
+         cf:53:d1:af:9d:f4:8d:61:c8:78:8c:13:73:9a:40:1d:b3:d9:
+         4a:28:64:34:2f:68:41:41:15:76:0a:4b:53:62:b9:ec:92:74:
+         ef:65:bc:8a:c0:50:72:4b:77:aa:71:76:55:d5:c3:df:90:bc:
+         90:c9:8f:f4:40:4e:60:d1:69:0a:34:07:71:b4:cd:a6:dd:ab:
+         14:bf:74:3e:e7:e0:ad:df:9b:5d:62:eb:fc:4f:35:fc:3a:33:
+         29:ca:80:cf:81:cd:e8:ec:e0:08:07:68:03:6e:b0:0d:ae:2a:
+         fe:c2:43:97:cb:d9:89:43:55:c7:29:a1:06:9e:ba:5a:da:01:
+         28:be:a7:39:df:0f:2b:36:ee:b0:99:4b:71:b3:a2:eb:54:56:
+         a1:a1:41:5e:1c:e9:05:f0:32:54:bf:20:9a:89:68:1a:17:5f:
+         b1:d3:1f:b4:c7:e5:de:94:d1:c4:e1:ae:33:a9:1b:7c:34:21:
+         24:38:70:85:bf:16:52:f4:73:df:5c:05:82:e3:23:78:6a:be:
+         fd:08:8d:5f:29:86:d5:99:44:48:cf:1f:3e:fd:4d:d2:9d:ad:
+         a6:27:83:56:64:17:43:bb:a4:4a:f2:fe:f5:c1:f1:28:2f:8b:
+         8c:09:6a:19:75:05:de:c8:aa:57:a7:0a:1a:ae:ca:e7:76:90:
+         5f:a7:41:06:fe:9f:3d:95:c9:da:f2:67:23:e0:71:ec:ea:12:
+         9f:1d:18:4c:65:b6:e9:10:1b:ca:85:41:8a:ba:ea:5f:21:a8:
+         23:c4:5f:ae:90:1c:f7:e6:a5:f2:6a:1b:42:aa:80:4a:f0:54:
+         1c:89:68:56:68:50:c8:70:bb:28:88:80:f4:03:0e:97:48:e6:
+         7c:34:0d:cc:92:55:1a:e3
+-----BEGIN CERTIFICATE-----
+MIIGNTCCBB2gAwIBAgIEGQKKnTANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJ4
+eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0ExJTAjBgNVBAMTHHRlc3QgY2Vy
+dGlmaWNhdGlvbiBhdXRob3JpdHkwHhcNMTQwNjE4MjIyNzA5WhcNMjQwNjE1MjIy
+NzA5WjA6MQswCQYDVQQGEwJ4eDENMAsGA1UEChMEdGVzdDELMAkGA1UECxMCQ0Ex
+DzANBgNVBAMTBnNlcnZlcjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
+ALFhLRP9dL5k41JUPSJsV6mbrQ2D70bldRyHw1QiNfRHoo68b+NQOt2Dhz0CNbtp
+viZEiQsOnAtaTRP1dYH+8+ZAdzwWXfUUKGtS0nzkpgbTYhoExSUaCcoI94pK0Xol
+94R24Fh9cpvmrxNe5iwTEPMJ/4TPd9ivqijWL/RIqHQlfWmT9GofhAaLBzOFNzQ0
+Zfi8p/CAqezju+wY9Eda6eiXasH/mAY4k/u98nVwBRjbfHMqhrtKuxKJIzRH59mB
+xE+L3UHCXYuUxQ1O4Q6WuROrr1klkd7fbW/opYgomFmtmKjncasg5/6PoAdSsQ7Y
+msjUBxhoNff82moO+t7G+EmBQLxJxXz/475yDelonQxumx0+6FCW+B2ikprKBdob
+kasZ5wiYogu6WTQGElR7hC5z8UqLOpOyU+i7qV/2MU/cymr+PoBQSQBHF01xjxak
+3lS9H20MRUIJO3OWKVEI6iM8qgzGAagSmZR11amiOsGQyE4FlRCWxrCNqN33V+o5
+zayK8BWmMn6wtcDOjD6YJW1hQ89T5jA2fJJvgAGq5jxM02t7NPOjwNE0I/KlVbX/
+Oj01Ns4MKOJ8uZ+oKKlPEmaL672wttY10/u7kEsMUpnl0+LdphhJVQLoZGoyqruy
+ysmf2PWj5gPE/Drr7ak/bP6lrzZ3LR2xYc6l21h7jjDpAgMBAAGjggErMIIBJzAJ
+BgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGwDALBgNVHQ8EBAMCBeAwHQYDVR0l
+BBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBRw0pwN7gUGa4bWynkP
+CD2mv/RswjB7BgNVHSMEdDBygBTAJJrRcOCy33XlAOJ/lKEBhyDfPqFUpFIwUDEL
+MAkGA1UEBhMCeHgxDTALBgNVBAoTBHRlc3QxCzAJBgNVBAsTAkNBMSUwIwYDVQQD
+Exx0ZXN0IGNlcnRpZmljYXRpb24gYXV0aG9yaXR5ggQZAoqbMBEGA1UdEQQKMAiC
+BnNlcnZlcjAZBgNVHRIEEjAQgQ5jYUBleGFtcGxlLm9yZzARBgNVHR8ECjAIMAag
+BKAChgAwDQYJKoZIhvcNAQEFBQADggIBACc4FgApJ3pRiTk5tYNHhhqLzxLmecrz
+s8HcC407Y0OJbp7CQ4yVCw/S6JERllZomWE5ANoR9+PN0GK4suHohnYW/Ssrk/cR
+fNFyrKPAYoPB9hZucyEIurADzXBHE23qbXSNK57hC9f3Xd+IUi6iiyNTywL9QrTl
+OXbohSAS9DbVIsohk9f5qpmRmDCoPgt+7sjYDK3MSTL1D8R9y7tBKc6Btoh1LJcd
+VsahBno/wwGMzux5Os9T0a+d9I1hyHiME3OaQB2z2UooZDQvaEFBFXYKS1NiueyS
+dO9lvIrAUHJLd6pxdlXVw9+QvJDJj/RATmDRaQo0B3G0zabdqxS/dD7n4K3fm11i
+6/xPNfw6MynKgM+Bzejs4AgHaANusA2uKv7CQ5fL2YlDVccpoQaeulraASi+pznf
+Dys27rCZS3GzoutUVqGhQV4c6QXwMlS/IJqJaBoXX7HTH7TH5d6U0cThrjOpG3w0
+ISQ4cIW/FlL0c99cBYLjI3hqvv0IjV8phtWZREjPHz79TdKdraYng1ZkF0O7pEry
+/vXB8Sgvi4wJahl1Bd7IqlenChquyud2kF+nQQb+nz2VydryZyPgcezqEp8dGExl
+tukQG8qFQYq66l8hqCPEX66QHPfmpfJqG0KqgErwVByJaFZoUMhwuyiIgPQDDpdI
+5nw0DcySVRrj
+-----END CERTIFICATE-----
diff --git a/authserv/test/testca/serial b/authserv/test/testca/serial
index b6eb1cc..3ff0d5f 100644
--- a/authserv/test/testca/serial
+++ b/authserv/test/testca/serial
@@ -1 +1 @@
-1397835061
+19028A9E
diff --git a/authserv/test/testca/serial.old b/authserv/test/testca/serial.old
new file mode 100644
index 0000000..e63189e
--- /dev/null
+++ b/authserv/test/testca/serial.old
@@ -0,0 +1 @@
+19028A9D
diff --git a/authserv/test/testca/testca.conf b/authserv/test/testca/testca.conf
new file mode 100644
index 0000000..f48d383
--- /dev/null
+++ b/authserv/test/testca/testca.conf
@@ -0,0 +1,16 @@
+# The CA password is: 'test'
+
+[ca]
+cn = test certification authority
+org = test
+country = xx
+default_days = 3650
+email = ca@example.org
+
+[client]
+cn = client
+usage = client
+
+[server]
+cn = server
+usage = server
-- 
GitLab