From: Brian May <bam@debian.org>
Date: Tue, 28 May 2019 17:37:14 +1000
Subject: Regenerate certs so that they expire before the 2038 armageddon

---
 lib/hx509/data/ca.crt                          |  43 ++++--
 lib/hx509/data/ca.key                          |  64 ++++++--
 lib/hx509/data/crl1.crl                        |  20 ++-
 lib/hx509/data/crl1.der                        | Bin 264 -> 649 bytes
 lib/hx509/data/https.crt                       | 129 ++++++++++++-----
 lib/hx509/data/https.key                       |  64 ++++++--
 lib/hx509/data/kdc.crt                         | 135 ++++++++++++-----
 lib/hx509/data/kdc.key                         |  64 ++++++--
 lib/hx509/data/no-proxy-test.crt               |  39 +++--
 lib/hx509/data/no-proxy-test.key               |  64 ++++++--
 lib/hx509/data/ocsp-req1.der                   | Bin 105 -> 105 bytes
 lib/hx509/data/ocsp-req2.der                   | Bin 105 -> 105 bytes
 lib/hx509/data/ocsp-resp1-ca.der               | Bin 999 -> 2157 bytes
 lib/hx509/data/ocsp-resp1-keyhash.der          | Bin 900 -> 2058 bytes
 lib/hx509/data/ocsp-resp1-ocsp-no-cert.der     | Bin 363 -> 748 bytes
 lib/hx509/data/ocsp-resp1-ocsp.der             | Bin 918 -> 2076 bytes
 lib/hx509/data/ocsp-resp2.der                  | Bin 935 -> 2093 bytes
 lib/hx509/data/ocsp-responder.crt              | 131 ++++++++++++-----
 lib/hx509/data/ocsp-responder.key              |  64 ++++++--
 lib/hx509/data/pkinit-ec.crt                   |  88 +++++++----
 lib/hx509/data/pkinit-ec.key                   |   6 +-
 lib/hx509/data/pkinit-proxy-chain.crt          | 171 ++++++++++++++++------
 lib/hx509/data/pkinit-proxy.crt                |  40 +++--
 lib/hx509/data/pkinit-proxy.key                |  64 ++++++--
 lib/hx509/data/pkinit-pw.key                   |  64 ++++++--
 lib/hx509/data/pkinit.crt                      | 131 ++++++++++++-----
 lib/hx509/data/pkinit.key                      |  64 ++++++--
 lib/hx509/data/proxy-level-test.crt            |  42 ++++--
 lib/hx509/data/proxy-level-test.key            |  64 ++++++--
 lib/hx509/data/proxy-test.crt                  |  40 +++--
 lib/hx509/data/proxy-test.key                  |  64 ++++++--
 lib/hx509/data/proxy10-child-child-test.crt    |  40 +++--
 lib/hx509/data/proxy10-child-child-test.key    |  64 ++++++--
 lib/hx509/data/proxy10-child-test.crt          |  38 +++--
 lib/hx509/data/proxy10-child-test.key          |  64 ++++++--
 lib/hx509/data/proxy10-test.crt                |  40 +++--
 lib/hx509/data/proxy10-test.key                |  64 ++++++--
 lib/hx509/data/revoke.crt                      | 129 ++++++++++++-----
 lib/hx509/data/revoke.key                      |  64 ++++++--
 lib/hx509/data/sub-ca.crt                      | 137 +++++++++++++-----
 lib/hx509/data/sub-ca.key                      |  64 ++++++--
 lib/hx509/data/sub-cert.crt                    | 129 ++++++++++++-----
 lib/hx509/data/sub-cert.key                    |  64 ++++++--
 lib/hx509/data/sub-cert.p12                    | Bin 3008 -> 7064 bytes
 lib/hx509/data/test-ds-only.crt                | 130 ++++++++++++-----
 lib/hx509/data/test-ds-only.key                |  64 ++++++--
 lib/hx509/data/test-enveloped-aes-128          | Bin 3160 -> 3547 bytes
 lib/hx509/data/test-enveloped-aes-256          | Bin 3160 -> 3547 bytes
 lib/hx509/data/test-enveloped-des              | Bin 3140 -> 3527 bytes
 lib/hx509/data/test-enveloped-des-ede3         | Bin 3143 -> 3530 bytes
 lib/hx509/data/test-enveloped-rc2-128          | Bin 3148 -> 3535 bytes
 lib/hx509/data/test-enveloped-rc2-40           | Bin 3149 -> 3536 bytes
 lib/hx509/data/test-enveloped-rc2-64           | Bin 3148 -> 3535 bytes
 lib/hx509/data/test-ke-only.crt                | 130 ++++++++++++-----
 lib/hx509/data/test-ke-only.key                |  64 ++++++--
 lib/hx509/data/test-nopw.p12                   | Bin 2221 -> 5508 bytes
 lib/hx509/data/test-pw.key                     |  64 ++++++--
 lib/hx509/data/test-signed-data                | Bin 3899 -> 5055 bytes
 lib/hx509/data/test-signed-data-noattr         | Bin 3656 -> 4824 bytes
 lib/hx509/data/test-signed-data-noattr-nocerts | Bin 3142 -> 3537 bytes
 lib/hx509/data/test-signed-sha-1               | Bin 3899 -> 5035 bytes
 lib/hx509/data/test-signed-sha-256             | Bin 3919 -> 5055 bytes
 lib/hx509/data/test-signed-sha-512             | Bin 3952 -> 5088 bytes
 lib/hx509/data/test.combined.crt               | 193 +++++++++++++++++++------
 lib/hx509/data/test.crt                        | 129 ++++++++++++-----
 lib/hx509/data/test.key                        |  64 ++++++--
 lib/hx509/data/test.p12                        | Bin 2320 -> 5600 bytes
 67 files changed, 2544 insertions(+), 846 deletions(-)

diff --git a/lib/hx509/data/ca.crt b/lib/hx509/data/ca.crt
index c6c0b27..b8e7bb7 100644
--- a/lib/hx509/data/ca.crt
+++ b/lib/hx509/data/ca.crt
@@ -1,15 +1,32 @@
 -----BEGIN CERTIFICATE-----
-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
+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
+n61nXvY=
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/ca.key b/lib/hx509/data/ca.key
index 04d2516..e635b57 100644
--- a/lib/hx509/data/ca.key
+++ b/lib/hx509/data/ca.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALnTG2cc914mgTuC
-/wOkQ7WyYwuJWEP+PeA4fZN0u60hpCnZNHnzHIxa1rDXGerMr+CoQAIdkfGsNrD7
-CL3MmuG3bu4Kab9tK+4ggmEG8hjMiRFkfrL/R9E7UnPrWsADpkvHQH684Q5lRD9A
-iwKCVATZzCxnAbYWgtgzUxfX3o1dAgMBAAECgYAT8QS6zw/4yZcKxOcLBADEKe2Z
-GlcfjNQlEMrhHSDa1oZge0+3WpCQu1rYxWyhlu+04zljQLsdvUZtPbNVcvSX36Br
-RuP/6Z5UCn/9YYv69Hv006PoBUWkVLQ4LFZLX1QD1HcyPGdr7GyDweD6n/CgTkrW
-nZVw8nVP/dStf1aeIQJBANr6LnKHr2Hd5p004XaHJcNjcFronW3QnLFozZH3WKWI
-t1ug6McwBXuk0io+Zz9ituZ8NabV9AdQKTuVVWORPxUCQQDZPgGvIepGaMuthoE4
-D+54BisUjWWkL/w3MTdh2jkwo1foCXvW1kKKBVbLzGNRYlp5lglx33HWekP7wdxe
-0mcpAkEA2HD1PAtVlTyKV9UPDeMjtm8xfQnzobnTR6A5oQ+FNYlfA1iW/Vs/8CjH
-+y1XTFW8RzF6rn9IB3p6ZwSCNDo6yQJAX6D0+tPyHdZpulQYM8aHkdwdQKnRkUny
-O5V1rKR0Ql3VB3aNRhABMGKTR5kMKzohW55ZQAA9S018+ajnyfHSqQJBALSUXIk0
-C+owiDiHu50Q6xFTJr3EmtudKplUCQTZ9xktNxAK08suxJd1UYeOFxkBuviRFvi8
-BuD/JDKYITDMrZA=
+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
+iW68RMhfob7KD8lBv9mlYZ4ZQSwJRtM=
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/crl1.crl b/lib/hx509/data/crl1.crl
index 568f6b6..606efb7 100644
--- a/lib/hx509/data/crl1.crl
+++ b/lib/hx509/data/crl1.crl
@@ -1,8 +1,16 @@
 -----BEGIN X509 CRL-----
-MIIBBDBvMA0GCSqGSIb3DQEBBQUAMCoxGzAZBgNVBAMMEmh4NTA5IFRlc3QgUm9v
-dCBDQTELMAkGA1UEBhMCU0UXDTA5MDQyNjIwMjk0MVoXDTE5MDMwNTIwMjk0MVow
-FDASAgEDFw0wOTA0MjYyMDI5NDFaMA0GCSqGSIb3DQEBBQUAA4GBAGXXCNeUIctd
-TfKIUIpMbtHnUXYLA8hcB+6Iyc24VR3m+HNYx9XT6Qp6hY4Wg8Qq4p+0KFTxz4JU
-XLTZWduvgB9+AL+ECXIUmx4FHkgwwq5+AyYygDqzYOVJszJ9hNp7HHthobObrRm4
-Q6hn748UG1nd4gp7zKB7ReLvLYff411G
+MIIChTBvMA0GCSqGSIb3DQEBBQUAMCoxGzAZBgNVBAMMEmh4NTA5IFRlc3QgUm9v
+dCBDQTELMAkGA1UEBhMCU0UXDTE5MDUyMzE1MDUzMFoXDTI5MDMzMTE1MDUzMFow
+FDASAgEDFw0xOTA1MjMxNTA1MzBaMA0GCSqGSIb3DQEBBQUAA4ICAQBV451IywmB
+L153EAciLerLs05gqigj3qrqnmzS7AVV9u05u4bq/XYllIIWua7kCnGXmx0xqY+p
+FpFlS3BKrSIOkSHL4gpwMOmZmCssaOivd88/tHCGeOtMKz3q811m4q8MyfzEc+T3
+EHg6yjsCWrWbZmrM+A8MYO2S/XZOPG88N87nQxKYbrZA/SDspNODujdXdKFMI8Qj
+9xY7aqI6w9GYiTYDXrJ+2VGtFacYwVrY1Xk3pt7DoFbq6VwVfpsYHf0zRag/xfGW
+EbIQywJDhLuLWB3gtWTYnZ3MD2LS5uCEfolckuFBw66JOZCmUq66VscTHOE5d59q
+bld2YoPVUme4QJfYMygWgyi8rnN4YkSfYaCxnDPO9vFk968N6PA+py5jHjecyVw9
+ih2rXNIk/Ia2wvyN84MBu/vpC7GyD0bBpB+aMxQvHuNYUDDnIeMRCu+Hs2Td6U57
+lmdFudCxJ8S0kF6eCx5HdOrvyRtHagsGPt1aFLxnNEc2x4ewJa1iggTBcs+X5qXC
+pk6D5FDLN5TXooi9NbLFSCdLWpoMI+KOB40Ma3KaGej0a2pZiJe8j4EPQ6WhR6Og
+nZSdwCtgTyoynI6g6YeGzkD0ZzuPujt8rsyu+cBZOdxnhuAn7F1UtIcwE4jVmmca
+EuMR2oFhjnEH4ooS/kWmgmzGPEMixKSbpA==
 -----END X509 CRL-----
diff --git a/lib/hx509/data/crl1.der b/lib/hx509/data/crl1.der
index c1e08c0..f425127 100644
--- a/lib/hx509/data/crl1.der
+++ b/lib/hx509/data/crl1.der
@@ -1,3 +1,4 @@
-00o0	*H 0*10Uhx509 Test Root CA10	USE090426202941Z190305202941Z00090426202941Z0	*H  eה!]MPLnQv\͸UsX
-z*⟴(TςT\Yۯ~ 	rH0®~&2:`I2}{{aCgY
-{̠{E-]F
\ No newline at end of file
+00o0	*H 0*10Uhx509 Test Root CA10	USE190523150530Z290331150530Z00190523150530Z0	*H  UH	/^w"-˳N`(#ުlU9v%
+q1eKpJ"!
+p0陘+,hw?pxL+=]fsx:;Zfj`vN<o<7Cn@ Ӄ7WtL##;j:ј6^~QZy7àV\~3E?CXd؝b~\Aî9RV9wjnWvbRg@3((sxbDa3d>.c7\=\$F3/XP0!
+dN{gEб'Ĵ^GtGj>Zg4G6Ǉ%brϗ¦NP7ע5H'KZ#krkjYCG+`O*2釆@g;;|̮Y9g']T0՚gځaqEl<C"Ĥ
\ No newline at end of file
diff --git a/lib/hx509/data/https.crt b/lib/hx509/data/https.crt
index 2056c89..0d393a8 100644
--- a/lib/hx509/data/https.crt
+++ b/lib/hx509/data/https.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 9 (0x9)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:41 2009 GMT
-            Not After : Apr 24 20:29:41 2019 GMT
+            Not Before: May 23 15:05:17 2019 GMT
+            Not After : Jan 16 15:05:17 2038 GMT
         Subject: C=SE, CN=www.test.h5l.se
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:c6:f4:94:25:2b:d5:fa:e9:3d:00:a9:46:24:f1:
-                    bf:fe:61:df:bd:cc:da:74:b7:f9:36:c1:ce:51:d2:
-                    01:6f:79:ba:b3:4a:d5:a4:43:5a:c7:ad:e4:e0:50:
-                    e2:a6:bf:54:73:ad:a5:86:0a:bd:56:c4:4f:b5:f5:
-                    7f:7e:fe:10:78:17:e2:35:4c:bb:cc:4b:74:35:d0:
-                    ab:63:b1:02:72:94:a7:9a:dc:10:ef:28:82:a9:6c:
-                    dc:19:8d:b8:3e:5b:21:52:1f:88:51:a6:5a:f8:67:
-                    cd:cb:48:6f:f5:8b:71:7c:4d:52:da:bb:f9:26:8a:
-                    27:9c:7e:8a:d1:99:54:35:7f
+                    00:b5:58:e9:eb:2d:b3:7c:94:b7:a2:08:ec:fd:50:
+                    c2:61:a4:35:c8:eb:ad:d6:93:4c:50:9a:ad:e0:9a:
+                    00:ae:4e:ef:ed:5e:ef:d9:cb:98:a6:5e:65:7f:a6:
+                    38:c0:ee:17:48:90:80:4c:6c:71:7a:11:af:11:22:
+                    1b:17:2c:db:c2:cc:2c:d0:0e:de:ea:95:6a:d0:42:
+                    bb:b0:a1:eb:7c:9e:f0:28:64:dd:44:7f:c8:f6:d5:
+                    48:e4:80:be:f7:58:18:d6:d4:57:7a:09:07:3f:23:
+                    d8:00:53:84:0f:72:e9:0d:a8:b9:49:57:80:f4:00:
+                    9c:92:16:bd:a7:ea:12:81:96:59:48:8b:ff:b9:8b:
+                    9d:68:e6:7c:0d:fb:c8:57:cc:ba:6a:4c:57:cc:e4:
+                    eb:af:cc:6e:38:80:e6:47:a0:f2:e4:09:39:79:fb:
+                    42:c4:29:b2:8d:f1:8f:b9:45:1f:47:c2:e8:30:84:
+                    a5:e7:fa:7c:df:f0:07:89:1e:fd:6f:a5:1d:88:57:
+                    4e:76:bf:91:c7:39:ac:87:6f:b0:29:0b:c0:04:89:
+                    95:9a:8a:b3:4a:22:63:7c:26:e2:ea:fc:e5:f8:43:
+                    b5:67:50:0f:99:e0:9d:e2:2b:3f:fa:19:e4:61:1a:
+                    e4:c7:68:66:43:a1:05:15:24:c4:09:3b:5d:b4:3a:
+                    f8:87:d4:d8:80:cf:6c:ed:fa:b1:b7:7d:2b:68:ca:
+                    3a:26:a6:49:1e:e7:27:fc:4f:89:7b:19:ce:8d:c9:
+                    9d:cd:55:63:72:29:b1:2b:1b:35:a4:07:32:4f:13:
+                    f1:bd:03:1f:b4:fc:f0:05:c4:9e:b0:c8:72:37:2c:
+                    0c:82:bc:d4:a7:87:d3:33:10:f3:80:fe:bf:61:1b:
+                    5e:c0:5b:c0:09:3d:db:c0:9d:91:92:c4:7c:7a:eb:
+                    ec:b0:8e:69:a1:47:66:53:02:51:55:90:d1:e2:9a:
+                    86:70:7b:63:d4:b9:03:18:c8:01:69:c6:e9:63:bc:
+                    2b:b5:75:dc:03:5f:ef:b2:d3:3a:c8:db:3c:b6:3d:
+                    59:91:fc:7d:96:bf:43:97:5a:40:d6:f2:f8:82:44:
+                    fb:9d:36:47:3f:3a:33:43:6d:9c:44:ba:60:1a:9d:
+                    77:02:44:14:d0:73:99:53:6d:ef:70:34:0b:11:b1:
+                    16:c3:c9:4b:41:66:64:4c:88:fe:12:8f:3d:4f:29:
+                    2f:b3:e8:15:8b:26:5a:ba:f9:fc:6b:ec:9d:8a:d9:
+                    65:17:de:e5:ce:a7:84:1b:1e:f1:ad:32:b3:78:15:
+                    7a:08:e3:93:9e:e5:eb:3c:33:9e:d5:2a:21:20:62:
+                    90:c7:d8:3e:d4:1e:0f:06:20:01:6e:22:a4:67:de:
+                    68:f0:b9
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -28,26 +54,63 @@ Certificate:
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment
             X509v3 Subject Key Identifier: 
-                8A:BB:2D:06:4B:BD:DE:9A:BA:7C:5A:35:D0:E2:19:37:48:29:0E:9C
+                91:03:3F:14:E3:BD:43:98:B2:D4:7F:46:C2:A7:B7:BB:0F:74:99:F3
     Signature Algorithm: sha1WithRSAEncryption
-        90:35:ec:8c:f2:62:14:76:8a:29:52:99:44:c1:d7:c8:9e:74:
-        ef:90:4f:e7:ea:4d:cf:8f:c1:73:0c:d9:49:06:93:30:b0:19:
-        5e:de:9c:11:93:66:02:4d:8f:e9:8c:52:fc:26:26:9e:09:69:
-        a5:a7:63:d2:2d:40:de:e5:d8:d5:51:c3:32:60:6a:2f:26:13:
-        91:69:36:f6:67:e4:b0:54:9e:77:68:22:5f:51:b8:3c:42:bd:
-        e3:09:dc:11:9b:ed:db:63:df:90:57:38:00:90:be:89:e7:ea:
-        8e:d8:21:cd:96:68:69:4b:a3:15:50:ce:63:80:2a:99:4b:ff:
-        dd:1c
+         27:3f:d8:cb:68:c8:ef:35:ed:a0:50:d7:58:60:77:48:76:45:
+         7a:2c:20:22:81:62:e3:e2:0d:10:48:d7:74:23:95:76:fb:78:
+         c3:98:d2:39:13:13:7f:2a:38:dc:2a:80:ba:33:0a:51:d6:9e:
+         0c:44:04:84:f0:ae:20:1e:e6:e8:89:09:cd:87:66:1b:80:21:
+         e7:bc:03:e0:c7:15:19:23:b7:05:0b:f9:64:50:b6:6f:7d:14:
+         68:96:bb:4d:d6:c0:29:7f:e3:a1:48:c4:ad:6f:a7:bf:d2:63:
+         de:b7:fa:4f:8c:5e:ad:8e:c8:7e:4f:a4:9a:95:71:29:10:64:
+         78:a0:55:ac:ec:9a:f0:27:03:2e:c4:ec:fb:4f:d2:a0:7e:98:
+         90:88:30:02:45:07:10:d5:ad:f6:a8:e7:01:6c:87:c7:2e:0d:
+         d1:35:3a:e6:b0:e9:19:c9:c9:f7:ce:5e:77:d1:50:84:8a:c3:
+         d1:f1:56:2d:6e:65:0d:6f:e2:a0:c5:0e:48:82:6e:da:37:42:
+         fa:cf:5d:92:84:3a:67:bd:41:28:19:b8:81:1c:c3:eb:00:f0:
+         b0:a9:59:17:79:87:4b:d9:4f:e8:cf:30:76:42:55:9c:57:00:
+         d1:b2:2e:19:59:31:24:c2:9c:fa:c1:0b:54:56:a5:29:19:fd:
+         14:82:c0:3f:a8:d1:a1:c9:6d:1e:f4:11:89:50:58:4f:8d:8a:
+         f8:f2:47:29:8c:a8:2d:21:1b:9b:ef:c6:1f:63:90:85:f1:c7:
+         d0:40:a0:53:29:9b:49:6a:73:38:d2:25:95:f7:52:2f:a0:24:
+         1c:af:f1:f9:6e:78:d3:81:03:cd:3d:91:b0:99:45:fb:87:39:
+         6e:b3:7c:fb:f7:60:01:86:71:40:5f:85:8b:7e:fb:cf:95:df:
+         76:cc:7b:2c:06:d9:a5:cf:4d:f7:62:ab:57:2c:da:83:6e:34:
+         bc:bd:d8:d1:d4:5f:1b:94:78:c0:d3:b1:8c:82:d7:b1:f5:2c:
+         e5:30:bf:59:3e:d2:1f:a4:8e:0b:0c:d6:d1:fd:08:24:2c:31:
+         cb:b0:e6:36:3f:d7:b0:46:99:e1:48:18:8f:9f:42:fd:44:cb:
+         6d:cc:b3:07:3b:7c:eb:44:d2:b4:52:12:2a:ba:c3:cb:f8:04:
+         65:02:27:61:b9:35:9c:0d:0b:70:a1:d4:e7:c8:49:91:37:03:
+         9e:8f:6e:a5:91:e8:6e:5e:ec:c4:17:4c:f6:dd:93:11:9d:40:
+         ad:e2:3c:05:dc:22:ff:1a:04:d7:b0:d4:a4:c0:03:e3:ba:4c:
+         5e:b3:7a:bc:08:73:52:92:42:ab:7a:85:e1:64:e1:4e:b5:63:
+         98:a9:b1:fb:23:61:1e:d5
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/https.key b/lib/hx509/data/https.key
index ee6065a..1a1c28e 100644
--- a/lib/hx509/data/https.key
+++ b/lib/hx509/data/https.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMb0lCUr1frpPQCp
-RiTxv/5h373M2nS3+TbBzlHSAW95urNK1aRDWset5OBQ4qa/VHOtpYYKvVbET7X1
-f37+EHgX4jVMu8xLdDXQq2OxAnKUp5rcEO8ogqls3BmNuD5bIVIfiFGmWvhnzctI
-b/WLcXxNUtq7+SaKJ5x+itGZVDV/AgMBAAECgYBfO282I7d3NPGYQW5r/LPUBfFd
-HpNqzy0hQr+JdqZtP61YaPe+eucXMWue29jBzE+WV4YllTpwL+Ofy3VNyjsDCIva
-acqVrimYl5EAT1yiqvC1DNC0SvAfEsBlpMJr7w8F4M7wbSxvGIWjRVeZtLd7H4pw
-8ooDNZNlcXPyrBozQQJBAPGxPPiO66EpiN66ffRiqnof1lGUFaZPqBKYF/M3mybt
-X7vMKQsrQpdNQTbtR2u42yBUJGw4trhIn1qDInkgXfECQQDSu61Z/m5xRVlBk3mj
-QMqSVX+FoD3WtSry003lcxGfNsuguJtYHXHHhPbPNMUaDEtErkbUMQHNFX5mEjGp
-0RpvAkEAwbDhhOy8pw5rMtvP3w9HQdHL5tq/MuY5cpVS9EaG335yL0VhSyMjHa/6
-6HLlvs2JRnJIMjaNMEh69IWNFfc7cQJBAIOzIy3BI0jLLHMdNcHfdjpqEJ50fPE4
-nDTR9jbV6Ud1uWEivoMdM8SbxpvMwPn8gPXVbRKj5hpDupEUAdG9iyUCQQCNSVcl
-NREl42G5ZQ2Q+zYtYIJbe9SAxu7WcfzctFleRbmKPLqrcnCLWenWWHtrzZLRgFhw
-rLiglEkVDRXivfhq
+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
+2zmdO3l0e9ryWpkYHrKaEdZhkQx6ryE=
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/kdc.crt b/lib/hx509/data/kdc.crt
index 95ea4a4..6a0e329 100644
--- a/lib/hx509/data/kdc.crt
+++ b/lib/hx509/data/kdc.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 8 (0x8)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:16 2019 GMT
+            Not After : Jan 16 15:05:16 2038 GMT
         Subject: C=SE, CN=kdc
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:d2:41:7a:f8:4b:55:b2:af:11:f9:43:9b:43:81:
-                    09:3b:9a:94:cf:00:f4:85:75:92:d7:2a:a5:11:f1:
-                    a8:50:6e:c6:84:74:24:17:da:84:c8:03:37:b2:20:
-                    f3:ba:b5:59:36:21:4d:ab:70:e2:c3:09:93:68:14:
-                    12:79:c5:bb:9e:1b:4a:f0:c6:24:59:25:c3:1c:a8:
-                    70:66:5b:3e:41:8e:e3:25:71:9a:94:a0:5b:46:91:
-                    6f:dd:58:14:ec:89:e5:8c:96:c5:38:60:e4:ab:f2:
-                    75:ee:6e:62:fc:e1:bd:03:47:ff:c4:be:0f:ca:70:
-                    73:e3:74:58:3a:2f:04:2d:39
+                    00:ab:f2:c2:da:bb:d1:bc:5a:96:c0:76:11:4e:7a:
+                    52:49:8b:84:ae:ca:44:4c:5b:30:ad:9a:6d:94:5b:
+                    1a:52:3f:d5:9b:d9:62:4b:96:51:bd:e3:55:be:5b:
+                    09:65:7b:3a:3b:2a:1f:9b:a2:95:e5:a6:f6:85:1f:
+                    7b:35:b8:2c:55:14:19:13:91:bd:56:6e:5b:f7:49:
+                    03:a8:53:01:16:27:53:8e:3e:71:1d:9c:dc:38:30:
+                    38:c2:55:e3:58:15:bb:de:53:8d:2a:5f:68:b0:49:
+                    e4:7f:dc:38:57:fe:89:1b:6f:5d:52:fc:fd:cc:ef:
+                    37:71:e6:70:13:3f:24:5a:a2:8d:b5:a4:90:4a:2a:
+                    0e:e0:c2:6f:4d:0e:ef:ab:c9:2f:90:0a:ee:20:e8:
+                    be:6b:bb:4e:43:8b:56:9f:50:aa:e0:71:2b:0f:2b:
+                    b6:68:d6:11:c0:c4:31:b0:ab:32:a1:2e:93:54:6d:
+                    ab:d3:c1:84:4f:c3:fc:10:a5:fa:6a:ae:8c:80:05:
+                    7c:54:4c:c1:aa:bc:50:ec:3c:19:9e:aa:df:82:0c:
+                    e7:6e:ed:c9:f4:46:3e:60:6b:81:d9:b3:d7:64:19:
+                    5f:64:bc:b5:a6:f6:38:03:02:ab:f2:b3:ba:2f:4f:
+                    be:e3:c3:34:cb:d8:01:42:3d:43:81:9d:a9:4f:5e:
+                    6f:14:d1:84:05:b6:f3:f0:9b:fa:b5:e8:1f:e6:40:
+                    e2:b9:ce:a9:eb:1c:c4:da:85:b2:6b:b1:c7:a5:91:
+                    0f:a0:79:7a:85:b2:b4:b5:4e:a6:8c:cd:c6:45:5c:
+                    97:d2:e8:3c:01:2a:77:b2:e1:a7:2f:ed:2c:bf:42:
+                    77:94:a4:47:bf:c7:58:43:14:08:66:4e:5d:24:99:
+                    bd:5f:0d:e1:b1:56:f1:c3:db:97:f6:b5:22:92:23:
+                    eb:a5:f5:49:4d:76:80:4a:83:af:a8:17:31:38:b6:
+                    3b:49:1e:37:5e:fb:e7:9e:90:1d:8c:b0:8a:c2:dd:
+                    5e:1d:1c:2f:c4:71:aa:d2:2b:c5:16:09:f1:5d:63:
+                    7c:02:dc:b6:e0:b9:f6:2b:a1:56:1b:20:8f:13:c4:
+                    60:d0:21:c9:91:a4:43:de:f9:64:d8:4a:5c:4a:cd:
+                    51:87:66:55:ec:9c:2d:10:b3:23:6e:0e:48:44:2b:
+                    86:01:73:2e:77:28:5b:6e:43:09:ea:0f:cc:0e:da:
+                    da:88:f9:ef:6b:37:48:bd:e4:47:4a:4f:f9:72:bd:
+                    b9:c4:a0:bc:67:29:ec:5a:55:22:b6:8e:f0:23:9f:
+                    c1:fb:86:9c:18:59:43:4c:eb:b6:bd:2e:18:fb:44:
+                    ae:27:15:e7:3d:6d:9a:c7:6f:61:99:e1:7a:80:de:
+                    64:a8:e7
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -28,32 +54,69 @@ Certificate:
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment
             X509v3 Extended Key Usage: 
-                pkkdcekuoid
+                Signing KDC Response
             X509v3 Subject Key Identifier: 
-                3A:D3:73:FF:AB:DB:7D:8D:C6:3A:A2:26:3E:AE:78:95:80:C9:E6:31
+                E6:0A:BC:C8:0C:58:A4:53:82:C7:15:E0:42:D6:73:67:26:2C:39:D1
             X509v3 Subject Alternative Name: 
                 othername:<unsupported>
     Signature Algorithm: sha1WithRSAEncryption
-        83:f4:14:a7:6e:59:ff:80:64:e7:fa:cf:13:80:86:e1:ed:02:
-        38:ad:96:72:25:e5:06:7a:9a:bc:24:74:a9:75:55:b2:49:80:
-        69:45:95:4a:4c:76:a9:e3:4e:49:d3:c2:69:5a:95:03:eb:ba:
-        72:23:9c:fd:3d:8b:c6:07:82:3b:f4:f3:ef:6c:2e:9e:0b:ac:
-        9e:6c:bb:37:4a:a1:9e:73:d1:dc:97:61:ba:fc:d3:49:a6:c2:
-        4c:55:2e:06:37:76:b5:ef:57:e7:57:58:8a:71:63:f3:eb:e7:
-        55:68:0d:f6:46:4c:fb:f9:43:bb:0c:92:4f:4e:22:7b:63:e8:
-        4f:9c
+         31:6b:88:4f:57:8a:4b:7b:25:d8:53:0f:04:e9:52:a7:e3:93:
+         12:ed:bc:96:03:c3:ae:53:6a:10:60:76:18:85:1d:9c:b6:93:
+         d8:92:d1:d8:e5:af:23:d6:64:93:11:f3:23:8e:ed:43:12:dc:
+         5d:1b:d5:49:b8:3d:fd:e7:52:58:a9:26:2c:cb:49:09:d4:54:
+         6e:e6:45:c9:1c:3f:50:b9:f3:13:65:84:45:a7:1c:23:48:ad:
+         93:c0:f9:b2:fa:1e:25:d0:40:d5:8f:7a:c8:8c:72:ba:88:22:
+         19:a7:3a:08:cf:7d:9c:45:da:3e:12:64:3f:b4:e0:c4:36:97:
+         a9:be:ef:e2:4a:1a:cc:c7:f9:8f:4f:30:04:11:f4:16:cf:ff:
+         6e:85:f1:cf:98:3d:09:e9:f1:98:30:ff:a2:3c:d5:96:50:3d:
+         cb:21:db:89:56:8c:f4:a6:87:e3:78:44:49:c5:53:c9:19:a1:
+         ff:a0:0d:4e:a7:89:d9:11:52:39:21:b4:b9:21:e8:af:39:9e:
+         2c:41:3d:82:3e:20:b8:60:8a:b6:de:d6:6c:f3:b7:5a:10:ce:
+         ba:92:a7:6a:0d:5f:22:e6:98:e4:2c:d7:2d:7a:d4:22:bd:15:
+         ce:2c:79:7f:d6:d0:78:f8:d9:a6:e7:87:84:cb:0b:8b:1e:aa:
+         0c:57:4b:8c:3a:a9:e5:66:92:eb:00:b2:2c:05:1f:14:ab:23:
+         7a:61:b0:00:02:bf:24:42:8e:0e:1d:52:20:11:93:94:b5:2a:
+         56:33:f4:bb:63:21:ea:64:cf:d2:92:8c:70:7e:b5:f9:4a:c2:
+         aa:a5:81:36:bb:76:cb:ec:98:bb:3c:8c:67:1a:0c:3e:97:f1:
+         4c:dc:25:e2:59:a2:6d:fd:db:54:ea:9b:14:5f:18:dc:2c:e1:
+         45:89:27:a0:b7:f0:09:57:94:b5:dd:9e:84:51:35:98:12:c7:
+         20:ad:75:4d:42:54:44:30:e2:b9:cb:25:0f:e0:a9:6d:d5:6d:
+         7a:97:b6:fe:b7:54:4e:83:ed:bb:4d:d3:80:99:2b:1b:ee:a1:
+         3b:b8:69:52:64:f7:d2:bc:2f:18:73:d6:8d:04:54:c1:3f:14:
+         05:65:fb:cf:c2:38:25:92:33:cc:f1:48:cf:e5:d1:a6:c2:57:
+         1d:06:d8:1d:a1:0d:d6:e6:8e:ba:b6:d6:88:3c:a7:87:02:bb:
+         32:47:82:aa:d6:5f:8a:69:d8:5e:38:99:a6:1d:09:a8:d5:b8:
+         4c:80:23:ed:83:67:5f:b8:8e:f2:c4:8f:8b:76:b6:a2:09:b5:
+         44:1c:70:d2:5b:61:cb:c6:68:f9:9b:93:72:5a:bc:08:98:80:
+         90:64:a7:d3:a1:f8:ee:b7
 -----BEGIN CERTIFICATE-----
-MIICVDCCAb2gAwIBAgIBCDANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
-OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTA5MDQyNjIwMjk0MFoXDTE5
-MDQyNDIwMjk0MFowGzELMAkGA1UEBhMCU0UxDDAKBgNVBAMMA2tkYzCBnzANBgkq
-hkiG9w0BAQEFAAOBjQAwgYkCgYEA0kF6+EtVsq8R+UObQ4EJO5qUzwD0hXWS1yql
-EfGoUG7GhHQkF9qEyAM3siDzurVZNiFNq3DiwwmTaBQSecW7nhtK8MYkWSXDHKhw
-Zls+QY7jJXGalKBbRpFv3VgU7InljJbFOGDkq/J17m5i/OG9A0f/xL4PynBz43RY
-Oi8ELTkCAwEAAaOBmDCBlTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DASBgNVHSUE
-CzAJBgcrBgEFAgMFMB0GA1UdDgQWBBQ603P/q9t9jcY6oiY+rniVgMnmMTBIBgNV
-HREEQTA/oD0GBisGAQUCAqAzMDGgDRsLVEVTVC5INUwuU0WhIDAeoAMCAQGhFzAV
-GwZrcmJ0Z3QbC1RFU1QuSDVMLlNFMA0GCSqGSIb3DQEBBQUAA4GBAIP0FKduWf+A
-ZOf6zxOAhuHtAjitlnIl5QZ6mrwkdKl1VbJJgGlFlUpMdqnjTknTwmlalQPrunIj
-nP09i8YHgjv08+9sLp4LrJ5suzdKoZ5z0dyXYbr800mmwkxVLgY3drXvV+dXWIpx
-Y/Pr51VoDfZGTPv5Q7sMkk9OIntj6E+c
+MIIFWTCCA0GgAwIBAgIBCDANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
+OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTE5MDUyMzE1MDUxNloXDTM4
+MDExNjE1MDUxNlowGzELMAkGA1UEBhMCU0UxDDAKBgNVBAMMA2tkYzCCAiIwDQYJ
+KoZIhvcNAQEBBQADggIPADCCAgoCggIBAKvywtq70bxalsB2EU56UkmLhK7KRExb
+MK2abZRbGlI/1ZvZYkuWUb3jVb5bCWV7OjsqH5uileWm9oUfezW4LFUUGRORvVZu
+W/dJA6hTARYnU44+cR2c3DgwOMJV41gVu95TjSpfaLBJ5H/cOFf+iRtvXVL8/czv
+N3HmcBM/JFqijbWkkEoqDuDCb00O76vJL5AK7iDovmu7TkOLVp9QquBxKw8rtmjW
+EcDEMbCrMqEuk1Rtq9PBhE/D/BCl+mqujIAFfFRMwaq8UOw8GZ6q34IM527tyfRG
+PmBrgdmz12QZX2S8tab2OAMCq/Kzui9PvuPDNMvYAUI9Q4GdqU9ebxTRhAW28/Cb
++rXoH+ZA4rnOqescxNqFsmuxx6WRD6B5eoWytLVOpozNxkVcl9LoPAEqd7Lhpy/t
+LL9Cd5SkR7/HWEMUCGZOXSSZvV8N4bFW8cPbl/a1IpIj66X1SU12gEqDr6gXMTi2
+O0keN177556QHYywisLdXh0cL8RxqtIrxRYJ8V1jfALctuC59iuhVhsgjxPEYNAh
+yZGkQ975ZNhKXErNUYdmVeycLRCzI24OSEQrhgFzLncoW25DCeoPzA7a2oj572s3
+SL3kR0pP+XK9ucSgvGcp7FpVIraO8COfwfuGnBhZQ0zrtr0uGPtEricV5z1tmsdv
+YZnheoDeZKjnAgMBAAGjgZgwgZUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwEgYD
+VR0lBAswCQYHKwYBBQIDBTAdBgNVHQ4EFgQU5gq8yAxYpFOCxxXgQtZzZyYsOdEw
+SAYDVR0RBEEwP6A9BgYrBgEFAgKgMzAxoA0bC1RFU1QuSDVMLlNFoSAwHqADAgEB
+oRcwFRsGa3JidGd0GwtURVNULkg1TC5TRTANBgkqhkiG9w0BAQUFAAOCAgEAMWuI
+T1eKS3sl2FMPBOlSp+OTEu28lgPDrlNqEGB2GIUdnLaT2JLR2OWvI9ZkkxHzI47t
+QxLcXRvVSbg9/edSWKkmLMtJCdRUbuZFyRw/ULnzE2WERaccI0itk8D5svoeJdBA
+1Y96yIxyuogiGac6CM99nEXaPhJkP7TgxDaXqb7v4koazMf5j08wBBH0Fs//boXx
+z5g9CenxmDD/ojzVllA9yyHbiVaM9KaH43hEScVTyRmh/6ANTqeJ2RFSOSG0uSHo
+rzmeLEE9gj4guGCKtt7WbPO3WhDOupKnag1fIuaY5CzXLXrUIr0Vzix5f9bQePjZ
+pueHhMsLix6qDFdLjDqp5WaS6wCyLAUfFKsjemGwAAK/JEKODh1SIBGTlLUqVjP0
+u2Mh6mTP0pKMcH61+UrCqqWBNrt2y+yYuzyMZxoMPpfxTNwl4lmibf3bVOqbFF8Y
+3CzhRYknoLfwCVeUtd2ehFE1mBLHIK11TUJURDDiucslD+CpbdVtepe2/rdUToPt
+u03TgJkrG+6hO7hpUmT30rwvGHPWjQRUwT8UBWX7z8I4JZIzzPFIz+XRpsJXHQbY
+HaEN1uaOurbWiDynhwK7MkeCqtZfimnYXjiZph0JqNW4TIAj7YNnX7iO8sSPi3a2
+ogm1RBxw0lthy8Zo+ZuTclq8CJiAkGSn06H47rc=
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/kdc.key b/lib/hx509/data/kdc.key
index f6be6eb..bdb97b9 100644
--- a/lib/hx509/data/kdc.key
+++ b/lib/hx509/data/kdc.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBANJBevhLVbKvEflD
-m0OBCTualM8A9IV1ktcqpRHxqFBuxoR0JBfahMgDN7Ig87q1WTYhTatw4sMJk2gU
-EnnFu54bSvDGJFklwxyocGZbPkGO4yVxmpSgW0aRb91YFOyJ5YyWxThg5Kvyde5u
-YvzhvQNH/8S+D8pwc+N0WDovBC05AgMBAAECgYAw4vS6opmMcFRXhralHW2OJEUR
-VIGGPm4kBVBYOb4O5ZLW3UI/IZnZ/5WFn0/MS7owcdHjWN4Ax0s02eXp1mXm0sua
-gr6JuWTTv5y2Vjrq2AQ9RqNIaRp346gbtqt2/Nhoyl3BMcVPuq69WcbDVq+GPNE5
-K5plwS32AQJsceitWQJBAP6M2xJ4cOh3keOOfYnVvoBRsS++ErViBOtHgjdriJXz
-Hy9uNPp4HGpKExPWBVRozBQ5HMYUY2Wv+Zsku+mlgzsCQQDTdAqkOzzhJ2+uD2et
-MyMDBm2oKiPUrpSBTFo1EiDH6ECrNAJd0FyYFwYvcI5b7BK06SFRmd80GSvBeOMI
-TKIbAkB2zFIpqqA3PiaOJyAbxe+kf3vMJk8g6+AT1knFh6A1K0QwpKSBCLFqQavp
-pAbUwBwOjCELqNRCzwAVEe3JO3+lAkEAhRhedl8/A62R8yqJJJCycf4C2b2kjgNR
-QE1x3kPJ1GqRAfIbpzc2gRjE8OlVAfEHGU5AhZ9nyeAqFX5k0N2DjwJAZpJApfQo
-VoCVZyPPASHV4B6k5b/DUcLo9XnNYkcm5EsdjJXR8TWCrkbBxPM3i1Nn/2Lpa0xp
-FiD4cMhNHreApQ==
+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
+HWEzextsObokaNciuMPKlJLizq1W+w==
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/no-proxy-test.crt b/lib/hx509/data/no-proxy-test.crt
index 3c316fd..7e38cd9 100644
--- a/lib/hx509/data/no-proxy-test.crt
+++ b/lib/hx509/data/no-proxy-test.crt
@@ -1,13 +1,30 @@
 -----BEGIN CERTIFICATE-----
-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
+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
+fDTnu7M=
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/no-proxy-test.key b/lib/hx509/data/no-proxy-test.key
index 2a6006c..37d7f29 100644
--- a/lib/hx509/data/no-proxy-test.key
+++ b/lib/hx509/data/no-proxy-test.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAKI/Z1n5TK1eKUyq
-II2UrEdGsr9EpzSQ2pRCkrxIHuzXliZv6jpet2Rafxbu+gl+bMNLpt8tPLM13Oz0
-N233mjgEiNw0Y3qvwXaPddfPSLnSo0UBpqcL2i2gfoHoidM8S/DGzs2AimUdh7cJ
-p8gLblcQc4PyZG0Yr2TWOnhbo3s9AgMBAAECgYBWdSjy1hkZDWM+mi3MpFwFg1P+
-/muHZGVFuhANSvVHyj4V729GeXCKhnrQ0rnk0zzL+QVMSgPdj6dRkXX0IIxJ0iyI
-k7ZVoaCuC8dmc/rF9pJ58saqKYCqQFtjdFO68E3aQbnk89ai69AzgdjegRSVmOQ8
-yJ9ArHcggxbEqGq94QJBANOk9UWdI72KbIRElrTtWAvIrNaF4iixR+AdYuFL2+cJ
-WaGApfFtcNppllmbWxh0IayIDzRpWzSpTILNLQdqF9UCQQDEQDzfZ04+x2RhX28o
-O1Vzqkado6OvyhwVlzp19ZGstMWq6IVNZEJDBYCilk7dkIkjBHojaVEu/k9vMUZS
-KzHJAkBk6xmRUjbCoIjSISqDp1D+fXf86uZGZRJSyXBm4Zc/+XNl0URPdNIFM6ff
-nna3mFiePlqRsVMuLzQugstf57TpAkAYCvqqMADRBiKRH10B48sDQaAnHe4m0i8A
-oidiXjR7oSX6W0RBh//qMBljUeDVmiiC5sCD6BovFK7so2/HD02pAkA9zFWyVTdq
-Y3t01+ZG6TfcxwKGCgpwS3x9OQbMVb34JPQ65U0JzW7ubmYFMD5Fl1RPjDbLc+wm
-uSnStI7RGOt+
+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
+IMZ41x5JPzpQTmrb056vt40ifw3+I946
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/ocsp-req1.der b/lib/hx509/data/ocsp-req1.der
index c975bfe..650c879 100644
--- a/lib/hx509/data/ocsp-req1.der
+++ b/lib/hx509/data/ocsp-req1.der
@@ -1 +1 @@
-0g0e0>0<0:0	+ ڍ+f|-%-ynHܿL0'Yh#0!0	+00T<~
\ No newline at end of file
+0g0e0>0<0:0	+ ڍ+f|-%-yVrH y?&##0!0	+0{d߬jUjd R
\ No newline at end of file
diff --git a/lib/hx509/data/ocsp-req2.der b/lib/hx509/data/ocsp-req2.der
index 1c0cce1..1c01014 100644
--- a/lib/hx509/data/ocsp-req2.der
+++ b/lib/hx509/data/ocsp-req2.der
@@ -1 +1 @@
-0g0e0>0<0:0	+ ڍ+f|-%-ynHܿL0'Yh#0!0	+0C@CcK>r["
\ No newline at end of file
+0g0e0>0<0:0	+ ڍ+f|-%-yVrH y?&##0!0	+0ǈ/FLuze
\ No newline at end of file
diff --git a/lib/hx509/data/ocsp-resp1-ca.der b/lib/hx509/data/ocsp-resp1-ca.der
index 6090b61..38efc09 100644
--- a/lib/hx509/data/ocsp-resp1-ca.der
+++ b/lib/hx509/data/ocsp-resp1-ca.der
@@ -1,4 +1,8 @@
-0
- 0	+000,0*10Uhx509 Test Root CA10	USE20090426202941Z0Q0O0:0	+ ڍ+f|-%-ynHܿL0'Yh 20090426202941Z#0!0	+00T<~0	*H  P{QBWw	OyrXbY#t7()6Q\An6#bN/Me&-zUPbYfq@W8gÑu¢'%.}k~hm@rSt0p0l0ՠ	 2a@0	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0*10Uhx509 Test Root CA10	USE00	*H  0 g^&;CcXC=8}t!)4yZְ̯@6̚n
-im+ a̉d~G;RsZK@~eD?@T,g3Sލ] 00UnHܿL0'Yh0ZU#S0QnHܿL0'Yh.,0*10Uhx509 Test Root CA10	USE	 2a@0U00U0	*H  R]G=QX6'oQἜ8!\Nl{le͔郞x-BDd,<:H؀Ey<`!o1G/˱q^Jgf
-Q`ҹN+W
\ No newline at end of file
+0i
+ b0^	+0O0K0,0*10Uhx509 Test Root CA10	USE20190523150530Z0Q0O0:0	+ ڍ+f|-%-yVrH y?&# 20190523150530Z#0!0	+0{d߬jUjd R0	*H  tˇՑXWUT#-i'|bbܚ1Up"ד/ec?aO
+"bmhfeWĩE{m>8BN^XȯRYk^`߱E[Sdw;TULInyo*SU_,|.q}I7;z X^+9O~5s59B)褥'{sJ|Y|r٭&ΔEEa~BW6㖗em;s7"R.O$ޛրC<`ʬg.50\gs,
+ÓBLW]ӟސ5/\1>S32x}s12sR/hNfKqbҢW	T@?r5)g	YnYy2a3#<Z*"Ő=qJņI'񨁨VJWsu ʯu枳/ޔQ5繾)TáEY''\v\ɠy0u0q0Y	 e4Ðr0	*H 0*10Uhx509 Test Root CA10	USE0190523150511Z380116150511Z0*10Uhx509 Test Root CA10	USE0"0	*H  0
+ 
+/D>βW=&yV$xԴbFItP%&4MiNXJ3\os	ӤM%R{!U20om¢Ds-v?I{)Im ؂_d+2`fW$lT߲FszOih95۸9amaV̱һ$f_盬(1<éy&t_[2`uqԦ5ʞ>&j8IC'U,;;641!x˒]v6Rs&Jt&ߤY(~TaH\>JH>XVv78r2/982YY7e: _{]wsUn|ã@PL̅|TA]tO/Y*L!P.I83OO ȯVI8P	cS	8-Ao>QtOZr, mGr=d%íy 00UVrH y?&#0ZU#S0QVrH y?&#.,0*10Uhx509 Test Root CA10	USE	 e4Ðr0U00U0	*H  .4)lwTney8AR'wbc,K߀=:~zO<?+ %'0CV ߨL-n썴HekRmkg;2䫛Ayȷ_9/MeC5R#Y2% ,Iy#K*K0yR6s7lZh`.(p1=wcHuၣf5䷡["~ZwH^7qHBVٳe?b
+Ol=M4vއhK"|[jI0#(DmvsϢ)y	)_gfh<GRP%2U*w831O&5YBд=
+;0`rPSګӱ_cM{,G*ޒ|W%bq)(K2);	i s5#$X],!!G=8?2EO3cV4ke OhedhN8'wy8g^
\ No newline at end of file
diff --git a/lib/hx509/data/ocsp-resp1-keyhash.der b/lib/hx509/data/ocsp-resp1-keyhash.der
index e9bf421..b3b3feb 100644
--- a/lib/hx509/data/ocsp-resp1-keyhash.der
+++ b/lib/hx509/data/ocsp-resp1-keyhash.der
@@ -1,5 +1,11 @@
-0
- y0u	+0f0b0/?5r\QRO_ V/
-20090426202941Z0Q0O0:0	+ ڍ+f|-%-ynHܿL0'Yh 20090426202941Z#0!0	+00T<~0	*H  -6~.3AJ_B74\&xsTFsu:Dy3].Rѣ0d]qmGomu,"oAR_2X&Z;p'0#000	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0&10	USE10UOCSP responder00	*H  0 8^sW+W<S(7-v6\k]"|枂ٗ<{tSn&?*gއGvĿ\,6-eAG4TE8v?I@q Y0W0	U0 0U0U%0	+0+	0U/?5r\QRO_ V/
-0	*H  $XMN MK7(y(EJ
-udc*D4t -HbXiZ=~X9qvlW%zpP	 ֊
\ No newline at end of file
+0
+ 0	+000Ԡyj)7-62"AuE20190523150530Z0Q0O0:0	+ ڍ+f|-%-yVrH y?&# 20190523150530Z#0!0	+0{d߬jUjd R0	*H  a-D$Sy3,Bm.J`	fon0Ҋ=iKtEX%\,|(Es/Y_JX%pWa_3WH0oۿڲ36~uE|l1DR
+~C+7,ϥT_윈r%x̷N2E>|JA,k^d	R~8 Y,S	RGKK.#),nG
+[a,CƔɚQ#-׆Z}"zpH^'5T<Foau0
+
+s~a0qiSz~J8VNI\$aJ}uµUb5٩?\ XD|@g|`=U`21B6%
+d'jYmKYSc
+\YLjBxD4ituz.>x<&6EN, |rl㠮Ū,0(0$00	*H 0*10Uhx509 Test Root CA10	USE0190523150511Z380116150511Z0&10	USE10UOCSP responder0"0	*H  0
+ v~=*'MrxW?0/>dxޝہP;o J;^ n6f]^҄$ F&h<Ed; ?E=嵑YCAyuBN^z❵ϛpz  0VK)ns-#8]ɽWd`+;\>2bn t)n5r%3Q5EbpקdHtê+!<t%zA#^͘zJxυmMY3^><vh&TBiW-r{5`=)8Z6r؞&*X4uﭥ6hjßC	\SHnXLFzY^qՎN٥0#"5xf+/rz}9_C=z8k(Z-`@Ô;tY_,)v~P)\{k㲛6XщwSㅉe)oyhI	y#Hژ꺼<qj Y0W0	U0 0U0U%0	+0+	0UԠyj)7-62"AuE0	*H  7"z4Y,V:jki<]bMe#H0U{Kҫ1x	E-Yg p#q!&LT5{g|%.2
+kySk;QWq"k>o֊IgK?N+[ɔxù/I_K59Lj~p"I>bT4g'\8Od÷h}Oqzx¯jZVZK9Ӄ{51lLƌFLW=m^vSBً.M+_UN} G&Xd$QfK73Ӧl8!>ej7K
+N?UQ#{fY dzyFWQo7aM|y"gD;Tn?FJV@.kčuɒ1$gm+%4!3\1iQ.}P3b)ڎb6w)Ϗ$ldx=8O
\ No newline at end of file
diff --git a/lib/hx509/data/ocsp-resp1-ocsp-no-cert.der b/lib/hx509/data/ocsp-resp1-ocsp-no-cert.der
index f901f2e..ec51b0c 100644
--- a/lib/hx509/data/ocsp-resp1-ocsp-no-cert.der
+++ b/lib/hx509/data/ocsp-resp1-ocsp-no-cert.der
@@ -1,3 +1,4 @@
-0g
- `0\	+0M0I0(0&10	USE10UOCSP responder20090426202941Z0Q0O0:0	+ ڍ+f|-%-ynHܿL0'Yh 20090426202941Z#0!0	+00T<~0	*H  _].VB=Yv1es?hPee20o&>ʠ+1C9$MT?6	tL(C'"xqBjW{RѧyYi\
-_\P$p<QUld
\ No newline at end of file
+0
+ 0	+000(0&10	USE10UOCSP responder20190523150530Z0Q0O0:0	+ ڍ+f|-%-yVrH y?&# 20190523150530Z#0!0	+0{d߬jUjd R0	*H   ;%!7o"yOlvLK·/h:qՙdnWB8Ut%ZϹFBεӻI]JAY@z.,^Xwr?{Po˽	-k%͇HbOF0K
+k8*?O>93TPc)X+AYcJ&\6H&"' e}oQsYO۫-vv}3$ ]
+7RIK4oojv_%JIr\y	¶(ʾ<t2~~Iv;g;(]f`MUH[\qJoڗ.t7i]h$>_AA7Ã6*)tY3a6	$?Ή~: r>J(j'ses3ڳiIw5"G7AӘbkptǨC
\ No newline at end of file
diff --git a/lib/hx509/data/ocsp-resp1-ocsp.der b/lib/hx509/data/ocsp-resp1-ocsp.der
index f8e219b..864f8dc 100644
--- a/lib/hx509/data/ocsp-resp1-ocsp.der
+++ b/lib/hx509/data/ocsp-resp1-ocsp.der
@@ -1,5 +1,7 @@
-0
- 0	+0x0t0(0&10	USE10UOCSP responder20090426202941Z0Q0O0:0	+ ڍ+f|-%-ynHܿL0'Yh 20090426202941Z#0!0	+00T<~0	*H  _].VB=Yv1es?hPee20o&>ʠ+1C9$MT?6	tL(C'"xqBjW{RѧyYi\
-_\P$p<QUld'0#000	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0&10	USE10UOCSP responder00	*H  0 8^sW+W<S(7-v6\k]"|枂ٗ<{tSn&?*gއGvĿ\,6-eAG4TE8v?I@q Y0W0	U0 0U0U%0	+0+	0U/?5r\QRO_ V/
-0	*H  $XMN MK7(y(EJ
-udc*D4t -HbXiZ=~X9qvlW%zpP	 ֊
\ No newline at end of file
+0
+ 0	+000(0&10	USE10UOCSP responder20190523150530Z0Q0O0:0	+ ڍ+f|-%-yVrH y?&# 20190523150530Z#0!0	+0{d߬jUjd R0	*H   ;%!7o"yOlvLK·/h:qՙdnWB8Ut%ZϹFBεӻI]JAY@z.,^Xwr?{Po˽	-k%͇HbOF0K
+k8*?O>93TPc)X+AYcJ&\6H&"' e}oQsYO۫-vv}3$ ]
+7RIK4oojv_%JIr\y	¶(ʾ<t2~~Iv;g;(]f`MUH[\qJoڗ.t7i]h$>_AA7Ã6*)tY3a6	$?Ή~: r>J(j'ses3ڳiIw5"G7AӘbkptǨC,0(0$00	*H 0*10Uhx509 Test Root CA10	USE0190523150511Z380116150511Z0&10	USE10UOCSP responder0"0	*H  0
+ v~=*'MrxW?0/>dxޝہP;o J;^ n6f]^҄$ F&h<Ed; ?E=嵑YCAyuBN^z❵ϛpz  0VK)ns-#8]ɽWd`+;\>2bn t)n5r%3Q5EbpקdHtê+!<t%zA#^͘zJxυmMY3^><vh&TBiW-r{5`=)8Z6r؞&*X4uﭥ6hjßC	\SHnXLFzY^qՎN٥0#"5xf+/rz}9_C=z8k(Z-`@Ô;tY_,)v~P)\{k㲛6XщwSㅉe)oyhI	y#Hژ꺼<qj Y0W0	U0 0U0U%0	+0+	0UԠyj)7-62"AuE0	*H  7"z4Y,V:jki<]bMe#H0U{Kҫ1x	E-Yg p#q!&LT5{g|%.2
+kySk;QWq"k>o֊IgK?N+[ɔxù/I_K59Lj~p"I>bT4g'\8Od÷h}Oqzx¯jZVZK9Ӄ{51lLƌFLW=m^vSBً.M+_UN} G&Xd$QfK73Ӧl8!>ej7K
+N?UQ#{fY dzyFWQo7aM|y"gD;Tn?FJV@.kčuɒ1$gm+%4!3\1iQ.}P3b)ڎb6w)Ϗ$ldx=8O
\ No newline at end of file
diff --git a/lib/hx509/data/ocsp-resp2.der b/lib/hx509/data/ocsp-resp2.der
index 2a73892..f600bd6 100644
--- a/lib/hx509/data/ocsp-resp2.der
+++ b/lib/hx509/data/ocsp-resp2.der
@@ -1,4 +1,10 @@
-0
- 0	+000ġ(0&10	USE10UOCSP responder20090426202941Z0b0`0:0	+ ڍ+f|-%-ynHܿL0'Yh20090426202941Z20090426202941Z#0!0	+0C@CcK>r["0	*H  [Oygk_̛V?98fܛY Xw3EMħ2Uq oFJUo!TzNcAĪ)UiczjP.'68FF/O	Mv^o'0#000	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0&10	USE10UOCSP responder00	*H  0 8^sW+W<S(7-v6\k]"|枂ٗ<{tSn&?*gއGvĿ\,6-eAG4TE8v?I@q Y0W0	U0 0U0U%0	+0+	0U/?5r\QRO_ V/
-0	*H  $XMN MK7(y(EJ
-udc*D4t -HbXiZ=~X9qvlW%zpP	 ֊
\ No newline at end of file
+0)
+ "0	+000ġ(0&10	USE10UOCSP responder20190523150530Z0b0`0:0	+ ڍ+f|-%-yVrH y?&#20190523150530Z20190523150530Z#0!0	+0ǈ/FLuze0	*H  1P[Qϧ'lI̛0`CaYJ4 Bl?S5v}@gl].EuX)2bk5bt!(ÿR]0ڻOVTi\9W
+rAɻ׋PLD^0h:׽lτ5\s:%?`>Vax~VGU;x a43ɹB^Yw@g*9U/į_B;"_-4w Sm]kWD1.t8?u-"䶴R4ex+;$SVެHkX:O`
+HiW9ϴk=b '^_eSּslo+j>Ơ
+iWSvaϣO)Z\c
++0I-2֊iFRM)q8TM̪:J8<I%`i ӗɺÿـugI$0Mt
+*_,0(0$00	*H 0*10Uhx509 Test Root CA10	USE0190523150511Z380116150511Z0&10	USE10UOCSP responder0"0	*H  0
+ v~=*'MrxW?0/>dxޝہP;o J;^ n6f]^҄$ F&h<Ed; ?E=嵑YCAyuBN^z❵ϛpz  0VK)ns-#8]ɽWd`+;\>2bn t)n5r%3Q5EbpקdHtê+!<t%zA#^͘zJxυmMY3^><vh&TBiW-r{5`=)8Z6r؞&*X4uﭥ6hjßC	\SHnXLFzY^qՎN٥0#"5xf+/rz}9_C=z8k(Z-`@Ô;tY_,)v~P)\{k㲛6XщwSㅉe)oyhI	y#Hژ꺼<qj Y0W0	U0 0U0U%0	+0+	0UԠyj)7-62"AuE0	*H  7"z4Y,V:jki<]bMe#H0U{Kҫ1x	E-Yg p#q!&LT5{g|%.2
+kySk;QWq"k>o֊IgK?N+[ɔxù/I_K59Lj~p"I>bT4g'\8Od÷h}Oqzx¯jZVZK9Ӄ{51lLƌFLW=m^vSBً.M+_UN} G&Xd$QfK73Ӧl8!>ej7K
+N?UQ#{fY dzyFWQo7aM|y"gD;Tn?FJV@.kčuɒ1$gm+%4!3\1iQ.}P3b)ڎb6w)Ϗ$ldx=8O
\ No newline at end of file
diff --git a/lib/hx509/data/ocsp-responder.crt b/lib/hx509/data/ocsp-responder.crt
index ceba439..7df1542 100644
--- a/lib/hx509/data/ocsp-responder.crt
+++ b/lib/hx509/data/ocsp-responder.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 1 (0x1)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:11 2019 GMT
+            Not After : Jan 16 15:05:11 2038 GMT
         Subject: C=SE, CN=OCSP responder
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:f1:38:9c:a0:5e:b9:0e:73:19:b6:f5:57:2b:9c:
-                    0c:ef:a6:c7:57:0f:8d:3c:05:03:8f:53:28:f0:b6:
-                    f8:d1:0d:c9:dc:13:37:2d:f1:76:36:b7:5c:6b:5d:
-                    a5:22:02:7c:86:84:9e:b5:e3:8b:e6:9e:82:d9:97:
-                    96:02:9f:3c:7b:74:e6:1b:b6:c9:fa:b3:b7:8b:53:
-                    6e:26:fb:b2:3f:ae:2a:7f:f9:67:df:1a:e1:de:87:
-                    97:47:76:80:a3:c4:bf:5c:2c:0d:ab:36:97:13:2d:
-                    b8:c2:65:41:47:e8:34:54:f8:45:fc:38:76:b8:99:
-                    3f:ee:83:f6:49:40:96:16:71
+                    00:a0:76:7e:fa:ce:3d:80:e7:2a:c4:1f:02:27:f1:
+                    4d:72:1f:78:57:3f:30:9d:06:2f:d4:3e:64:15:a2:
+                    16:78:de:9d:f9:db:81:b2:96:50:b4:e8:3b:c1:bd:
+                    6f:80:00:4a:3b:b7:ef:5e:8f:20:dd:1d:6e:36:8f:
+                    e4:05:66:c7:17:7f:ad:5d:e1:1a:a1:fa:5e:d2:84:
+                    24:fa:00:46:26:8b:e8:68:ed:c0:86:3c:45:f5:64:
+                    0f:3b:00:cb:cb:3f:45:3d:98:11:f3:cc:de:e2:cb:
+                    e5:b5:91:59:43:99:41:86:79:75:a2:42:4e:5e:16:
+                    7a:f3:0f:ec:e4:c0:e2:9d:b5:cf:9b:a9:ea:97:70:
+                    7a:20:20:8c:30:56:4b:16:29:04:d5:c6:6e:ad:14:
+                    73:2d:cf:23:a5:38:11:5d:c9:bd:9d:57:f3:1a:c9:
+                    ff:16:64:97:d5:60:0c:08:2b:1f:a9:99:3b:5c:ac:
+                    b2:d7:3e:d5:f3:32:62:6e:20:8a:c2:74:29:6e:aa:
+                    35:72:1b:25:dd:d1:33:94:1e:87:e8:51:9b:35:45:
+                    62:19:70:b7:d7:a7:64:48:02:08:74:c3:aa:2b:21:
+                    f6:bc:3c:b4:74:b7:25:7a:41:23:1a:5e:e3:1b:0f:
+                    1c:cd:98:d0:1a:d3:f6:7a:4a:fb:78:cf:85:6d:02:
+                    c4:e6:be:c7:4d:ba:90:59:c2:33:13:5e:3e:89:3c:
+                    76:9f:bb:68:03:cb:26:e6:bf:fa:fd:8b:54:42:69:
+                    c9:12:e8:57:e3:2d:72:f5:be:7b:35:b4:60:9a:a7:
+                    3d:29:9f:e6:f5:38:5a:96:36:72:ad:d8:9e:26:0c:
+                    d0:2a:58:34:8a:dc:75:ef:ad:a5:f2:36:68:b0:6a:
+                    1c:8e:c3:9f:43:09:5c:53:48:16:6e:58:4c:46:1e:
+                    a6:d0:d8:de:7a:85:d0:59:cb:10:e6:86:5e:a4:71:
+                    d5:8e:8b:4e:d9:a5:8a:8e:91:30:23:fc:22:35:fc:
+                    78:8b:aa:66:2b:e2:f0:2f:c9:72:ee:ab:ec:a9:0f:
+                    1c:ad:7a:15:f3:dc:7d:db:39:bd:e1:ee:88:de:04:
+                    5f:43:d4:3d:7a:1b:f8:b9:9e:38:6b:06:8d:04:28:
+                    5a:93:8b:2d:16:03:99:ac:60:a5:40:c3:94:10:0f:
+                    87:0d:3b:db:74:59:fa:c2:5f:f7:ef:2c:87:29:f0:
+                    76:7e:50:29:86:5c:cc:7b:89:6b:11:e3:b2:9b:aa:
+                    9d:36:58:d1:89:ad:77:53:9f:e3:85:89:65:29:6f:
+                    d8:f7:79:68:49:c6:09:97:e5:fa:a2:79:23:b7:48:
+                    c7:da:98:ea:ba:bc:16:9b:3c:ca:71:0c:6a:10:08:
+                    df:ef:1b
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -30,27 +56,64 @@ Certificate:
             X509v3 Extended Key Usage: 
                 OCSP No Check, OCSP Signing
             X509v3 Subject Key Identifier: 
-                FD:2F:3F:35:BC:72:5C:51:52:4F:5F:D6:20:CB:D1:CB:56:2F:BC:0A
+                D4:A0:90:A6:79:F7:F8:6A:CE:29:92:37:2D:36:32:22:B5:41:75:45
     Signature Algorithm: sha1WithRSAEncryption
-        24:95:11:a0:f2:10:58:4d:4e:20:e5:d3:4d:17:b5:4b:37:aa:
-        fe:c8:28:79:e4:ca:15:b1:9e:28:93:fc:45:99:d5:4a:8a:a0:
-        0a:e4:9e:75:64:f9:a4:63:96:dd:2a:9e:c7:0f:03:83:86:44:
-        c5:1c:a4:34:b6:b7:74:e3:ff:e3:97:0f:11:b5:00:bd:10:fd:
-        91:db:ec:2d:14:9b:16:c7:e5:48:b0:08:62:d1:58:be:92:69:
-        a6:5a:3d:7e:58:39:f0:bb:bc:71:08:b9:76:6c:9b:e6:57:1c:
-        25:1b:d6:7a:98:70:9f:95:50:09:17:d9:1a:d9:20:db:d6:8a:
-        be:9e
+         1c:37:c2:22:e7:c3:1e:f9:b5:7a:9b:ee:fe:bc:15:89:cb:34:
+         59:2c:b9:c5:e1:c6:56:3a:da:6a:6b:08:df:f4:69:3c:5d:62:
+         4d:b9:e2:65:8f:23:48:30:8b:9a:a3:55:7b:8a:4b:d2:ab:8b:
+         85:31:78:09:45:2d:9b:fc:59:ad:67:0b:ef:20:b5:70:23:71:
+         21:26:d2:e1:c4:4c:54:8f:02:1e:84:35:ff:7b:67:90:05:7c:
+         25:2e:ca:13:a4:32:ba:0a:9a:aa:6b:79:53:81:6b:3b:95:fe:
+         17:51:57:89:71:22:6b:3e:15:06:6f:1c:d6:8a:9c:e1:49:67:
+         4b:3f:4e:f5:2b:b3:8f:89:5b:f7:c9:94:78:02:b7:f9:db:c3:
+         b9:2f:b9:17:9b:0c:ba:e2:ab:49:e7:5f:0d:85:ef:4b:35:f2:
+         39:e7:4c:ef:6a:88:81:99:7e:a7:8c:b1:f7:d9:ec:fd:70:92:
+         8d:12:1d:22:49:3e:ef:62:54:92:34:e7:67:27:a1:5c:38:d5:
+         1e:b8:95:c2:9b:12:95:4f:8c:64:d6:c5:06:a6:bf:19:fe:c3:
+         b7:fd:68:d7:7f:f2:7d:7f:aa:4f:71:7a:78:c2:af:b6:6a:5a:
+         56:cf:5a:99:82:4b:39:d3:83:03:07:b9:7b:35:31:6c:ac:4c:
+         c6:8c:46:dc:d3:4c:57:3d:01:6d:5e:76:94:53:9c:ba:e8:42:
+         d9:8b:2e:88:4d:9a:8f:12:c7:2b:cc:e2:f9:9f:1d:b1:5f:55:
+         bb:15:4e:e6:f5:bc:7d:03:a1:00:47:b0:1f:26:0e:58:64:24:
+         a8:ef:96:51:d5:66:cc:4b:0d:0b:37:16:33:ef:d3:a6:c2:05:
+         e1:6c:38:b6:21:f2:c3:0f:3e:65:d0:6a:0f:37:4b:c5:db:01:
+         0a:ce:f7:c5:e1:4e:3f:55:aa:8a:51:23:7b:66:59:ab:20:64:
+         7a:0d:bd:dc:cb:79:46:0b:57:51:cf:6f:37:94:03:96:19:a5:
+         61:e4:a8:4d:7c:84:0b:b8:79:ba:22:8c:e0:67:0f:8c:ff:44:
+         02:3b:a2:54:6e:3f:f9:a6:d0:46:b3:ed:e1:d1:18:16:ea:4a:
+         56:b5:9b:a0:b6:ab:40:2e:6b:c4:8d:7f:75:c9:92:b6:ed:31:
+         92:1a:24:94:c7:67:16:fe:6d:9b:d1:f8:2b:25:9d:34:a6:18:
+         21:8f:33:5c:9b:81:31:69:c6:f4:b3:f2:51:2e:7d:17:96:50:
+         33:07:f6:f7:1d:df:62:bf:29:a7:da:8e:15:e2:62:83:36:a5:
+         77:17:f7:29:11:0d:cf:8f:e0:97:b7:24:6c:b6:64:78:8d:e7:
+         f6:97:d0:1a:3d:ea:38:4f
 -----BEGIN CERTIFICATE-----
-MIICHzCCAYigAwIBAgIBATANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
-OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTA5MDQyNjIwMjk0MFoXDTE5
-MDQyNDIwMjk0MFowJjELMAkGA1UEBhMCU0UxFzAVBgNVBAMMDk9DU1AgcmVzcG9u
-ZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDxOJygXrkOcxm29VcrnAzv
-psdXD408BQOPUyjwtvjRDcncEzct8XY2t1xrXaUiAnyGhJ6144vmnoLZl5YCnzx7
-dOYbtsn6s7eLU24m+7I/rip/+WffGuHeh5dHdoCjxL9cLA2rNpcTLbjCZUFH6DRU
-+EX8OHa4mT/ug/ZJQJYWcQIDAQABo1kwVzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF
-4DAeBgNVHSUEFzAVBgkrBgEFBQcwAQUGCCsGAQUFBwMJMB0GA1UdDgQWBBT9Lz81
-vHJcUVJPX9Ygy9HLVi+8CjANBgkqhkiG9w0BAQUFAAOBgQAklRGg8hBYTU4g5dNN
-F7VLN6r+yCh55MoVsZ4ok/xFmdVKiqAK5J51ZPmkY5bdKp7HDwODhkTFHKQ0trd0
-4//jlw8RtQC9EP2R2+wtFJsWx+VIsAhi0Vi+kmmmWj1+WDnwu7xxCLl2bJvmVxwl
-G9Z6mHCflVAJF9ka2SDb1oq+ng==
+MIIFJDCCAwygAwIBAgIBATANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
+OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTE5MDUyMzE1MDUxMVoXDTM4
+MDExNjE1MDUxMVowJjELMAkGA1UEBhMCU0UxFzAVBgNVBAMMDk9DU1AgcmVzcG9u
+ZGVyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAoHZ++s49gOcqxB8C
+J/FNch94Vz8wnQYv1D5kFaIWeN6d+duBspZQtOg7wb1vgABKO7fvXo8g3R1uNo/k
+BWbHF3+tXeEaofpe0oQk+gBGJovoaO3AhjxF9WQPOwDLyz9FPZgR88ze4svltZFZ
+Q5lBhnl1okJOXhZ68w/s5MDinbXPm6nql3B6ICCMMFZLFikE1cZurRRzLc8jpTgR
+Xcm9nVfzGsn/FmSX1WAMCCsfqZk7XKyy1z7V8zJibiCKwnQpbqo1chsl3dEzlB6H
+6FGbNUViGXC316dkSAIIdMOqKyH2vDy0dLclekEjGl7jGw8czZjQGtP2ekr7eM+F
+bQLE5r7HTbqQWcIzE14+iTx2n7toA8sm5r/6/YtUQmnJEuhX4y1y9b57NbRgmqc9
+KZ/m9ThaljZyrdieJgzQKlg0itx1762l8jZosGocjsOfQwlcU0gWblhMRh6m0Nje
+eoXQWcsQ5oZepHHVjotO2aWKjpEwI/wiNfx4i6pmK+LwL8ly7qvsqQ8crXoV89x9
+2zm94e6I3gRfQ9Q9ehv4uZ44awaNBChak4stFgOZrGClQMOUEA+HDTvbdFn6wl/3
+7yyHKfB2flAphlzMe4lrEeOym6qdNljRia13U5/jhYllKW/Y93loScYJl+X6onkj
+t0jH2pjqurwWmzzKcQxqEAjf7xsCAwEAAaNZMFcwCQYDVR0TBAIwADALBgNVHQ8E
+BAMCBeAwHgYDVR0lBBcwFQYJKwYBBQUHMAEFBggrBgEFBQcDCTAdBgNVHQ4EFgQU
+1KCQpnn3+GrOKZI3LTYyIrVBdUUwDQYJKoZIhvcNAQEFBQADggIBABw3wiLnwx75
+tXqb7v68FYnLNFksucXhxlY62mprCN/0aTxdYk254mWPI0gwi5qjVXuKS9Kri4Ux
+eAlFLZv8Wa1nC+8gtXAjcSEm0uHETFSPAh6ENf97Z5AFfCUuyhOkMroKmqpreVOB
+azuV/hdRV4lxIms+FQZvHNaKnOFJZ0s/TvUrs4+JW/fJlHgCt/nbw7kvuRebDLri
+q0nnXw2F70s18jnnTO9qiIGZfqeMsffZ7P1wko0SHSJJPu9iVJI052cnoVw41R64
+lcKbEpVPjGTWxQamvxn+w7f9aNd/8n1/qk9xenjCr7ZqWlbPWpmCSznTgwMHuXs1
+MWysTMaMRtzTTFc9AW1edpRTnLroQtmLLohNmo8SxyvM4vmfHbFfVbsVTub1vH0D
+oQBHsB8mDlhkJKjvllHVZsxLDQs3FjPv06bCBeFsOLYh8sMPPmXQag83S8XbAQrO
+98XhTj9VqopRI3tmWasgZHoNvdzLeUYLV1HPbzeUA5YZpWHkqE18hAu4eboijOBn
+D4z/RAI7olRuP/mm0Eaz7eHRGBbqSla1m6C2q0Aua8SNf3XJkrbtMZIaJJTHZxb+
+bZvR+CslnTSmGCGPM1ybgTFpxvSz8lEufReWUDMH9vcd32K/KafajhXiYoM2pXcX
+9ykRDc+P4Je3JGy2ZHiN5/aX0Bo96jhP
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/ocsp-responder.key b/lib/hx509/data/ocsp-responder.key
index c9dcb30..98cdf65 100644
--- a/lib/hx509/data/ocsp-responder.key
+++ b/lib/hx509/data/ocsp-responder.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAPE4nKBeuQ5zGbb1
-VyucDO+mx1cPjTwFA49TKPC2+NENydwTNy3xdja3XGtdpSICfIaEnrXji+aegtmX
-lgKfPHt05hu2yfqzt4tTbib7sj+uKn/5Z98a4d6Hl0d2gKPEv1wsDas2lxMtuMJl
-QUfoNFT4Rfw4driZP+6D9klAlhZxAgMBAAECgYEA0hUg69azSu9ZhOtVeOiWp51T
-3PHxakVfnVKqxEJGnyNoG6AsnXm/H9Y/yk4rhFwwAaO86eJ8NGT2xvTrM+tk6tua
-iNokJ1uWzpt7XPTr5XvkYEYAx7Pf3VmAja2SQkD0m20AXM9QfXsRvyQVwB2RxIhl
-pa45Gm+PjSNXRaTzs0ECQQD/L+doN/fBbooCRcRYM/vNnHq5Hh1IdHSp3hI9MMLb
-yOU1x6iWfg43xPImODCSippAh74Ummo2SPxVDbuu0Mq5AkEA8f1Rsfh8hcd7RsUu
-LKHl4wyVD9fzpjbsFjyuTOq/bDsXLtdktDr1pn37jker/DKm82wHfAELtij74piN
-FYHteQJAET7eh6eIodTjlMW8QC27LakOjiYf2n6sR7KPTv1Vnd7Uxq6okQsR0OkJ
-aFXRyoV9aTEDQocw+Fw0WVclQOoxWQJBAIUaoWUTGOs83kH/E3bZVmmc8iDU1+AF
-NbbFidolBUWy+v143JuGEriRc1y/b4o5EjuyoCtFJ/v6bxIkdvXtkYECQQCxcBgn
-ohgcWmple2sTMOEoWu2IvqmLwexvmVf1Z6R8Nhc2ayQTNwe0nCVaTtOY1NanQP/T
-U/uo7ISsA/8luXu2
+MIIJRQIBADANBgkqhkiG9w0BAQEFAASCCS8wggkrAgEAAoICAQCgdn76zj2A5yrE
+HwIn8U1yH3hXPzCdBi/UPmQVohZ43p3524GyllC06DvBvW+AAEo7t+9ejyDdHW42
+j+QFZscXf61d4Rqh+l7ShCT6AEYmi+ho7cCGPEX1ZA87AMvLP0U9mBHzzN7iy+W1
+kVlDmUGGeXWiQk5eFnrzD+zkwOKdtc+bqeqXcHogIIwwVksWKQTVxm6tFHMtzyOl
+OBFdyb2dV/Mayf8WZJfVYAwIKx+pmTtcrLLXPtXzMmJuIIrCdCluqjVyGyXd0TOU
+HofoUZs1RWIZcLfXp2RIAgh0w6orIfa8PLR0tyV6QSMaXuMbDxzNmNAa0/Z6Svt4
+z4VtAsTmvsdNupBZwjMTXj6JPHafu2gDyybmv/r9i1RCackS6FfjLXL1vns1tGCa
+pz0pn+b1OFqWNnKt2J4mDNAqWDSK3HXvraXyNmiwahyOw59DCVxTSBZuWExGHqbQ
+2N56hdBZyxDmhl6kcdWOi07ZpYqOkTAj/CI1/HiLqmYr4vAvyXLuq+ypDxytehXz
+3H3bOb3h7ojeBF9D1D16G/i5njhrBo0EKFqTiy0WA5msYKVAw5QQD4cNO9t0WfrC
+X/fvLIcp8HZ+UCmGXMx7iWsR47Kbqp02WNGJrXdTn+OFiWUpb9j3eWhJxgmX5fqi
+eSO3SMfamOq6vBabPMpxDGoQCN/vGwIDAQABAoICAQCHnl8H3xPARKCyjXqnA5zv
+HYX6R1/w9u+ptOmmFw5jLdPa/xkJNV4U6ErJHjCEwLn86yKWiuW9vEgQOWEA57LR
+O4ntVHnL+O33gtQ1r9GadpkBRiB3061VDzKILc4Qg/MjccmKgtbGXIpTAPuu1HK7
+EyDG+L9/agSUNhuD4zolDSrgZ6XsRJYTXS7fE6/2lMiPXVzhT+1hBDceRtr2p7Fo
+sJK5S4wbAv4Iy1qf9MKX9vhjBVtJ7MOq/iSO61Ybr03tSFJPlH5WkZ/ESmGXipFh
+Xrjgw5G95K4u5fj7pvvF5LjCs5PZKYm1YCQo/5V2ozk20zbf1dH13jXYD5y3W6XK
+APscRKXMjP4sXBq1GrjSqeWbgHpLeL9Gct3E40ytNw93hkjWDdT8xihlDrekT/hQ
+bUcB+4ok1qXqurZzf7A49UGK9la/5/jHDMNvG0L5Ssecz9zPtEdA5dcTwVZtndmk
+QzrxykvHZPSlcTm4plySGMo0JWvDhBQlAZdnzkEF84OTkT1Irc0SXQ65N0N5ouRI
+p5f8/e6hjPKjhRetg7wYmgZbsR9HHFJQrGiSUeQi83PHmmJtn/EUCgFIiGDNkUge
+djIY4OSwk8vsfwVgw6Alc0X3pqOcc3jJpHtwtKvAHBaeI1+qXywqK6IeXMzKDNyz
+wP2Raxms7IVcTAEXdVs9AQKCAQEA07PS3OfV6of8E7l+kMdN3a2xrlMEtHVjGQ2L
+tzaUbn35mE9xDCCgaEjQcx2VU9imGrSnv24KFNPIzmzH6N2ftyCQ/8XVnerEGmle
+L4AMIEV9VUIIf3Au5oW0zw+pVU6my9Q40cBGnun84oUMW55mEA0QNrfQh4br10H3
++D4Z4NYT64ecyvexX1a7oKGJTSBSWV4+KxS8Yk9Q9llLI9GEr+nXY2IwMKjjYpaJ
+g26AWhsnPy/xkGmus5ed10HkG67+fsHr/zmucDgI8Jj023nsnggiv1NrbrYld6QF
+1CyhA+dvza+o4jriLb77kVHc7wVrfVhxDRwloTmbHfvdgIt12wKCAQEAwgnxrvph
+Ko+kARo+00s0rlEAqHiJ21Ty8YWZQH2LuSN9BK3POWzKSQJpxRFzTKdhXU1FVU5r
+gULdsGlA0MSNoZxSgYkVJFywFR8SYHDekjIYyoLVtRxKepmLqVUHbefbvRDu8NVD
+7elBmgCinGWigPNlCsnxSN9HtQ+exhQAYx6eoLQzZfocyf/i4QVnRnHSj93yTTT5
+u/OmNEJPLEb9Tt5OoYRMHf4IR+rNxm+H474XrYdn01h2nNUkEG2L3W7qJXPocWSZ
+43HnNYuwFUKF78EghO3eGWLv7H4laD0MpF842eJmt2PGOGcWYOLpn2Df8fEPXOZd
+I5xnoY4BxVDPwQKCAQEAq90MjjHXw/JpfknUqgxi9lgQKwlShH3X2XrZtf8lOR4k
+BrZXfBTwpDiYoRufItZ64qtOk2Xt4UKdfpdpI27oPm69yCb/aJgyY46u27kEHx7K
+xPA6ndqg+JwLUR3RxmN3nXnINt/1dQVYOzzv72EEUnuIciN/ssahp7ryaCFiONkS
+it8pNs0mvdNXtuvs3yQiNlL//VF0LgteGuAa1BU/tuAL767CmH5DOsIjGQQYRw5M
+Kkvtu+NP5JRtm1burFrAWH9t62EUcB3NhCVogtTUdub77n72dIaCnEIYSUuB2/2D
+EmRMonxTKfglmq/uwEySGsw12wLCucReXVUfWT/eiQKCAQEAktIdaq4PmbnIegEW
+6qAsQ34NRmy2uxxjG3dgh5i3gaYlscWmWChGQ8osqC3VFXpNROD0BmFpHQywXAy4
+O3+OP2veTh+gvLvZjJHPQOQGtY5sjcdD11+Jx4ypTb6F+ZaIAV5vvhFQ7hMiTVoP
+sNGCjZodqXU2OlKgmpMwK2b1CAsiMi1H+vCumfYiAOwqwfXcQnnJHrxn/tyUtVQ7
+PiCVCPlTfAlz4vnV4Dz96Rl5NE0g82/SkuuMDI2GVVveifWj/CThC/P4MU59iVmi
+KeQFHm3+ojauaH0hV8v3mBEhoLpgdRVHbZp0YTc3iqYH6k3OBe7GFiBE924gR/EA
+zAGiwQKCAQEAtNHidzC/J8qQql9+DPczfpSSu5wiZPf7y3rLK5flByysg/TmnjG1
+21V5JnOETy69sTAqEz4pzuf14lsNHlz4fjUKo8u3LKLtmrYlfaM3XT8B1vGIkZYv
+XZ1U8DReOIgAgjDgs3MTHJZ2JeAo6naHNIheQDWm+PUuRfG2ojz8srfVFvp+6M8l
+yv7UOmSKJZTWc4KFntdsPv5leEw+Mm428mdnw+mqAspEv1i27JC5eJ9c3wi8IBus
+YDwA8sGkOyty1rELE28s8rOJ2LqT2Pf/SoZfvp2O1FUuU0T7Ma/zg+oYJ/heUkPu
+Nv1cW+onrP/nvshX+2f5xy2Yy6uQYK9Khg==
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/pkinit-ec.crt b/lib/hx509/data/pkinit-ec.crt
index 4e8300d..7029daa 100644
--- a/lib/hx509/data/pkinit-ec.crt
+++ b/lib/hx509/data/pkinit-ec.crt
@@ -2,50 +2,80 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 7 (0x7)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:15 2019 GMT
+            Not After : Jan 16 15:05:15 2038 GMT
         Subject: C=SE, CN=pkinit-ec
         Subject Public Key Info:
             Public Key Algorithm: id-ecPublicKey
                 Public-Key: (256 bit)
-                pub: 
-                    04:df:d7:32:eb:d6:71:78:19:5d:4f:59:6a:85:12:
-                    20:2f:97:61:aa:e8:6e:71:ac:b7:de:42:82:2a:8b:
-                    8b:33:86:d3:fc:4e:a5:49:9a:ca:19:6b:1b:ab:3d:
-                    fd:4d:c5:7a:f4:a0:10:b2:a0:8c:05:3a:d7:55:e5:
-                    c9:f5:89:67:07
+                pub:
+                    04:57:a2:25:14:5b:a7:ac:55:9e:e0:ea:c2:92:98:
+                    c9:13:91:d3:c4:13:00:0c:f9:d6:29:a4:45:c3:53:
+                    f2:f6:92:8e:d9:ce:d4:24:48:56:80:1c:04:8e:13:
+                    ec:49:c1:4d:78:5e:f5:1c:d7:c2:0e:8d:93:da:a4:
+                    79:18:6b:0a:9a
                 ASN1 OID: prime256v1
+                NIST CURVE: P-256
         X509v3 extensions:
             X509v3 Basic Constraints: 
                 CA:FALSE
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment
             X509v3 Subject Key Identifier: 
-                BB:8C:16:71:C8:21:FB:21:0F:81:11:A1:BB:43:12:C8:EF:C8:DA:64
+                1D:2E:2D:D0:63:94:5A:99:95:87:DD:A3:11:F8:82:5A:2A:43:2B:28
             X509v3 Subject Alternative Name: 
                 othername:<unsupported>
     Signature Algorithm: sha1WithRSAEncryption
-        08:6e:66:b5:58:e0:e3:fb:15:04:11:89:f0:73:a0:d1:17:c4:
-        b8:7e:dd:ce:34:fb:7b:ab:ae:bb:af:6f:4d:47:1f:02:f8:e7:
-        7c:c9:33:37:7e:7c:2c:2a:4a:26:38:e1:e5:a9:dd:7c:e1:f8:
-        5a:2c:c7:6f:26:aa:f2:b0:7f:d4:85:0a:33:b7:ec:df:93:fe:
-        e4:04:a0:3e:e2:65:ac:1a:f4:b0:50:d6:cf:9e:bb:ce:90:ca:
-        34:7a:13:f5:6f:30:bd:ec:af:c5:b9:dd:fa:bc:37:b8:34:6e:
-        bb:12:5e:aa:d2:bf:91:64:d8:fe:c0:fb:9a:b0:10:ba:95:02:
-        be:9b
+         b3:3e:84:9b:be:cd:a0:cc:21:dd:f7:12:41:90:8e:9e:25:30:
+         0b:2d:b5:1c:35:a1:15:76:9c:7e:dc:23:33:16:bf:ab:60:82:
+         ad:3a:2e:4f:84:f1:62:21:7c:1c:a1:37:45:01:12:cf:99:aa:
+         a3:b4:72:fe:c9:e3:bd:25:ef:4d:bf:b5:e2:ac:15:3f:b3:b7:
+         df:78:2b:0e:2d:95:71:0b:c7:6c:31:54:c0:c1:e0:8f:00:10:
+         31:20:a6:5e:71:bd:d6:6f:45:cc:25:11:3d:ce:26:75:8b:ba:
+         03:3c:d4:87:89:c7:93:5b:d9:76:b1:20:96:83:07:91:34:05:
+         12:2d:56:e8:18:b2:4a:2d:ba:b0:59:02:65:81:60:3b:92:96:
+         7d:d1:c9:ab:bf:ac:bb:aa:f7:b3:a5:0b:de:e5:cb:0c:16:ac:
+         65:1c:da:6a:c5:16:43:15:b7:14:55:b9:6d:0f:f0:79:ef:b1:
+         d0:6e:bf:85:fb:bb:93:6b:30:69:98:db:da:8c:f2:3a:e8:a3:
+         c9:57:3c:d0:fa:7e:db:cd:48:93:7a:cd:af:a4:71:06:3d:a6:
+         94:b4:99:3a:2e:9c:3a:ac:2f:19:f5:19:1d:71:3d:96:00:74:
+         c9:99:58:40:0d:c2:bf:cf:85:8f:dd:f6:ff:b0:cf:1a:84:6d:
+         02:87:4d:96:7d:db:2f:f1:8a:e5:39:30:8b:89:c4:8d:34:60:
+         05:85:96:92:fc:a0:6a:b9:df:54:53:e6:f3:9a:27:2d:bc:9d:
+         8d:a5:44:bd:81:83:d3:8a:d6:96:b1:71:b3:4b:40:b6:95:e2:
+         45:19:e3:a5:3c:17:af:a8:39:2a:52:68:e4:7c:0f:fa:fd:15:
+         07:fd:e5:e8:1c:cb:b3:2c:d4:97:21:7b:86:fb:fb:78:9a:6a:
+         f2:71:0b:b7:2e:d7:df:96:cb:2e:83:2e:81:29:50:0f:e0:50:
+         0f:d5:34:7d:13:eb:a2:68:d2:a1:26:35:15:08:a9:ac:7e:f5:
+         8d:4c:68:01:a2:01:05:db:5b:7d:ea:ba:45:ea:34:93:db:89:
+         0e:46:58:6e:a3:6f:aa:4a:6c:ac:28:58:a0:48:cc:e2:75:54:
+         e4:79:19:b3:d5:6c:c9:04:b3:d0:9b:51:f5:07:0e:e1:a0:07:
+         61:e9:53:dc:0f:83:3c:7f:54:7b:ca:7e:35:b9:6c:0a:e5:b4:
+         61:48:11:a1:92:27:1d:2e:57:07:67:f0:b0:66:61:0b:a5:15:
+         d1:1a:10:05:34:90:52:a3:c4:a8:19:cf:3e:52:b3:c9:ab:49:
+         e8:84:96:a9:9f:d7:bb:a4:43:2b:ef:b2:bf:8b:01:46:b0:48:
+         e4:80:b8:3e:4a:ab:85:5f
 -----BEGIN CERTIFICATE-----
-MIIB7TCCAVagAwIBAgIBBzANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
-OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTA5MDQyNjIwMjk0MFoXDTE5
-MDQyNDIwMjk0MFowITELMAkGA1UEBhMCU0UxEjAQBgNVBAMMCXBraW5pdC1lYzBZ
-MBMGByqGSM49AgEGCCqGSM49AwEHA0IABN/XMuvWcXgZXU9ZaoUSIC+XYarobnGs
-t95CgiqLizOG0/xOpUmayhlrG6s9/U3FevSgELKgjAU611XlyfWJZwejczBxMAkG
-A1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1UdDgQWBBS7jBZxyCH7IQ+BEaG7QxLI
-78jaZDA4BgNVHREEMTAvoC0GBisGAQUCAqAjMCGgDRsLVEVTVC5INUwuU0WhEDAO
-oAMCAQGhBzAFGwNiYXIwDQYJKoZIhvcNAQEFBQADgYEACG5mtVjg4/sVBBGJ8HOg
-0RfEuH7dzjT7e6uuu69vTUcfAvjnfMkzN358LCpKJjjh5andfOH4WizHbyaq8rB/
-1IUKM7fs35P+5ASgPuJlrBr0sFDWz567zpDKNHoT9W8wveyvxbnd+rw3uDRuuxJe
-qtK/kWTY/sD7mrAQupUCvps=
+MIIDbjCCAVagAwIBAgIBBzANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
+OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTE5MDUyMzE1MDUxNVoXDTM4
+MDExNjE1MDUxNVowITELMAkGA1UEBhMCU0UxEjAQBgNVBAMMCXBraW5pdC1lYzBZ
+MBMGByqGSM49AgEGCCqGSM49AwEHA0IABFeiJRRbp6xVnuDqwpKYyROR08QTAAz5
+1imkRcNT8vaSjtnO1CRIVoAcBI4T7EnBTXhe9RzXwg6Nk9qkeRhrCpqjczBxMAkG
+A1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1UdDgQWBBQdLi3QY5RamZWH3aMR+IJa
+KkMrKDA4BgNVHREEMTAvoC0GBisGAQUCAqAjMCGgDRsLVEVTVC5INUwuU0WhEDAO
+oAMCAQGhBzAFGwNiYXIwDQYJKoZIhvcNAQEFBQADggIBALM+hJu+zaDMId33EkGQ
+jp4lMAsttRw1oRV2nH7cIzMWv6tggq06Lk+E8WIhfByhN0UBEs+ZqqO0cv7J470l
+702/teKsFT+zt994Kw4tlXELx2wxVMDB4I8AEDEgpl5xvdZvRcwlET3OJnWLugM8
+1IeJx5Nb2XaxIJaDB5E0BRItVugYskoturBZAmWBYDuSln3Ryau/rLuq97OlC97l
+ywwWrGUc2mrFFkMVtxRVuW0P8HnvsdBuv4X7u5NrMGmY29qM8jroo8lXPND6ftvN
+SJN6za+kcQY9ppS0mTounDqsLxn1GR1xPZYAdMmZWEANwr/PhY/d9v+wzxqEbQKH
+TZZ92y/xiuU5MIuJxI00YAWFlpL8oGq531RT5vOaJy28nY2lRL2Bg9OK1paxcbNL
+QLaV4kUZ46U8F6+oOSpSaOR8D/r9FQf95egcy7Ms1Jche4b7+3iaavJxC7cu19+W
+yy6DLoEpUA/gUA/VNH0T66Jo0qEmNRUIqax+9Y1MaAGiAQXbW33qukXqNJPbiQ5G
+WG6jb6pKbKwoWKBIzOJ1VOR5GbPVbMkEs9CbUfUHDuGgB2HpU9wPgzx/VHvKfjW5
+bArltGFIEaGSJx0uVwdn8LBmYQulFdEaEAU0kFKjxKgZzz5Ss8mrSeiElqmf17uk
+Qyvvsr+LAUawSOSAuD5Kq4Vf
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/pkinit-ec.key b/lib/hx509/data/pkinit-ec.key
index 874b8a5..846bb51 100644
--- a/lib/hx509/data/pkinit-ec.key
+++ b/lib/hx509/data/pkinit-ec.key
@@ -1,5 +1,5 @@
 -----BEGIN PRIVATE KEY-----
-MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgL/JpadcZH3wtaXm9
-hbeKhG4YsKoN/WffC88YldqhFYChRANCAATf1zLr1nF4GV1PWWqFEiAvl2Gq6G5x
-rLfeQoIqi4szhtP8TqVJmsoZaxurPf1NxXr0oBCyoIwFOtdV5cn1iWcH
+MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgf0P72e36G4JST5z5
+hGIETF9eViQ6rCu3pu3793hC6DuhRANCAARXoiUUW6esVZ7g6sKSmMkTkdPEEwAM
++dYppEXDU/L2ko7ZztQkSFaAHASOE+xJwU14XvUc18IOjZPapHkYawqa
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/pkinit-proxy-chain.crt b/lib/hx509/data/pkinit-proxy-chain.crt
index 2d2553f..15fd65f 100644
--- a/lib/hx509/data/pkinit-proxy-chain.crt
+++ b/lib/hx509/data/pkinit-proxy-chain.crt
@@ -1,40 +1,82 @@
 -----BEGIN CERTIFICATE-----
-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
+MIIFNjCCAx6gAwIBAgIJAJd7zCsMMPvCMA0GCSqGSIb3DQEBCwUAMB4xCzAJBgNV
+BAYTAlNFMQ8wDQYDVQQDDAZwa2luaXQwHhcNMTkwNTIzMTUwNTE1WhcNMzgwMTE2
+MTUwNTE1WjA1MQswCQYDVQQGEwJTRTEPMA0GA1UEAwwGcGtpbml0MRUwEwYDVQQD
+DAxwa2luaXQtcHJveHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCh
+U0hTlQYhDONlH8153Wn2/H6/OW15S9pvg/RcQ9+Mc7a3kOEnImHt4B/zevv1rfYa
+EernC2mrTxvSSy2Oxx3yNFsV1Kys+kMYiIygswPohTHYhMQKEjqGPTN97E1JcvMQ
+iZy19sl6tG+kLZKa5pSTUoFrlqw2NN9U1WjlgaZ7WnLxwLlatQnZOnA6+MoU1bJe
+pkPUAcjOOQZTd2D/3tAOcBKfQ6z97XFqfxzcnclz+9BXgFdZWTR1efd5yYNy17ny
+8hoEHuc34+a/hrrhfiFiXYKFF6f07YI6lt+ElPOc93oz19fE4wVskXjvxLOwahzM
+q2jRalsj/XlYCEHrZqaYjHvY8MYNFleThQEwJ/zldgQjx2MMnUD3ApxRDutfYM9e
+MFSv0ATDFoKi55mGySMD3dMpI1I/TER459Am5c88SfxJNJXAW/2GJXQAJ7tCL3dM
+sYcqkl5uVZXPJxSQbfFCl95lhlzOtoXZTS1+cxYN0oz9YfLoG3tz3x5Xtxo0eUbI
+NJBq1sWi6bO6+6GyQOxs45sawl906XFqW/qzSywNOOsT/hcuEvc4IGdZKLP/wxF0
+HJzeaqDwfmiT1tz8jArGsbqw/i77xND6tq+56rur5/BhfIapXZ9wKDfawQttpDnX
+PTcaT8BSqQejfZa0RiRvt70pypm98eZ1XRzWhC6bvQIDAQABo2AwXjAJBgNVHRME
+AjAAMAsGA1UdDwQEAwIF4DAdBgNVHQ4EFgQUzoShaVViBQhilqB70YV+yuLcWIEw
+JQYIKwYBBQUHAQ4BAf8EFjAUAgEAMA8GCCsGAQUFBxUABANmb28wDQYJKoZIhvcN
+AQELBQADggIBAL45/vKz88cBG7c11gyePde86H7qWgIKrWocohn6eoXF1p2ZkLvP
+na4o7WVr/WC7t4DiBZVUNVvrqss/nOI3wMVjU9Mn9wrJbycvrVPAWH1nIhlKR3gM
+H8PTcZiHI+Vf14aHTjeRFEXxy0i+K7JxtKRQC/Bi+MuwnBvPwvar3tqFLXprRk4p
+p42I7/ngT8WcAzz/LWj0rWYNl/TEFU3esDBr3rz+B5TFVcp2dLpcZW7ScFRh9bLT
+OwJ/QNhzvnH5cwsWlb8cpDTFVeyTOBgqh9t6ut6SnDfCu03xIBVuCk+P5KhOGWAS
+3cOVqvGn3Y3q1glE2XdKgyYqU2z3itneUyiCeopItFaKZIV52s4WuIuGO+PK8XOi
+QhwtnsWO91toEFUpUNkxf/C6C61G4xuvHeMVLdTzO1Xi5kuHyN9gD8rLAuUfaV1c
+Zv3f2S8WpvEGkSSu8Ap1k3ExfIaFhgxzu3pjGL5e6YV2lK9d/UGXOpDRFZOUuoRm
+dyowQcF3XcH6zTDu+ThXlPSq5bkjrnMnNt2z2LfqGb/GFp1vl11LsXeLgpHmFTq2
+4umDDUwMHVzrmFoa3BtUkgO3BUoSrt2l63TFqTQZgZAf/D042jBcmOhV6Mt5MsDK
+MFZkoYjtv+8jTeRwxP2zi3EceCvGkV1Mf3t2/h4wYGa25J6HFq86VVRU
 -----END CERTIFICATE-----
 Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 6 (0x6)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:15 2019 GMT
+            Not After : Jan 16 15:05:15 2038 GMT
         Subject: C=SE, CN=pkinit
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:b2:47:42:dc:46:f8:94:e3:66:2b:f9:26:14:56:
-                    41:68:e1:7a:04:cd:55:45:ae:e0:a8:48:80:33:58:
-                    fc:86:4f:e8:67:62:89:f7:d4:ba:d1:bb:9a:6a:83:
-                    1b:4e:01:b5:7c:9e:b2:d2:bf:84:21:98:58:1d:b6:
-                    4d:fa:af:f2:e5:e8:d4:d6:78:a3:06:da:69:15:09:
-                    d8:fa:07:09:97:cf:1a:3b:2c:69:b2:58:a2:0b:48:
-                    4e:37:11:2c:f5:7a:8f:50:e4:40:14:29:28:30:ac:
-                    0b:b5:0a:1e:60:b4:9a:d4:8d:bc:38:c9:2f:a9:d1:
-                    35:e7:c9:d4:18:66:1c:15:2d
+                    00:bf:4b:44:8f:d1:dd:56:18:41:5c:c2:c4:2b:ff:
+                    28:e6:7f:68:26:d4:0f:08:e6:af:dd:72:28:9b:ec:
+                    5f:5a:2f:f1:9a:7b:21:0f:c2:01:96:d8:85:32:20:
+                    5c:c7:91:fb:2d:71:33:d7:dc:81:06:32:2e:e5:ec:
+                    61:37:8a:0b:0c:23:57:cd:9c:ae:93:79:58:26:1e:
+                    de:26:18:12:52:c3:76:7a:d1:6a:dc:98:67:13:4d:
+                    73:dc:8f:7f:7b:dc:97:15:dd:eb:6e:0b:54:cc:f7:
+                    ef:db:14:8f:d2:89:47:3e:8c:e7:de:ef:61:34:67:
+                    10:60:8a:87:13:6d:86:91:9d:8a:92:64:72:5c:ef:
+                    64:57:b9:0e:91:ea:41:2c:03:e0:67:c7:51:cf:ea:
+                    09:5a:e9:0e:ba:eb:be:53:10:90:e5:0f:87:33:3b:
+                    e6:53:11:1c:6d:75:34:ea:4a:7c:59:f4:6b:da:82:
+                    30:4d:f5:72:ad:ae:41:f7:c1:ca:b2:7e:74:a4:45:
+                    bd:2d:80:c5:47:d3:ed:c2:02:fb:d9:85:76:00:3d:
+                    a6:ab:da:2a:ef:a4:c7:d6:74:c4:88:02:63:d5:a0:
+                    5f:6b:88:ee:bc:df:0f:43:78:8f:62:1a:c6:c8:e5:
+                    3a:43:aa:75:94:d0:71:15:a4:8a:f9:67:5d:93:93:
+                    bd:78:04:46:39:90:48:22:05:78:17:ec:b9:26:3f:
+                    4f:7b:a9:e2:79:b3:cf:13:ce:34:9f:3c:7a:8f:a8:
+                    b7:b4:12:39:01:4f:26:44:33:b9:7d:eb:c7:0d:c7:
+                    1c:d3:c5:52:2b:cb:65:a2:48:b8:c6:b2:e5:17:d3:
+                    df:ed:ef:e9:ea:21:5f:2e:42:23:40:35:7e:97:23:
+                    28:42:0e:22:25:79:f6:ea:ae:a3:cf:c6:c4:ef:ed:
+                    c3:1f:14:05:5f:66:ab:20:a0:5e:80:11:32:1f:ff:
+                    69:10:e2:8e:d6:70:e4:97:ab:82:89:37:57:74:43:
+                    81:e6:85:ca:6e:3b:1d:ae:3f:ca:7f:da:2b:7b:db:
+                    ee:ab:ad:a1:a1:16:38:9c:b6:f2:af:be:b0:19:e1:
+                    63:14:6f:26:24:f4:a8:3a:04:0e:9a:9c:5a:0a:bd:
+                    22:91:c4:c3:ab:2f:ea:54:d7:ca:ad:ed:b7:a0:98:
+                    8a:c8:94:15:ea:13:22:97:29:df:3a:85:4c:80:0d:
+                    ee:3f:d0:66:3d:9c:0f:41:2b:fd:1e:90:f5:8a:fb:
+                    4c:10:20:3b:91:cc:fc:ab:d8:89:ac:7a:9f:bc:c9:
+                    e4:09:fe:81:ba:53:cf:f5:13:1b:4b:b0:f3:bf:34:
+                    3d:3d:2c:8c:90:89:d6:37:78:cc:7c:f0:a8:97:08:
+                    ac:ea:f5
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -42,29 +84,66 @@ Certificate:
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment
             X509v3 Subject Key Identifier: 
-                E8:3F:1A:8B:C2:8A:9C:F9:B4:4F:95:D9:55:29:0C:A5:0B:0E:13:C6
+                76:9F:AA:4D:D1:1E:92:61:23:CE:AE:DC:C3:CD:07:EB:A7:13:43:2F
             X509v3 Subject Alternative Name: 
                 othername:<unsupported>
     Signature Algorithm: sha1WithRSAEncryption
-        b5:ab:c2:d5:f8:30:fc:bb:b3:53:c2:42:a0:f1:4d:a0:5c:92:
-        1a:c7:dc:01:df:42:6a:d2:c8:79:18:ae:a7:09:8e:ea:1c:97:
-        80:93:b1:e3:23:4d:ca:15:f5:f8:c2:d0:38:5d:0d:76:7b:41:
-        47:f1:a4:77:26:86:2c:69:2a:5c:86:32:00:09:da:04:3c:d6:
-        30:9d:a3:0a:e2:b1:a6:36:2f:ff:3c:80:d6:e7:2a:8b:49:dd:
-        d8:24:98:7a:15:0a:29:f0:4b:30:ae:73:b5:af:70:7a:3a:b0:
-        40:27:a7:4e:74:8c:46:1e:2f:bb:cc:57:63:30:bf:b1:38:81:
-        10:bd
+         3d:2f:62:54:90:6a:d1:f1:93:cc:21:b6:45:d2:d8:d3:ae:c8:
+         c4:63:6d:9a:25:a1:c3:33:3a:c0:90:ea:ac:4b:67:a4:af:dd:
+         75:3f:03:13:44:a9:7e:5a:9e:3b:6f:df:06:d0:6d:ae:bf:fc:
+         bf:23:b0:5e:c9:1b:98:d1:e6:6c:20:83:48:2f:b1:8d:ef:c1:
+         33:fd:d1:7f:d0:ca:03:9a:e4:3a:42:17:0d:e6:40:25:2f:f3:
+         80:83:36:c4:cc:8e:4b:7b:90:9d:22:ca:83:c1:a3:d0:c9:13:
+         af:b4:a6:d7:d9:3b:be:fd:d1:5a:da:71:f8:6e:18:c8:8e:82:
+         d0:b8:a6:de:58:c8:9b:8f:c1:20:ab:81:a8:3b:29:81:2d:cb:
+         a2:f3:b2:9b:81:7d:78:c6:55:ed:05:75:7f:4c:64:6b:fe:00:
+         e7:2b:6e:17:d5:32:de:e1:1d:33:f6:ce:89:4b:c6:be:92:54:
+         f7:16:ea:91:b7:af:46:80:41:8f:6c:47:d6:07:d7:62:34:1b:
+         7c:69:e8:6c:ac:6f:39:b2:3c:60:cd:b3:89:95:3a:9e:ef:75:
+         fa:b1:ad:b4:bc:89:69:1c:69:53:dd:94:25:93:7c:64:56:75:
+         0a:a9:8d:2b:6d:ed:9c:e7:cf:9a:ad:02:ca:79:f4:fa:59:4e:
+         51:33:c3:f9:4d:a6:35:62:50:e7:f3:2d:aa:32:b3:60:2f:1e:
+         e3:71:6b:78:98:f7:9f:fe:0f:0f:f1:a5:6a:4f:f7:01:22:52:
+         60:6b:62:b5:5b:15:6d:4f:41:e0:23:a0:43:45:39:70:f3:a0:
+         bd:30:14:63:01:01:f4:1f:fb:65:43:c8:99:57:aa:47:2d:53:
+         0c:f6:c2:65:f3:1a:64:69:67:f3:7b:b1:2f:0f:c1:e8:a2:5e:
+         78:bd:df:a6:d8:3e:ce:6a:fc:bb:c6:14:a1:6b:de:fa:47:5d:
+         ce:6a:24:60:da:1b:5d:fd:c1:5f:27:34:a2:b6:dc:bb:e5:f4:
+         cb:14:88:e6:66:e7:49:e8:a0:22:49:da:af:1a:30:f6:ac:a7:
+         99:56:5e:b4:b0:19:71:67:59:cd:0d:67:4b:82:54:0d:c9:88:
+         cb:ea:36:7f:60:d5:df:8a:74:78:25:2a:b5:ca:89:ac:9a:0b:
+         bc:a4:25:f9:38:c0:13:58:1b:5c:60:0a:b7:9c:74:de:b1:7b:
+         e2:5e:1d:85:50:e0:69:22:c5:2f:e1:1a:1c:ca:cd:a7:ab:0d:
+         a2:ce:f1:88:92:68:10:fa:1d:ca:f4:62:6d:cd:8b:1b:72:2f:
+         67:a1:b6:f6:ef:b9:f1:e8:bd:42:54:d8:4b:e0:8b:9b:6d:2d:
+         1c:ca:c3:eb:79:5c:d7:00
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/pkinit-proxy.crt b/lib/hx509/data/pkinit-proxy.crt
index 28da269..3fe393e 100644
--- a/lib/hx509/data/pkinit-proxy.crt
+++ b/lib/hx509/data/pkinit-proxy.crt
@@ -1,14 +1,30 @@
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/pkinit-proxy.key b/lib/hx509/data/pkinit-proxy.key
index 9bb546f..3567bf5 100644
--- a/lib/hx509/data/pkinit-proxy.key
+++ b/lib/hx509/data/pkinit-proxy.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANKxpMj4is1Zy+3R
-QfaZyhIbPkK+1237l10YqJmh5vB4WF+VriouCw8bXK/Q84rnGlr48fYa3qquiuT7
-TzUyBJ/vGMhuBosnO4zI3usM7wcp9zfmykesP/5ef1HRe8Lv2F1HZkLc6N4jo5lI
-GtnlnXe4qJjbjTPsY4x0PVl5QV0DAgMBAAECgYEAo99RWJKferqV92GjmYbh+RVB
-Zq6CZmOhxeHw+JVJRs2Dhsynit0G8vgILiMp2WaIRCuOHiml+EELfK/OWoSNvOGy
-q0ss+mu0Jm3d9bQUYE7O6fBbFtY9zYIYOVWP4YCIyA0su48W3Fk+wQeNewKj396Q
-7tx4aBn5f8DARkZrVRECQQDxX81pSf8VTnNQNhvp76YhANGtBhiJ8OtADCNUoJT+
-sKAPa8HiBTHL2alkBbi/b4whOzePCJSjHTinkEBE+iuJAkEA33XtpR3ACDCtrvAo
-WNdE7zt4yV4tByzmQCK3u3ZxSJOPKinR55tUjZynqghZmpS+XSE5rRwmsx75ZwkP
-oNdlKwJBALcPmZJI9JUMMpia8QCzKKPPIza+cM3tUf35NrJwN5ASFNKdPyZUGjgo
-lDevvzYxO23Yo4JvV4t+FgG/fX7S3UECQFh1/tXWqSaU3qzaNZ612Xw7Nt3AgmLM
-y3moRMPZZ48rmwk99PKS8y38TgNpus8PAy0q8gItmsReBq1bUOyDWHECQDQOIlRO
-k1OWBLD4PLYaxB1c5F59tfCV+cRlm/sYTnDjdDWWu8D2Qhjhz367iLLMJvV2Klyu
-7FwUNyfKI6Tk3oY=
+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
+gvWFSlv63UgRaUrIlQWr2X01y9IGjw==
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/pkinit-pw.key b/lib/hx509/data/pkinit-pw.key
index a0c4ada..ac89d6a 100644
--- a/lib/hx509/data/pkinit-pw.key
+++ b/lib/hx509/data/pkinit-pw.key
@@ -1,18 +1,54 @@
 -----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
-DEK-Info: AES-256-CBC,28C20887B231CD5238D14EE2237F6440
+DEK-Info: AES-256-CBC,EF2C2237F4387D5197FBFEC26EFA3487
 
-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
+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
 -----END RSA PRIVATE KEY-----
diff --git a/lib/hx509/data/pkinit.crt b/lib/hx509/data/pkinit.crt
index 4dae086..8664236 100644
--- a/lib/hx509/data/pkinit.crt
+++ b/lib/hx509/data/pkinit.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 6 (0x6)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:15 2019 GMT
+            Not After : Jan 16 15:05:15 2038 GMT
         Subject: C=SE, CN=pkinit
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:b2:47:42:dc:46:f8:94:e3:66:2b:f9:26:14:56:
-                    41:68:e1:7a:04:cd:55:45:ae:e0:a8:48:80:33:58:
-                    fc:86:4f:e8:67:62:89:f7:d4:ba:d1:bb:9a:6a:83:
-                    1b:4e:01:b5:7c:9e:b2:d2:bf:84:21:98:58:1d:b6:
-                    4d:fa:af:f2:e5:e8:d4:d6:78:a3:06:da:69:15:09:
-                    d8:fa:07:09:97:cf:1a:3b:2c:69:b2:58:a2:0b:48:
-                    4e:37:11:2c:f5:7a:8f:50:e4:40:14:29:28:30:ac:
-                    0b:b5:0a:1e:60:b4:9a:d4:8d:bc:38:c9:2f:a9:d1:
-                    35:e7:c9:d4:18:66:1c:15:2d
+                    00:bf:4b:44:8f:d1:dd:56:18:41:5c:c2:c4:2b:ff:
+                    28:e6:7f:68:26:d4:0f:08:e6:af:dd:72:28:9b:ec:
+                    5f:5a:2f:f1:9a:7b:21:0f:c2:01:96:d8:85:32:20:
+                    5c:c7:91:fb:2d:71:33:d7:dc:81:06:32:2e:e5:ec:
+                    61:37:8a:0b:0c:23:57:cd:9c:ae:93:79:58:26:1e:
+                    de:26:18:12:52:c3:76:7a:d1:6a:dc:98:67:13:4d:
+                    73:dc:8f:7f:7b:dc:97:15:dd:eb:6e:0b:54:cc:f7:
+                    ef:db:14:8f:d2:89:47:3e:8c:e7:de:ef:61:34:67:
+                    10:60:8a:87:13:6d:86:91:9d:8a:92:64:72:5c:ef:
+                    64:57:b9:0e:91:ea:41:2c:03:e0:67:c7:51:cf:ea:
+                    09:5a:e9:0e:ba:eb:be:53:10:90:e5:0f:87:33:3b:
+                    e6:53:11:1c:6d:75:34:ea:4a:7c:59:f4:6b:da:82:
+                    30:4d:f5:72:ad:ae:41:f7:c1:ca:b2:7e:74:a4:45:
+                    bd:2d:80:c5:47:d3:ed:c2:02:fb:d9:85:76:00:3d:
+                    a6:ab:da:2a:ef:a4:c7:d6:74:c4:88:02:63:d5:a0:
+                    5f:6b:88:ee:bc:df:0f:43:78:8f:62:1a:c6:c8:e5:
+                    3a:43:aa:75:94:d0:71:15:a4:8a:f9:67:5d:93:93:
+                    bd:78:04:46:39:90:48:22:05:78:17:ec:b9:26:3f:
+                    4f:7b:a9:e2:79:b3:cf:13:ce:34:9f:3c:7a:8f:a8:
+                    b7:b4:12:39:01:4f:26:44:33:b9:7d:eb:c7:0d:c7:
+                    1c:d3:c5:52:2b:cb:65:a2:48:b8:c6:b2:e5:17:d3:
+                    df:ed:ef:e9:ea:21:5f:2e:42:23:40:35:7e:97:23:
+                    28:42:0e:22:25:79:f6:ea:ae:a3:cf:c6:c4:ef:ed:
+                    c3:1f:14:05:5f:66:ab:20:a0:5e:80:11:32:1f:ff:
+                    69:10:e2:8e:d6:70:e4:97:ab:82:89:37:57:74:43:
+                    81:e6:85:ca:6e:3b:1d:ae:3f:ca:7f:da:2b:7b:db:
+                    ee:ab:ad:a1:a1:16:38:9c:b6:f2:af:be:b0:19:e1:
+                    63:14:6f:26:24:f4:a8:3a:04:0e:9a:9c:5a:0a:bd:
+                    22:91:c4:c3:ab:2f:ea:54:d7:ca:ad:ed:b7:a0:98:
+                    8a:c8:94:15:ea:13:22:97:29:df:3a:85:4c:80:0d:
+                    ee:3f:d0:66:3d:9c:0f:41:2b:fd:1e:90:f5:8a:fb:
+                    4c:10:20:3b:91:cc:fc:ab:d8:89:ac:7a:9f:bc:c9:
+                    e4:09:fe:81:ba:53:cf:f5:13:1b:4b:b0:f3:bf:34:
+                    3d:3d:2c:8c:90:89:d6:37:78:cc:7c:f0:a8:97:08:
+                    ac:ea:f5
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -28,29 +54,66 @@ Certificate:
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment
             X509v3 Subject Key Identifier: 
-                E8:3F:1A:8B:C2:8A:9C:F9:B4:4F:95:D9:55:29:0C:A5:0B:0E:13:C6
+                76:9F:AA:4D:D1:1E:92:61:23:CE:AE:DC:C3:CD:07:EB:A7:13:43:2F
             X509v3 Subject Alternative Name: 
                 othername:<unsupported>
     Signature Algorithm: sha1WithRSAEncryption
-        b5:ab:c2:d5:f8:30:fc:bb:b3:53:c2:42:a0:f1:4d:a0:5c:92:
-        1a:c7:dc:01:df:42:6a:d2:c8:79:18:ae:a7:09:8e:ea:1c:97:
-        80:93:b1:e3:23:4d:ca:15:f5:f8:c2:d0:38:5d:0d:76:7b:41:
-        47:f1:a4:77:26:86:2c:69:2a:5c:86:32:00:09:da:04:3c:d6:
-        30:9d:a3:0a:e2:b1:a6:36:2f:ff:3c:80:d6:e7:2a:8b:49:dd:
-        d8:24:98:7a:15:0a:29:f0:4b:30:ae:73:b5:af:70:7a:3a:b0:
-        40:27:a7:4e:74:8c:46:1e:2f:bb:cc:57:63:30:bf:b1:38:81:
-        10:bd
+         3d:2f:62:54:90:6a:d1:f1:93:cc:21:b6:45:d2:d8:d3:ae:c8:
+         c4:63:6d:9a:25:a1:c3:33:3a:c0:90:ea:ac:4b:67:a4:af:dd:
+         75:3f:03:13:44:a9:7e:5a:9e:3b:6f:df:06:d0:6d:ae:bf:fc:
+         bf:23:b0:5e:c9:1b:98:d1:e6:6c:20:83:48:2f:b1:8d:ef:c1:
+         33:fd:d1:7f:d0:ca:03:9a:e4:3a:42:17:0d:e6:40:25:2f:f3:
+         80:83:36:c4:cc:8e:4b:7b:90:9d:22:ca:83:c1:a3:d0:c9:13:
+         af:b4:a6:d7:d9:3b:be:fd:d1:5a:da:71:f8:6e:18:c8:8e:82:
+         d0:b8:a6:de:58:c8:9b:8f:c1:20:ab:81:a8:3b:29:81:2d:cb:
+         a2:f3:b2:9b:81:7d:78:c6:55:ed:05:75:7f:4c:64:6b:fe:00:
+         e7:2b:6e:17:d5:32:de:e1:1d:33:f6:ce:89:4b:c6:be:92:54:
+         f7:16:ea:91:b7:af:46:80:41:8f:6c:47:d6:07:d7:62:34:1b:
+         7c:69:e8:6c:ac:6f:39:b2:3c:60:cd:b3:89:95:3a:9e:ef:75:
+         fa:b1:ad:b4:bc:89:69:1c:69:53:dd:94:25:93:7c:64:56:75:
+         0a:a9:8d:2b:6d:ed:9c:e7:cf:9a:ad:02:ca:79:f4:fa:59:4e:
+         51:33:c3:f9:4d:a6:35:62:50:e7:f3:2d:aa:32:b3:60:2f:1e:
+         e3:71:6b:78:98:f7:9f:fe:0f:0f:f1:a5:6a:4f:f7:01:22:52:
+         60:6b:62:b5:5b:15:6d:4f:41:e0:23:a0:43:45:39:70:f3:a0:
+         bd:30:14:63:01:01:f4:1f:fb:65:43:c8:99:57:aa:47:2d:53:
+         0c:f6:c2:65:f3:1a:64:69:67:f3:7b:b1:2f:0f:c1:e8:a2:5e:
+         78:bd:df:a6:d8:3e:ce:6a:fc:bb:c6:14:a1:6b:de:fa:47:5d:
+         ce:6a:24:60:da:1b:5d:fd:c1:5f:27:34:a2:b6:dc:bb:e5:f4:
+         cb:14:88:e6:66:e7:49:e8:a0:22:49:da:af:1a:30:f6:ac:a7:
+         99:56:5e:b4:b0:19:71:67:59:cd:0d:67:4b:82:54:0d:c9:88:
+         cb:ea:36:7f:60:d5:df:8a:74:78:25:2a:b5:ca:89:ac:9a:0b:
+         bc:a4:25:f9:38:c0:13:58:1b:5c:60:0a:b7:9c:74:de:b1:7b:
+         e2:5e:1d:85:50:e0:69:22:c5:2f:e1:1a:1c:ca:cd:a7:ab:0d:
+         a2:ce:f1:88:92:68:10:fa:1d:ca:f4:62:6d:cd:8b:1b:72:2f:
+         67:a1:b6:f6:ef:b9:f1:e8:bd:42:54:d8:4b:e0:8b:9b:6d:2d:
+         1c:ca:c3:eb:79:5c:d7:00
 -----BEGIN CERTIFICATE-----
-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
+MIIFNjCCAx6gAwIBAgIBBjANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
+OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTE5MDUyMzE1MDUxNVoXDTM4
+MDExNjE1MDUxNVowHjELMAkGA1UEBhMCU0UxDzANBgNVBAMMBnBraW5pdDCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL9LRI/R3VYYQVzCxCv/KOZ/aCbU
+Dwjmr91yKJvsX1ov8Zp7IQ/CAZbYhTIgXMeR+y1xM9fcgQYyLuXsYTeKCwwjV82c
+rpN5WCYe3iYYElLDdnrRatyYZxNNc9yPf3vclxXd624LVMz379sUj9KJRz6M597v
+YTRnEGCKhxNthpGdipJkclzvZFe5DpHqQSwD4GfHUc/qCVrpDrrrvlMQkOUPhzM7
+5lMRHG11NOpKfFn0a9qCME31cq2uQffByrJ+dKRFvS2AxUfT7cIC+9mFdgA9pqva
+Ku+kx9Z0xIgCY9WgX2uI7rzfD0N4j2IaxsjlOkOqdZTQcRWkivlnXZOTvXgERjmQ
+SCIFeBfsuSY/T3up4nmzzxPONJ88eo+ot7QSOQFPJkQzuX3rxw3HHNPFUivLZaJI
+uMay5RfT3+3v6eohXy5CI0A1fpcjKEIOIiV59uquo8/GxO/twx8UBV9mqyCgXoAR
+Mh//aRDijtZw5Jergok3V3RDgeaFym47Ha4/yn/aK3vb7qutoaEWOJy28q++sBnh
+YxRvJiT0qDoEDpqcWgq9IpHEw6sv6lTXyq3tt6CYisiUFeoTIpcp3zqFTIAN7j/Q
+Zj2cD0Er/R6Q9Yr7TBAgO5HM/KvYiax6n7zJ5An+gbpTz/UTG0uw8780PT0sjJCJ
+1jd4zHzwqJcIrOr1AgMBAAGjczBxMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0G
+A1UdDgQWBBR2n6pN0R6SYSPOrtzDzQfrpxNDLzA4BgNVHREEMTAvoC0GBisGAQUC
+AqAjMCGgDRsLVEVTVC5INUwuU0WhEDAOoAMCAQGhBzAFGwNiYXIwDQYJKoZIhvcN
+AQEFBQADggIBAD0vYlSQatHxk8whtkXS2NOuyMRjbZolocMzOsCQ6qxLZ6Sv3XU/
+AxNEqX5anjtv3wbQba6//L8jsF7JG5jR5mwgg0gvsY3vwTP90X/QygOa5DpCFw3m
+QCUv84CDNsTMjkt7kJ0iyoPBo9DJE6+0ptfZO7790VracfhuGMiOgtC4pt5YyJuP
+wSCrgag7KYEty6LzspuBfXjGVe0FdX9MZGv+AOcrbhfVMt7hHTP2zolLxr6SVPcW
+6pG3r0aAQY9sR9YH12I0G3xp6GysbzmyPGDNs4mVOp7vdfqxrbS8iWkcaVPdlCWT
+fGRWdQqpjStt7Zznz5qtAsp59PpZTlEzw/lNpjViUOfzLaoys2AvHuNxa3iY95/+
+Dw/xpWpP9wEiUmBrYrVbFW1PQeAjoENFOXDzoL0wFGMBAfQf+2VDyJlXqkctUwz2
+wmXzGmRpZ/N7sS8PweiiXni936bYPs5q/LvGFKFr3vpHXc5qJGDaG139wV8nNKK2
+3Lvl9MsUiOZm50nooCJJ2q8aMPasp5lWXrSwGXFnWc0NZ0uCVA3JiMvqNn9g1d+K
+dHglKrXKiayaC7ykJfk4wBNYG1xgCrecdN6xe+JeHYVQ4GkixS/hGhzKzaerDaLO
+8YiSaBD6Hcr0Ym3NixtyL2ehtvbvufHovUJU2Evgi5ttLRzKw+t5XNcA
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/pkinit.key b/lib/hx509/data/pkinit.key
index 63b4476..804b7dc 100644
--- a/lib/hx509/data/pkinit.key
+++ b/lib/hx509/data/pkinit.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALJHQtxG+JTjZiv5
-JhRWQWjhegTNVUWu4KhIgDNY/IZP6GdiiffUutG7mmqDG04BtXyestK/hCGYWB22
-Tfqv8uXo1NZ4owbaaRUJ2PoHCZfPGjssabJYogtITjcRLPV6j1DkQBQpKDCsC7UK
-HmC0mtSNvDjJL6nRNefJ1BhmHBUtAgMBAAECgYBKqzAkxJDvA0NS3ZqGYA4rWGzb
-wAicE//CXANd/kJeGu/TBWGV7IKGv5WQUPNJu8uAs5NgU5iK3ZzibO3CNpl74KZq
-JALQXVbLmOVNpiL8V4dfWxwPBFFzjcrUi0OEVrM0srXghDBRfuNtaf93IXoW32W3
-4S8KgFfV/bDAWv5VfQJBAOS6bQBtcEGSUPILJzwPvvFNF5OvX/R98PrHjX01aSPW
-j0B1WMi7sceRDdyE/dV4gGwW7mEftLAogg8HSftaa5MCQQDHiO5/R3aktb3pl7ms
-PVZ1xwgF9sPVdiq0p1RhbT3YijktSRVuf7YCb6nqhmC6Il88D9LJg7XTzHkpNUx5
-j3Q/AkEA4cTGbQKZKJA1SAUMUDO2pNYUrJkSHPHnWJJ6rZl304Eo21Y5McJbBALA
-7Od06i5MjOTBnaq/HpaNcioes3UX8wJADQpC4+iMtWj3N1vmE36StvHB8XnWBI5L
-bjD9T7yu7Qbjg7UiBG2uPGyFw0Dy81cpuCgkk2zbJjNXu7yy+cLJSwJAQ6ZxX3ri
-E8Kvc07rFKfrLw1/37MqIbMhEvuneSrsS7GdTcaTGP4vqM9a6GQmVrg/gzGo8Wpe
-geynyqwNsSPReQ==
+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
+60UoyAUhtvNbBCWkTske6/ey/kjJTUD4
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/proxy-level-test.crt b/lib/hx509/data/proxy-level-test.crt
index f39e59d..24e8a8f 100644
--- a/lib/hx509/data/proxy-level-test.crt
+++ b/lib/hx509/data/proxy-level-test.crt
@@ -1,15 +1,31 @@
 -----BEGIN CERTIFICATE-----
-MIICUDCCAbmgAwIBAgIJAP6hx2RbgHvrMA0GCSqGSIb3DQEBBQUAMDExCzAJBgNV
-BAYTAlNFMRIwEAYDVQQDDAlUZXN0IGNlcnQxDjAMBgNVBAMMBXByb3h5MB4XDTA5
-MDQyNjIwMjk0MVoXDTE5MDQyNDIwMjk0MVowQTELMAkGA1UEBhMCU0UxEjAQBgNV
-BAMMCVRlc3QgY2VydDEOMAwGA1UEAwwFcHJveHkxDjAMBgNVBAMMBWNoaWxkMIGf
-MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDtyAgFmdic7J7lrcvnVmANvaRVt7Fo
-qYXKocxQjhb/bgzBjrFVqiUxnfsetHCMZlPZaklvicSAKZQvu30LBn9IOdNb+jPt
-IFmG5V/AZUW/OAxKQxHtbtJgktgqoGbHGrb0ajPDfM44KaJv1KU0GJJ5+bqY4XOE
-WOypDs+Z1iedbwIDAQABo2AwXjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAdBgNV
-HQ4EFgQUMKTcmVatO/m0g9A9Gbsm3aC33a0wJQYIKwYBBQUHAQ4BAf8EFjAUAgEA
-MA8GCCsGAQUFBxUABANmb28wDQYJKoZIhvcNAQEFBQADgYEAhN0C8YaE+sdFfTT4
-3UM8iU6Jx9B/2hi6fXAddf2jaXdW4RpatyMYFryX1098s9dLaFbRpy9GcF8MnsxT
-XnhQELdmXmJr8wIbxXukM6dzVi5JwY3RY83TR2ZJcRk7Mblb81rHePhstfsd2vcr
-AX37v1VJq9L6fJE4K6zayMjbrLM=
+MIIFVTCCAz2gAwIBAgIJAOXO+qv/iXxEMA0GCSqGSIb3DQEBCwUAMDExCzAJBgNV
+BAYTAlNFMRIwEAYDVQQDDAlUZXN0IGNlcnQxDjAMBgNVBAMMBXByb3h5MB4XDTE5
+MDUyMzE1MDUyNFoXDTM4MDExNjE1MDUyNFowQTELMAkGA1UEBhMCU0UxEjAQBgNV
+BAMMCVRlc3QgY2VydDEOMAwGA1UEAwwFcHJveHkxDjAMBgNVBAMMBWNoaWxkMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArcTnrpY2+DYyaO9DDllOz237
+auNMA2z86fS3monYx0feQ06cCdwA1xLNk/3BlkAsTH+7Q/Z8SGRFyzMKgbt8i97j
+lyuLuXxwWK87Tz14S94BK6HIGN9yc4wNtZ8p6l3uaIeTlcEZJpltViEc+I/9kjNg
+LK/0+s6OBuSEa6bEXJ5ecPFe7OeaSctN+7CMOS8FQJHFhH6zpq5uCcSnFS7ZxOGK
+wdjziJWn7zd3qEc01cWsR7HZrRII31ctbmDxt0suAGfIZaMm8fkCQkH24w/xuNQH
+ldH3q2/H7AdWvh6copqY5sxTAfaT9TSzOu9MaH129cz7x31+xMo64YxsUDP0yC9s
+fmV3APEGX8Q8PIgs1FJjsknV9F1F78aBFAYTKlBhgMki3Fi+iC64QPfu12sGuzK7
+eoDbtD3Q3p4NpwVeQYZ8972zwhnPTT6tgoh50MaRb6c+5PmSRhKt3QL0aUp+URmY
+SAdO8V0BI+exK5/T89Yd9c0uMn+TOUMHc5OEckBi9Fi/oOsYPBahyKAZxcERHdXo
++mZht5kl8mBVbk2hfQl75eUQ9sWvVQxn1uS4x/j4k8mMqLdbXL5keIXGOyA9S28n
+IodERwwJdxgJ9JKw5WR4wdqeZJjIUw8qe7Du2FSH6L4eHMYOcS6nXlVM6Vl65nJh
+vnqqmW6DQ+L22uBst7sCAwEAAaNgMF4wCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAw
+HQYDVR0OBBYEFFjF34ZepMQe/Lgd/kmm+fXkMFhtMCUGCCsGAQUFBwEOAQH/BBYw
+FAIBADAPBggrBgEFBQcVAAQDZm9vMA0GCSqGSIb3DQEBCwUAA4ICAQBza0sK8s5r
+9PBUTZGQTylDsJgj6+siu6fwEOeUwJpag+9kDbyMHUTnueO4kPbahWdVtx5rwCxg
+NqHtHl0g8GwwLJ1wX0e8bi4fNimx08W9b5PnhOzUzbZnUIuwc2q0YL3yp0yfDo5h
+2R6BlCz/2AKM7i2PqoOsoctwJs5mE3I5E0AQto0tPaKqB2Z1FyU8ArY+2jrsgQq2
+EGbEeKSavjaIiuq3YQ9zyrZH17Npryw0brDkGBOvi2jANfQbvQJWlL7tklh8j/Xa
+61/VAm4wU82P8NGM1LYjxH0Ad46Ca8cUq63Qxa2hb7igdOoUbvlSGNctgtENJPAd
+XeUt1/bxjsBTgPo89tg0Hc1UBb/msd6q8/8a7mA69GrHG6yEEVHOQDal92PbP8WU
+ajv4vAM0OxOHO3eyWqh1nGlYRmwE6iGtbVZypWgh30mKELjxn1q82+HvrKMAeS+S
+4j34v4877EC+EXRPsHw5sGpmTp4eVtuFM87gGtrFLOheGi/2JHBYdgjJkuqPDYoE
+0J4U30+xaz0mtY5hSTt6LknMQEOM1REcQ/NBovq/CsMs7vbaoNtfavu+ZSX9AgvU
+5SKJ38KFndrV4VZq+hzTOXj3IhfLqSBm1EtbTQO1W8vLIR+SK6Ct0D76P+Ht5Ddg
+Z/fMiB95hkiTG72ZnjMTvLn4U9mNFWanTg==
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/proxy-level-test.key b/lib/hx509/data/proxy-level-test.key
index 52ca380..e1c9987 100644
--- a/lib/hx509/data/proxy-level-test.key
+++ b/lib/hx509/data/proxy-level-test.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAO3ICAWZ2JzsnuWt
-y+dWYA29pFW3sWiphcqhzFCOFv9uDMGOsVWqJTGd+x60cIxmU9lqSW+JxIAplC+7
-fQsGf0g501v6M+0gWYblX8BlRb84DEpDEe1u0mCS2CqgZscatvRqM8N8zjgpom/U
-pTQYknn5upjhc4RY7KkOz5nWJ51vAgMBAAECgYBRzwSTiL7yHqb8trL0wM8Daz/j
-DfRH4itZ8BjvjjNzZlWVMpbotkVdsND5W3Ntmrc2kk75xRiKT8PgOE1pQa8AbL7F
-uR1U5itWKbyKCOPA/mzYoh9Pw9IouB4noNFzwDWnilsviV4yshKzKQtjryHPe1ft
-RuF7YdGjsweUJriNoQJBAPeP6+fiT2WO/pXiextMhACU2fkgskgi+CFD+z6r8JtP
-Kysk5+2PM6iSMm1XkBYxmPbCYMJtzShXnm3X41LgUgMCQQD14sSt9s9rIcT4w01P
-oUm5d3MGgLf1khBzUT9VdKqb0ZqmtTBANKmU8GP2jmSguItNRiSbSiyvL3pitoHl
-o0ElAkA5XEaLzvsYi/5fGj/t/lejjtnGiJXmcvvNMWQ4jDxOsBRPhdibSY/toho/
-DYfcLJfFrRogUrKzg0G5L8mDPWijAkA1vOjFKGKuhEPbJjvYQmStbwipjCooNlL4
-EPKph4Td5xJIiuLPtXK2hU8jjH07jvmK2uCXO7/GTbcOqdp7yJEtAkEAhFuJnqk8
-7N+TMUouU6DRCioGI6kg3kGPXD2p0dZn2XoTVvluklv9s4cpH5ht7BxKw6flDPqC
-ity2FjTxEJ88BQ==
+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
+FcKB1ity0sQYMAUGvDAqSodhrsSjn6o=
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/proxy-test.crt b/lib/hx509/data/proxy-test.crt
index 9774ed2..a0d7f98 100644
--- a/lib/hx509/data/proxy-test.crt
+++ b/lib/hx509/data/proxy-test.crt
@@ -1,14 +1,30 @@
 -----BEGIN CERTIFICATE-----
-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
+MIIFNTCCAx2gAwIBAgIJAKQmPUkmhyKnMA0GCSqGSIb3DQEBCwUAMCExCzAJBgNV
+BAYTAlNFMRIwEAYDVQQDDAlUZXN0IGNlcnQwHhcNMTkwNTIzMTUwNTIxWhcNMzgw
+MTE2MTUwNTIxWjAxMQswCQYDVQQGEwJTRTESMBAGA1UEAwwJVGVzdCBjZXJ0MQ4w
+DAYDVQQDDAVwcm94eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMIM
+AgaAGNSDMgLYghbdvgtiyY4FoxSi2aJ02jC4Ji+QLWW0V9iWOW1IRNyEYRHX3AhE
+1lX+zousMm9Yni6NEtNUERvaN/9hLGJzBQMIH5grWKU4AsUZKFLAa1P/DiLh+U7I
+Blj2YESWh8BFnnfrMA2r94CYQmDCZyXL5xX5d75U5Y14isAUvthC9mbhhROu75C7
+OO2YFgMwDp0mlL02vp7z3NhbWqDxak+09LLuNwqy2H+E+qFou7mUNm1NP9dlUaYS
+tKkk6QaRe6X7tO09mYHMx5AnhsH3NU7hc8nBPIDbToRHaEXzW8gtXukXUa3KwvSq
+blqk0pWU3v/VV2Huwu4yfrzkL/Eb9Fyw6mlAP6Tui2lnqveb6xBPmyGr2UJ/pDfo
+Nd1SNKE8kfwD2MK57xwSa8unVDUQYguCs9LhdJFZ52Cb6UtfffR8OlFuzA8I7BWt
+0/Hh1lUIhTcvS6UaO3jP/7RmqmCwA6/9I5zAIh1bjSzpkJQLpEyPou9Ro+MarUOt
+YSDK1Xq5LTYiP1hZqhOkhtU9XLCCsRd5sDYHo1IsTPLLBRdU+NYjlP4qrCuZHKEM
+fLVSsMk/S8+W4nA/WrqZe+KIbgoxrQ2Zm4wTzdZWZC3ZEvF+IUjrm+nuXWTa/NBu
+fFo8OB5waYS0jrWm27FkPfZwtcWQHpjxdf9YlsifAgMBAAGjYDBeMAkGA1UdEwQC
+MAAwCwYDVR0PBAQDAgXgMB0GA1UdDgQWBBTZHxVeBpBui9FNbSHOWqtVj8r98TAl
+BggrBgEFBQcBDgEB/wQWMBQCAQAwDwYIKwYBBQUHFQAEA2ZvbzANBgkqhkiG9w0B
+AQsFAAOCAgEAXHVRH3wJdrTjJV0ywc1rrI1cH1itMOqzvZtbLUgMEJQuRRnRVHys
+ZG8HxNeesfTiHAH635GeJh66rCbxmJWqczLUoTib/GRO3o+NbtcvAyEpT9SXD201
+x9tVUhEb0lBmZDpnvpfaC7MF3tS/PXMurlFV5xxFRG+xRbUo7+EAQfCEuADgdlRv
+v75YrH5ShohTk5nP2SxYu6NLNqvawIb7a/GRCwD585FklQydJjPlYgPcbFW7FXBz
+nopYKJriBJdttirZ2DW0HrZyjF5FNpGIEUOxkvYoiqTOTqOhTOrm1sziS3S0DbfT
+eoMXIIV8vcFykmSh9ri/k+RKnznje6he7bt0yV3Fb+e/YnAdlxLVPCULWHS6IZtA
+g8SZ6m0pKQByH/yF3dSEzLCP9XyNUybwPIbLXq0LVII46CtjNiAIgFSDDtQ11tS2
+Ja/rhsUsSE1eRggTXSPrYSB2D5J+j5zcT35nqmlTm4ZGuG05T/yh6c6UCwA7hXmj
+YJxo+1BR+pNl6Q83mvPDKnZ7qkZdxCnuxkPEShatf5ntAxVVZPsfTbDwwkcMSCJA
+Wvp2/2Ss6rv2o7+vs2AbygXdF9H7QmOkJj1TgDKwDTkFOLvgggMHZOSZBef8Tluh
+gaX5p1Zxb9fvAhkTiSdTuos1YMPuu2zeQTmWXJqtjpGBJQBnDTA3b9k=
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/proxy-test.key b/lib/hx509/data/proxy-test.key
index e03895d..a94127e 100644
--- a/lib/hx509/data/proxy-test.key
+++ b/lib/hx509/data/proxy-test.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMcT+LaZ26kuTY8w
-4K7o3WaLyvxR55YDtio4WtS0KUywz8EIeM6MprvR4vx82E83QQsAPmrjGL6IOBBO
-YSIKW1xZZ0j/IBZkLxNnrzwX+2NTtqCtMRIoeP+w9qBYpEPkFh38vdhFJpg3u345
-MeYqRfqsDki1PmLhtO/pbV1u1x/FAgMBAAECgYBQoyRRQo0ZQComYBQChUx45xL3
-lW2K9EHrZBxWoAtChzP/6qCUeaBn36Jjx2YO4EC2ZgjiXs59Dsw2vqjVkwBh9ujA
-F14krPR0OpCnj3mFyz0CqbZUjB8tvKtGe5Bm5JkwITDIXO+mXacdQ/Mpa2cVDqk6
-D4XxuCU7V8Ft14stQQJBAONXnrKlLa3UmdOdDArj0ZQLQdzWKN5bW+tzRcV3kVyh
-xc7yPHlcPtp+lK9CX+nZkjCj/5e2C6fs+dKfEZPOiO0CQQDgLEI0RbbdCGVp0soK
-HIOQsngSwGrvKN3FFDqMyC/eEqW6t/p64VOzUnKBvAOh/jI6vgE0heEXHNl5/ivU
-T885AkBhATYaDBkdnyW0AcLtsp/uh48m58qwdlMWeC1BQO+pku2QjBP5xL6dBH30
-+mFqqweR8ahR17/Je3htwqoBY5NRAkEAimjJN50TmsVkWEJdnICeeui2Wl2TqLaC
-tvwWanXvmB3LVc3iSZx2IXH2YUPEunBIcxx9ggBnSe32GOxmA2CDgQJBAJqJ+Ucx
-Oc6FYER8gb+yg8eV0IsSrshS2Zq1+vJV6Xnbm6mmkANYIydknqm52hef4hW0al8A
-46U7qh5s6EESzkc=
+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
+lUR8W/if6GM2wU/6ijdEVsMAQJUI5cY=
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/proxy10-child-child-test.crt b/lib/hx509/data/proxy10-child-child-test.crt
index 18e37d7..9ec7112 100644
--- a/lib/hx509/data/proxy10-child-child-test.crt
+++ b/lib/hx509/data/proxy10-child-child-test.crt
@@ -1,16 +1,32 @@
 -----BEGIN CERTIFICATE-----
-MIICdDCCAd2gAwIBAgIJANtSso4F/YPoMA0GCSqGSIb3DQEBBQUAMEMxCzAJBgNV
+MIIFeTCCA2GgAwIBAgIJAIZ6hp81I2P7MA0GCSqGSIb3DQEBCwUAMEMxCzAJBgNV
 BAYTAlNFMRIwEAYDVQQDDAlUZXN0IGNlcnQxEDAOBgNVBAMMB3Byb3h5MTAxDjAM
-BgNVBAMMBWNoaWxkMB4XDTA5MDQyNjIwMjk0MVoXDTE5MDQyNDIwMjk0MVowUzEL
+BgNVBAMMBWNoaWxkMB4XDTE5MDUyMzE1MDUzMFoXDTM4MDExNjE1MDUzMFowUzEL
 MAkGA1UEBhMCU0UxEjAQBgNVBAMMCVRlc3QgY2VydDEQMA4GA1UEAwwHcHJveHkx
-MDEOMAwGA1UEAwwFY2hpbGQxDjAMBgNVBAMMBWNoaWxkMIGfMA0GCSqGSIb3DQEB
-AQUAA4GNADCBiQKBgQDcgI+5RZZeSRqK8ydQYyVqk2DGI8dLUkWE68TthxWg5Xjp
-jD9tVt8y3kcQWXIWqeNjmKS6zQHDro/d8oS6oHVMyFakxq4uQD5DvaTeLFjmK/4i
-IrVlJS+T8kUMNoqGgNYY7BppcUU0Nav/whldGlhtEEWEEu4EZ+4UbCj5QCHZwwID
-AQABo2AwXjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAdBgNVHQ4EFgQUrbpGGsqI
-EM708LMvCSGULkOS0CowJQYIKwYBBQUHAQ4BAf8EFjAUAgEKMA8GCCsGAQUFBxUA
-BANmb28wDQYJKoZIhvcNAQEFBQADgYEAFk/qvmcnH5QqMLxEtUY9O+2A1ag6iJEs
-18sIp87PRLP06OmtWPkijS+7c7Dbs5ttwAWW8tZ9+f+yyXE2ctwrc2ap3TicrTB8
-yI2Fgf+ytxgpZharMjeUi9E10K/xKxU3hsrD7ug3iHp15HKyuP8uFmBP6gcsVsgj
-tsIaPKR43xU=
+MDEOMAwGA1UEAwwFY2hpbGQxDjAMBgNVBAMMBWNoaWxkMIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEA5rd/XFWt7tSsRUHIdPgK+CNxME9zqxPFzb0MpToG
+3BJmFnhSA+1qFigBNHEsESN0pCG2nn/j9PXFflYOEvhcMRVd+b/dhTkyrmZScaaG
+4/hrQuHNW/k9CXsq/FEQbWqVxiHbs7KNjmHHYHSdmZ9Y19qS5kTFEE7ma2hySyJr
+7yQ1Fd9yVJyzUr4dSkxx6kGh+aILgVbNqSrd7ElBIhPMl4Qd4UVLadfFyJYmxiG0
+Gur1wXDUN4ElCh8I70elpjQH0fXmBG/FZl8zdMJVnQMSeFG2Ob42Atu/4Ndz0N3w
+9+4hVQW6v8C4TbPRaIYyUB8Lt9jxZWmOfXKAfEF1uQrZaFttQbIBNBxUmu7tRMAQ
+4OEUbNTFJ/+ErhPHHStIx1emP22WaTmQ4v3qVPr7REYuNKBLsLUZJd6qTftlUd79
+x8E81aJaAk23QW+0xldVlt7bAXF02iy2oZnJcj9Uwe/l6XQgHoPuG4Lz6q4OA5WM
+ROG2vgOtu6phY5jY16YiVvMPocW9mdJQCjRAbIGFpmUeYiB6wWr9EGZpp+RVOchG
+zS6GJCGLgyxcxHWmGYSNvdMnEacyXiCnC8DQZMcgVnqsDFBsM6QyICwXZr72qkU1
+QiWswudnspE+hw9xgceZqzNpAKhUw2skiLZOO0rnpLc/Rtd9FR65Hnvscz9Xu+p9
+pCMCAwEAAaNgMF4wCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwHQYDVR0OBBYEFLD1
+SUEhi6VToeKjUn/AKcXzGbOFMCUGCCsGAQUFBwEOAQH/BBYwFAIBCjAPBggrBgEF
+BQcVAAQDZm9vMA0GCSqGSIb3DQEBCwUAA4ICAQBy1ZfOf9nkMOa4p7Rm2uzJ8hn/
+7htPNcawOUlSiq0JjctHoYBthHAHvUrrkjjR303c21adSdjs1KusOn0sbynaEMgP
+dU2tiLn7/Tb6bAAC61vvBErsqzPwPQJX0/M+qdoqop43DG1Pv53VR5LSISjXB7Sl
+oXbJs4cV7oksxWy0eeSa3IXFEnH+NhmHIC6MtpHqRAY0dXS5IWWo1q2Hiutcdd2l
+Nc2IBgIY38oM8vpFoQp0Z9S23WIBZzKJ/eqyYZewmSKLnJ1zPvlDJX7g9sIDuO6T
+SIod413DgFYSqKAv1u8brT1KnTytyxRQOeXqLTMaJEGB/u4z+CH5Z8U5WlA3X8IO
+dHKAZM4LhGWLloyIGjSJ628Ow8VVdP3ptkKXJ4cVka92SDocCtsEdXFYoU1NA6U1
+D4VkExZTVN1sLmIsBiG8i9O8VltjMpPYvKjlUaoezCczIuEFVefuNpYLx7quoIry
+8FFW6Ccw/kMSgAhaO1l0OlMVcuZTVns1/fmAF1eOscb5ud7u6YvqQeAbouPt3I2d
+eTFG1EJgmfG4JjqTWMXIJdt2VuLutMPUSPAZ0pM0pGsrHW6FVzgHNFlgrO6gOeUq
+ytDsdPEy5H1Dk6dzoPzbfSkMQ7a6HGf1ANeNLsTXV/0+kn/T/RhZAjjRQLWeRzDv
+N0angzihXX4AspaYJg==
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/proxy10-child-child-test.key b/lib/hx509/data/proxy10-child-child-test.key
index 18e54b0..cd3e0ad 100644
--- a/lib/hx509/data/proxy10-child-child-test.key
+++ b/lib/hx509/data/proxy10-child-child-test.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANyAj7lFll5JGorz
-J1BjJWqTYMYjx0tSRYTrxO2HFaDleOmMP21W3zLeRxBZchap42OYpLrNAcOuj93y
-hLqgdUzIVqTGri5APkO9pN4sWOYr/iIitWUlL5PyRQw2ioaA1hjsGmlxRTQ1q//C
-GV0aWG0QRYQS7gRn7hRsKPlAIdnDAgMBAAECgYAgEiLVU6W3OPK/WvZQ3trGUYE1
-0GZgMisiVhhiY89lg3q+nUNsZ8I259V2L0xEt5j3F3B+KusixvTt1yQu8L+eki1i
-moA5YLtiqcDVHkSX44/f8+yN0QBqmtJDg3WU8mki+Nf4fKEAPvdmmgRhnfFE8hqM
-x6IRyL7B+7bmeUKeIQJBAPXw5KquGiwLjoZ+tHQhWN/3SZEBfB2uPFDAXsMgWnUS
-pShjnECQDaj9ogUYoWeJacFj8/Dyc01P+LyiAtmfLdcCQQDlhVAsQNxMXLpy5HKU
-ZcuZz4il/jQUViq/JRyXlqLccHsfs1P+7b3O+TN7LVNS59vKprkBCIcJoSZ4LaGi
-v331AkEAh+KrVSqQx1kzTFhhd/Cc3FITUY0SeIu2Q5+mPAV6NUkx+5jd0kZFZeON
-S2eKdlxUFEgXlj8/Oa4/7mlNTdRHTQJBANZ41IoFsdXJcJCb2FXDKZX40AAMoi2+
-twMWcrlUEatbkDH3KK43Cf617t1TZWE7N68OTCIjDcx5wbDbMwcZWWECQAQhJrzq
-pdWb5EVvYRP88zJ1vJCISIGWjxQRsde9w0VX8Uu3kyT1EHEuW+JScoNI0avaV1DK
-yIG37HCRGTBiNqI=
+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
+eyMm+IBLsR7OBZ2PvfCkhvJ3qDXzx1+BdQ==
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/proxy10-child-test.crt b/lib/hx509/data/proxy10-child-test.crt
index 600bc35..e759447 100644
--- a/lib/hx509/data/proxy10-child-test.crt
+++ b/lib/hx509/data/proxy10-child-test.crt
@@ -1,15 +1,31 @@
 -----BEGIN CERTIFICATE-----
-MIICVDCCAb2gAwIBAgIJAONwGxXRj9jiMA0GCSqGSIb3DQEBBQUAMDMxCzAJBgNV
+MIIFWTCCA0GgAwIBAgIJAM764JrT/2XzMA0GCSqGSIb3DQEBCwUAMDMxCzAJBgNV
 BAYTAlNFMRIwEAYDVQQDDAlUZXN0IGNlcnQxEDAOBgNVBAMMB3Byb3h5MTAwHhcN
-MDkwNDI2MjAyOTQxWhcNMTkwNDI0MjAyOTQxWjBDMQswCQYDVQQGEwJTRTESMBAG
+MTkwNTIzMTUwNTI5WhcNMzgwMTE2MTUwNTI5WjBDMQswCQYDVQQGEwJTRTESMBAG
 A1UEAwwJVGVzdCBjZXJ0MRAwDgYDVQQDDAdwcm94eTEwMQ4wDAYDVQQDDAVjaGls
-ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAr982Voxa1DhcIIa22u5oO497
-L2FF0r91yZh2IjY02XSGbLiyFV6OwKULRli587BMryq8G0BBKAmXVvZszOLOe9xV
-eipWkyFxiF2s6ERYJ7muHHXxIQyGgRMxhsDuiqiGc51TZ+2H7A2CIHbzUOdom9qf
-UwXqyd8iD9N/a/Zy3JcCAwEAAaNgMF4wCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAw
-HQYDVR0OBBYEFBBhzv8RTjHAfZxnKZ7bRv1K9MxSMCUGCCsGAQUFBwEOAQH/BBYw
-FAIBCjAPBggrBgEFBQcVAAQDZm9vMA0GCSqGSIb3DQEBBQUAA4GBALT+aUqBtZDM
-W7/F5I9QgZL9+zebGqzjxSTYpIT6iYRop/oA4ZFc6k0UjR5A8A+/u9mISwB9P6R+
-GtQ8CBgcqLgsLsTEUiz/N2XtC+I++ZSkR33b6ZbNefq9vSib+OzQjdqw9vshK9zX
-bajUTjXEGuJrGMeqvv8iwl4SIpCT5f3C
+ZDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMyady7cAVLnQae6jZG0
+QWzGcIa+0EJdjG5PyLmw4nJSAWBno68VmIPzqThNPn8aHhJ28aMYdS/oLyi5+Vau
+afOvG7gOW2ayxmPelafk4J0Olbg+dHG0XzfA6Y2Y8gBigXtVR176GR418uy31HpO
+O3BnlvJFU7QkBr9A9zROTnlfUUw0mN/io9I+LAO2GsbdFl+HTbx+T3LDKORf4jWW
+suHBFEdwm0piJbP5nIk72jLp71ulubi4j5E0tVElv0DpF4FaQeCRGMXOfTYwswar
+qg2TzXBTyeq+Kmuk1hslrphEVu1IZc0D8+aAr/hvrsI90oyTysASAfoCYKASnZWN
+vcYi2Vt8Kkb1f4sxISqtm2PmHllD6grHdK1iKfoa9al7VvAu7sGyu0DF1uwmyehJ
+1FNnQl0BIbFlfXiEVv6gRAazOJkxGO3kjneFVWffFwv9F9chdSCcMKO8USOV2qey
+ySHaO+YTP+ImXD65dP7Ks9r1dBKxcU5vxJG0orHSiwstY5cRRqDeKatRdJ1kOavc
+DWTlz/MJkMS8o5QNjsvWd+a8MkW0rkjYIuPzNHkg5ydFtm4lfRj8tZkJ56M8B5Oz
+KFTD8JQ1PgxyPtzC5gnOaDuiTrmZQd+6ob02nvP7S2PgmKLyVbb28987/CG7MczD
+g1BjCYRGsQnUcnvNM5EuMNlLAgMBAAGjYDBeMAkGA1UdEwQCMAAwCwYDVR0PBAQD
+AgXgMB0GA1UdDgQWBBRtG+s2dgue8pi+jKTQONY6Gu0vdjAlBggrBgEFBQcBDgEB
+/wQWMBQCAQowDwYIKwYBBQUHFQAEA2ZvbzANBgkqhkiG9w0BAQsFAAOCAgEAcSYX
+JZ8+DUUab6RvbRAxyK483Bw7DbJuqFy90zy9RNDHV1Og/YdEey1Qvne85sVhUGhb
+PLCRyM6dgT7BRsyBT00CYFp2sjETFm2KCkEevpfUgpbdYmxccV4vlOMguYJ6DWn/
+eV8OBOkdmc4RxZ3ibZ5XvNbs7lR5B01qHviAp8MT7+QFACCnC7gpD2b5lv11ZUac
+STkklsuSY4nPBaD1NcgysG5EAUxoP6x1J7nJM4ukb762H0/svmsaYSo9kk6KGNXM
+D3VbPCF4huNJcT+GkdtFfUmFHKC7yVekLDhs4Nh2GrOLJii3alcZXEOvq2TKq4No
+Tl1nTLFVLZ9pMsWzL4aDySYGPpNDZPvetfqGprw/uLohgd6k3eFdnWWBkOk8jX7y
+V/wLTTQlQHxMENFwj/eguEI7Kav8UcoZNaRWIjUXyZ29pzuM+aRJ4SFB21iq/vTR
+mqTB7I20eh4dcjVpytU9KeQkWhhvxdiUj7dfgIkSViMG3Cy9hvu19S+nUZyvuBGQ
+TwAGQlzfc5hEBbV5qBZhF/iOiDZJfBFcrULke5FfmFE6mW23eSwisqV4l0YfpyBw
+nAhC+u25wG1JC2xXitBLqDnZqoFoX7dSzEMG01ia+c1yn9sK9mRr5ahas/QnSSC7
+2C0QAQMNb+C32deKlAfuSbtk6H5Mwf2YmArqQ38=
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/proxy10-child-test.key b/lib/hx509/data/proxy10-child-test.key
index 12f4900..357de74 100644
--- a/lib/hx509/data/proxy10-child-test.key
+++ b/lib/hx509/data/proxy10-child-test.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAK/fNlaMWtQ4XCCG
-ttruaDuPey9hRdK/dcmYdiI2NNl0hmy4shVejsClC0ZYufOwTK8qvBtAQSgJl1b2
-bMziznvcVXoqVpMhcYhdrOhEWCe5rhx18SEMhoETMYbA7oqohnOdU2fth+wNgiB2
-81DnaJvan1MF6snfIg/Tf2v2ctyXAgMBAAECgYBbnR/2J7js0csT2nkIRKahWBWo
-UbiIltmpwTTQj4IqQKwBmJiTzyT3r0HXTELZcV4Q5WcFnwwR6iUe1NFKTV+XgrcK
-OMBY43+6InTvsXAKxLH6MZ7tfKWA13forzs90CmvYxTHtEFYS2MnzZ7FFqBk59lA
-gMrcDVKYiOLenjKm6QJBANuEuoq/ZiNC9bJ3JjVyH/yHYqAwi6g8B8kQufecAqIu
-eQBpx2vsry8V6LpTfIsle8dWFKauiE4s5VyBMn7l2kMCQQDNGZHFI9j8SaGVGmbF
-5nDtBnWoyAWCQ3VzTj+uaO/ybkTFFvVkVLU1+3j2cWRVYdnoXK9uL2eH9E35radx
-d6EdAkEAyEI2l1ryh5qPYEb4MWuyqIKtw6tlzI0vIQtETBIkCOZSdsEJL3jVfCQF
-ku2Uwa/pUrlBz6mLKZ4lg5VNhpyT1wJAEfXaQQQ5nSYpgzATreLXIrp9FTGm4dhc
-caN5iiFgWb90QDoZdRbB459I4XPekGeIOIPdTO3TyCEJrwKY9iO+tQJAGdLTwcsz
-o1Ic+rVL8IfXPRCwtvi3e/xVgGxDHhV498/ofY3xgVmOkSRdDjAz2FgZeaotnKj6
-d9og/gBzfNdK2g==
+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
+wVvqDgPCDWKi204uIah9SC95JGv/BA==
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/proxy10-test.crt b/lib/hx509/data/proxy10-test.crt
index 0d9fde8..bf12983 100644
--- a/lib/hx509/data/proxy10-test.crt
+++ b/lib/hx509/data/proxy10-test.crt
@@ -1,14 +1,30 @@
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/proxy10-test.key b/lib/hx509/data/proxy10-test.key
index 47b4ce2..624e90c 100644
--- a/lib/hx509/data/proxy10-test.key
+++ b/lib/hx509/data/proxy10-test.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAMDC8URG8ymbo6N7
-jqZ/i1riivvD9xRwnnCuf1/WmVHr8RM6IIYp/iL3/1iPy+vQwUtI1xsumKlKr8kO
-iJAlC4K9/AZ7+D8ibRvKFxaapy+ZRAn62n+oGytlCoowBnEETWvO8GylapAIUcM5
-5svNyXXOZMNysODCw7SPQQ4VGIiTAgMBAAECgYBTMM7nZKd1AZKx75U1Dj6aTsMk
-vQJZc/EtOGIIfplU3bsBTUjUHjNr7BPrqMOdVk7Vqu4K8SU5it4qq3cMnrBETxTA
-k3oLwIM5U/MLF8PCxFFfjARA3iqp5ldCBRbFwBi3iBa3+dxRQgx0TYdhg32LPE4a
-7sAz+GGSHspa8mPR4QJBAP9qA1LSsSi/hargSNaNnCEy/4YW7MIkbJwX3A0INGT5
-cEUhSG+w0UhnkAf0Hi8/Gh19EsvDEOY/Nu6ucSmmnK8CQQDBNCNO2Qae7GJSOPLQ
-T6RpcFThH/7D09gCnF25V5An3jawT2BNue8iHxKztOwneSw16D1xSDm3nIs8m8sJ
-gXNdAkBs9pY6ZEZOIv7seki4t6svAqm+U9Nns9Bd+1PWf3SSy1OZOmzDsYRnRj9N
-FVk3QM1sXSqCoVJ5V+ighO0kHr9jAkARbnvVDF29jwRb+MlnpBfob3spCLL6xi1S
-JvuJ0m2uOy1iAPdma+U4hecxEZzQ/uzPPFH225Zhi51AbaoHBIf9AkBHxYNY9TPW
-nWpEcH7Mq+5KdAgXhXb0uWQbWoK7m/wm7OY8KQMc2Uo1chatb0qxlmUxZvQXva+w
-QxahbNp1Uyun
+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
+XnrAAFMk+GLkZE8dvbKiMb+/IIDXWsg=
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/revoke.crt b/lib/hx509/data/revoke.crt
index 2c2afc2..07a4199 100644
--- a/lib/hx509/data/revoke.crt
+++ b/lib/hx509/data/revoke.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 3 (0x3)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:12 2019 GMT
+            Not After : Jan 16 15:05:12 2038 GMT
         Subject: C=SE, CN=Revoke cert
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:a6:5f:11:30:35:3a:5f:ed:c2:06:ac:f4:14:27:
-                    c1:db:ae:79:f0:b6:9e:0a:83:e7:82:6a:69:92:a6:
-                    85:9c:5d:e4:8a:0e:6b:32:99:4d:22:b9:ea:a6:8c:
-                    84:9e:62:f0:a3:f1:d2:b0:ef:41:ce:93:ce:d9:49:
-                    43:be:0d:a7:ea:cd:37:bb:ba:4d:ee:75:ed:86:74:
-                    8a:e2:08:77:2b:60:91:30:b2:96:57:4e:42:d1:5e:
-                    6f:0d:f5:b2:d6:98:ed:3f:ab:a0:64:33:8b:52:ad:
-                    b5:7a:4a:fd:70:dc:d8:8b:e1:47:0c:8d:8f:93:5c:
-                    9c:35:3f:cb:21:d7:5c:6c:b3
+                    00:bf:d0:af:36:d0:76:65:eb:21:0c:44:48:66:6e:
+                    43:c8:d4:07:73:4f:2f:36:b7:1b:ec:6a:aa:7b:60:
+                    f2:87:9a:94:bc:ba:91:f8:1c:c8:1a:01:e4:fb:d1:
+                    ac:3f:a6:07:26:2a:b7:8f:79:f8:31:ea:4f:e3:9d:
+                    2d:84:43:0f:ee:d4:1d:5d:e3:f6:16:31:5c:bf:f9:
+                    ce:3e:b8:4a:e3:77:2b:bc:41:ee:84:52:2a:c0:7a:
+                    aa:86:a5:21:9c:c5:a0:2a:e6:d8:46:33:c5:87:14:
+                    76:a5:71:2d:ae:7a:e6:60:0c:3c:35:cb:af:80:6c:
+                    bf:cf:eb:25:f3:0f:be:5b:53:59:cb:b2:9b:c9:17:
+                    86:2d:08:a7:60:1e:42:d5:80:ea:74:b3:d0:7c:3c:
+                    42:33:58:c2:bf:35:5b:e6:7a:8a:9c:fc:7f:fc:c9:
+                    cc:3f:7e:52:d6:8c:33:1a:2b:03:de:a4:fb:04:86:
+                    13:a9:b6:0f:d2:a4:12:1d:88:a6:4d:aa:85:c2:ff:
+                    19:11:bf:04:e0:57:1c:2e:03:97:b8:83:9b:0d:75:
+                    95:d7:15:f4:31:5c:2e:76:39:25:f3:fa:b1:9a:ca:
+                    de:c8:39:cf:03:72:d8:23:0a:00:3a:e9:66:ef:8a:
+                    f2:b0:fc:56:04:3d:b8:e6:dc:f4:a0:ae:73:1b:ae:
+                    e4:03:42:79:f0:ee:14:51:18:8f:bb:d5:7f:cb:5a:
+                    21:6d:b9:9d:b9:3c:9e:15:24:23:2d:bf:c5:a3:66:
+                    45:f6:33:dc:06:7b:e1:68:f7:75:2d:58:9d:e1:73:
+                    06:79:a0:de:68:e2:70:5f:5a:fc:05:a7:26:d6:76:
+                    57:f8:12:7b:48:07:93:65:a8:d1:04:94:a0:42:9e:
+                    a8:8e:ff:3a:c7:aa:54:6d:c1:99:2d:2a:c2:33:65:
+                    49:82:e7:df:bd:18:10:e3:69:df:d6:d7:16:4b:72:
+                    b3:3c:fb:81:72:97:cd:28:35:13:b9:2e:09:55:4d:
+                    40:eb:e0:2e:24:f5:f2:0c:04:e4:38:90:db:1f:7e:
+                    79:42:97:9d:74:7a:87:c3:18:da:ec:9e:8c:00:25:
+                    36:87:88:05:49:77:c2:76:fc:68:76:59:b0:1f:d7:
+                    d5:81:d9:47:f9:e9:62:c6:f5:08:06:d0:21:50:eb:
+                    c7:b6:d4:9e:dc:94:68:d0:0f:df:74:f1:43:2e:38:
+                    3c:76:ed:b1:b8:4d:88:8e:ae:e5:52:a9:9e:29:fa:
+                    da:a6:aa:28:e2:0e:cf:c9:c7:4d:fd:cb:14:a3:aa:
+                    d2:87:bf:e2:9f:09:86:e6:0e:77:14:c8:d8:96:b2:
+                    51:65:d6:bf:23:9b:da:ed:70:47:c5:7a:3e:1e:be:
+                    75:8b:8d
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -28,26 +54,63 @@ Certificate:
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment
             X509v3 Subject Key Identifier: 
-                AC:ED:61:9B:1A:7D:7D:27:D4:E3:B9:3D:79:9C:F1:96:10:B3:46:45
+                C0:C4:1E:26:C8:53:2E:80:A5:50:44:F1:79:38:05:B4:12:CA:AA:7F
     Signature Algorithm: sha1WithRSAEncryption
-        71:4d:fc:63:69:bb:b5:cf:0c:50:dc:de:55:ef:9b:90:07:42:
-        98:3e:80:36:e4:94:aa:d5:f3:0b:56:38:12:1d:3d:e6:dc:a3:
-        8b:bf:8a:f6:82:d6:25:8b:9c:88:ce:38:2a:ee:e1:2f:2e:8f:
-        c7:74:c6:42:5f:68:99:a5:48:e7:08:5a:bd:3c:fa:db:14:5a:
-        39:cc:dc:50:c5:ba:05:97:c9:66:9e:39:d8:ce:17:a6:ec:6b:
-        bd:c9:c9:a8:d1:6d:dc:68:c0:79:20:6e:df:04:0a:14:37:06:
-        7b:e8:54:62:60:0c:9f:d5:73:55:b7:d0:4f:cb:e0:14:75:65:
-        b7:d1
+         b1:f4:93:82:51:8f:d2:a0:c0:a7:9a:da:d3:f6:fc:01:aa:ae:
+         e9:a1:05:32:62:9b:63:a2:a3:05:ea:9e:f8:b3:af:d2:50:42:
+         70:6f:35:88:86:f2:f5:bb:6f:44:a7:9b:51:14:c8:e1:9e:13:
+         c4:e6:ab:5a:bb:40:50:c2:ae:d5:b5:64:48:ab:29:30:d6:90:
+         f6:6f:24:b2:e9:aa:8d:12:54:68:5f:70:bc:99:5c:cf:c5:7d:
+         ae:e7:d2:7c:50:c0:7f:a6:a8:ae:0f:3b:9d:1a:e4:18:b3:f8:
+         90:2c:a4:cf:83:41:c8:54:82:20:df:bc:4e:6a:6e:e6:61:dd:
+         d1:fa:95:2e:4b:22:28:84:db:d8:47:fb:a6:d7:65:07:41:64:
+         1f:16:db:39:ea:75:23:63:d5:59:df:03:cf:4f:28:2a:73:07:
+         da:0c:f2:3f:3a:cb:40:3b:73:92:2e:93:79:90:a0:4c:ed:bc:
+         aa:7a:c4:40:54:5f:39:cf:e2:81:59:98:73:ce:5e:71:2a:3a:
+         1f:60:94:fd:c3:c4:7f:24:05:31:66:d2:5f:ba:62:db:5c:ec:
+         40:38:79:ee:5a:6d:90:8d:f7:99:49:cc:e0:1e:8e:47:0e:50:
+         c4:19:c2:43:bc:87:33:c0:fd:8a:cf:af:71:35:0b:fb:14:7a:
+         c4:5b:01:09:86:5e:8a:ab:b9:8b:81:50:bc:a3:d9:59:53:30:
+         2c:97:32:97:da:16:3b:42:78:84:31:13:9a:ad:a9:a4:9d:5c:
+         5d:69:6a:eb:53:71:e8:95:11:04:d7:ef:50:c0:c2:32:55:75:
+         a9:db:0d:4a:5c:b4:10:91:60:88:ec:25:8c:26:52:a9:be:5b:
+         71:5e:ba:e0:df:ad:ac:e0:cd:01:7b:8f:ff:c5:c6:f0:9e:e6:
+         e2:f6:44:31:07:3c:99:d5:8f:43:1d:c4:5e:57:58:0e:72:4b:
+         76:5d:4e:14:f5:03:08:c4:d4:05:71:2b:da:71:8f:c8:ec:b2:
+         1f:cd:c3:52:6e:6d:53:db:9a:40:37:77:53:71:02:1f:a5:12:
+         e6:32:1d:bc:0e:83:b5:03:e4:85:ba:54:b2:3c:2e:c0:70:77:
+         a5:86:21:fc:6e:f7:46:24:84:75:9a:0f:f5:af:fa:12:26:b9:
+         65:e5:8c:89:7e:42:d3:5a:22:22:dc:96:ed:92:17:65:e4:12:
+         21:9c:ae:8d:03:c3:3b:d6:bf:68:b8:ba:08:51:44:8a:77:07:
+         9d:be:de:a1:0e:93:cf:17:29:e3:67:ff:9c:e5:ea:5a:0d:b0:
+         bc:8d:5f:f3:44:d1:f8:12:b3:53:82:09:30:13:e4:12:99:3c:
+         d0:73:09:85:64:95:9e:bb
 -----BEGIN CERTIFICATE-----
-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
+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
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/revoke.key b/lib/hx509/data/revoke.key
index 0fe2e18..374bed1 100644
--- a/lib/hx509/data/revoke.key
+++ b/lib/hx509/data/revoke.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKZfETA1Ol/twgas
-9BQnwduuefC2ngqD54JqaZKmhZxd5IoOazKZTSK56qaMhJ5i8KPx0rDvQc6TztlJ
-Q74Np+rNN7u6Te517YZ0iuIIdytgkTCylldOQtFebw31staY7T+roGQzi1KttXpK
-/XDc2IvhRwyNj5NcnDU/yyHXXGyzAgMBAAECgYBeDVZRM3YZrvZGAdZF4qfkAgGr
-hAFaHnFtN60RG5Ri7m15YmdVhnal0AaIOt3qEDLL67RZFBjWqJaCHbnvIhcva5Gw
-OLEQPsvvTBvRq5O7hTwij2f0hTGu7gOHiiW3YCPxvma1qHNOXKRDh5Gi2eG0gKgo
-fUC2pqvPomNaqZERqQJBANFQXr+KQ9Hcv1cp2+FNOXg8x0sC20+Svwaxs+T4gSr2
-AaiWIJgcdYpxkNPke+IGPZ8Bip6jgRpRK1gRLhx7qw0CQQDLercoA7FiwpRMzo1j
-Yvh4188uhodvuSg6Yj/meQ2zQvsjAipZ0XJgEuZZnoifxkl2A6K+tFLwSq1hy18K
-C4a/AkEAnwfCRSMG7i8bDV2XWvGyhWEgRiSwfh/PlYV0WbZZZUut7OnLb+bHg11P
-nT5OxWbacLHaITe3AkjDdtDuyONJDQJAN4RW3rMLPe/q+H3Os9Q4CPiQzZfk8gWp
-xSwzVRWoOEXJMYcQuQrdUvs1IDSSAE3gkzNwvumCS4+EeM89MgdtDwJAN7ucdA1c
-m6MiJgTVxTeva7cgw6PCF4Ph9AGRAB+m/qkg8I8W7G0tXxHVUAXfKdfeirigsrnT
-LKLsQFEQrhuA5A==
+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
+waMpuNHGyfEypx5NFeO8UU95fKkcTWM=
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/sub-ca.crt b/lib/hx509/data/sub-ca.crt
index c63f59d..befbd28 100644
--- a/lib/hx509/data/sub-ca.crt
+++ b/lib/hx509/data/sub-ca.crt
@@ -2,59 +2,122 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 10 (0xa)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:41 2009 GMT
-            Not After : Apr 24 20:29:41 2019 GMT
+            Not Before: May 23 15:05:18 2019 GMT
+            Not After : Jan 16 15:05:18 2038 GMT
         Subject: C=SE, CN=Sub CA
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:bd:3d:63:78:3e:31:85:d9:1d:b7:f8:04:02:58:
-                    53:12:de:1a:c6:95:9b:51:29:7b:c7:62:76:b9:a6:
-                    63:56:3d:47:c8:2f:bb:6b:9b:7d:d8:f1:a9:3c:0b:
-                    61:66:fd:d1:e7:d7:6d:74:a0:30:9c:a0:7d:80:41:
-                    04:1a:86:61:b4:12:79:9d:9d:b0:3b:fb:0a:4c:69:
-                    8f:06:33:07:85:0e:73:cd:01:fa:96:f9:6b:20:18:
-                    d8:b1:06:03:21:b3:71:7a:ed:43:fd:29:d5:23:fa:
-                    cc:cf:43:fc:83:4a:cb:8b:e6:98:db:b3:49:f1:ba:
-                    2a:97:72:b7:44:83:d6:e7:5f
+                    00:ea:9c:d3:ba:0e:de:f9:c6:3c:2e:ef:7e:91:40:
+                    8e:58:04:16:4f:ff:81:61:0c:fd:b4:d2:86:3c:8a:
+                    6a:f9:33:63:0b:8e:2b:ac:9c:5c:00:28:16:fe:32:
+                    bc:75:55:00:d2:91:0c:92:c9:0a:2d:c7:e2:f4:dd:
+                    14:fe:20:d8:45:79:d1:a0:1e:5d:91:a5:d2:00:17:
+                    a4:bd:44:35:9c:f4:5f:63:dc:b9:19:a5:66:73:b1:
+                    16:ae:e7:d5:59:bd:d3:85:b1:b7:ae:3e:a8:a8:9e:
+                    0d:d9:cd:f5:38:30:d3:56:d9:44:08:11:23:ca:bb:
+                    5e:96:fd:8d:e8:77:7e:c4:8e:58:a8:02:6d:20:77:
+                    9a:9d:4b:bd:6a:6e:c0:a4:77:d2:37:cb:b5:c4:4a:
+                    87:03:a9:aa:a8:22:4b:e9:13:f2:22:64:44:0c:b4:
+                    2b:60:56:9b:c7:76:1e:7d:ba:06:15:9a:ad:ae:36:
+                    9a:9d:f0:df:83:e5:64:4b:18:53:b1:1d:ed:bc:70:
+                    08:48:45:7e:c6:ab:ad:d9:bc:79:03:3d:af:e8:f6:
+                    cd:4e:04:27:ce:8c:d7:09:d9:50:87:f7:76:37:eb:
+                    a3:3b:96:46:b6:05:85:3c:f2:0a:23:3c:d2:8e:0e:
+                    86:08:19:6f:8f:56:2f:bd:90:80:98:a9:8a:c4:9a:
+                    71:9d:25:08:9b:d0:14:23:d4:99:ac:f9:68:44:fd:
+                    01:bd:e4:b0:1f:87:f2:0c:16:88:31:01:5e:af:df:
+                    81:c0:29:d1:05:c8:37:6f:4c:b6:81:b3:d0:f1:f5:
+                    d9:1c:cf:e6:95:40:41:ec:2f:b9:39:d2:1b:48:c9:
+                    03:ca:0a:9f:4b:41:74:ff:31:bd:40:d5:46:cc:c9:
+                    84:94:e9:aa:d3:ae:df:fc:07:0e:4b:6c:68:07:70:
+                    92:aa:ff:9a:21:c0:67:aa:e8:72:7b:db:97:f4:d0:
+                    fb:e9:6d:4c:48:19:55:fb:c4:f3:fa:78:c6:94:2f:
+                    fd:88:b1:c7:58:fd:03:2a:28:51:5e:8e:2d:95:fa:
+                    46:57:b9:6c:93:b5:8a:44:21:82:1d:d2:c7:0b:88:
+                    24:2d:e0:45:0d:8f:3a:23:c4:1f:e2:2d:00:a4:71:
+                    a7:01:c7:17:b8:03:29:fc:2e:92:9b:dd:75:cc:1e:
+                    0e:01:72:71:a7:80:9f:7b:e1:eb:35:42:1f:0c:1d:
+                    ae:69:2c:ee:70:65:19:4c:5b:d7:07:27:c8:2c:ce:
+                    cc:d1:67:39:de:88:0a:e1:21:c9:ad:50:f2:88:79:
+                    15:6d:7a:46:23:4a:93:bd:72:b5:3c:a4:d2:91:27:
+                    ab:d2:f0:f7:5f:17:8c:7e:01:33:6e:2e:3e:8f:48:
+                    18:06:ef
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Key Identifier: 
-                9B:B5:FE:90:D3:72:49:B1:98:9A:67:76:A3:C9:22:15:F1:5A:AE:11
+                4D:9F:B8:92:F4:98:3B:7E:1F:EA:AE:A3:3C:DF:CF:E7:56:4E:F6:25
             X509v3 Authority Key Identifier: 
-                keyid:6E:48:13:DC:BF:8B:95:4C:13:F3:1F:97:30:DD:27:96:59:9B:0E:68
+                keyid:FD:C6:56:72:BC:EA:82:19:48:00:B0:A3:8B:F7:79:3F:F7:26:FC:23
                 DirName:/CN=hx509 Test Root CA/C=SE
-                serial:99:32:DE:61:0E:40:19:8A
+                serial:99:65:F9:34:C3:90:C1:72
 
             X509v3 Basic Constraints: 
                 CA:TRUE
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment, Certificate Sign, CRL Sign
     Signature Algorithm: sha1WithRSAEncryption
-        25:cb:bf:77:d2:16:0f:a5:ac:4e:42:17:e1:81:03:36:1e:dc:
-        33:1a:49:ba:1f:40:5b:5b:80:9c:20:b7:13:3b:f4:4f:79:c1:
-        b4:6e:14:d5:fd:84:59:58:d5:db:a6:6d:5b:6f:e6:d0:58:d6:
-        8e:41:2c:ef:e9:c8:b7:ca:6f:cb:11:6e:13:45:f7:73:6e:91:
-        71:22:14:18:b9:b4:ad:3b:c4:e9:6f:99:6d:59:59:52:6f:c8:
-        65:67:f1:e4:d9:6f:0b:a3:3c:9f:ac:01:b7:1a:9b:97:74:92:
-        7b:ea:05:a0:5d:09:77:fb:79:17:c2:35:2f:f9:09:fc:10:b3:
-        e0:3e
+         8f:4e:97:f7:a7:87:17:27:af:2f:30:23:97:2e:09:35:03:01:
+         9c:13:38:12:85:49:10:ce:69:c4:74:69:67:6d:61:3a:bb:c5:
+         5a:e7:55:da:f0:a3:06:be:ff:55:eb:89:a2:65:2e:35:ca:24:
+         49:0a:fa:01:3a:c8:50:af:94:ee:cd:e9:67:2a:1b:1b:a3:40:
+         1e:e4:4a:7a:31:93:1c:e6:77:9e:a3:41:19:66:64:dd:f3:73:
+         34:d7:28:38:3f:f5:94:2d:58:3f:bd:24:cd:5b:ed:77:81:53:
+         31:45:67:e4:d7:85:ce:d2:10:f1:b7:0f:03:22:3c:c1:be:aa:
+         8a:d1:92:b6:03:e5:92:a3:4c:d3:76:ee:8a:83:01:c8:a0:0a:
+         53:3a:c6:a4:36:8d:51:35:a5:07:dc:8c:35:c9:03:fa:1d:ec:
+         49:05:f0:b0:0e:fe:24:f5:4e:db:be:f3:00:b0:35:57:d6:31:
+         02:c2:e1:6f:3a:2c:2c:42:f9:87:5b:c3:72:f7:46:6a:1f:0e:
+         16:50:ee:a6:00:42:30:ad:05:07:d4:8e:0a:0d:c6:23:b3:d7:
+         9b:01:57:12:7b:7d:1b:5d:60:b7:fe:78:4f:91:1b:76:df:a6:
+         a7:f5:61:76:3b:1c:6f:7c:c7:57:7f:bf:c7:ac:23:c5:c5:cf:
+         6b:5e:83:1c:4c:7e:83:2d:f6:db:51:85:7c:d3:6b:dc:f6:f7:
+         53:1f:26:3a:8d:91:f1:6a:43:cb:57:1a:24:71:94:48:74:72:
+         a1:58:ea:f8:0d:3e:71:5b:35:2f:30:b4:3a:2c:6e:b4:51:27:
+         7e:66:e5:f8:cc:2b:88:bc:98:cf:24:6b:5f:46:31:3e:ce:58:
+         d4:26:01:87:c8:1b:d9:10:a1:76:3a:f1:8b:16:2f:3f:54:b0:
+         95:ff:c0:4f:3a:67:2d:28:6e:2c:fb:81:87:92:c8:8c:13:45:
+         3e:d0:ec:12:b8:52:0e:71:dc:dc:50:1f:57:44:1d:6f:80:bd:
+         50:db:26:3e:63:27:53:9f:99:46:39:04:2b:66:a7:f9:f3:f3:
+         99:c6:33:4a:44:0b:90:ea:5d:17:1c:41:1e:44:db:73:c5:68:
+         d1:e4:04:01:99:49:59:23:0d:2b:06:5a:fc:db:56:90:67:6d:
+         28:b8:66:6c:56:70:12:ae:36:dd:f0:b9:6d:f1:c9:5c:77:0f:
+         30:d9:46:e1:57:e5:d3:92:92:c1:74:40:99:24:00:ff:57:59:
+         2d:48:e5:1f:97:34:8b:7f:26:3e:24:9e:a6:96:14:16:d7:be:
+         94:1a:55:37:5a:d2:94:1f:df:9d:f2:8a:88:5d:e2:8b:c4:59:
+         60:06:44:52:a9:73:29:ed
 -----BEGIN CERTIFICATE-----
-MIICWDCCAcGgAwIBAgIBCjANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
-OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTA5MDQyNjIwMjk0MVoXDTE5
-MDQyNDIwMjk0MVowHjELMAkGA1UEBhMCU0UxDzANBgNVBAMMBlN1YiBDQTCBnzAN
-BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvT1jeD4xhdkdt/gEAlhTEt4axpWbUSl7
-x2J2uaZjVj1HyC+7a5t92PGpPAthZv3R59dtdKAwnKB9gEEEGoZhtBJ5nZ2wO/sK
-TGmPBjMHhQ5zzQH6lvlrIBjYsQYDIbNxeu1D/SnVI/rMz0P8g0rLi+aY27NJ8boq
-l3K3RIPW518CAwEAAaOBmTCBljAdBgNVHQ4EFgQUm7X+kNNySbGYmmd2o8kiFfFa
-rhEwWgYDVR0jBFMwUYAUbkgT3L+LlUwT8x+XMN0nllmbDmihLqQsMCoxGzAZBgNV
-BAMMEmh4NTA5IFRlc3QgUm9vdCBDQTELMAkGA1UEBhMCU0WCCQCZMt5hDkAZijAM
-BgNVHRMEBTADAQH/MAsGA1UdDwQEAwIB5jANBgkqhkiG9w0BAQUFAAOBgQAly793
-0hYPpaxOQhfhgQM2HtwzGkm6H0BbW4CcILcTO/RPecG0bhTV/YRZWNXbpm1bb+bQ
-WNaOQSzv6ci3ym/LEW4TRfdzbpFxIhQYubStO8Tpb5ltWVlSb8hlZ/Hk2W8Lozyf
-rAG3GpuXdJJ76gWgXQl3+3kXwjUv+Qn8ELPgPg==
+MIIFXTCCA0WgAwIBAgIBCjANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
+OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTE5MDUyMzE1MDUxOFoXDTM4
+MDExNjE1MDUxOFowHjELMAkGA1UEBhMCU0UxDzANBgNVBAMMBlN1YiBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOqc07oO3vnGPC7vfpFAjlgEFk//
+gWEM/bTShjyKavkzYwuOK6ycXAAoFv4yvHVVANKRDJLJCi3H4vTdFP4g2EV50aAe
+XZGl0gAXpL1ENZz0X2PcuRmlZnOxFq7n1Vm904Wxt64+qKieDdnN9Tgw01bZRAgR
+I8q7Xpb9jeh3fsSOWKgCbSB3mp1LvWpuwKR30jfLtcRKhwOpqqgiS+kT8iJkRAy0
+K2BWm8d2Hn26BhWara42mp3w34PlZEsYU7Ed7bxwCEhFfsarrdm8eQM9r+j2zU4E
+J86M1wnZUIf3djfrozuWRrYFhTzyCiM80o4OhggZb49WL72QgJipisSacZ0lCJvQ
+FCPUmaz5aET9Ab3ksB+H8gwWiDEBXq/fgcAp0QXIN29MtoGz0PH12RzP5pVAQewv
+uTnSG0jJA8oKn0tBdP8xvUDVRszJhJTpqtOu3/wHDktsaAdwkqr/miHAZ6rocnvb
+l/TQ++ltTEgZVfvE8/p4xpQv/Yixx1j9AyooUV6OLZX6Rle5bJO1ikQhgh3SxwuI
+JC3gRQ2POiPEH+ItAKRxpwHHF7gDKfwukpvddcweDgFycaeAn3vh6zVCHwwdrmks
+7nBlGUxb1wcnyCzOzNFnOd6ICuEhya1Q8oh5FW16RiNKk71ytTyk0pEnq9Lw918X
+jH4BM24uPo9IGAbvAgMBAAGjgZkwgZYwHQYDVR0OBBYEFE2fuJL0mDt+H+quozzf
+z+dWTvYlMFoGA1UdIwRTMFGAFP3GVnK86oIZSACwo4v3eT/3JvwjoS6kLDAqMRsw
+GQYDVQQDDBJoeDUwOSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFggkAmWX5NMOQ
+wXIwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAeYwDQYJKoZIhvcNAQEFBQADggIB
+AI9Ol/enhxcnry8wI5cuCTUDAZwTOBKFSRDOacR0aWdtYTq7xVrnVdrwowa+/1Xr
+iaJlLjXKJEkK+gE6yFCvlO7N6WcqGxujQB7kSnoxkxzmd56jQRlmZN3zczTXKDg/
+9ZQtWD+9JM1b7XeBUzFFZ+TXhc7SEPG3DwMiPMG+qorRkrYD5ZKjTNN27oqDAcig
+ClM6xqQ2jVE1pQfcjDXJA/od7EkF8LAO/iT1Ttu+8wCwNVfWMQLC4W86LCxC+Ydb
+w3L3RmofDhZQ7qYAQjCtBQfUjgoNxiOz15sBVxJ7fRtdYLf+eE+RG3bfpqf1YXY7
+HG98x1d/v8esI8XFz2tegxxMfoMt9ttRhXzTa9z291MfJjqNkfFqQ8tXGiRxlEh0
+cqFY6vgNPnFbNS8wtDosbrRRJ35m5fjMK4i8mM8ka19GMT7OWNQmAYfIG9kQoXY6
+8YsWLz9UsJX/wE86Zy0obiz7gYeSyIwTRT7Q7BK4Ug5x3NxQH1dEHW+AvVDbJj5j
+J1OfmUY5BCtmp/nz85nGM0pEC5DqXRccQR5E23PFaNHkBAGZSVkjDSsGWvzbVpBn
+bSi4ZmxWcBKuNt3wuW3xyVx3DzDZRuFX5dOSksF0QJkkAP9XWS1I5R+XNIt/Jj4k
+nqaWFBbXvpQaVTda0pQf353yiohd4ovEWWAGRFKpcynt
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/sub-ca.key b/lib/hx509/data/sub-ca.key
index 19415e8..13570b1 100644
--- a/lib/hx509/data/sub-ca.key
+++ b/lib/hx509/data/sub-ca.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAL09Y3g+MYXZHbf4
-BAJYUxLeGsaVm1Epe8didrmmY1Y9R8gvu2ubfdjxqTwLYWb90efXbXSgMJygfYBB
-BBqGYbQSeZ2dsDv7CkxpjwYzB4UOc80B+pb5ayAY2LEGAyGzcXrtQ/0p1SP6zM9D
-/INKy4vmmNuzSfG6Kpdyt0SD1udfAgMBAAECgYEAi8GahGLqD/+YgxUXYOP59iUx
-gRdb7UTFtSpypAjNtBLtwFoAACiFeIKAiWeeN4GcU6w1mbv0Krgb92wMq8oyvJIG
-mD+jyzdYSj1C00nQ3WF9b77nasAGP6IzhP82H+c6HjIJOo04MrM0s7lW3ETJbqyq
-CDpgqufEkXSKO4f1eAECQQD8RB3zRZw0+AMy+v8RBSvHGOyH8WPwheDKST9ycr/c
-fizcSjjUVaJOH107/SH/GKn+wrDx4vSJXnQqnFLTRYufAkEAwAp0CeXerZhpxAHf
-SnB/GFRE8xnR7U0sIuAkCupYtr0dQZj4bkeRWuM7dNujKM1EomU/S/ngHlns/KPJ
-kH0MQQJABtkGgxsJoXp2A8VCdUDRrmbjzNDlqJrJvlP8r+ujf6XBK/2ryz/D1yEM
-09sMODOAMdUxHm/NuYjh2GJD8U46+wJAN4OOEcJqgaI6iNfFtZ4Zj23k1KWVItUZ
-OiezI5ik9oZqq6jNwAteQHjJmjlXzBayjYNZLdxY5k02jb3HKcaMQQJAdelGxbOu
-NRR3NdcwRUdRBlqTCVAx1qXlDmYvvUNRsEAr17t9ij7bwfxTrFmIEdCoqTlY5K+Z
-mg1qwSeTGe3x4Q==
+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
+FAyxqmq2U5lLkxSX9M7dtz1OfJnbxA==
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/sub-cert.crt b/lib/hx509/data/sub-cert.crt
index 236e4d0..3186c83 100644
--- a/lib/hx509/data/sub-cert.crt
+++ b/lib/hx509/data/sub-cert.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 11 (0xb)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: C=SE, CN=Sub CA
         Validity
-            Not Before: Apr 26 20:29:41 2009 GMT
-            Not After : Apr 24 20:29:41 2019 GMT
+            Not Before: May 23 15:05:20 2019 GMT
+            Not After : Jan 16 15:05:20 2038 GMT
         Subject: C=SE, CN=Test sub cert
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:c2:e7:0c:98:23:cd:54:66:28:8c:e4:75:fc:4e:
-                    cd:1c:1d:eb:1f:0c:c4:56:78:07:7d:73:3d:9e:0d:
-                    02:29:a3:c9:f6:46:fa:24:ce:1f:49:f8:1f:0d:ea:
-                    d7:aa:91:ed:0a:8d:69:05:a9:36:94:70:52:e8:05:
-                    42:04:19:6d:55:44:85:c2:d4:3a:2c:a7:ad:aa:42:
-                    54:cb:78:a1:fa:bb:b9:40:41:80:28:c4:27:42:a6:
-                    6b:f2:33:84:a2:c0:3e:f6:fe:b1:70:54:8a:0c:44:
-                    8f:81:1b:27:d8:7c:59:3f:f0:de:ea:dc:08:3f:88:
-                    f8:f2:bf:58:3f:a4:fa:f5:9b
+                    00:b0:b9:77:f4:5d:e2:66:7d:10:16:aa:24:16:3b:
+                    13:8d:ad:b1:00:12:eb:49:14:8d:73:3a:e2:ee:f7:
+                    fe:13:98:da:d9:d6:72:e2:8e:a9:dc:c6:d9:5c:86:
+                    e6:03:fd:29:a5:de:46:05:02:4f:a9:79:25:61:5f:
+                    f7:53:64:03:cd:2e:9d:c8:43:d9:45:48:14:7e:59:
+                    ae:c6:ad:25:78:10:71:57:43:30:45:65:d4:0c:5d:
+                    52:91:97:dc:b8:93:38:64:9a:0b:4f:da:16:f7:1b:
+                    8e:aa:f5:e5:cc:3d:0d:84:ba:d7:fd:f9:5f:4a:ed:
+                    c3:c8:36:66:f4:42:fc:5d:00:2b:7d:7b:8b:51:94:
+                    35:a9:27:3a:71:fb:ac:f5:2f:e4:d2:8b:c6:22:e5:
+                    e5:a3:1b:13:95:3e:0f:0d:3e:07:1f:6e:23:b0:5d:
+                    f7:60:01:e5:08:85:01:ac:48:31:32:38:1e:57:e8:
+                    1b:3c:38:c3:70:3a:81:1b:04:60:3b:c7:20:a9:8a:
+                    fe:b9:c5:4b:c7:10:28:32:0a:7c:1d:f3:8f:5c:d0:
+                    2a:2e:83:97:3a:5f:42:34:95:1b:c4:b1:73:ff:23:
+                    a9:e6:fb:9f:f4:40:2e:2f:c0:ad:9f:d6:c2:45:21:
+                    40:51:f9:2e:98:db:90:34:3e:f6:54:e5:fc:cc:d5:
+                    06:4c:19:81:53:af:bd:a1:8d:83:3a:b5:c7:1b:85:
+                    78:dc:64:65:f8:ed:88:b6:69:4d:c0:3b:da:9b:d5:
+                    eb:32:e0:e0:1c:00:65:e7:f0:5b:f1:bc:e2:e8:8a:
+                    a5:31:9e:d6:da:d3:c3:2f:d0:84:9a:f3:f1:2d:e1:
+                    b3:63:3e:2a:ce:c9:98:45:1b:7e:8a:bc:2f:0a:f1:
+                    39:82:39:70:d0:f7:28:18:3a:74:eb:d0:4c:e7:99:
+                    e5:e6:b1:f7:33:57:60:14:cf:2b:24:59:ed:30:f6:
+                    a5:b1:6b:54:3d:74:ef:68:7c:69:b1:35:e8:1b:9e:
+                    0a:d4:38:27:ea:7c:1e:01:11:46:4e:07:b2:da:00:
+                    f5:8c:a5:a6:d0:7f:24:a7:d9:32:a2:bf:6e:92:a3:
+                    16:83:1d:ed:74:e6:3f:6b:ab:1b:23:65:84:32:51:
+                    94:2f:1e:01:1d:13:b7:b3:6e:c2:2e:67:bd:33:8e:
+                    41:44:14:29:07:92:01:99:2d:f6:ac:51:26:a3:44:
+                    67:5e:cd:0e:35:e7:83:43:3a:20:78:63:23:4c:ee:
+                    f4:5b:32:0f:17:49:14:d6:14:9d:d4:32:2d:b6:15:
+                    42:2a:7e:1f:3a:90:df:df:92:6d:b8:41:e3:39:29:
+                    d9:c2:2c:bf:94:67:9e:a9:8b:10:14:3a:ca:0a:10:
+                    cf:a4:5d
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -28,26 +54,63 @@ Certificate:
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment
             X509v3 Subject Key Identifier: 
-                C1:80:37:61:B7:F7:BD:09:84:1C:5C:CF:65:6D:FE:15:0B:78:85:C0
+                C8:FC:4C:74:0D:42:18:8E:0A:4B:7C:61:C7:CD:36:FD:A9:96:8E:64
     Signature Algorithm: sha1WithRSAEncryption
-        97:06:c7:34:4f:17:20:6f:fd:f1:0e:eb:33:f1:eb:fe:49:ee:
-        5d:6c:59:f2:4d:97:c0:ad:5a:2c:85:c2:b5:21:04:b0:ee:d1:
-        2c:2b:54:0e:9c:82:c9:45:81:9c:2a:3a:e2:fa:78:94:52:56:
-        19:99:11:44:78:f4:7d:b0:fc:d2:d3:49:d8:2f:9d:ff:23:5c:
-        83:96:a0:14:a8:49:a1:bd:4a:ef:d2:67:96:5e:b7:36:36:86:
-        cc:ea:17:c3:3e:b7:18:ae:0a:03:43:4a:af:ab:ef:b9:c8:ec:
-        d6:27:39:c7:33:b7:34:54:d6:b5:1b:8c:85:a1:c1:13:b5:cd:
-        0f:b7
+         5c:65:de:68:c8:80:3b:8b:08:74:2d:f4:89:51:42:7e:ac:41:
+         83:d0:7f:ff:cb:d4:95:84:10:52:f9:2f:77:62:04:b9:03:8f:
+         a5:b2:16:92:19:c9:94:62:ae:3a:2b:73:89:59:73:2e:e3:05:
+         05:0a:dc:e4:00:be:6b:fc:1e:ad:92:e2:8d:1d:a8:e2:71:6e:
+         10:3b:50:5d:1c:c1:97:e7:4a:14:c3:1e:9a:a3:4c:e6:5f:4a:
+         fe:21:43:94:e1:e5:11:7c:42:c6:b7:06:d5:11:45:5d:3c:bf:
+         e7:9d:9b:4e:0a:9b:7a:94:09:ed:b1:fb:07:c4:2f:16:a3:8b:
+         92:50:23:b6:5c:33:fa:2c:39:83:3a:6a:92:d2:00:a8:e0:a7:
+         28:25:8a:b6:09:ee:17:6a:f3:be:38:c8:48:04:2e:81:96:9c:
+         08:a2:3b:48:6e:f2:75:d8:5b:07:00:13:64:1f:a5:a1:7e:bf:
+         d1:a4:fa:5f:61:55:40:67:8a:76:31:28:1c:f8:a7:f0:9e:bb:
+         e0:bd:18:89:6c:9c:e7:21:9f:49:ab:3f:1b:43:12:c3:4d:fc:
+         cc:e7:f4:4c:4f:c0:45:5b:30:f7:9b:09:60:a7:46:a5:f0:8b:
+         ea:ab:62:78:3c:7a:cc:ea:09:2b:f7:7c:06:04:b2:f7:31:68:
+         b0:25:e0:7e:bf:50:b5:a3:b6:f3:1d:c0:42:95:d9:79:f6:8e:
+         94:cc:b4:da:f9:e6:fe:7a:44:93:80:0b:25:d9:54:69:8e:d8:
+         7e:08:a8:63:55:67:3c:32:87:52:73:38:fa:0a:e0:4c:ac:1e:
+         b1:7d:bc:89:ee:a5:d6:79:ed:79:2c:97:f0:c6:a4:1f:ff:ca:
+         1e:38:a9:86:22:46:d3:ff:69:44:aa:7c:9d:c0:35:d3:99:03:
+         86:5e:b4:d0:e4:16:c9:f1:83:16:5f:b8:b9:a0:8b:16:c2:31:
+         17:2d:59:de:a7:b0:16:cc:63:10:16:17:20:cf:e3:af:02:92:
+         48:d3:64:38:44:9c:16:a9:62:5b:be:7f:c8:1f:4e:69:d6:44:
+         35:92:cd:69:fc:e5:23:60:4e:a3:93:92:1f:aa:6e:ae:77:cc:
+         63:fe:ff:49:10:10:c4:3c:53:34:1c:d9:51:41:d8:73:86:5e:
+         d5:a8:22:38:b0:20:3a:11:3f:a0:50:ba:4a:ad:8f:1b:34:51:
+         68:6e:66:6a:77:22:ec:a8:8a:14:ff:cc:3d:32:20:76:d9:a5:
+         d1:fc:4c:60:35:dc:1e:38:a4:02:ee:65:8b:79:8e:65:6c:2d:
+         dd:c8:54:70:c2:9e:03:29:a5:99:ac:9b:83:52:c4:19:1b:8e:
+         f1:15:cd:71:c8:1d:0a:de
 -----BEGIN CERTIFICATE-----
-MIIB8jCCAVugAwIBAgIBCzANBgkqhkiG9w0BAQUFADAeMQswCQYDVQQGEwJTRTEP
-MA0GA1UEAwwGU3ViIENBMB4XDTA5MDQyNjIwMjk0MVoXDTE5MDQyNDIwMjk0MVow
-JTELMAkGA1UEBhMCU0UxFjAUBgNVBAMMDVRlc3Qgc3ViIGNlcnQwgZ8wDQYJKoZI
-hvcNAQEBBQADgY0AMIGJAoGBAMLnDJgjzVRmKIzkdfxOzRwd6x8MxFZ4B31zPZ4N
-AimjyfZG+iTOH0n4Hw3q16qR7QqNaQWpNpRwUugFQgQZbVVEhcLUOiynrapCVMt4
-ofq7uUBBgCjEJ0Kma/IzhKLAPvb+sXBUigxEj4EbJ9h8WT/w3urcCD+I+PK/WD+k
-+vWbAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1UdDgQWBBTB
-gDdht/e9CYQcXM9lbf4VC3iFwDANBgkqhkiG9w0BAQUFAAOBgQCXBsc0Txcgb/3x
-Dusz8ev+Se5dbFnyTZfArVoshcK1IQSw7tEsK1QOnILJRYGcKjri+niUUlYZmRFE
-ePR9sPzS00nYL53/I1yDlqAUqEmhvUrv0meWXrc2NobM6hfDPrcYrgoDQ0qvq++5
-yOzWJznHM7c0VNa1G4yFocETtc0Ptw==
+MIIE9zCCAt+gAwIBAgIBCzANBgkqhkiG9w0BAQUFADAeMQswCQYDVQQGEwJTRTEP
+MA0GA1UEAwwGU3ViIENBMB4XDTE5MDUyMzE1MDUyMFoXDTM4MDExNjE1MDUyMFow
+JTELMAkGA1UEBhMCU0UxFjAUBgNVBAMMDVRlc3Qgc3ViIGNlcnQwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwuXf0XeJmfRAWqiQWOxONrbEAEutJFI1z
+OuLu9/4TmNrZ1nLijqncxtlchuYD/Sml3kYFAk+peSVhX/dTZAPNLp3IQ9lFSBR+
+Wa7GrSV4EHFXQzBFZdQMXVKRl9y4kzhkmgtP2hb3G46q9eXMPQ2Eutf9+V9K7cPI
+Nmb0QvxdACt9e4tRlDWpJzpx+6z1L+TSi8Yi5eWjGxOVPg8NPgcfbiOwXfdgAeUI
+hQGsSDEyOB5X6Bs8OMNwOoEbBGA7xyCpiv65xUvHECgyCnwd849c0Coug5c6X0I0
+lRvEsXP/I6nm+5/0QC4vwK2f1sJFIUBR+S6Y25A0PvZU5fzM1QZMGYFTr72hjYM6
+tccbhXjcZGX47Yi2aU3AO9qb1esy4OAcAGXn8FvxvOLoiqUxntba08Mv0ISa8/Et
+4bNjPirOyZhFG36KvC8K8TmCOXDQ9ygYOnTr0EznmeXmsfczV2AUzyskWe0w9qWx
+a1Q9dO9ofGmxNegbngrUOCfqfB4BEUZOB7LaAPWMpabQfySn2TKiv26SoxaDHe10
+5j9rqxsjZYQyUZQvHgEdE7ezbsIuZ70zjkFEFCkHkgGZLfasUSajRGdezQ4154ND
+OiB4YyNM7vRbMg8XSRTWFJ3UMi22FUIqfh86kN/fkm24QeM5KdnCLL+UZ56pixAU
+OsoKEM+kXQIDAQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAdBgNVHQ4E
+FgQUyPxMdA1CGI4KS3xhx802/amWjmQwDQYJKoZIhvcNAQEFBQADggIBAFxl3mjI
+gDuLCHQt9IlRQn6sQYPQf//L1JWEEFL5L3diBLkDj6WyFpIZyZRirjorc4lZcy7j
+BQUK3OQAvmv8Hq2S4o0dqOJxbhA7UF0cwZfnShTDHpqjTOZfSv4hQ5Th5RF8Qsa3
+BtURRV08v+edm04Km3qUCe2x+wfELxaji5JQI7ZcM/osOYM6apLSAKjgpyglirYJ
+7hdq8744yEgELoGWnAiiO0hu8nXYWwcAE2QfpaF+v9Gk+l9hVUBninYxKBz4p/Ce
+u+C9GIlsnOchn0mrPxtDEsNN/Mzn9ExPwEVbMPebCWCnRqXwi+qrYng8eszqCSv3
+fAYEsvcxaLAl4H6/ULWjtvMdwEKV2Xn2jpTMtNr55v56RJOACyXZVGmO2H4IqGNV
+Zzwyh1JzOPoK4EysHrF9vInupdZ57Xksl/DGpB//yh44qYYiRtP/aUSqfJ3ANdOZ
+A4ZetNDkFsnxgxZfuLmgixbCMRctWd6nsBbMYxAWFyDP468CkkjTZDhEnBapYlu+
+f8gfTmnWRDWSzWn85SNgTqOTkh+qbq53zGP+/0kQEMQ8UzQc2VFB2HOGXtWoIjiw
+IDoRP6BQukqtjxs0UWhuZmp3IuyoihT/zD0yIHbZpdH8TGA13B44pALuZYt5jmVs
+Ld3IVHDCngMppZmsm4NSxBkbjvEVzXHIHQre
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/sub-cert.key b/lib/hx509/data/sub-cert.key
index eb42cfc..e9fcb0d 100644
--- a/lib/hx509/data/sub-cert.key
+++ b/lib/hx509/data/sub-cert.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMLnDJgjzVRmKIzk
-dfxOzRwd6x8MxFZ4B31zPZ4NAimjyfZG+iTOH0n4Hw3q16qR7QqNaQWpNpRwUugF
-QgQZbVVEhcLUOiynrapCVMt4ofq7uUBBgCjEJ0Kma/IzhKLAPvb+sXBUigxEj4Eb
-J9h8WT/w3urcCD+I+PK/WD+k+vWbAgMBAAECgYBIFo1h+FwJy39UHWxGVh8nNymv
-4lj8Yojira0suEMEg8A/hyEeW97WzR8vVp1OSYsTTBp8LYoyfRktGETCn2UAbxnZ
-WGF3nx7TPYhX83N8QFT+NuIih051w9KkGcACD8PZqqeCIyt9YEOnNX276WToCzNy
-121aeDYeimlUJopzAQJBAPBL53LfzOyB5EnQIbT9GTciFQEMJvMQPQqd8xo4S62m
-3ydHIFDtGFP/1ZytGevGQWnkF0hxTc/PbUmoFxp+e8kCQQDPo7ddWjR3gxwEuy9M
-5sj52OqTwUyS5V+mMUVua06gTaTIs66yh3yv1QpczQV1sr8o6EJ6v3qJKqIC3qRn
-BBBDAkEA1JAAdDCfANPCEr1nI8gEJy4h8GREjBzgMmUYaChGYZ1Mp10WrB+ftqaH
-2mmRlWwx7y7SncWEtIBjx5VGoqwiaQJBAIeeQeSaR0yL+N/qNrG+xyPRFx3ckhwb
-7sZIxjWhpuAy9l8UZRU8QydBOZx1WIyQbCTW1pz/tZQjoV/IdY7Ha6sCQQCojspS
-iBO6CALYSsdIL6ZX/bXqGmPyXbxszGkYlaJx2FmD2MjSVM2RxPmx5RLNL02EfFLX
-DWUplanFI5eZTZ0N
+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
+uj2qsRY0KoByw9kyWVQeMxTuF6/EaQ==
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/sub-cert.p12 b/lib/hx509/data/sub-cert.p12
index f9d48ed..c929d7c 100644
--- a/lib/hx509/data/sub-cert.p12
+++ b/lib/hx509/data/sub-cert.p12
@@ -1,13 +1,30 @@
-00	*Hso0k0/	*H 0 0	*H0
-*H0!{ H_
-qM(S@cDG['wэߨʹҀÂ.@%[WJStxJ"u{6o|]ܮXyTF<Vρ
-X`+@ 4Fr8l_W9-$1Bm*WWG
-ɉd"Щݘ#Yj+QeN8Y.?m랗Bm&	jub)e} 1T7<\,*p[iK 9P	;U8(ub#`}5__>Q̩Vi\&]u훫g}Q-+b$0TF k$m82.8G/aF*sVd]pO'zh ^)6O8B׺>Zhptuw8-~vQTi0NVComUHyne/#$,i(G_4uV|݁ufK9'' ^#n$7t0Uk-#܋CAG!j6s0@&yO_mMt?W~OM$?b,ES5TBB,fIp*Nhq2w JHtb:W5%O$6n3RIClSfJ`I U/|NLbߺϹɛh>0z	̰~\VwULuqu^cl9Lsln /Dh;#M#=tDK. @}h&h
-lۇ$YZ8 r*w$bI$цhG3ӅFqؓniFe@0HOvQNkgٜ]VP+[9eʦ>[1HM6!* u]MŤH-<5юAȎbMUP4L/	H>hʃv6`Q,'qT2ԄMTPTC ?qE`p琀(Rf U5xAi;-
-
-(<:cilN*j!G҃"wsr$PL/wwp`G4|1u%L@?	mOB0h᮵jK~M\< VNv5u bț	uUf{M쀪Kqe*P`w3LU`.J/U:båszYcvNcb
-,TSsaA4gmrɅg L`pag:;u| y]~BztLDf+)D;`Sygvg :.^ܻV<Ke-N-8Ij3}Vw'moStdH,vZbSPqW\:̤'{ gg^P{>l'H[Ţ W=
-2}"E@bNԆ0A:̔JR6.ɸX1JrFp^L(`T"<ۣ-Z=xx"brti&coZoǃ}Pa.  3\mL#|iWLkxb$oT/#k3LfD?Yo7Vb*s:TӣzbI88.vuX^k^g*t};FpUpR$~>5X\s\Pc&]cݝT*xIgF~CaKOcSm=]8R:fH;#O su7v+`(wr4nZ.jXjSI;D`1$|EEJ6a	mU,-*z:JPD5dotnȆD:`bl^:;_U5@̺04	*H%!00*H
-00
-*H0_Si *\}&]+`F Xc4qIM魉ZpɎ<L=SU;1R|m>wL:LyrѰHdm{aМJPqoèKLQ0CP1䭆"oJFIEiu8CΉ?o\y ~WTQԵ[1>P-at+WY+ ŁT+IL[`1zq>5u|Ԃ#ʅ0ښ4;YbӤh ޲qU-L{I^/q!N7FO> uߍ?$$EY7ȴ*1/'el耙ib>GU>U1[Zj⢿YWC@4#Wdc	OcIYn0'ῶ!c ]&fْ}w̡kt:cBEY;b%ьTFC'pd9viS^u{@4(UP|Fi=\,N0x7]K_>zۚ9Ji/Zdbob:].-MՎxOҭ/P7ʥA^ĐcƎ,IfJ3i,5:YoXz!P=%[{]1`0#	*H	1Mj
-teI`209	*H	1,* f r i e n d l y n a m e - s u b - c e r t010!0	+ ({Z{倾sr}3i1ply 
\ No newline at end of file
+00Z	*HKG0C0?	*H00, 0%	*H0
+*H0If, &`f*ċs%Wqo57hhF}Cv,;Gg\'4+DZwP'V0Y["E|jtT}6-Zۯ$ʓ&{Ay]\*ȱl$
+y)R/Y d%//紑 WďӤEQo Yת;")gpB3_f2tyn'Z[$cUc!lI%w.(`m`D2%=`_ϡTB?wzH	a]i`pCI W{20Hm)IfXf%}kC^u[3f]u|)2@[TG3 Xk4G6{6+fR%>q56H_E:sKѥzJNҧUٸ}1mI9VbfNÊklwb4"3K{:uѻ)G 6+:u{~)+|˒StCBb'q=p۬8svںy=oB̪Ħڜe}CE
+񠐹4
+z#}z\4gjo|bͬeqpAa"oIE;_UT y󘩻Uq=lRւ7䲭	A\YygјQ-͉//×z@M3TcP@# M#{]-ɹ'lS 瓚i)O3ğIl(EKfV|-OA{4d
+iڳ,k逧Qpt_kצ3Pe(_`(4 {"PIB
+Й;0a-MG5e}~y"f {y'X2DU)h9eq:-di8wEpC/#*XHwI
+=HC24[
+7T*Bl'#5ॼϼ3Oz&QĔDkSeޙգn:[@LΤUL=cGJ*┖fOGLfrPEUe6ŸiU؛nCe6w}=DK,~M[fց/Ҁjz]=G\,|4h}',R͒6tO2dEW2O*0Agv`P~аr-Pdav>,P,/3.NG벶M[fDDe#SHcЉ5nma?ĕ8i:~:"^/Yu8AUH6.jp)41P)&VR}0XI奄JBp^rȈw-wl9$fYutpop|Md^)zEJa]JuQ/fYQ~rދ8]e`Bi=,B[7R;F_yutakeX3Ҹ2c-(C̢ز%hY	B)C#Gu
+j @:E!K|>٢0[)6C@W9ֽnFct͵Bn+5X/"Dud2CiA\#5:gaE>"t46
+w8V{D\(" H̀Cȗ[+~4ym!XtD͢B }avQs܇M_X<>/{ڭ! g<1EHs1ZH?\`rjsg?ܳ2ީ9mx?;#4jxf-v_KO*!beq6^į}v#)|Ō?z"b}kzM3d1ߊ#Xm%֯͞H႞/(p)F d+Why<A1+bkm4'~"QbJ6CEr8Ն2/203ɢw!BP/:_?nI^vqܚ5pr<!nS'P>J|`ݘ+ BZ*yf.4ܑu*Wb>mK*^m#XJ H
+ [{*^6QuAV`J6gW]ɂvTա}%QwD;Bj'H"ߐc]Ïc/A'30'";igd1'h(;BP^Z >ωfva%4 \#ZJDKTǩ&QTe	D֘;1I<LY#X2-0nSIuC;gS1bb`ՔI
+5Wa#pp!ix@B"/,Ai5h(rOB3DS^Z(Z58HkٳAjM",#	YKy3h9c.4¥Y':xdn٪|R38r0<9{i8"r'N ,XH8P|-EU;i9-.
+gf8
+Wf*P
+`^[8*)/Ysq2aPe#P%dğƟD ;~B"ug}ks{=T᩾v]H/Gi`!;J"S%us}X|Ey+$q܁K&Dx <pHcyQ(cIϪh3K]9ɋs^UҌ4W5$}Z߮Zt&9YtZUۊL'qTo u[p4d%l&`~1 Os/AxN#WaiU9
+q46rI?و^kyQ̡r%&ŃD!&566?#23Gnv3GI|l?rl|BbG,ԤЅ3Ɏ+@oXk&f6{N/ VGB/L`c3f4ʐ9VlD~I*(T(E1Y[L0O.s'<y6<(kTJ#F	!rq"};ZѾ;P6Tܻ"1ԬFtJHL*p^-ƦFO:S1_9\} +#;J=rg^IxdTq\ qޝ\96ݗA}D`6Ա|,T#0q5'lCXiVV$#@pĞn<'^a}G'[a$Pk  Krc*r~gAuBޕJ`\dBϨ d[E2gBtZMu0o،[(Wѕ)LܓEͧ@ʮg~u9l>#0XBI|}Ad=8g\cVn}gEu#Kj	^11wIפ?4j},'^b[eH:ae߿S;5/Lx0|I_Mݜϻҿް`N2m2CsT36@.W:Cfvd*$T F9Xo;4bƾSk)J0$?95U20fbTZNE   q4ZҎS"069.6/ƏfWIkج޲^Boؚl{d~B~j`D	ѽkSZ9N'g.{O-rʕsIi̔/Eέ'*]]aDtLrkl9|kt/>/=#@`vՋQ?9z~
+c%U#B^f$,< dȩwi--ĺ*T_]=os!jjmDQn!ʸ%WS䬾MK,4{]!EyCmgHSM@V&p@d<2QϢl4WōlkFL<ϟxӗG"aUpa2Л~E422	EXă@_o]O{JzuZa,#~C/Z@
+H3#㝜"̱{yIџ:=LBfM6r[h %|<?EW0Zh$0		*H		0	0	*H
+	n0	j0
+*H0SM 	H.ʊ6"Ys=Ov6Dh.~mLh
+{S%d,eա)|u{tb/mI c	o>ݡ,Z>75P$C#)LJ~M7,'ɑYE37QYh3-[V*TRROg I7҄ YN cѴNkk*@Ꝯ:Qɭ";8j׭o\HT6ށ.'Q_֐NKeLnW?TVpcNqdyUޜIQB6pPeBIh=cm3/9 /NdkBޠI]J2on+gVȸ5__3ETcia7 =З>U-WE|
+	氥<		/p:CtS5@U!W:܃ǙL|\ÜeQֵ&9NGU{R5?bӿbqd8.k@u,#:d:/Ob%E jPAa^1n'sRnKE\Hӑ	!MHRմGW5&564wY%[$ff{p+:ե1x!LR}ƿȌ(u5=[рR*	c)yXCLS2}}978<^[tjrW<;{,[πv|c/+ۡ-O%R
+u~$,i	o%#4r}C'ncM1KwM	NF=7[F8%:o@FUQ?@	RSi1͓8<X|uлѾ'PhCBsp͓{5Zوo˼%bTYpuBEOjggrl؞#
+Bu{釾<\ɲ60wH('#}wtJ睛Dߜ8e00ӉT$)k=}Ż~aެ<3P1L]"͞~3ޞ(1R<|XgF
+$]Ba b%?ByhcX[Dtd0$|hx&d%Xn*Ov%3(%Fe^,?{Z$a}SvT\,%ٱdU5&Woޏʅ7~k'8_Pv1U,Q}I#+8JEHW
+MVpc\Io&Ny="F#WR5[qkW7#'',G3$}:&du`tѣtz-ĥq7"AL2ʵ@TJ/hqH	@ #"TbTC})WCYo}nB>s*a'~Tud{:~M}X/!Ө\P6̈cJc<!z6/8<Dl-;QuzW3j/奈Cևty~g9OµL1dBKj=" 'L&<nJ	p&/x1wUkK{mpAfd𫛩y'Óᷤ'YNt~Zc3|tS#AKCWgc}_'
+jF>F
+8!occPwFU̺&Vj%%Zd[
+?WsaNJCW&*o6il'R?oTɓsZߏ-z=QOHfps n@&2ӵx_G*>Tժ|Eib!?o-鞧4* p61DTwCkݧ?S^1ǅ+Pt[K(8H+!1T@}õ{A昱4v:xL|d4,P7eU~0V#_ zk?.#dh0;$Z͋.=CLهSgm*D\DבJ,WZh{F? _zQCX'zU06T0&3N|[ؓ6JDlJ:wErD4*,q#7!^٠3Z?ƃX2ur3qeŏQ03Bmc-,("5@s)<$<j_h9450Hzfa/h?p^Z~oT-#v<:k!b&tݧ,<b0ꗔ/m~w61`0#	*H	10:F&9mZB09	*H	1,* f r i e n d l y n a m e - s u b - c e r t010!0	+ [U.0MpndݕR- 
\ No newline at end of file
diff --git a/lib/hx509/data/test-ds-only.crt b/lib/hx509/data/test-ds-only.crt
index 7c5b452..95df000 100644
--- a/lib/hx509/data/test-ds-only.crt
+++ b/lib/hx509/data/test-ds-only.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 5 (0x5)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:14 2019 GMT
+            Not After : Jan 16 15:05:14 2038 GMT
         Subject: C=SE, CN=Test cert DigitalSignature
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:eb:6c:c9:0d:97:91:ab:88:5c:44:a7:40:ed:25:
-                    b1:d9:0d:cd:22:1e:07:80:15:49:05:b0:7d:f2:bc:
-                    6c:12:7a:4a:74:a8:26:4c:98:0f:29:d0:b2:68:21:
-                    c3:bb:6a:cd:4a:27:71:5b:8b:51:12:ed:47:cc:21:
-                    94:ee:05:11:55:61:2c:88:22:33:c2:4e:12:ca:ed:
-                    63:00:10:4c:4f:7c:62:97:a0:9f:95:2a:99:d7:8e:
-                    a7:8a:d7:53:b2:b2:7d:a8:b7:5f:dd:4c:79:30:e7:
-                    48:0e:0d:9d:6d:85:04:56:63:d4:27:53:09:a9:bc:
-                    b3:c1:67:1e:65:bb:4e:10:a5
+                    00:db:8d:a2:5f:bd:67:a2:66:d7:80:3d:9b:5e:d7:
+                    31:5b:05:06:4f:0c:aa:5c:e8:0b:06:bc:30:8f:f9:
+                    fc:b3:1d:de:4f:c4:18:0d:7a:ab:00:7a:7e:5d:b2:
+                    fd:85:d8:22:9d:d8:b7:e2:e8:98:e6:47:b6:63:01:
+                    90:d5:e9:80:c7:ac:e4:32:bf:df:10:af:73:11:d2:
+                    82:21:bf:5b:76:37:d2:03:67:c5:9a:7b:44:a5:4a:
+                    4e:a6:05:d3:95:09:fb:13:3a:7a:ca:b9:4f:28:24:
+                    e2:cb:75:ee:6d:97:a6:62:fb:bc:57:ed:6e:2f:e9:
+                    0a:7f:61:4b:c7:9a:45:7c:49:5d:03:fe:4e:09:8b:
+                    9c:30:60:67:42:0f:89:44:08:0b:4e:65:96:6f:f8:
+                    83:27:10:de:99:7a:8d:bc:e1:ab:23:cd:d2:83:57:
+                    0f:5a:99:26:dd:6e:16:3b:d5:4d:7e:4d:d1:85:e8:
+                    37:44:69:de:ea:9e:79:af:eb:b3:6f:87:0b:23:97:
+                    53:81:b3:e4:64:2a:1d:f9:2c:6d:54:63:15:8e:39:
+                    9c:70:b0:c1:85:91:be:21:4b:4d:73:21:0a:59:fc:
+                    20:b9:60:6c:7d:ca:ed:ab:e7:22:79:cf:c4:5b:bc:
+                    9e:fe:90:ec:e7:48:c0:0d:60:2c:6d:db:bb:ed:95:
+                    70:cc:14:b4:45:9b:9b:45:92:fa:d2:50:ab:5a:60:
+                    1b:96:6c:81:d7:2a:4f:60:df:29:38:26:9a:7b:ea:
+                    68:e8:cf:dc:c3:25:a8:2a:d4:79:ea:69:7b:96:2d:
+                    2d:aa:8c:39:1e:9c:00:bf:51:8c:66:4b:14:20:f0:
+                    cb:3a:19:b2:03:5c:78:63:72:56:bf:8f:fa:49:19:
+                    98:d0:25:1b:24:ad:85:51:1f:07:d9:72:94:70:7d:
+                    47:b1:9d:88:86:26:d5:01:d6:10:c9:04:60:01:b7:
+                    c5:5d:6f:e6:10:c4:7e:85:87:b6:8b:ce:15:ec:79:
+                    bb:05:83:3d:98:91:90:42:5a:28:f9:1f:65:07:63:
+                    15:97:3d:8d:c2:33:f8:9c:70:c2:a5:53:6d:90:db:
+                    6c:15:30:1e:6f:a1:09:8e:e5:56:79:fd:7e:11:f8:
+                    bd:44:5c:99:35:7c:56:03:1a:bf:15:fa:1f:08:8f:
+                    1f:82:a8:2e:c3:a5:f4:94:a1:4e:9f:ef:4b:c6:6f:
+                    af:12:ee:ee:c0:c0:39:3e:47:bf:17:6e:09:c6:8c:
+                    47:89:b0:a3:26:92:95:91:38:07:c9:eb:5e:2b:8a:
+                    65:c1:26:21:60:68:f1:27:5b:76:7e:a8:81:25:31:
+                    6e:14:06:08:09:62:13:9c:c8:af:01:e8:9b:4a:9e:
+                    18:b1:35
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -28,26 +54,64 @@ Certificate:
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation
             X509v3 Subject Key Identifier: 
-                30:2F:86:11:EA:5A:CD:C6:B4:61:FC:11:59:74:34:7C:16:93:25:52
+                6B:E9:29:4E:C6:18:4A:A0:2F:A9:AC:67:3D:F7:80:7C:CE:8A:97:66
     Signature Algorithm: sha1WithRSAEncryption
-        15:f4:85:10:1a:98:d7:ec:74:4c:2b:55:1f:db:c9:2f:e0:ad:
-        2d:76:83:17:e1:13:d7:17:8d:27:a7:e3:21:1f:63:f2:30:94:
-        ae:9f:1f:b9:4f:6a:6b:ce:50:7d:1a:a7:4e:be:f1:98:33:16:
-        a0:53:a3:06:61:4f:6e:11:8b:55:3f:cd:91:4f:0a:0b:2d:f1:
-        5a:68:13:e2:f9:25:88:00:74:79:e8:f4:a9:c4:5c:9e:df:c0:
-        17:e2:e5:75:54:3d:64:65:52:b4:a5:9c:51:ff:c3:ec:8f:88:
-        06:18:f6:a5:42:b9:d9:75:7b:d1:4c:d1:fa:ab:89:b3:24:5a:
-        14:aa
+         9e:b3:b6:2d:27:65:c4:2e:2a:a2:f1:d6:3c:ba:4b:c6:b9:47:
+         fe:72:5a:fe:f4:f7:92:4c:17:7c:f5:88:91:eb:f9:1a:6a:c3:
+         82:a9:8b:6f:4e:e1:62:d2:15:d8:50:12:aa:cf:ef:2e:73:2a:
+         86:cb:59:49:1a:35:17:4e:c4:2e:ac:65:5a:f0:13:da:35:78:
+         20:59:e7:f9:8c:9a:97:0f:76:cf:cf:2d:79:69:b2:9f:15:77:
+         d9:af:20:ff:ab:07:18:f4:ef:5d:4d:c2:56:bc:fb:a6:52:aa:
+         53:a3:5f:91:5b:83:61:e7:fe:c1:89:4f:57:c3:8a:ba:d2:89:
+         ed:9f:28:b0:f7:18:25:dc:d1:e8:4e:f0:ef:50:70:e5:cf:6d:
+         ba:1e:d9:98:11:13:02:53:15:9b:98:95:b2:8a:60:a4:6c:f9:
+         c6:23:4a:9d:25:ce:31:fe:17:fc:1f:11:43:52:4c:45:ef:f6:
+         38:c5:e7:94:98:34:3c:05:8f:d0:a1:82:71:9d:d1:ec:93:ef:
+         7e:7d:9d:ba:2c:7d:82:14:e7:ce:8a:e1:e9:bf:6a:82:0b:44:
+         1e:5d:1e:85:b4:81:0e:f2:c1:1c:54:8b:b1:e9:35:82:c2:44:
+         23:22:b0:96:3a:ab:0e:6c:f0:24:41:e0:bf:62:86:01:1e:e2:
+         29:af:d0:cd:06:83:84:66:a6:2a:32:d4:f8:f5:31:3f:d4:20:
+         34:07:6e:78:d0:f7:a7:64:fa:d4:81:15:c0:71:bc:10:3c:44:
+         8b:fc:f0:8b:03:7e:ca:9e:6f:e0:d2:f3:14:67:3b:ea:1b:79:
+         59:3c:98:5d:70:3a:b4:87:d8:45:99:91:63:f6:db:7d:35:d3:
+         39:df:ac:31:db:94:fc:90:c8:87:01:11:1b:10:9f:2f:15:53:
+         5c:f2:5f:08:cb:72:d3:f6:ed:63:39:e9:45:b7:ae:bd:db:21:
+         93:4a:fc:42:78:2b:db:ac:cd:ed:ca:f0:06:2a:f9:45:18:ed:
+         de:31:3d:78:fd:94:a2:65:63:ba:ce:13:37:4a:ce:68:8b:39:
+         eb:e1:24:d7:ea:ca:7f:25:d1:a3:63:97:8c:a9:f6:19:f9:68:
+         d3:8a:0b:bf:2e:8a:db:58:9c:97:42:40:de:c3:b5:e8:84:d9:
+         3b:02:56:7e:d7:83:ab:e0:4d:e0:49:4f:8a:bd:c1:e9:aa:90:
+         c7:96:bb:09:e0:6c:77:1c:15:48:20:4e:95:6f:7e:87:59:33:
+         75:da:5f:91:d6:35:65:67:15:a8:1f:1a:ff:23:c8:89:90:8c:
+         38:a6:12:70:5f:78:c2:1b:ea:66:64:23:95:d2:b1:4c:fb:e1:
+         ed:22:24:b0:3b:da:8f:1b
 -----BEGIN CERTIFICATE-----
-MIICCzCCAXSgAwIBAgIBBTANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
-OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTA5MDQyNjIwMjk0MFoXDTE5
-MDQyNDIwMjk0MFowMjELMAkGA1UEBhMCU0UxIzAhBgNVBAMMGlRlc3QgY2VydCBE
-aWdpdGFsU2lnbmF0dXJlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrbMkN
-l5GriFxEp0DtJbHZDc0iHgeAFUkFsH3yvGwSekp0qCZMmA8p0LJoIcO7as1KJ3Fb
-i1ES7UfMIZTuBRFVYSyIIjPCThLK7WMAEExPfGKXoJ+VKpnXjqeK11Oysn2ot1/d
-THkw50gODZ1thQRWY9QnUwmpvLPBZx5lu04QpQIDAQABozkwNzAJBgNVHRMEAjAA
-MAsGA1UdDwQEAwIGwDAdBgNVHQ4EFgQUMC+GEepazca0YfwRWXQ0fBaTJVIwDQYJ
-KoZIhvcNAQEFBQADgYEAFfSFEBqY1+x0TCtVH9vJL+CtLXaDF+ET1xeNJ6fjIR9j
-8jCUrp8fuU9qa85QfRqnTr7xmDMWoFOjBmFPbhGLVT/NkU8KCy3xWmgT4vkliAB0
-eej0qcRcnt/AF+LldVQ9ZGVStKWcUf/D7I+IBhj2pUK52XV70UzR+quJsyRaFKo=
+MIIFEDCCAvigAwIBAgIBBTANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
+OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTE5MDUyMzE1MDUxNFoXDTM4
+MDExNjE1MDUxNFowMjELMAkGA1UEBhMCU0UxIzAhBgNVBAMMGlRlc3QgY2VydCBE
+aWdpdGFsU2lnbmF0dXJlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
+242iX71nombXgD2bXtcxWwUGTwyqXOgLBrwwj/n8sx3eT8QYDXqrAHp+XbL9hdgi
+ndi34uiY5ke2YwGQ1emAx6zkMr/fEK9zEdKCIb9bdjfSA2fFmntEpUpOpgXTlQn7
+Ezp6yrlPKCTiy3XubZemYvu8V+1uL+kKf2FLx5pFfEldA/5OCYucMGBnQg+JRAgL
+TmWWb/iDJxDemXqNvOGrI83Sg1cPWpkm3W4WO9VNfk3Rheg3RGne6p55r+uzb4cL
+I5dTgbPkZCod+SxtVGMVjjmccLDBhZG+IUtNcyEKWfwguWBsfcrtq+ciec/EW7ye
+/pDs50jADWAsbdu77ZVwzBS0RZubRZL60lCrWmAblmyB1ypPYN8pOCaae+po6M/c
+wyWoKtR56ml7li0tqow5HpwAv1GMZksUIPDLOhmyA1x4Y3JWv4/6SRmY0CUbJK2F
+UR8H2XKUcH1HsZ2IhibVAdYQyQRgAbfFXW/mEMR+hYe2i84V7Hm7BYM9mJGQQloo
++R9lB2MVlz2NwjP4nHDCpVNtkNtsFTAeb6EJjuVWef1+Efi9RFyZNXxWAxq/Ffof
+CI8fgqguw6X0lKFOn+9Lxm+vEu7uwMA5Pke/F24JxoxHibCjJpKVkTgHyeteK4pl
+wSYhYGjxJ1t2fqiBJTFuFAYICWITnMivAeibSp4YsTUCAwEAAaM5MDcwCQYDVR0T
+BAIwADALBgNVHQ8EBAMCBsAwHQYDVR0OBBYEFGvpKU7GGEqgL6msZz33gHzOipdm
+MA0GCSqGSIb3DQEBBQUAA4ICAQCes7YtJ2XELiqi8dY8ukvGuUf+clr+9PeSTBd8
+9YiR6/kaasOCqYtvTuFi0hXYUBKqz+8ucyqGy1lJGjUXTsQurGVa8BPaNXggWef5
+jJqXD3bPzy15abKfFXfZryD/qwcY9O9dTcJWvPumUqpTo1+RW4Nh5/7BiU9Xw4q6
+0ontnyiw9xgl3NHoTvDvUHDlz226HtmYERMCUxWbmJWyimCkbPnGI0qdJc4x/hf8
+HxFDUkxF7/Y4xeeUmDQ8BY/QoYJxndHsk+9+fZ26LH2CFOfOiuHpv2qCC0QeXR6F
+tIEO8sEcVIux6TWCwkQjIrCWOqsObPAkQeC/YoYBHuIpr9DNBoOEZqYqMtT49TE/
+1CA0B2540PenZPrUgRXAcbwQPESL/PCLA37Knm/g0vMUZzvqG3lZPJhdcDq0h9hF
+mZFj9tt9NdM536wx25T8kMiHAREbEJ8vFVNc8l8Iy3LT9u1jOelFt6692yGTSvxC
+eCvbrM3tyvAGKvlFGO3eMT14/ZSiZWO6zhM3Ss5oiznr4STX6sp/JdGjY5eMqfYZ
++WjTigu/LorbWJyXQkDew7XohNk7AlZ+14Or4E3gSU+KvcHpqpDHlrsJ4Gx3HBVI
+IE6Vb36HWTN12l+R1jVlZxWoHxr/I8iJkIw4phJwX3jCG+pmZCOV0rFM++HtIiSw
+O9qPGw==
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/test-ds-only.key b/lib/hx509/data/test-ds-only.key
index 24493f8..236df84 100644
--- a/lib/hx509/data/test-ds-only.key
+++ b/lib/hx509/data/test-ds-only.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAOtsyQ2XkauIXESn
-QO0lsdkNzSIeB4AVSQWwffK8bBJ6SnSoJkyYDynQsmghw7tqzUoncVuLURLtR8wh
-lO4FEVVhLIgiM8JOEsrtYwAQTE98Ypegn5UqmdeOp4rXU7Kyfai3X91MeTDnSA4N
-nW2FBFZj1CdTCam8s8FnHmW7ThClAgMBAAECgYEApDDTq8oYy0Qn7a2kR4Cxn8rT
-VUcSPg8aRYCI5qDo0p49jUy0oVivwp8NvjhGNVDQajZGBe2NFqEsIL8PCk24frfF
-LNUAi0FllQjq4iUKTKJyahqQvUenhVaAUdYJdDfS6wZM4xYc3TxHpKdbp+DVii+F
-HA9dcpGCwumbRv7ZmoECQQD+iQOM/iJAXOJa0QEwqsuAlQbC82S3yoedpX7AAup3
-lme8BreDMPyv5cCVs8UW9z+z9N+4wEB9cmA98vhCxq9FAkEA7MeeLY04wyFH4VBO
-1/GqiTVdOF5mOd3dCfv6xWgO2xUe0h1twIuAmbsST9Bvj7AQM2nAv1EoU88OrhVX
-BY/B4QJAZnqflVqUS7mZ4NqZUhDR0jkt+buo516Bb3U8LO5/nBpQNaG2rPlCI0er
-XBp+1ZpCaZ/Dm0y8KkWsfgSe87OuyQJBANefXRN8VGGWECBGAtax86vplc+8X3l4
-6k6qUg6tGUI3NI8BT64VG/JjImTemomOOuKm/mj7Hi9cErFDK7Eb3eECQQCxNUEt
-Lxdipay7Iz1yAr953GoQAXdgJ4l6dmOyle1wE21Mvsc4okGr6cNAp2K3d/LnOAId
-a09Ph64VsUwGaIEh
+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
+CB/IgCJRaFy9Ch2Nz4ODay/Vbyj//Js=
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/test-enveloped-aes-128 b/lib/hx509/data/test-enveloped-aes-128
index 0701745..a4e0c0d 100644
--- a/lib/hx509/data/test-enveloped-aes-128
+++ b/lib/hx509/data/test-enveloped-aes-128
@@ -1,13 +1,17 @@
-0T	*HE0A 10 0/0*10Uhx509 Test Root CA10	USE0	*H [ِTApc{K	 s'm"iD,;*WlqYzpp
-Xe_!)@R:AK#'pElTsJ9YOT@t+8WF7SׯPrzi0n	*H0	`He( 1	^ 4Ң@ ,`ݏlX{r"#h=I0i\wqJ_-a7۩!A@a $Yx¼
-^ov.XI4
-_u_bRR]o|Q+bYen>F1qi%β4,jt897/ЈJx|ޟ>$b?̿*hܪml`-c|)]`kU
-=vuL`n"E:3t)\wOTOFI%YpA9mxO8+`tNphcn҃^~ν+2%DgE5=[ĨK`[6;1/s6,nڝڜ(,wS_S 71n`p]YߕeFM~Sr%A&ۦg-}~7@f}[1AnhqoF+>R1cqfkc<MbVk)c^ cAtl$}C(Z;qo(/9vb`o>ad7Lk|A0d*W/S2GY.6qDs2#i>]?SĻX*s3D
-U,nU8$GG-ׇ`Ū'CFm+Ѭh]cLpN,ًdݯq iܭxDѓ2P|꼲L{[ZPk1Ew$eӖfFǬ94&m -7qtɤde0	2J ct u6Bpv Vb9\{\L -[Bo&i
-N(N2F'O]WTRK+,\k"H{$IRŏ4oX[GmO zF	sMD<G;0َ85)>̛ MW9dK+!:+k{qE~Voi"냾Τ3߾/LAƱG1ډ+=9i9}T*H&\(|hCqJYL>슙~kTddZe%h;8JZn] Tю`CP	+zk0'̗Ȅv0M1VđTrU*Gɨ'
-qGl@<B3 [e"e6=MR-uSŇoM EԎqoccM1Հ->:/Ftw ;}uAXOm$
-"ϗMO) \Hc3nKn)dxB鷬8vwCkBVX*5ODl"(UWI0ۓ\5iݦ/_EĮްQ/DL!*/F>$r]58u<X.w)NVU/Տ:XOPByխ̐SXhua"9iYk)؉l$l*ux3"$`̻2+q2r#fGȚ.`ͫρV#=b};rNfdyc7P)8?eEE%QuNftAgޒ-$=è8/HHm0,ث#nlO\d
-=s yRA߷-e2VlyrqQ6-Ĝ {bh)R#<*>_$	ż[B<Ft&NcĜٸ|nF^KoG:*8BSό[|]Y@x0bD%Q'd<fF"&C>3}P-D1<j1īL\;۲5x24<W>R6f_q i;՟i<C*7d죥â]	d}!)LFV.lwmjJ IE- .=gNVΈ^] *̝n!<8zRq7C08V,Vg hY
-(>1ixx/.lVo,$P7F܍o+9j(XvqP~C2#uh,\y=$j/Zה[vz-**%{]UVF_2[~c4g'Fï5aMunR
-H[<n*В]@<MK&$Hm栵U{.,=<+qێyr<զ.=q.<˛wҰYd|Ŭb]GiC@+šാ	q(zzuvR5@wHosp)IIj$PC/oU)lOFއ,}Iz*W\Ǌ7/}gK5n̷m{PqP_`H,Xpݕ_\XhP n/I\F+e*Ë<"-.
-@Ji||،Ȧ}'\TMVz0 ]-T"ӳQjXC*(S_iK4a0V@{Cgu [^Sɲxz&>縷u=z"T9KcNH;s8a0ȊȪׄޑ?'|mb鑴O9M>oAf
\ No newline at end of file
+0	*H0 1K0G 0/0*10Uhx509 Test Root CA10	USE0	*H  -OuVφk=`vHDMo۲*Q}t2zI,r{X3wt?ˏXPB(_	\ݩY誄^6NŮk=Bˤt#"\FL`]1#
+̫[D:+t:L
+AMxG,S_Ÿ-"S,d<m`I!f%n~7Ԩ?Pniف7V_!nRv|vΕ3kkbq/NXξO }m<vdFfUpoΚ@#ZRiJo<͛-?Pjp*xHm3@lz9kΌ.CA9ك=v.R0qeCTٯ$f;Z ¡`iTNl 769tGW6)x:ڱ&(1()]:FNױHጾJ0n	*H0	`He{w 	N;J @{Eһ.n_%bjRK靟U@W-YDYR':SKCa
+[P/vH[ddL^~w[Hjhf`a$<(5@pO:ڑ4V7~D+(K"2f@P=ٍ.|:H~HS1+2qw?FAЁ뽏]S_3zč3bq?3q^^Q`5?O(3> CeIU}
+!(0ݼ2ku JVG_|z80! WKy8wqcT뤣R hϾ^2NY 8Jc\K}e?8ࢤB<IcP]L\11czrZ;>'q\%PqR[2x>p]Kg@86ˏ)U֞X)G-u.9`&0g o.se#\ЭAb"#Pu9TYYn`(S{ta}u3mjQl>Jzrv~Խ/aaF7a5Sz*
+7 %4%oXVs0+Zs!͙-d)iGL(+[x3tGR7^,SjS"g%$Ϊ~LJQ<E.Hwۉolp<`]KX 'TeYSѷ$8FSN%SLq]RwZI~DwO 46T_.CSU$rIy拧貔{+af\|))I͒%F͖G6{+	?#NO{`}si̽	ܔF}
+OhV͌JRt+awi7Z?iodMwnGmTάH[liHq,Y!$LY(:W/l"C`?	eRa"tp6aҩh{nZ9u_=96Jl3;R mKiI)nH<`Gks3gWsŲD[CaZD9RMTkrno`R^ńM.|ThUDЈ=(',jEfq.L(An6		Yim
+(F!@\JSD)E.mXrx&K	1ҙAC}z{%=FmC\{=6Ҷ>VZcNn+ܦf0:r<a1IO瑗2wY~|g8Z;GsSspMF]sq_Z10bx3RylxM:&|ӳӸ~G[kG/υ}"$Eofw:7H;]^%lq?%\݃-o8|:NTX\U8G2<P|+2nG
+J҄Hn^	xτ
+7v=$_ʇ)	m&V۬ƛ5khio6`/뚉a~U֮YT6* J+WfDdM:Z9,(UWK;Zz;bݨ.S	#ei[6EaY"zi{5w
+egj2. el<v<tq0Kk ~%d'`1Hz㗛?H"[
+K}bd4Y-#=yxZ X-y^x85
+f,I <ptU;+x _`ɺ	#.Do˕5CCGC^YTgl`p{ns}THINOW-ujo < /[;/
+EZvwyNf~*.15[揞庂}3o2W]3hEc>k̅qiHpDR? /w1lq+H9>>+P\G\_>0y;j+F$^K"Q ρm뮵9X[mK0/Z.lAы淔LL4.={=ekgkđRvae;	0kO@ TEHrc )KgPЇd79nS *i:WC+S๼;8udS7T4W\4\0}/tw^BZL2XJ̓_)"MjˤѻڋsbZ弮tȺZ҆bϙrP$W5^PVfjQ^בqXɢE`~GŋnuN}H7NXqc.2L`1D>=V)@|S ݆Nwixxb]|pT@s
+"t,Sji,8G
+A$_8n'"љ3_s^%7G,۷)1YIeBq?T%ܩ/&febt̺WYSʂurN`TWŢZp0yrH\("#bgŸn_q:M!_%N?`'@F1S*Q	|4"OYmIHqY|S9˪J 
+bNGv2_?82(֧<d;FeeLs0V((\r.P	
\ No newline at end of file
diff --git a/lib/hx509/data/test-enveloped-aes-256 b/lib/hx509/data/test-enveloped-aes-256
index 0c91acf..f943713 100644
--- a/lib/hx509/data/test-enveloped-aes-256
+++ b/lib/hx509/data/test-enveloped-aes-256
@@ -1,18 +1,11 @@
-0T	*HE0A 10 0/0*10Uhx509 Test Root CA10	USE0	*H <[bw#/fDhnrqvFϡo)TCxut."2/W&;-˚uVugƧk>حAbj5R.k_ 0n	*H0	`He*u̝b~ݍt3Ҁ@\x!!?
-(Wk'2kAaGG^t7܂KN^A/U3Zнb6V5YՅ;t<Yu3k;V]Fȝh|O>b'|S+uBro+ُheWد
-(*0NԢu'X8d{>DSZMPWjOFʜ&V9P6yh7Gk,(ih'tc=	l]n}`25]B9>T_Y)TkL`juXطrB.۷Cytdy6̯N?=;A<|PJĸ4k/(\Ը$5CgIMnP=koR#AYݡ>v5<sul~T:p%
-5gܣcKȎ	!?59<P@bӹ V|X`rD8<jvUU{RƬ
-9L(<GL!w9U/?uX]l6?Sfmu-y6|+À&;Ý^!ωZU}pK.?2sy9NEms:&G#?ۤTl:RޢRW&0[o-cFsy%@
-0*Wsy
-8J861de!uGEǞ&
-h
-Gxx+?$ݺx8.-Jͭy=-1yO2߆Hi՞ꋮKݒ1Լt=a}VqEKdZP8034~BCiOUwQdB®<Cuj:#K\)K(jXg#|GI<5q(4u۱Ů7Jw^^u=ySL2fDSh)[mcQň aWLX[֠w:W@dAChp_&w 7W:7./UC>J!y&.cQ h+*ѶWU&~Q7 ®p[c~]7W{Z7?8gk3p:2]Eј	Jynv?=SXi2pm̖Hfw(BOݝ]J&;Zn9~x%KƳXTo!TGYOrLPiQ&J@C͚&z9K&+η1{ط57W^M_kz?:'ⴝgM^>v!=覲Kc^-%L:=A puDݐE="`m_CUJM^Щq8(Y|`| hkqJOoj\Mb9k:. AvxU6Jga`j퍐=UQC	mB{Hقo`HNR]_}ajTby42>ոC;韑ϔrͦ)DP|v"+s,1@ɻWRDKS~|<N,,1`uxbe ^=!SquGĪQChfz-
-hdȑ]a/2Ʋpoe!PQjkfQvرtvTD¯<ٻ"j}ө@}{ϔC3_%o0$b^^uBxBξgW4)n..z	(KVNχY]"gK|-Ȓ+SĎH	>[J8Y9m0 }ǁlq0}DO2'(%8@Tk: e#6SWK;)]-1
-sm&ZX'%!04xcO!\iN#7KFx|XzI(9%o&= QNޑt[=ڦWݤe0˦e]6yT0+9ZAd1 }Q`ύP+S^$^/ݺFj\4K9(3]*CfҫNc+?8WVn2j0}4=X؋&pZ`Y̗@wH4
-n$y)u#21ꕏ8
-27ݱaYd	'*5$Z˦O,0uQhj7Ug)v8Ѐ:0umh@FQkTL2ʪ1;}*CaQG!J#78cm9茁Re$CyIRJi^9!V.lQz@RfSdR_3`	^]{
-G"#J	δH3ry%n>u@T$HMdXuU)7SUg`3K;{r;?
-F1Z
-8C&uTpUP29sct&q@S"]d>ͽ3Kh"e;Xhz@:[VyoR wrKD7Ua0!Xj\ 4+pZCW17]?XN)lLri)aaQeJDJy7p@q\^,M
-؃iy@=g18qQa.3o-Orł
-ףZ󖓱=v(_-
\ No newline at end of file
+0	*H0 1K0G 0/0*10Uhx509 Test Root CA10	USE0	*H  A3PqeO<JYqy8;	K9 IO"Վ"AoTJʭ<]B4_~;̓N)$`;-#Nf=lX><^"+)N c6I<,9NsC־J#! J\4&zbWD6!Pl81ۿAʠ5F1<6$,\z9iCq%$utBD;zyS2/M$i͗O¦{P=2i駊j1lC2*翵>!'DGW $:A- !97d<SD	Cǧ;eO;/r{I޿>3}CU	Qx
+yNJs92> ^TAe%-VLݭCRX{.H~hw\w@%oe6m鵂Br҄zFx<-Ere	v$N0n	*H0	`He*J6l?p6ဂ@V=bĻܦf=$?W#OH`~5I OL>UIyaͷn>8u%s@EsԜNiY,5̩C`w\#|4}OC\^0" EWȃ\zoC]]jqp2с	9ULBlY㼜ptT;Hܨ2M4:ų]6xApPfrOF5wk0rnOEJ8ĸZp史/ZaQ4R+0ҙ 	b
+oZ+\oe&~ZN^Hk۾k{ R5k7}u>Dyl#	b sq3̝ TG g0$~[WV<YrҧSȷ rc6ȤԳ*8O|IifN"3ٿcBש8E]ѿ1x?`s
+5B2(_gD{fa*OG1M
+.=ވv-k{zsI%a.Kkp!)so'p	5er#%)>O)/;a^\!@B mFj r/Kh˼WA+ք%pozdQtFʖmZX%Ln>:xkFj =]d,Jv[6gk\,6(^!i9	S8y%ˆEAF1>Qkۭca&Wl\XUM'nfȪkv\wY$ٛlt+.0c_ORQX߯IxWA1SʬDY<֥}w ,'ch+웤t-<9be`@k=6q̦>6ɞmEZ*4Zp0j.&:4Bg_[LrAH:2vf`Y,u(1W2Ҥ,|	8gﴄm9+r,DəT͖zӇEV3w2҆${5wƯP^H)3 ar^N&5ZDm1x\)+IH%V7c``Q(z&HpA	f)؃}Kz:'?T]<P÷?YMIGnoTjid!H6S?9F`XuŶL7oG33:k}q#պHn0&N2@νj{J/|^LV5![V%&m+Y O_5ʀS5gpTr,(Ym,V<\뺠	ԱeE0ͯD"ʯgn.Ii B6i/88ڛ"ɳཟie	QzTS13lN9 tyQAJ}ie4fBBTr{O 
+̝vj%OcHsoB_+|E)L(sXHY4_/Gywo05TR4Scb6BD\4dAH1+%̈́O\vejȿnxhE/0zM[d(1A:;<[YRH7oC	M1"/[3vHVR8/v9s;]S'~,1yp	3O؃_-bOMwzU
+8\ygzW>Ҷg)z9[qD-V=4PS˟ka6ZgkM}~S㘽Y^tosWu湏D"64QxpV/:m,0AzQ`Pr1wY3^?Kq6*&׳8̭RbT3b;V %49F7=,1M^HP$EMVpJBo.f(vK_>HxO!%\}˞{H{~I$dù	oL
+3$`MNRG 'DLF7?h4fkǥKĤ'@dKt
+&jb>Sh|㾌bI$gTEoqȸV>&5XgŎrvOB/B"ȱbF:tL=h2	k8 @.)Sfnk>-y//J얀f"=VI<_4xTx FfG^S[	!(ζ^  ]}Ih6ֳ@a.bdN` xL7$@hF2=ڣ/=k"2Jk,viO:-ue`91MkZNxyRFG3FYI4*o9vXuF*:?rq.] PQ}jϔ]dͿTeǞLqD4MU1UhBHup\ݸ(E?@:8 K:M3}{A1l+/oB,"\35ƙº6<c)1LeXkᣎ^{
+ҟAx,KC.k{Y%!FiT4|޾mIHЬՊQHm{qC0uϨ\b6%?O&
+fMJHtA溸ˏh}[|BD+"2xJ$^ƫTlY!D3T(
\ No newline at end of file
diff --git a/lib/hx509/data/test-enveloped-des b/lib/hx509/data/test-enveloped-des
index 404a55b..a2df2df 100644
--- a/lib/hx509/data/test-enveloped-des
+++ b/lib/hx509/data/test-enveloped-des
@@ -1,11 +1,19 @@
-0@	*H10- 10 0/0*10Uhx509 Test Root CA10	USE0	*H KCxE5 frCh;vD~&\,$c\)ط_;t׬5sqz<q۝>:]
-l_c)a&5'N@1?9f'${"i0Z	*H0+X4K9Y8+_ᮩF.2*d[s#wCgYz rb"P_}Q@g7x_
-d.(Ďg2BZl3Uʾd[-u2O3/S:aj)8#ɭ&z+wV\Z[XiKTnjCaGK_b5f8˝	J6G7[MFNyC1\soeerzh_a#MLMך(d5QW sɐb6vwm`ƒ#<}M+<tǏZ-,-/ސ dsQd"9",I1#D]gYzJo{D.y0 q zM(l#rȏu%N`" Y!̡V<L6[}ԫ/p#1caۧ"bml__ć)K2;ֈvb2	T:^UX(֐' )w#NT6,.y̍JqFNMxtڬiU+^u^>qgVOilSE~-%4IpvաEs'DLq:SSh$*K9*R:k%;(i8Ӽ<mcz;+%;BVX3WNE>Lgxob<	5~Uhi:~i=9DL%lq)یG	^=RK-OUlS)qY!ߎYnN9-i7+PD|+Xu8_E>	mGS\V>3k~ƟDOHBf:ıFR<nh}D
-!Fp6jt֘" +M)w1r ꆟ	<ׁPNzűa7Eoƫ`BRŪPP$uk@~MLTL7>`\H!|iRs%wPZ%#1RU^WESngx2׸rI)KEw]BF)>hh1̆`VVUҁ]pa9e/p=0ܣzJkp8HDy P_l~P&IJY	14Y7cZv?C^~}Mg[%ҋj'sQs:UGvX_.
-+_W[,iPq	"ZV6CwN-/y0Ѓ2:>KFbWm	9m>وIk+-juݾhE,{$Sj5iW5Nwn«8 c__+b^]FX[{bsEv`$S$rޥqFu"!!OA[*,{>@E&9ll2O3\pnf-n^;
-ʌ7ġQ6?Hba22Ճ*ä R=%t`BC3%X<`;܀-/{.B䖻gY*(w.1bJҐ<9;Pez#:
-[#qhj]o'yt	zX92*??TJ&0gzK2S44lf,!Fp{ZQI&h}|zlq+B<ܐ,ҬI怋1ƚn/By{E57p%~T>[i(P|5T;s`YK	τeX5&uhVGEmvZkf'Qi=UEZZ=ŎWﱱڸyYyV9:IwFZe}OɧNxW;YM%8겱>Ǹ@/5n	IߕZƟV042_P
-x_k ,Juݍ!?ʒQ;KH8p^'{$3Ф/fS/ߛ3uW=&]8 q'T~J2cJҪ3\ESElhF	o`g`zQŹ\TeCB[L/s4p2{hAJJ{A xVBDYNcx?v򫮧&NL{
-Kyt`ie8OPcU(i&C`Nr0uPB$N	QM̄מfH)6QO%M/w:fGYXM׃.iLn59 -䲷$K+L|9֪
-":NP'6Adpvv5Wb:d6,L+ܔcdErdK-N޻z@.0wz/Uvq-ϕԋnE+&ږlE$''^|[&no>d\/`^Ef$N8*-ӅEMYߏ.M7X9wD	G']5KĀtU9uTnN&񩽘	K֛몐ծy	BB3)
-=l0a W"'hN⍣xgYH96S/1>bK@ZNn1CnQh2f_
\ No newline at end of file
+0	*H0 1K0G 0/0*10Uhx509 Test Root CA10	USE0	*H  U8T9ǽh<s1_PNnn5"v9lV$fxJ2$@zt)uO8
+8ARy1/uAݴXyD<Be/: LH	lE*4iRh@oɂMD}7qqw}N[<ƨ:A7v	1%;w(鷢D_lNdۆZ7m%~#(1/62//-3ԎGP9O:;A(,+xD&"h6!Ƃ!^\vs67RGƕ 1
+mW0bS_G"P=mh1[ͥ9UBS}Pu_6nNO^%gVZk2Dy{ecL,oNhPI1 'ޏ4|us~,da}ݹpu["߅$s"I'e5?l-/w8)jE|?f 0Z	*H0+rip׀8/E	Te7iQ&y[JȺ1 dSg&;J.X}UsViuTYZdJx\!
+m?/q{$W1d3ަi푶@hr#ydeWA<QnCk| xv'wp2;DАVdlvk-(G>- bٳP=^Ǖ	 g1lD~ƵM
+qE{
+*VDO8	izpurl@<>w<ꍫ/\Id/@&$ATHMK6V5r|ư!-(7dW
+TS鈉̙fQȡdȔvB	I>ɇ,w	QlIa\E}p\IbxOnHmS`w2F;\[UdÆ+u#ϿL5+DV~Rc5$5"@3ݝ6~hF`tJbpn?ENX(AMYh{ϴ/,ucg^b)	cs[)AyAj`G8~O0:_7UIQgN۽30Tt;|ކyq"U0WWL	]ʅ.*~	#wsZc#^	P{Vo37EO4BPӰ΀$gm4cYCK>S!!.!P١E},)_쮽Y(!56]Xt*~ir&EֱMrEʒiԕSld~`?67W
+
+<+zJ' 1]5 4`WFjgFUVI!cJqK< #+x+:emm+$a**gk.L{&WXgxNJ|IqU's`|S u^eXH"Uj/e(Tjx[&5p5@Mu6T13W㚹HZ2fNrZ(z9/`a*϶0˩|Lț-Nmcm_#e8ӤHV4$An|a0k<[Wiji0ham ?/czd	шL2xJf|d#^!Zj/}|Z@O
+kj9MҐbc#u\#J*?m|\,$͠jL3d;
+ԋGAgS<v/U&fE[]_C[JG~yp9?W>a1v4$bY/$ĒhX=oG#67xQ&Z{+]?CCqkg//֗
+ŗt!4]dEU!GDXR;#iBѶ]D?,Fav+y)OZ귪QF2hNVUۃ']~+PrbFy]>]Itah~~9B,"r߳?4T_DtJbɘBhkZLRwK4֝3HLf)=`\$5OԠSW=M9#DUWD Ԗ4h,;4jh͂7ul-r
+!D1(QoPKQjP{SQ s۽KNNe$6-H N1r`2((r٣O@slbeuw.ynO.8|]m`ku(/IMɁ9kEKޫ	۴ʐb^#IruMPCQv%zזx
+} FnN޷f򧰪9W(
+`07i h ̟uPL!t=Mܶf)h-r[3M{0b϶,މ:.eG5-H]5q-ҭ 5mv4
+BszOőZlf܉۝'5A$"x i{|/Ku]͍`^܎FV^oF~	L?='CyRD:!5,yd}'`MGpYgҎv8$Gbj^X5bCa=v\{׊l'7 .ǧ{ssK`edcoQC BwLDTs~ܫ۫ &8=G(<,~dJK+JV'~Uj"X	#X|ѣ
+.bMor0׍3ϫ;W6cU:?8B0ȖǪq*bRw
+Vlҹm/J%E]eī`?֯oJ}5`ՔWY~PJR$|MC=+:M!i<>Swe8a	
+%j)]*hDJ)%£f *WίD	Z:I%3b5AnTN݀71삌k%xOfEWu#4{ qUݷL9׼YxL6#&|o|s2*CݥP(C$<NqN=IO'Иj26r к(N^?+
\ No newline at end of file
diff --git a/lib/hx509/data/test-enveloped-des-ede3 b/lib/hx509/data/test-enveloped-des-ede3
index c5e7d3d..d0e451e 100644
--- a/lib/hx509/data/test-enveloped-des-ede3
+++ b/lib/hx509/data/test-enveloped-des-ede3
@@ -1,13 +1,12 @@
-0C	*H400 10 0/0*10Uhx509 Test Root CA10	USE0	*H Yr dmy}x4T<j3^m45'N3+tl,9>!.ce
-?p~O0/j Zg2pV1jB	
-KvwG܎[/&,JO0]	*H0*Hk'YN08&""NZ3E=e E%5
-Jm0]w#iy7FyڐR#^
-NjPI=w-9KwtvL+?7n#Xt~{N{:!c'*{}O3V8z2CQaS)b7"[?J7[g` {aL6~Go$'xSR"㏶ gM$O݀|ZFP :JZYV@ysغȐvv!uDG? ^MܠH8ǭV[0!l}RȔ|BV!_+0Ɏ[qؕY}bLa8+B2
-]B:l.$Ö5_q 7M4O]`!%2L~uL6qOM*5c'aN1hS\l*sR)xAմ!Z	Ě+#"oͽSCQcx1`!g
-WR<˅!F#	+g_[p/h 㓞[L6xf%h1ꍆXxg An3V<sxjr"uOL^-W:(.'<i>J;,݈t;l.Stap 8w'*a#1qFKX4,M;&*bBcK{OЮ_4¯1euܱO+ 2.sWw0Z8<Iw_P2A._[GS>uc>dS?~_VgPJ?ip4.w{Sx@T\"x'w9BaU*)׈(a0P}^l^ϣ[;;b֐5j$aksKn4"$}zKI'NRj p*\i"-~sP%q<Tʠ۾qP2ɣ	sꝋqzl_Y
-{b$?v@~83YzbKt2F-!Yy41I*QۜC!r*/P[cupI,0aK|m+BqY`MS-
-'}>p>Gb{Uj1Iph/fqBV<;8o1uy nN_C\رcNa;*lAóbw70S\ĝѝc%<~dS`4G?ɤ=n)e  s(TdՓRU&\8^b 	ca?(h<vj8?x?&FF,fdkڵshwMuO}&!&^$E\K9E$j;ր*O[R{C%9!#jg.CvMWou}֜T%f$#eWsu(L<vxCU_~.Ixm)e0&sz&?~ @DNHe@B	,Y:;ECW	u uNm긃9  -+މ%ō!ϦN9HIm4I@FG5Ɨ>^t6/lSb}ѩaͤ`!Y#4fj0^ګ̂f[_/UJ7}%Q22B5\_X}R0K7לU$K'魏r\J'Jiq6,OHi"EB0v.:\q
-$H\7d74BDFo, %D䌝b/>9ߥN7P/} L`Jnླ@4xJGscٴ7nsVA/4(SL_(Hz`84tM-hЖj!|O¡qʽU_0X7Iݳ9.Ou}%VřfN!nRTO?QVKoG˃v%КaXpl+l芨u)ܳ!}˽c0}_[̴ʦ`cUGp1!6bp{HRF}s}"3t'\W&['1	ud9[còK<~y|o2]BA)|~	6$+
-9H-4nx_[zPp;O50;(weU݂ڵZ|:J/x;sRDkD;a6:44܃+n5e|J~
-Y8C`X1N T|9 Zzu6_vr'>$&gQZK'rڿz9U>.tB*Ǿs-VӋuVWN.-E+d;=y7/+
-W*ic]{G	p&hlܝ"!^-P5Y cǔoG&m6\:qb.B|'W*Ukf',oPתyv%X1	:ٱ-:gi<}kW!mf=X~c5m؛  lF'9
\ No newline at end of file
+0	*H0 1K0G 0/0*10Uhx509 Test Root CA10	USE0	*H  a#J|P)ak	9rsmp+%p /=:\vuD)HCTl$fsz;FwWc8#'sݸjq:GQ	zj1IY";ڨM# ӐeKC6.Jmt5
+~~SkRBٶ4xRz 	!u	4[j"dwMR-QQ3pK0B{bgi_WfiTܚwK2#;i*)ogK86f-i:s-UM{aړq.v&Ɍ@Š2]vtNAM̼qL.8KP6{t%sWB=Y]>YϜ^,u=w=˻]ɭ GF#Vvj<<Ƒ)f9=i׶԰P<6Ÿ>@RC0]	*H0*H_8z{FNsr?Ax[_jm*̓;jUHxK)h )l\3KޠuF2D\{eD;ROB9wS&⛿?6ѽV䯨ˡy-XJ"lgi@Ċ F+g5Y=r	5ɶDEFm#noۻ~Awz:10'Șx g=nT:ޒE0(qFa .̶c8!?wǵc,-9}/m1OPzWrw'N"@.prcm+5}D)fI98A\nֻ
+AV.
+loѷmax}Tgi<E},㺂7#9#&qYJ7f	٪"t2Ha.9iCMS\-`1#0ؐHC>p~Jτ-9-Jmwz9=bK77CO\1&y޾xoǙU<Z(r:>FhmMʅvsN
+)Bֳ/IBgE3&F:麅kθ=N6<k0^~^:9aԑ~woOb]m{+.re֊9!%>oWˬxZ=`&#mQ^tdw,$)>{^b,)VU.x=t52'
+#%J&ƺzT{<n4pAi]]cae\o\S.2ģu&^,LxK@VMq3H0F]PLzj"]~dѓn; iBA8pOIg!w.K@ݴW~'}13+2A\MG/Yy@x[n:(%J#4`}S*E% X4>-pWLOVň(ɭxO 
+fh?:A#ߦ;&N s{{
+Tq $U~Gf/UV`Qi65%/$v2^=E|{Rj(js}"RQnA!-{#CG%V?vTb&{.'i>wbhA@עN<tLv}G\F\*Qf'%ޅ6aW$lmjd	v:DzIdLl`Htɏa4UuK87}k2cx@&A\Z|k]}F٪Zvc yz{\ \KZhV{fau"<▮Y\* {3Iy)qhYتlgw pd[=}U]]-.+0f(L+_9xwƤm<:WG[D"bk]v9&Ho8qV`;ޅsEt'_*V/L)?(Z8&Ye]G$Mֺؖ\كn8efZDbc8;N,SKT(~98=
+E)UiC|i.Ja=zmracK/jW"vxA}=ݤ;eB38`}a2_ilWaqNt~A\2>;eV`B6$"
+D=O~k_Ӈ.7{@VNHfeE{<(꬈PpVb/F~USzH4.Zii^6{P3w0ba>`DE`Ll)M4t9&BǼ s%aB<:&Gˆ+}:CP,Fcm~SKSj&Z_ bZl8;:	"zO i;W+/̾c-)VI冸AHP!ɿqv6cA}bOSCZLLجwp)97'3z)[/ͦ;z,x]W_kۿ~Z{-fyEώ9l -|:]H7C*WH+enZK.޼{f4LJ%2COcʟvKnꤋ{.i,j`UKnkrsȇ(V=o@&HrRLV@qe<CFhĄ.Aw=CD	\ƊE8K!p!^NRЈ^K ز|DOPr'nU?LI#y%mh^A\&[F4Zâ6BHF۔?!zm)L/%>FDN%5X9\i)na Hvrm"SdK<s/yUX)c2e0] "[jz_^ݖ1|ώsƸrga;'R#HѠwct/d1Fȥ 	+`4+Bn"s
+)QRG?sg-\:(mnp0n5x%,ClPboT\292&5Bå}lO"b#dvZ
+y%VGI+ﳮȦ R&zwPШyYd+M 0/Hό;K6Jw/΂aWo.G[RQQ?_Jkjz5ڧ8"fK@lRƀ
\ No newline at end of file
diff --git a/lib/hx509/data/test-enveloped-rc2-128 b/lib/hx509/data/test-enveloped-rc2-128
index 75d8a0c..ddc2a27 100644
--- a/lib/hx509/data/test-enveloped-rc2-128
+++ b/lib/hx509/data/test-enveloped-rc2-128
@@ -1,6 +1,11 @@
-0H	*H905 10 0/0*10Uhx509 Test Root CA10	USE0	*H `6]-ݶ.SRtޕV:P*DURx= >A4[k|gdhYkUhDhVS+p6o>RJ`l)lft0b	*H0*H0:յ9Ԁ8A2zc"YlwM-Q[&/	*i>m#Zy*oBGe׌ɑO;˷ye(0ȸ,G bo+.,	/ǉZ;UZҽ8v/~ _NBs6>Q>{8*܀(uU"0i#;WZ%^fŵk@GJ󠈧LL4d
-ךbLq(:1nu9ZzӞI>S;&.fMJ7\Ǣ<h)Y<J*U~d(&/<Zd5)/HJ O ZFȠL	ߕ]!EQFbE_&\lzˣu$+ r\_"Pi H_b__ZIl`*Ik=ie8nb}")gࢥe#@%l	[6QSɤZ%Q4*n>eIwj[df.bmt!B8CY"V%D8mIa Ttݧ;{&ʗgV2d:z2Uj;w7I+J3 ]q	Ǖ꾐4	Udt	nS&@6LWuh`!էJR3lgzf
-BǃjMi,˪qNnN]sl)sGRVVA`3x	w/{B9Yť::.Jn8e:
-^I'!z'BP2Tn(d R ;؇VvYMVߖt_0:쾾7$&D)8ʴ/>;Qh9אM[oPհrѯ?^;fNL go}$H@0'ÌtL][)QwyWʝGӑT&mW.{)e2x~mڴ34W H?ߪ*|Y{v<#J2_.{X~[JNeіb#	$iSC	L&;* f 2B(V<?O*D4.K@ɓvpYI]">ionqF/!V!^|Ȍ.ﻢXK{b[E{N 6h΄/`5C іPHR]9gYW	SƄPkoxyCLf0.0rKXXBA5o$ \$3r\ѐgUGT!uEکĤ08Yh;*4*4HlN	 l;ƙz 7)`ÁL@QcN,Z2^{lAduĥغѝXUc4-Y
-3=8	`KMO"R_]ZZCZӒrG.Qxw8fc!3nM]&inRᆘBW"0Ӛh[F'8_[v]*EEBR]ZYEg57.&Y!y-eumayZPi:aOü.YS"c.Ejb[7YdNIFDxq;Z;'k)4p7&x6j\_aq*z*(^>#4 $J:&\yBvh_fh$9@*[K΋p/ي?δjc~NƦOȢW[~ok#Vo)xaފ5ʀ-kw na;wvҞ/cKNoJ@1|oo!U~!֋eI}rΔ7`/J1kVQԍ>gB}| js_ny3gÄ͍17E{?j6}#SB.J-}Ij/tֳ#$)B;j}`D"in4k?4K{k=lY%܀_d/f'
-<D,Uja@Q'u5*9mK̟"I| ;~\cMVd)tP"ǃXXzjA̓(o=/:^lo,+ clTqzx]J	ynҲ/0loT	14LWvl;LGN}`OG/Ұ>pHˀMzk;+g)S<@TQ-%j%;|ΦOD`,+eQý YkO٬﬛+j7nvwv^LbŇ,,22>=nԅ-8;x0SXyTjgXFAm;91C?>TM@69W(Z7e*:;Ũs		wdyG`~QqG~30NsE]٫.q/y0[q&}_⌐ougAZCdN#dtX4{WԶIͨyvmFmimV(k,Zb碷Wq2"uxk$ɄG6B=%0Q||iP%\2b-ޕ;bJk[1 T.y8:`17oXfU\SXa.
\ No newline at end of file
+0	*H0 1K0G 0/0*10Uhx509 Test Root CA10	USE0	*H  \LRƜ?({I"$
+dyNm|צ~hV	<~vewǼdtqѐM(|׋`EYI"`ƾşi5s_G OھFzHWqm:=K@vRSCLBa^c>J%2!8C:s#-H\A5-u/ɀSv<J^U 8mü?{gYBDJeD" V5ِTͳ5ߴۻW:(|ki%Sb-&>zR9Ghu16X½O+\AmC׷KD|.t}~ɖi~-/(ta=ej&Xi;{o~-e	tM"e*KR,wbVmY"5Jao[*k'.pNO:Kmui!Vϝղ+INx@0b	*H0*H0:3|z&쀂8J$H3Zm=*(e@9MIX	90`&ZvwI-#v+`[0{d t]lxɻ$sf11ޯ&?Ӡ_wÂ(<8]h~bTŰX4B>0hu>?20[|'?՛G~v`Ve&زn>l21H(yz>ρ[QXVoql^<.WMw9-_YwĊr3Vd㓴T8MdUP8ON{.6B̬>쀞$*WO}ҁCD<̻jCsMbSSbga4jJfr[fƭO MG\ޔ2OMAs֍ȶ	*Fz5llK|	c_yY%9|Vk`!I];kH0j<x!54`"F8
+R fKָOȮX(41ula5MfI7	~Mu J/דDk䖠|EPgEVl5aXzck$Qw\)r8aDXajlU<( F5]Ɏn`+{#eGc0-Hve}w$ZDS/ljVn&/!;Tlg'h;#ȿxal\+ohԆ&vf.{T0gNQՙ&!eoMPٙnmEUk<O]wLEX[֙w\ȹ>ɇN P'y^rG3H^K7qJNEgimoqм2/+2E|j	 3w4`Hڝe@bƜ'rs;JYx\D쾑7u		!/"_GRWA %^_ŔFT%+.i$uVDgYFYCuȶD?!$]y
+Z&bj< `1 $QZRu m@(`ˑЭ%(*ާKbJM@fFFtX*~3TL7,f?:EOLggٍ*"	0G
+ɞX=s	㋴:rr(9_j/ϔ`Np!9 9ed䒐܂J2pS<v<̌Px2e$w`_M<%kƸ8ʊ"¹$(^RY-5(Npt·KĎJPM!q,7Q,_z̝C%(0k"yI
+ ?_ol=*
+ָO{էKFe̳]<àOAz4+?tD}Y(|s-X	hU Lzb`i<(vP((P0*?-b)ߴ!認e_QQW??^>b3nRLC@~H)TqR/-Qs^Ibhk &?(ѭ%ʼ1myНb&_"wbdc3|`E6LS5jz2Xn-2@ޕq(
+lۋ?,-d"ӫ6A a3"ԝjʅR$7(G081wLК{Zvy
+a%:up5ct.Q"+Y@AJRCS~2Kyt}gmHZfކ0גPI^@e'Ivqyu;uīeC ;U)2tӊ|] ZO{1oif_j@.p`sy2*6p4o
+F||vϽjzņo8Xtkoj!=ƚr16,g!˞A;aga$9IO^<OlT\0pDhLQNÄOHB)T"` BQnɾnadD;NNPޟ
+t&/]ܨ^&A[oFQȜ*΄p_vdgsh_Q#=+dU:[̟vfrAtcRWh%sr=!#\I$&#@U*dBsiyƆChᯔ+\e*$Sß.6OvJs\ԑJ!N#*|d$uQyH8(cYTjJzP\OiYԟvUf+|'-1a~ل_G"Z0)cփw 8@stoM^̙^+X;^p1v֥yz5kt:1	ma4f4^&}6Av2";Mg z|8(PP9_<]<~3@{ "7K?S\'\NKI^B7;)$Pnߏ%<Qt>kj?+3r$TW@ʲĠ0Z5"e1M)AjpVLaނ43tˊjI7Ar%|	#L(oc#TlmᗾSܮ{*";o*fJY$NA3O¦g'R6xǭ	owc𪞮<+C@-7sJM
\ No newline at end of file
diff --git a/lib/hx509/data/test-enveloped-rc2-40 b/lib/hx509/data/test-enveloped-rc2-40
index 5ce90dd..13c5764 100644
--- a/lib/hx509/data/test-enveloped-rc2-40
+++ b/lib/hx509/data/test-enveloped-rc2-40
@@ -1,14 +1,17 @@
-0I	*H:06 10 0/0*10Uhx509 Test Root CA10	USE0	*H ϙ0
-VTH#<E7"?d̯/åwLD{28?vH4^ћ>{ɔq5ms0Gx%t.8t*cgpP	MZ0c	*H0*H0 8=:㾡L//?|/̒GWpϥpH-ūE{[Ȑ`W鑅8Ikg\kI*r;T)T+=r#i0͕̱UM؛.OVJKVz4׬+r~ShŐ(uͭ|޻*ZJ|)r}(Jl1~Kb^KSl7-ظb"\DU঒vUGE%￷j;	ܯ	⠖Ye$-/	,8H⒉fдx$."J.3x(3_`-Xx%bw'XcG+Gϵ\ئ sXȅPEtehӶ8/[@6e4an* \5zb l}.,RRerm?vD?Ǩ	K;FNAd2'^<KO>SZ3_I.gp+xhhxOy%p&X
-fkZ(-uuCa'	-*Iԧ4S2\GCӚt,}3N8XW|*2ybƣ8hFjq7ݵ'QcrD۷uzBH`ٸ|~#N(fT[9C> g<[2ܲjL7˟}Il:9}Fv7Q,b1^&`(g2г.Y *~f4\XyGH
-s'^Uh-)Р+a:@n?«-^׊1j{ =.!\I}PN!):1^#scҬWLq~t5DG0#
-Gқ:mS+,lY"g@b/t+4ڏ0T 
-0Fy=4,ӯKyG˟Pz{yYsS!|ŽA(ReR^DMMfVGܞd۶-}ݼH)ذ"máBYצ3^6j	OVa}\dbIRFF@c6F~ɲ[aS|iݭUk?~hCmZҙJ䖛^Z+'-bOżя~~ʦ'5Yx ɒR%xk31PwUՕ>~X;1m.)df9 K]}$gSZksI_tQm>!{2E2ƻҨ{^Q~OմZ<GHqq2N6Ie4$u%\@h `2`;DzS\nH2&:^J/CAIͫߖ]3OzW6}G""ycӁ>!D^i0ׇ!*.2z+G^C u&]% FYjfN؜;0:nk9V9_5)lB#ްBL8!#M~o~hB/"HnKol##3d' H G
-%\	ՏЛ#@@?c_t3%s'!~|Ydģ#I9ĩqLkk +A!.UQ;͉ArTЭ#z3]m""Z(lX+XK*ЩmXbJquJW`Pah<0`PbW@ CUw1OE^q[	K>SP(i)POtqVﯨű]Us5e9,HMNpj<3*1b-E[u7U#7[5^9@`h]gƛ&k1}+A*9khS|E 9,ԜtP 1`Tk4.ɢD`ЭBO7u}~jcq-PԥEZeZn]v,	X?֎.lmOwŷ4a{'y().܂8Rv*:YI9EbB]O]D9(]# 
-S&,bq a>j#&BS4CmELyc
-~enWYMj}Ef<uĭXpwPb튢Zڥg,ah~ +o0;oFgJG,-:ބJ##PK߃X6ߝ]]_G 9=~W/\uL~݇\irgyOt۰YUgOM%S	
-fLRG/N];ѩPlκnQ"IE! FGË
-w/wŘxfH'57!,q3+{ffi.
-I~cǼqgzMkE{\'boq.KVS^Ah^7Wdڢ?Q]S+pBۈF_4Jz?B 7	Pÿ#S/Al.:O۳z[;Q!?
-Lol3N⫝̸5cҭ_fz#[Y[ٓ~V?h=Ar6a/5@͞>CG'#UBut!ځ:
-4)r\]p$3@rvL)j3KMTWZ`'{sf >.(eWz|#υTho4:J 
\ No newline at end of file
+0	*H0 1K0G 0/0*10Uhx509 Test Root CA10	USE0	*H  9 I<A&nAy~s[kS	dEA8
+7Ѧh!nc!]@QAi)'<3ٻpRz-7l/2S;$[יUrͬ.aURiCFv:\d@V=$脔FQgiSͻLZt8g Hfwpꗘpaa0$pFpKp2$8@~.C8蹺jK0*:aM1p»,0E?*ie<yR_-
+c,H2$^0*po~Qrgk.Vc#!Z#a߬]bS%WCP{pj'kD{^X,][ I'pw#4[*٪vO`+ZeS\i1u1mtbbJ
+&ZpD~{v瓙g
+w2gd? G{uuFoסe)0c	*H0*H0 .qFh̀8g/`dtJ(@\tٕbYIcPL9EjǢ1MRȻ	kTQqӘ"ttJa15)j_*큃U̪-Jm-js&6jhk觲q[V?bkb)iPVF״LhW|F+;%3KRGRsw?HIŠg;eV ۫Z++=4Hnq[7aJ 1Ѹʿ=BO!S|i8]&6ZH?E>=0Mx)iȏe5`$,pLPVɏ{ǳ4įy(.sO92\5|ִ<E2MtIwL&iZn&(^(A$g02U>.xS%#2S%=DLtu;7Bѿ2eNw
+:1{A)ҟfVt>K77R'"Y n*$`xSi6%1ξE|AÃ4'H[nkߗhz64s~~Q#&Ga]$` ;v{F; y{|FJk@Ma6W>GN/ng v+^#9#J?=bGb&ݓ齴X_R<O˩ʇ/{n#9Il䆖yE/(nV,m`)ҘJQ1QG 3b¨t>
+*ja6ƪIkE2n
+	F$ݵbЯ8ql@N3ue,j\_,bȣS66,2~݄5Q9ThW)0Qn~o''T}+`XpXU߇sbIQtr4ğzu
+58l0kL#1Q>.zUOQ'x;3*fS#A-F㋿7;ʄ?	[rR!7e 2)ur'*-
+)G/(G$~#Iݙ5BW.уOik+pɾGQ9Qà~2a|ޞkkXKKt5"ۜRD?UYߐԀ"xPЅEq2,P(뛓Ԃ UW*KŁ56fODЮmmՂtEs<T,clXχ&ۭ<l.MѪoƜ׈<Q[dkXet9tWwb4{ԂӯntEfA԰Eg؄֏?1Z@DϧCXX9lˬA6ԗ~nߺ#JƦ08~AOe7\9sڵ4r
+3Pڧɰop*$ͺ%sH<u,Z,%F :ي#{rEڏc4ދU,&qIs@*fo,T|m?`VU+_>461 +خ3..uKEX]59HC1!Ӿ%j$_]<`CBЪi҃sQ\ނtͅ䝷v>FkN3NIL¹W@Ή/:hUeWہ[gX[}#o
+P2I{&}2]ېF  Ikʣ(4QlZR!QV_پI:w^-sIëHaIU³4bO{qd]A?|S2I7dTgv~3g\@xH@ۤKNyBL	Ś,=\Kh^j8	c"IG]1䅀uc
+bT)Rq⺜j0&"KBvnWn3'Zz}dp)jofH3f]T]`=Fgz;i=C>o񡬿Tox6:uXf)}"ꪲ,&sZd=	 6O؞C
+q\i-ڿΌKѠ}R=S>sNOe-_W1Y [tA5K}u:joSk|=X!!$C%}J 5o61zCU{GU*V'ଈ?wM@gSMī'\;XBXB#H.w+5UZ/WZ1QPĿy@[L40)?
+[MqЁt"e'-)hd2:KP1tDBL+'a)Ŏ(gSI`#<M!l7Muy¬sH<<C"bYD2.!n%pb\lQ}F4X%*K14*+pS;}9"\~gnJwՖ._T,ЀH:kg1|}5XHT15z}*PZ;FӢDEf1,+
+E%%'"^l2REl+MJ٭h461.갛6m~H"ׇ-~KS
+9OkiGqOžGBdR0UΥ!uI/wV7gTл*sNad.!gpH+8U뢲=W5eHh"7C0CnuU#ưFLg
\ No newline at end of file
diff --git a/lib/hx509/data/test-enveloped-rc2-64 b/lib/hx509/data/test-enveloped-rc2-64
index dad3010..02fa0f3 100644
--- a/lib/hx509/data/test-enveloped-rc2-64
+++ b/lib/hx509/data/test-enveloped-rc2-64
@@ -1,13 +1,23 @@
-0H	*H905 10 0/0*10Uhx509 Test Root CA10	USE0	*H >Ko^kz$!>x-I_2H4nm!&)vR[H24qjiR-iR_Edö¢ˑ3qIzV4 0<[BrTaLP-Ju0b	*H0*H0x'@84.bxA@@o  m^[=1aQS5(U3[wɜQ|=qcc6a:"ZJ2Ы5zBc=w!}!	ЖjjkH`cπH
-݄iUG?(hۺA\wqSkF|$Nt1 :ͅ>*5Hof'HؙfuDqbᡂgERJOnR*Gy/Rvj?$hf`LQK}c=|}HiTz'H99B@R4Su'
-Z,	؋|SUd`[Bh@\<,kX}顧ɳDN,BҒA0"k{!0-\0*X<{H9N9MdOd7z/#O7)Eɤ3mY5#ybgItԣZ\'H׿*1U'Q-" w)ӠAgz/).d\6RXXzSשR^a67{Z2\X ҩ4ՀFZ$5<R/B&@,I43{M C|$") K,q\yxƁR&Jr6ġSLRo>hgՓ!_?֙ڙ0p:#)!'Ěsw'ac,!1(ůƩvz$rQ_ݩՀ	Y@]<ɹ3|TϝZHݡwDBuOQ
-)aByh
-'^ H	h&+?{OU\u$3+]G0O&U ={d 8p=]y_fj!tw<JwrkRhv[l76ĬF[W|0';38SuVp"*@hw
-io[!b324D.-<^n[o.ԍp[Rg˩2Y/rn3b๱FP7sC[{Gd`uțw0V/0s$e6V|Y󶇒C(+%cGÒJ"C|~.?Aя q<"O2?YmdVMQA³k/IpVs"]
-g7ƙcXhbVŕư	W?aZ ZzyҤ:e6'qXOݲ=FsHX"ԯBaEȕpdCrXzjޒY4`TuK6R,5?-Q]DGa.WA:kgR^U[!{ͭtw(t xŪ,6TݑIFHU@;aI2 l Gٌ0t +A@ܵtkǏ:/DnVf1':r *3(#7QP>w`X-lȇN%cLS1}#Z"t
-8rǆ¡E|h*swI7%0]RiZHJg1[=t(	e(-aAyWГs\k`*H!2G"geh*T6՛`f#L枋nas8=X7b7:>HE6>SjKQֳPJ'bjŝwhfV[8ᶜZ~_g*'[&44 bUC@xt:.L,R;*@8XH76`jlTmg'OBU-c/!M$OX/_!MZw9EgOe<L6~~h'ѹVpUwWZfBv"I*	J<HN\ȉZ"Ygr{Z8Lrա7=HhT,mZ1/>tiќGԦn$	3C7=NXt,$o:e0}_G_ME?Vo&y0ol7қQ,wT}H0YX97kןK.ksWz}PwNM
- q%ud^P(nu79:  a&bQ~)l|$hJs	6q7Mҿ,]֔$dX1mЬa;indw1DF:!ܬt,r\S[!M1BB&ɜo_=8(YSACpCl5ɪ?$[Ö#ɲplCG^
-ʤ_Zy	YNky}S#/l'|"
-=:(XIpVwݷt$FH 2L>1Bj\TlݼS%R O4 JcxqwGjHMF.O"$Lߥ@Ⱥrӹ<G]FLOKj'~hKMR'+!TpyOt(Y
-8w,#i8@"ccдȩ;ړOStf	k4:fŞ^AfVZ&5I?k}T< -SOe,ы>otb*g~/K|bJt^闼V1uH,La+*SB#ccV@]>V~!G&"D
-Zڲ$0Q/
\ No newline at end of file
+0	*H0 1K0G 0/0*10Uhx509 Test Root CA10	USE0	*H  ͱ%-vOnLu0#e~J&ާˤӝc3#dsô:53av6Vں4̚xh$M9hIcalݗL<hU	OX߿ߛa_c%$P 蛮~ΓkρH'F0`[^b9XZU5=B?kSpvZm)*ޑ6^>J|/Һ}+dlS@T>wD1B̭ 
+ąɁ	V1Ya?P[&!~+"D
+?xȣ. wH^W[P<[]Gtj#P3-8 ĚqLgq18*3_T8FJrj&
+53Dg ܞ0]l=)eca:βdUߟO@?Ǌ I7Y_c6biݰudczrd0b	*H0*H0xڙfԀ86S2"|z2]jD`!6eV$zyxy$C3l va^¤Vrsيә`AfHT/v
+}qKv!f'I
+k>
+kA^6=п}i
+tdI0]юۺa>l:֋:,A7bѢ`zQ<˾o9oJWԒbIئr@*9$T{4g
+qg-*ZX8 9eeѥǍL\3g{j3Yht\hJUk
++8z.]vTa47<i(|&З"CHVRKzmQ4	
+\|Tcu$OP@nHqLJGxY5\:dct`Nv{ėIoǣGXh//1(BA|rPF@F9}+w$J_d\k"G~b{CK6p]J鵛3L)Q8ŠVܣւ'^I2T\9|.{	.QU'\d>-)	J*a{hҕy={B+2a5=AиdO8yp.SP8-6UY:,.C5B'J#NwQt5:i&ʱ ,,=&M9;z "f=~;i<far?}Goͱ>7KiCzxpPfb:pMn0Q^4F@esDe2hۜ]!Zt~+׻R^|U˖l|7ӯ#ww.7;EJCwRZNWâl6]UIf?'.{ YL~ZuQ?bi(΄p}cZTeiب7D(ɗzEŚ-f­p7@'wzWfcWd{ٹӰD91&'<+8C^5}4v|}zlk*u˓>ČDI
+;/(]Y[y0~$@3`nYbvgs1ȂcÒ3pqL'!7(b1j";د]<R
+7F9{GE?=
+|6GX=H&uRݯЈUkqԏF3&˝}%4>X-XcL\E[}޹OPX%^̔VeIm["c5wSbH+xJc"&(^sɭUIaI$!Ѯ۱]GVSΪn1P#lOGÿ|	C~3qVHʄKzY0B"&tl4Vn>s3-!+J}5_|*A|eZOfn=P_KekC@akab,/C!C
+BrpI՗DP;`#qx:~ס9	?N.i4E	c2b;DPx
+E0O"|i	ȭìgH	pjpqEE'Dl<
+l\`SKW>̳3O8lXŃ`FQj+7(k
+;%_ ҅u [J	8lP,S96;\c+,|VHy7=s:䝕y%2	QGt1qzK}+P"I"_9fDqĀ}T\CRGx\a
+0U
+12?>:ӿpc`G>6ǂKHO'Q[$p7m:Yͩ\Zxϳw	vuZGЖxNZMm#F)#േH7y[uP
+H7,oL@b?VRŹuh7|V!"@eybIϛXS7Uc&n?FolXT}2TO BZgg*EnHc	]&#42pn:iO)	v]3b2<;tmb9B^ZGRd]b;'ZjΤEڃ\?5i48CuMBި-|aUX@t
+~ɪH_
+Vl^٭c/ȣ`w^[~GdX@$%E2~?W3}CS.̾l%cQ ZsDœ]T;噊0};rZDi>(	\帴 (u jŔoN3<t8s_GY^b$C8|KI.xܟK	+}]THMx̼&Jq8:|Hf.D4iO\sYcS7>/[Ȑ//=H_(xS84v`q*  17D+F:ӕSH:d<}9$nKs~xk}R>SMVJ	W(@@ؼQ)a	[)BkN5u3,R^por"M]6K8wDvݹZ5BHaMBtj^kx N|qŕ^LI<ר'KOBmGvDYD
\ No newline at end of file
diff --git a/lib/hx509/data/test-ke-only.crt b/lib/hx509/data/test-ke-only.crt
index 7494305..27e7599 100644
--- a/lib/hx509/data/test-ke-only.crt
+++ b/lib/hx509/data/test-ke-only.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 4 (0x4)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:13 2019 GMT
+            Not After : Jan 16 15:05:13 2038 GMT
         Subject: C=SE, CN=Test cert KeyEncipherment
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:c0:85:dd:0b:7f:d7:6a:ee:c0:ab:e3:06:fd:40:
-                    44:10:23:e3:94:62:a0:b8:09:af:cd:01:eb:47:92:
-                    5b:07:c8:7a:84:b8:72:12:cb:42:a4:b1:be:77:08:
-                    5f:e9:6c:d5:05:3f:eb:61:9b:96:68:39:65:79:04:
-                    c1:08:c3:8a:b3:bd:42:79:31:b6:3b:23:1e:d0:04:
-                    b1:dc:80:5b:dd:1f:53:a7:60:78:bd:74:d4:27:70:
-                    1f:0a:e5:1f:42:97:ff:8d:af:c8:03:99:e4:28:f2:
-                    da:b0:ea:34:a0:d4:39:37:59:37:f4:71:1e:bb:55:
-                    ad:d7:91:b2:a1:c0:5e:40:7f
+                    00:cc:e5:88:ad:77:9f:da:7d:88:28:88:b6:0f:e6:
+                    f6:2b:a1:55:da:7e:4e:75:8b:46:8c:e6:9c:f6:c4:
+                    06:ea:68:0e:85:7d:c4:d6:bb:a9:c5:82:3a:88:9e:
+                    d1:e5:71:f9:2b:2e:48:62:f7:ac:7a:de:cc:f4:ae:
+                    07:da:86:2f:07:21:be:ec:f5:de:3b:0c:d0:66:88:
+                    a7:75:0a:ee:17:c6:9e:b3:2f:9b:b0:88:3a:ad:de:
+                    b3:bd:36:2d:20:30:9e:36:f0:3b:9d:e2:5f:4a:d4:
+                    1c:42:49:29:5b:70:35:02:40:79:82:a7:9d:ee:a7:
+                    05:85:d0:75:46:c2:77:4c:b9:20:6f:93:4a:85:8f:
+                    fa:44:08:6a:ef:26:7f:af:20:e7:b3:a2:18:4d:78:
+                    dc:e6:5e:c1:06:aa:54:a3:6c:07:a0:6b:92:14:f0:
+                    52:62:cf:d1:c4:08:81:4e:73:3b:27:19:34:a0:32:
+                    0d:66:70:05:ca:3e:13:18:85:18:d6:9c:30:b9:66:
+                    93:af:df:ff:71:07:ab:77:ab:00:32:d5:c4:64:7f:
+                    af:06:e6:aa:7d:90:e3:7b:82:46:1b:d8:42:f5:7a:
+                    15:5f:b3:ca:b2:4d:e6:8d:65:29:ff:aa:88:73:15:
+                    85:21:69:23:a6:24:48:95:8e:a4:e5:2e:a0:c9:e2:
+                    75:bf:79:85:1d:b9:2a:e8:da:b2:fa:15:f9:c2:1b:
+                    b3:69:3b:01:9c:54:4b:2b:19:ef:b8:f7:60:d9:78:
+                    8b:a8:b8:84:e4:0a:73:21:22:de:d8:27:9b:a7:7d:
+                    61:dc:da:55:8f:c0:36:4e:e4:99:8b:1b:44:03:d2:
+                    51:24:37:d5:2e:a2:32:7c:65:20:0a:4a:9b:9f:8f:
+                    ea:16:7b:ac:fe:cf:57:a3:dc:75:98:4d:35:84:cf:
+                    20:63:39:d4:13:34:7e:f7:10:e5:ec:31:d9:5d:1d:
+                    bd:e3:d9:c1:b7:ef:ce:39:d0:89:0e:b8:84:f5:9e:
+                    5b:1e:da:48:1a:32:d3:0d:95:92:02:e2:bb:19:6f:
+                    09:f6:6e:38:38:3c:56:1a:0c:38:81:d9:a0:d2:ac:
+                    99:18:43:33:e9:0c:1c:cb:f1:80:1c:7d:9e:e3:07:
+                    41:24:51:82:a5:04:00:fb:77:dd:9e:7d:7e:04:32:
+                    40:d6:da:76:1a:88:77:37:64:34:44:e9:b6:c5:45:
+                    50:54:28:bd:dc:aa:a8:53:f3:4c:26:77:89:56:be:
+                    d6:89:82:83:d6:0e:27:0a:8b:ab:7b:aa:51:d8:4d:
+                    e4:d5:4f:b1:27:0d:cf:80:ba:e1:ab:51:f2:47:45:
+                    30:34:e2:55:a8:55:cd:03:c8:f7:12:0c:78:ac:05:
+                    2c:99:47
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -28,26 +54,64 @@ Certificate:
             X509v3 Key Usage: 
                 Non Repudiation, Key Encipherment
             X509v3 Subject Key Identifier: 
-                95:66:6F:BD:03:40:04:B1:BA:9B:FC:A6:F1:CF:B6:93:41:B9:AB:61
+                A1:E1:E0:08:58:84:EB:A7:1E:0E:7C:44:D0:E7:CA:B2:BC:93:8F:2B
     Signature Algorithm: sha1WithRSAEncryption
-        3e:d9:cb:96:da:5f:4d:49:10:45:2f:42:cf:32:9a:d7:fe:72:
-        4f:24:d7:60:e1:0e:df:da:03:73:44:4f:27:7e:f9:cf:aa:16:
-        c5:18:8a:ec:0d:56:0a:1f:1e:41:87:0a:67:62:d5:73:20:26:
-        e1:2e:10:6d:cd:ef:c2:28:2b:99:9a:13:5c:73:ad:a2:7d:5c:
-        34:31:42:b2:44:52:ad:4f:96:06:30:b8:31:59:b6:e1:68:5d:
-        a0:ee:0f:83:45:1e:51:9d:8d:bc:8f:43:9f:42:c5:82:90:e4:
-        00:9b:91:13:40:e4:15:60:e6:cd:3a:29:a9:4c:a1:c8:33:0d:
-        d6:24
+         62:5e:48:de:71:64:4f:fd:94:97:49:a0:1d:a0:50:f1:6f:56:
+         d6:90:79:51:a0:8c:04:c5:d3:ec:d2:e0:d6:4d:0e:ab:19:55:
+         0c:9e:e2:5d:e8:5b:8c:cd:14:c3:b6:28:ff:21:f7:21:37:9f:
+         0b:6e:cd:52:22:eb:61:23:4a:28:ce:80:c7:68:41:a7:4b:9a:
+         4f:9d:b2:8f:04:6d:6f:57:f1:91:e9:a4:d7:26:f9:78:c9:c2:
+         6d:e0:d7:25:9c:12:91:73:eb:2b:1e:e7:32:3f:46:1e:58:56:
+         a1:fc:b9:9a:dc:85:8f:1e:51:a8:a8:d8:5b:cb:18:75:ea:1b:
+         9c:75:66:50:a1:9a:95:0f:50:8b:54:1a:7b:5f:4e:5a:c3:31:
+         1a:c4:11:81:31:d2:35:4a:d0:be:13:70:63:9f:b5:0d:6c:ce:
+         08:e9:fa:5e:41:28:92:74:f9:26:37:26:18:ca:44:b6:d7:ca:
+         1b:63:22:c1:71:86:4f:fc:e8:ef:fd:e8:ef:b6:f1:2d:a1:7a:
+         e4:b5:12:f5:8e:60:fe:bc:de:8f:a9:c2:4a:29:60:f4:1b:26:
+         7a:0f:cd:34:94:a4:d2:56:21:b0:33:a9:4d:7f:fc:6c:d8:71:
+         17:8a:1b:d6:e5:78:98:76:f0:8d:d1:0e:85:bc:69:36:ec:99:
+         d6:56:13:22:35:9a:dc:43:b4:f2:d7:6f:25:6d:7c:6e:70:54:
+         53:c4:fb:4f:33:c0:20:f9:fd:4e:51:b1:e9:fa:65:05:cc:09:
+         d6:47:4e:3a:a0:8c:bc:e9:fe:1b:07:b7:06:3c:62:05:17:a5:
+         9e:46:79:04:9c:20:41:77:f9:50:e8:f3:86:0f:72:63:c9:6e:
+         74:1b:1e:dd:ef:e4:b7:a0:e6:83:3d:d7:38:a0:8a:80:c9:3d:
+         1b:ca:7b:96:ce:ac:37:a8:b9:51:30:98:d5:60:b5:26:c8:53:
+         a1:7a:ab:18:2c:36:22:83:9f:95:19:8a:78:2d:17:e4:aa:d5:
+         37:e9:1e:fe:2a:ae:34:64:d4:9d:a7:0a:a9:a8:1b:c3:29:38:
+         89:e7:57:4f:8b:f6:3b:74:4c:39:82:ce:36:2e:24:ab:90:fb:
+         dd:da:ec:eb:81:3a:66:0c:01:d6:03:8c:00:39:b0:83:96:51:
+         7f:27:0e:e5:8c:d4:ba:c7:6b:f4:13:b9:ba:5a:02:71:44:62:
+         21:33:51:6d:93:6b:04:6b:dd:e1:64:f5:3f:ca:98:39:b1:91:
+         94:68:3d:1f:ea:91:b8:db:98:c3:a5:82:aa:24:b2:32:e3:f6:
+         8e:7e:8f:e3:eb:0c:57:1f:27:70:10:d0:97:db:7a:8f:46:d9:
+         8f:db:ff:5f:2d:ff:a2:fd
 -----BEGIN CERTIFICATE-----
-MIICCjCCAXOgAwIBAgIBBDANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
-OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTA5MDQyNjIwMjk0MFoXDTE5
-MDQyNDIwMjk0MFowMTELMAkGA1UEBhMCU0UxIjAgBgNVBAMMGVRlc3QgY2VydCBL
-ZXlFbmNpcGhlcm1lbnQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMCF3Qt/
-12ruwKvjBv1ARBAj45RioLgJr80B60eSWwfIeoS4chLLQqSxvncIX+ls1QU/62Gb
-lmg5ZXkEwQjDirO9QnkxtjsjHtAEsdyAW90fU6dgeL101CdwHwrlH0KX/42vyAOZ
-5Cjy2rDqNKDUOTdZN/RxHrtVrdeRsqHAXkB/AgMBAAGjOTA3MAkGA1UdEwQCMAAw
-CwYDVR0PBAQDAgVgMB0GA1UdDgQWBBSVZm+9A0AEsbqb/Kbxz7aTQbmrYTANBgkq
-hkiG9w0BAQUFAAOBgQA+2cuW2l9NSRBFL0LPMprX/nJPJNdg4Q7f2gNzRE8nfvnP
-qhbFGIrsDVYKHx5BhwpnYtVzICbhLhBtze/CKCuZmhNcc62ifVw0MUKyRFKtT5YG
-MLgxWbbhaF2g7g+DRR5RnY28j0OfQsWCkOQAm5ETQOQVYObNOimpTKHIMw3WJA==
+MIIFDzCCAvegAwIBAgIBBDANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
+OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTE5MDUyMzE1MDUxM1oXDTM4
+MDExNjE1MDUxM1owMTELMAkGA1UEBhMCU0UxIjAgBgNVBAMMGVRlc3QgY2VydCBL
+ZXlFbmNpcGhlcm1lbnQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM
+5Yitd5/afYgoiLYP5vYroVXafk51i0aM5pz2xAbqaA6FfcTWu6nFgjqIntHlcfkr
+Lkhi96x63sz0rgfahi8HIb7s9d47DNBmiKd1Cu4Xxp6zL5uwiDqt3rO9Ni0gMJ42
+8Dud4l9K1BxCSSlbcDUCQHmCp53upwWF0HVGwndMuSBvk0qFj/pECGrvJn+vIOez
+ohhNeNzmXsEGqlSjbAega5IU8FJiz9HECIFOczsnGTSgMg1mcAXKPhMYhRjWnDC5
+ZpOv3/9xB6t3qwAy1cRkf68G5qp9kON7gkYb2EL1ehVfs8qyTeaNZSn/qohzFYUh
+aSOmJEiVjqTlLqDJ4nW/eYUduSro2rL6FfnCG7NpOwGcVEsrGe+492DZeIuouITk
+CnMhIt7YJ5unfWHc2lWPwDZO5JmLG0QD0lEkN9UuojJ8ZSAKSpufj+oWe6z+z1ej
+3HWYTTWEzyBjOdQTNH73EOXsMdldHb3j2cG378450IkOuIT1nlse2kgaMtMNlZIC
+4rsZbwn2bjg4PFYaDDiB2aDSrJkYQzPpDBzL8YAcfZ7jB0EkUYKlBAD7d92efX4E
+MkDW2nYaiHc3ZDRE6bbFRVBUKL3cqqhT80wmd4lWvtaJgoPWDicKi6t7qlHYTeTV
+T7EnDc+AuuGrUfJHRTA04lWoVc0DyPcSDHisBSyZRwIDAQABozkwNzAJBgNVHRME
+AjAAMAsGA1UdDwQEAwIFYDAdBgNVHQ4EFgQUoeHgCFiE66ceDnxE0OfKsryTjysw
+DQYJKoZIhvcNAQEFBQADggIBAGJeSN5xZE/9lJdJoB2gUPFvVtaQeVGgjATF0+zS
+4NZNDqsZVQye4l3oW4zNFMO2KP8h9yE3nwtuzVIi62EjSijOgMdoQadLmk+dso8E
+bW9X8ZHppNcm+XjJwm3g1yWcEpFz6yse5zI/Rh5YVqH8uZrchY8eUaio2FvLGHXq
+G5x1ZlChmpUPUItUGntfTlrDMRrEEYEx0jVK0L4TcGOftQ1szgjp+l5BKJJ0+SY3
+JhjKRLbXyhtjIsFxhk/86O/96O+28S2heuS1EvWOYP683o+pwkopYPQbJnoPzTSU
+pNJWIbAzqU1//GzYcReKG9bleJh28I3RDoW8aTbsmdZWEyI1mtxDtPLXbyVtfG5w
+VFPE+08zwCD5/U5Rsen6ZQXMCdZHTjqgjLzp/hsHtwY8YgUXpZ5GeQScIEF3+VDo
+84YPcmPJbnQbHt3v5Leg5oM91zigioDJPRvKe5bOrDeouVEwmNVgtSbIU6F6qxgs
+NiKDn5UZingtF+Sq1TfpHv4qrjRk1J2nCqmoG8MpOInnV0+L9jt0TDmCzjYuJKuQ
++93a7OuBOmYMAdYDjAA5sIOWUX8nDuWM1LrHa/QTubpaAnFEYiEzUW2TawRr3eFk
+9T/KmDmxkZRoPR/qkbjbmMOlgqoksjLj9o5+j+PrDFcfJ3AQ0Jfbeo9G2Y/b/18t
+/6L9
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/test-ke-only.key b/lib/hx509/data/test-ke-only.key
index ea8a9e0..d361784 100644
--- a/lib/hx509/data/test-ke-only.key
+++ b/lib/hx509/data/test-ke-only.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMCF3Qt/12ruwKvj
-Bv1ARBAj45RioLgJr80B60eSWwfIeoS4chLLQqSxvncIX+ls1QU/62Gblmg5ZXkE
-wQjDirO9QnkxtjsjHtAEsdyAW90fU6dgeL101CdwHwrlH0KX/42vyAOZ5Cjy2rDq
-NKDUOTdZN/RxHrtVrdeRsqHAXkB/AgMBAAECgYEArZfGYXkLb0MKfbJ+edn5xSfn
-K8PmsSsi1lJ1qJph9Fmjh4qcaS/XzpLqb4Ago2Rbi5lAD0nwS9f9FCriN5nBtJCO
-frm3b4Ct0yQrtwID3kVqGDg6MmMu+11x8IlQAz/zDZ34ik/3+Z+G9N4WRUD2HFRr
-+18SzS5yhZmmjgKYkGkCQQDt/LKcz020nfVednN/6fzx6ZbSFX/x8MehJaI/BEbS
-uqAl6u9pr24I8FaDGySdBsJua4xZJVS6YUE4LXqRFeIFAkEAzxg9PQp7AqK3Cf90
-6pS7IKnHfRraBY6uvioHVIqjU1LYOoLGHKzlrtOhGDpN3E12S/0u6LJZGRAZ/7Aa
-f98LswJAFbvLD/j6jrESNGM63waeW/VKGbtu6MhlYrkOHRUl5p62e1/+JzenI9fW
-/rge2txAK1dVBNsc5rx0+U1l8RP/hQJANZFXhcqINw5Puk5Rt7vxC2nfKAUiD/3w
-RVApxTx3Mr5jH/9jr1cpsicbrGCocyu2RcGfuKEpWspHb1PmBt1y8QJBAJYfAmjL
-B4p8C9TCnb2NosRj/2wLcvdMJV22E8KFWzXAqRL9FKUKASULKxHy+rne4FHytEQD
-w7MMQNWHjQVnFcM=
+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
+VNAP/Wqk5Tqv9O/YM7QH6VFyharThw==
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/test-nopw.p12 b/lib/hx509/data/test-nopw.p12
index bece1f1..9349b0f 100644
--- a/lib/hx509/data/test-nopw.p12
+++ b/lib/hx509/data/test-nopw.p12
@@ -1,9 +1,23 @@
-00o	*H`\0X0P	*HA=090*H
-0
-*H	00c0	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0!10	USE10U	Test cert00	*H  0 jy̫0*q  s֤Uq3m)V@c~[jP"´F>{M>z|-`@B(<|_J*M	Ty͠f 9070	U0 0U0Uwn!x|ùfL=J#0	*H  E#0θɶ.JdWdJ<V{.l77*B.~WZ8)xS-Qj߆hU9Z4P4pt-":ξK2i}׶3hAv6 4Eqtw1X0#	*H	1A{맳GY\cYj01	*H	1$" f r i e n d l y n a m e - c e r t0*H
-0
-*H	tp0l0ՠ	 2a@0	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0*10Uhx509 Test Root CA10	USE00	*H  0 g^&;CcXC=8}t!)4yZְ̯@6̚n
-im+ a̉d~G;RsZK@~eD?@T,g3Sލ] 00UnHܿL0'Yh0ZU#S0QnHܿL0'Yh.,0*10Uhx509 Test Root CA10	USE	 2a@0U00U0	*H  R]G=QX6'oQἜ8!\Nl{le͔郞x-BDd,<:H؀Ey<`!o1G/˱q^Jgf
-Q`ҹN+W10	*H	1 c a0 	*H00*H
-z0v 0	*H `0\  jy̫0*q  s֤Uq3m)V@c~[jP"´F>{M>z|-`@B(<|_J*M	Ty͠f RSl95ѽ=˺J3HXR3uKն<}#	RWdH#v?Id$_%< ʺN&Zd R9NQGab=9Ak8fш׼"CA K4 -4Otg6C b,N'w]E뺞]\kFԪ3[)B=B>ԎuA FMou%{n)&bs]YD~jr$$#@-
-A Öh;E3uUmpG̉voS>.	`ж#ן(ƻE?[Ań%@{d+q=	,@b`>J?aRM[MRUeo$a@T$˲GΘ9LҶ6Ӈ9#)+tQQFQ߁*X=>1X0#	*H	1A{맳GY\cYj01	*H	1$" f r i e n d l y n a m e - c e r t010!0	+ x=ʹ_G߬{?84Q 
\ No newline at end of file
+00F	*H730/0Z	*HKG0C0*H
+0
+*H	000	*H 0*10Uhx509 Test Root CA10	USE0190523150512Z380116150512Z0!10	USE10U	Test cert0"0	*H  0
+ w<rT
+co"Tqvў3?2X|)=8bdҪ6NVױiN5VY|y`x.
+̾(j^tؖHDOeTiy^źhjQ	ɡxuEC|7PnqBi6$ԯ M1BnlA,vg?636~UKHXq,~:@J4ZXP1oKp^A6n#Ia&XE7Gt(P_g~O]Um>XC[&6^Ю Lc	YkJ?vcECJ/>=ĸe҇BSө?ECE	YɽU"I\PAڵ+qpAA$pke6L9IU#o(wD)pnSE<gҾ a 9070	U0 0U0UY =W
+=
+ng@0	*H  ,h3g	&e)v֦/S."cf=xC@Rѩ$Vc#Hdt,gmփhL0Y|t,Za<QDoZ+^L`qd63%ݔQ!} S`]@l{9F
+zCmavD?ȝE,;R{g9O됙z@xQt,5'YJΠr,,gpE)6]=<>b+UAUըeȽ`mS%Ǐ]%͝ZIiW|,2+aD澈]*1-uB^lYp	(:hE.مXTV:Oz^!3dvth6z[-4KmbU1x37 ۠0 |18O=as!?۪#A<JR;0mNSM`+jac1X0#	*H	1}JNyg\Y01	*H	1$" f r i e n d l y n a m e - c e r t0*H
+0
+*H	yu0q0Y	 e4Ðr0	*H 0*10Uhx509 Test Root CA10	USE0190523150511Z380116150511Z0*10Uhx509 Test Root CA10	USE0"0	*H  0
+ 
+/D>βW=&yV$xԴbFItP%&4MiNXJ3\os	ӤM%R{!U20om¢Ds-v?I{)Im ؂_d+2`fW$lT߲FszOih95۸9amaV̱һ$f_盬(1<éy&t_[2`uqԦ5ʞ>&j8IC'U,;;641!x˒]v6Rs&Jt&ߤY(~TaH\>JH>XVv78r2/982YY7e: _{]wsUn|ã@PL̅|TA]tO/Y*L!P.I83OO ȯVI8P	cS	8-Ao>QtOZr, mGr=d%íy 00UVrH y?&#0ZU#S0QVrH y?&#.,0*10Uhx509 Test Root CA10	USE	 e4Ðr0U00U0	*H  .4)lwTney8AR'wbc,K߀=:~zO<?+ %'0CV ߨL-n썴HekRmkg;2䫛Ayȷ_9/MeC5R#Y2% ,Iy#K*K0yR6s7lZh`.(p1=wcHuၣf5䷡["~ZwH^7qHBVٳe?b
+Ol=M4vއhK"|[jI0#(DmvsϢ)y	)_gfh<GRP%2U*w831O&5YBд=
+;0`rPSګӱ_cM{,G*ޒ|W%bq)(K2);	i s5#$X],!!G=8?2EO3cV4ke OhedhN8'wy8g^10	*H	1 c a0		*H		0	0	*H
+	G0	C 0	*H 	-0	)  w<rT
+co"Tqvў3?2X|)=8bdҪ6NVױiN5VY|y`x.
+̾(j^tؖHDOeTiy^źhjQ	ɡxuEC|7PnqBi6$ԯ M1BnlA,vg?636~UKHXq,~:@J4ZXP1oKp^A6n#Ia&XE7Gt(P_g~O]Um>XC[&6^Ю Lc	YkJ?vcECJ/>=ĸe҇BSө?ECE	YɽU"I\PAڵ+qpAA$pke6L9IU#o(wD)pnSE<gҾ a  d}0;=]It=t=O^hO[G])8	:sX1DG/;S|OFj]]쮸]p\EQamWu<fcU'^,?R/۱-{> $E؎wJX`8ut*Qd5_{S\-@QIHKOk+N]t\/dc[h{$$sESa:F7N(g	%ڼ,j̈́i|yE4[Ns׻t/6~Tj RtD~ƙ{54):sLFZ8[ۢ>z
+WD99JC
+: 7J|qi
+8N"(QNtGt5oC/@>$_~6Կ|Jؿw"G/ V58fbu_[X䡗!kۢ۔4^n}g:4-.5	d{cmJ"Q Y"!MAu}&$c2IXxjSp^G \Ya,e_|w$;wZKw;!ž8JV7>+6i)~T.R[|uT PgGtONĤ/YNTHG=_AhMWᾷ
+Y3[N^&tH׽D2Ma,`q\BHJeӨl؞qשPnm7Q@[ F K]XbC'ZD8?8lr |VqcRpR\:bajV0k48nWx #;<cY&vAtn8de0J] bMYQ1"W8PHjjE[xL}7TupncX]c'*$A\5! :nnYFv	DKLg;:Rsr{ɧS+x '9f/Vlok մGҹYOiN޹0匙bfmh[X^MW.(crXXT!xqϴ
+/GyQ$UV^D>@FH^g4l,żE^=($̋-PMZQ_.C</d8V$4FG!q_a2"W1#5(?&Ǌ"AG1t&M|g msk*  AoɊ1ߔ ( Va?քXqM.R]5O>k'!Ῥ-g$`X3mJZk}6b%@:ijO<xB9D2Ue"5|پz+hOOZA!˖i)gi'r!Ws~K&Gbng>L	UyDS;j-+UsQ?L, KaG "^yꘂ7_KŔ2E% =n#5JZ*-! HX._ZJ\8o.lf̶acOHIPFz=份ZJb Fp7eKVE__Ho1|㗌D2)-ũ2GC#)TV1HR$;"ъ*7Rp ?OԖ^Dj%3EȜ.k!v#P1X0#	*H	1}JNyg\Y01	*H	1$" f r i e n d l y n a m e - c e r t010!0	+ C6/z4a= ]96\#˺ 
\ No newline at end of file
diff --git a/lib/hx509/data/test-pw.key b/lib/hx509/data/test-pw.key
index fae8e5c..066e581 100644
--- a/lib/hx509/data/test-pw.key
+++ b/lib/hx509/data/test-pw.key
@@ -1,18 +1,54 @@
 -----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
-DEK-Info: AES-256-CBC,8E591DF1F7BA7038BC8A176AA9C47330
+DEK-Info: AES-256-CBC,AE4D50F1D037E93C416E5EE0BA31DED7
 
-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
+RwILhdS+r3Tt/J+aXaydLB4AX3vuR/qXW4/Qi3LOgY5bIDEJvoc5m52gTtDgefc4
+H/Evvn9jLq72TkOipLgnnCga9uYbJgiE3/dTZXDwcnCzsorkNIECs2KyGVAR7ouT
+FDoRpx+2zC6Yt2kV3vkI+wgtkB/u+hfrZ0hiC/NjmH+3/6gSmceb6L34cAKcvLb/
+OeaI3beTSlTEQ22CtxNwmFTGSqiEdw9pFYOTjcGus4s39zGNDnFtp17jZAFQf/v/
+dm//a93yGS2ytkAsNuMNOwGTFe54ipwXOWNxenCWUWltvaHH8UbT9qcVnZ/RbKtY
+QzDl8nJGPzatM+R9xdWfjI5VU3DxfrgEzHtEUGlU1Cr17k8MubEzHQPimVYqfU9s
+9GjM3PXuLUw11tXzUS8udWhA9kHZ3VTNie+y7+XlCSibODw4BSAFokBp7uJLe7dF
+G5UH+unv7rsBtuOhqCKSnoRgztc5SsoarCt0cKadJRkLK4trgki1g6Vcq4QdqbyI
+8+qfG787fWISC6CGOQMXnpsQX3XfzpodXpEsaQDpjomAUOKcSmMdEvhf5qHlBnS1
+TNoA8qRb4e08BBez00jTAu/7M46MxgmKDFzavYsWfEqqvwPQVDAFyQkcuT3ZXwtl
+m5Ay7TBB7hh/yDH+BTXfg4l62ZlGWG0rVczhcNTLMWuWj/HErFmRD2ousUmqPJz+
+3B//V3ad0eVVfJv2bLmT4f4VTmcpvGjtFflMtrR/hGzDLaWnlswr69F8ZREdxX40
+7W0fePlUhYpT/OsA5wQylHcYx9GcA+LOS9vXK5JgaL7jH4FP/5z61VG64CBhTMYc
+aAQl4jVwKz9yvQpMCWNf2wIghNRw0p4Ih2ZEFBY1wzjL+n4uzmSNwLhX5yZ0Y9oO
+T6u38KvazXutWn6+jAOZaE/EaacOrj3m3ZCSPs6Gtre8k6lfpniY0EPGcf+x5MON
+oIGZXB43G9CQv6hLBG1Vr49CW3yFxtyX4UQlBcn+62A6CeLR9qoPdrWS3utT/sgF
+PrbhGXNbROIFd+zf/ZDCh7Gfm76+R/yJ32tZQXCAoTHitNf6UPlzQxamoFrWgJ7+
+S5+Xeh/DVvJq1P6mbo8n8Noyci+zrZIQXWMSKyirk3pnMZ9e/MtUnjG6S9fb7V7n
+eRuN3Z1k/jyKLAAPJVPe7myG5L+Cz6BS1rwT9h43Pi/pKW65Le5PU+h/9qCBOHNW
+fEegF2Bqu2/cJZovUAyekXwYQp7XQrSaxLG8EA57SGkC66tBhiyyScW271dDA5hy
+TU8nBMh39xj27uRh5AO9LrK4Q6Wn6l/b+KVMV+Kg3S7iMyuvfsHTL+vM8DlPtcb4
+e4yjGT5V4A4RsiDxs2+rDHQV24eWEgEamlzIMJsyVvFPVwKWPwSPgMd9S6uHMI7T
+Na8SGnO239JzHMav88cq1MVLUv2XH4mmqk7i/JNjl3nzQRwOlXtgICjHjlACJut1
+7vH4U8l1DmfVzrcfh2Vc9XahnTA5aWuQsPjrRv1hFTW3HVcpFwtxV1wTAwCN9dnQ
+cB9nTSe+RosfRypuwPRGOWaiWckUOAFVLJiIThuh2e5/SZkIuMgtID86rjDTAKB6
+0JP1DxMOXa0gv0SdrIwv5cQl2kG+uaXhListTm3pl/XAqpSmCyY53wRm2RWDJuNs
+m8myLHyjDCoYxWPqqhV9LYpU4VFYGgo3eZK/b9Tw4IcOpdosJxhpvGxu1a2ZmQxU
+bkx1hyzKj7ZmfGhvG/f7J+n5tuEloa1EbicAhLZDWi8lBMnKV3rAAADXXm4rhFUO
+ar8sBfJfRC0dGpgE5zoR0pU2Wx8dIFFqLlHvT0DkPIrTDYnxbbmT0CGNHzVgetn+
+N+4tGdP1v8+Vd+BipaQAXor6kd1pn+oywKttx6eZE1jHHnZzJpX6VrqwnIdxtlEJ
+3Pp4l04+bcu+/1WUKRvNXwPLjNzIZjaFJxdKUVjC/9JbB/Vx3nKi/VB+ymy/cCoM
+Zte4Owf0cxnYRXE6pBw4FkZJPitf6b67G21cbnzQPC3ZLpm0TOA6eO+Lsgb+WBo/
+3MGnIhFuT5PmIiSTLiajfKR1H6pP/Sf55P2B/qCX+aTdpvMrytnz1n9rbF8w9mYN
+QPb1UbJyZJDEOCtoYLH9hNTI5msHeBoQMCeTbDML7SqQRNHcFynXY4qqVF/avt36
+ZLrKv6PZuQTRsXr+1JbgJydHQVanqeK4XPwK84FE+guHZWo3ug6+eEgqMKYkzAKA
+GAN3Oinitkcpnt74ZH0XocmMwUGS7qj5UiNm73gIP6MEA1uYXqpb7FnJRALwb33r
+qYJ72qomcNt/iow4M3kkMDSSPlat/2OhtWtWijYKwk3c5yZmV6Bc+QX6MZS3MZXy
+vrk0L/bUV1m8YCCiuSiwuyQslEZUfY6klIJlTJ7NkHHT47vgwmJGYU1LamsuZfwe
+LzH1xeDCxtCUUGgvtngj+dgoNMr7CxB9MemJo/gFOa0XlZq0CezSfM457RgM536A
+b+62dmd12tARkRlvlNj3wck70r16Xz7tUmFWFdsro/ga9wvqnjwKVKUsA/xpZy7H
+nhtLvMnvnk0Zv+wvRWB3D16TC6kHQjnI3PjLGYa7fwMTErmBNDxMz+8JvFwMqrJd
+an4QBQocGTSO+HMsb3krHo9AdBBSsiRNYWNPda9an9qjARy7rbo9Fy5khWyZA89q
++pGDtn5nPrNvbCz48aaGH9FBZlywweDQdCnWe4hNl3+z9NQxxf+pKRIu6AI58iqj
+IWezU+pwyJjPA3e6u5zZ7IiRfmRnuxeouH0c6YcKsgMNlsIM7D/vjo2YXpkbyQqV
+aEpAVzknHcypN1PIsfXU2Zo51jG66AD8y5zQ2nUlZnat7YciryxnpvFVef9Nf62N
+kYxzdJdAT6pfEXk2L7xORX3a97yN3mCzPp2i5jIkhOtVbVdvG7xgGcoPNGEIhMIo
+Al4YdPiMb/dJPmKAkJJptAYKpQAaEvhKtv4t8NZ0c3EEYVwJc8eJaz+cKCsLJEMX
++7OMT8Tj6IMWIY1aWetQix3A/iQjBSUfM7AmqvYRv8Y/F14EM5eC4RLFK5o4RWWf
+Ck9XeE5fG0q1pSpbnrjeopakwy008unT+CILpjWLBnIXJ6kI8fTASeFrLtWurNkv
 -----END RSA PRIVATE KEY-----
diff --git a/lib/hx509/data/test-signed-data b/lib/hx509/data/test-signed-data
index 583c2aa..edba385 100644
--- a/lib/hx509/data/test-signed-data
+++ b/lib/hx509/data/test-signed-data
@@ -1,4 +1,4 @@
-07	*H(0$10	+ 0D	*H51This is a static file don't change the content, it is used in the test
+0	*H010	`He 0D	*H51This is a static file don't change the content, it is used in the test
 
 #!/bin/sh
 #
@@ -82,5 +82,13 @@ echo "make sure entry is not found (friendlyname|private key)"
 
 exit 0
 
-00c0	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0!10	USE10U	Test cert00	*H  0 jy̫0*q  s֤Uq3m)V@c~[jP"´F>{M>z|-`@B(<|_J*M	Ty͠f 9070	U0 0U0Uwn!x|ùfL=J#0	*H  E#0θɶ.JdWdJ<V{.l77*B.~WZ8)xS-Qj߆hU9Z4P4pt-":ξK2i}׶3hAv6 4Eqtw100/0*10Uhx509 Test Root CA10	USE0	+ 0	*H	1	*H0	*H	1090426202941Z0#	*H	1HЍR^nԺ0	*H	10~0	`He*0*	0*0	`He0	`He0
-*H0*H 0*H@0+0*H(0	*H 6X1Kg m8]:אsONIUO=Cvj4`"US\AͫާNѱ?-aVIL!DOj	k6m@cuÖ
\ No newline at end of file
+000	*H 0*10Uhx509 Test Root CA10	USE0190523150512Z380116150512Z0!10	USE10U	Test cert0"0	*H  0
+ w<rT
+co"Tqvў3?2X|)=8bdҪ6NVױiN5VY|y`x.
+̾(j^tؖHDOeTiy^źhjQ	ɡxuEC|7PnqBi6$ԯ M1BnlA,vg?636~UKHXq,~:@J4ZXP1oKp^A6n#Ia&XE7Gt(P_g~O]Um>XC[&6^Ю Lc	YkJ?vcECJ/>=ĸe҇BSө?ECE	YɽU"I\PAڵ+qpAA$pke6L9IU#o(wD)pnSE<gҾ a 9070	U0 0U0UY =W
+=
+ng@0	*H  ,h3g	&e)v֦/S."cf=xC@Rѩ$Vc#Hdt,gmփhL0Y|t,Za<QDoZ+^L`qd63%ݔQ!} S`]@l{9F
+zCmavD?ȝE,;R{g9O됙z@xQt,5'YJΠr,,gpE)6]=<>b+UAUըeȽ`mS%Ǐ]%͝ZIiW|,2+aD澈]*1-uB^lYp	(:hE.مXTV:Oz^!3dvth6z[-4KmbU1x37 ۠0 |18O=as!?۪#A<JR;0mNSM`+jac1A0=0/0*10Uhx509 Test Root CA10	USE0	`He 0	*H	1	*H0	*H	1190523150530Z0/	*H	1" JةDU#b6<@t}r7F|0y	*H	1l0j0	`He*0	`He0	`He0
+*H0*H 0*H@0+0*H(0	*H  /j<UI|9bGrz͌Z "=F5*V]XLz)(zY(g;Q<ą 1WǞD~$9
+יo{Mi9*]&%G[v+>ʶwaZLY@&-u0u=](v6Sءθď HbT=7
+##=ʨUоz%ͻ:Pogyg_ce\#>n[,~uz<6{	cԀ. 1۞O,kjmýz>6eKfsS/]sY@SN{_n.dv3M+Yv&jHLpdh+F{q~Q"LסHsRѵa'ҵOdVC!dNqι19~%kWު:Bڣ
\ No newline at end of file
diff --git a/lib/hx509/data/test-signed-data-noattr b/lib/hx509/data/test-signed-data-noattr
index 6c6d02f..5d768f8 100644
--- a/lib/hx509/data/test-signed-data-noattr
+++ b/lib/hx509/data/test-signed-data-noattr
@@ -1,4 +1,4 @@
-0D	*H50110	+ 0D	*H51This is a static file don't change the content, it is used in the test
+0	*H010	`He 0D	*H51This is a static file don't change the content, it is used in the test
 
 #!/bin/sh
 #
@@ -82,4 +82,11 @@ echo "make sure entry is not found (friendlyname|private key)"
 
 exit 0
 
-00c0	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0!10	USE10U	Test cert00	*H  0 jy̫0*q  s֤Uq3m)V@c~[jP"´F>{M>z|-`@B(<|_J*M	Ty͠f 9070	U0 0U0Uwn!x|ùfL=J#0	*H  E#0θɶ.JdWdJ<V{.l77*B.~WZ8)xS-Qj߆hU9Z4P4pt-":ξK2i}׶3hAv6 4Eqtw100/0*10Uhx509 Test Root CA10	USE0	+ 0	*H |0p?9MdSUXB23qS v<X梁FP`b{"a[diq(Ni 3'W-L~XV?^ʜ`ȊʨFQņq6:ֿ
\ No newline at end of file
+000	*H 0*10Uhx509 Test Root CA10	USE0190523150512Z380116150512Z0!10	USE10U	Test cert0"0	*H  0
+ w<rT
+co"Tqvў3?2X|)=8bdҪ6NVױiN5VY|y`x.
+̾(j^tؖHDOeTiy^źhjQ	ɡxuEC|7PnqBi6$ԯ M1BnlA,vg?636~UKHXq,~:@J4ZXP1oKp^A6n#Ia&XE7Gt(P_g~O]Um>XC[&6^Ю Lc	YkJ?vcECJ/>=ĸe҇BSө?ECE	YɽU"I\PAڵ+qpAA$pke6L9IU#o(wD)pnSE<gҾ a 9070	U0 0U0UY =W
+=
+ng@0	*H  ,h3g	&e)v֦/S."cf=xC@Rѩ$Vc#Hdt,gmփhL0Y|t,Za<QDoZ+^L`qd63%ݔQ!} S`]@l{9F
+zCmavD?ȝE,;R{g9O됙z@xQt,5'YJΠr,,gpE)6]=<>b+UAUըeȽ`mS%Ǐ]%͝ZIiW|,2+aD澈]*1-uB^lYp	(:hE.مXTV:Oz^!3dvth6z[-4KmbU1x37 ۠0 |18O=as!?۪#A<JR;0mNSM`+jac1Z0V0/0*10Uhx509 Test Root CA10	USE0	`He 0	*H    E^8/>CǨL|.ǨM16vA_B-Eb+d%%;M뱮r($Qߴ}t-"vӏg*#.[UF	|)+"7*->qM\#6BV8/OzRGJ`/7 /&R
+9jJ1<Gd*]+n]|;etQE8y%o*g/|cD?ߘ0ڝM:62҂_eN[XrK׊7CFX%v>N܎M֐xᎌ	<0j8tS:*ⳊB>Qڗ,_dˆŀB-A-D2^bSFlP!B@A0E$8MK=#Ul~U+\ lTPzaHCʵB2f	Ps7-.KX+6^,uU̅X*%b;.j
\ No newline at end of file
diff --git a/lib/hx509/data/test-signed-data-noattr-nocerts b/lib/hx509/data/test-signed-data-noattr-nocerts
index 7de2f44..5f20eee 100644
--- a/lib/hx509/data/test-signed-data-noattr-nocerts
+++ b/lib/hx509/data/test-signed-data-noattr-nocerts
@@ -1,4 +1,4 @@
-0B	*H30/10	+ 0D	*H51This is a static file don't change the content, it is used in the test
+0	*H010	`He 0D	*H51This is a static file don't change the content, it is used in the test
 
 #!/bin/sh
 #
@@ -82,4 +82,5 @@ echo "make sure entry is not found (friendlyname|private key)"
 
 exit 0
 
-100/0*10Uhx509 Test Root CA10	USE0	+ 0	*H |0p?9MdSUXB23qS v<X梁FP`b{"a[diq(Ni 3'W-L~XV?^ʜ`ȊʨFQņq6:ֿ
\ No newline at end of file
+1Z0V0/0*10Uhx509 Test Root CA10	USE0	`He 0	*H    E^8/>CǨL|.ǨM16vA_B-Eb+d%%;M뱮r($Qߴ}t-"vӏg*#.[UF	|)+"7*->qM\#6BV8/OzRGJ`/7 /&R
+9jJ1<Gd*]+n]|;etQE8y%o*g/|cD?ߘ0ڝM:62҂_eN[XrK׊7CFX%v>N܎M֐xᎌ	<0j8tS:*ⳊB>Qڗ,_dˆŀB-A-D2^bSFlP!B@A0E$8MK=#Ul~U+\ lTPzaHCʵB2f	Ps7-.KX+6^,uU̅X*%b;.j
\ No newline at end of file
diff --git a/lib/hx509/data/test-signed-sha-1 b/lib/hx509/data/test-signed-sha-1
index 583c2aa..3580544 100644
--- a/lib/hx509/data/test-signed-sha-1
+++ b/lib/hx509/data/test-signed-sha-1
@@ -1,4 +1,4 @@
-07	*H(0$10	+ 0D	*H51This is a static file don't change the content, it is used in the test
+0	*H010	+ 0D	*H51This is a static file don't change the content, it is used in the test
 
 #!/bin/sh
 #
@@ -82,5 +82,12 @@ echo "make sure entry is not found (friendlyname|private key)"
 
 exit 0
 
-00c0	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0!10	USE10U	Test cert00	*H  0 jy̫0*q  s֤Uq3m)V@c~[jP"´F>{M>z|-`@B(<|_J*M	Ty͠f 9070	U0 0U0Uwn!x|ùfL=J#0	*H  E#0θɶ.JdWdJ<V{.l77*B.~WZ8)xS-Qj߆hU9Z4P4pt-":ξK2i}׶3hAv6 4Eqtw100/0*10Uhx509 Test Root CA10	USE0	+ 0	*H	1	*H0	*H	1090426202941Z0#	*H	1HЍR^nԺ0	*H	10~0	`He*0*	0*0	`He0	`He0
-*H0*H 0*H@0+0*H(0	*H 6X1Kg m8]:אsONIUO=Cvj4`"US\AͫާNѱ?-aVIL!DOj	k6m@cuÖ
\ No newline at end of file
+000	*H 0*10Uhx509 Test Root CA10	USE0190523150512Z380116150512Z0!10	USE10U	Test cert0"0	*H  0
+ w<rT
+co"Tqvў3?2X|)=8bdҪ6NVױiN5VY|y`x.
+̾(j^tؖHDOeTiy^źhjQ	ɡxuEC|7PnqBi6$ԯ M1BnlA,vg?636~UKHXq,~:@J4ZXP1oKp^A6n#Ia&XE7Gt(P_g~O]Um>XC[&6^Ю Lc	YkJ?vcECJ/>=ĸe҇BSө?ECE	YɽU"I\PAڵ+qpAA$pke6L9IU#o(wD)pnSE<gҾ a 9070	U0 0U0UY =W
+=
+ng@0	*H  ,h3g	&e)v֦/S."cf=xC@Rѩ$Vc#Hdt,gmփhL0Y|t,Za<QDoZ+^L`qd63%ݔQ!} S`]@l{9F
+zCmavD?ȝE,;R{g9O됙z@xQt,5'YJΠr,,gpE)6]=<>b+UAUըeȽ`mS%Ǐ]%͝ZIiW|,2+aD澈]*1-uB^lYp	(:hE.مXTV:Oz^!3dvth6z[-4KmbU1x37 ۠0 |18O=as!?۪#A<JR;0mNSM`+jac110-0/0*10Uhx509 Test Root CA10	USE0	+ 0	*H	1	*H0	*H	1190523150530Z0#	*H	1HЍR^nԺ0y	*H	1l0j0	`He*0	`He0	`He0
+*H0*H 0*H@0+0*H(0	*H  	Eno Afdb}Jc:_P6^%%2U@R;Y;w+"HTf:n4=[DJu<o{.76%V	' Gmמ1y=L_
+LѼ?nA[WOkl	Oa%5wf¢^olvu{F=k|V'.@hӑE#Ee@_ 7>ׄ?Y6>>'pHc<&b<1q`aE+5Cs^Kʥ_/^h)v%,Єv@V&aڄUN![lF)ܕ.W(!N;YncJ&@= 4	I~	9kZ7xSxʼM^1I%l]Fmvř.v7B*x`yGyCذ"M5aq$yy-ws$r.
\ No newline at end of file
diff --git a/lib/hx509/data/test-signed-sha-256 b/lib/hx509/data/test-signed-sha-256
index 2022878..edba385 100644
--- a/lib/hx509/data/test-signed-sha-256
+++ b/lib/hx509/data/test-signed-sha-256
@@ -1,4 +1,4 @@
-0K	*H<0810	`He 0D	*H51This is a static file don't change the content, it is used in the test
+0	*H010	`He 0D	*H51This is a static file don't change the content, it is used in the test
 
 #!/bin/sh
 #
@@ -82,6 +82,13 @@ echo "make sure entry is not found (friendlyname|private key)"
 
 exit 0
 
-00c0	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0!10	USE10U	Test cert00	*H  0 jy̫0*q  s֤Uq3m)V@c~[jP"´F>{M>z|-`@B(<|_J*M	Ty͠f 9070	U0 0U0Uwn!x|ùfL=J#0	*H  E#0θɶ.JdWdJ<V{.l77*B.~WZ8)xS-Qj߆hU9Z4P4pt-":ξK2i}׶3hAv6 4Eqtw100/0*10Uhx509 Test Root CA10	USE0	`He 0	*H	1	*H0	*H	1090426202941Z0/	*H	1" JةDU#b6<@t}r7F|0	*H	10~0	`He*0*	0*0	`He0	`He0
-*H0*H 0*H@0+0*H(0	*H Z<s;I5U[cZ2)Jh,Uc *tu*:
-ӫw_7"/zT6,vE,&JΗ@%PJuɭQ
\ No newline at end of file
+000	*H 0*10Uhx509 Test Root CA10	USE0190523150512Z380116150512Z0!10	USE10U	Test cert0"0	*H  0
+ w<rT
+co"Tqvў3?2X|)=8bdҪ6NVױiN5VY|y`x.
+̾(j^tؖHDOeTiy^źhjQ	ɡxuEC|7PnqBi6$ԯ M1BnlA,vg?636~UKHXq,~:@J4ZXP1oKp^A6n#Ia&XE7Gt(P_g~O]Um>XC[&6^Ю Lc	YkJ?vcECJ/>=ĸe҇BSө?ECE	YɽU"I\PAڵ+qpAA$pke6L9IU#o(wD)pnSE<gҾ a 9070	U0 0U0UY =W
+=
+ng@0	*H  ,h3g	&e)v֦/S."cf=xC@Rѩ$Vc#Hdt,gmփhL0Y|t,Za<QDoZ+^L`qd63%ݔQ!} S`]@l{9F
+zCmavD?ȝE,;R{g9O됙z@xQt,5'YJΠr,,gpE)6]=<>b+UAUըeȽ`mS%Ǐ]%͝ZIiW|,2+aD澈]*1-uB^lYp	(:hE.مXTV:Oz^!3dvth6z[-4KmbU1x37 ۠0 |18O=as!?۪#A<JR;0mNSM`+jac1A0=0/0*10Uhx509 Test Root CA10	USE0	`He 0	*H	1	*H0	*H	1190523150530Z0/	*H	1" JةDU#b6<@t}r7F|0y	*H	1l0j0	`He*0	`He0	`He0
+*H0*H 0*H@0+0*H(0	*H  /j<UI|9bGrz͌Z "=F5*V]XLz)(zY(g;Q<ą 1WǞD~$9
+יo{Mi9*]&%G[v+>ʶwaZLY@&-u0u=](v6Sءθď HbT=7
+##=ʨUоz%ͻ:Pogyg_ce\#>n[,~uz<6{	cԀ. 1۞O,kjmýz>6eKfsS/]sY@SN{_n.dv3M+Yv&jHLpdh+F{q~Q"LסHsRѵa'ҵOdVC!dNqι19~%kWު:Bڣ
\ No newline at end of file
diff --git a/lib/hx509/data/test-signed-sha-512 b/lib/hx509/data/test-signed-sha-512
index b4bc5a6..0816fab 100644
--- a/lib/hx509/data/test-signed-sha-512
+++ b/lib/hx509/data/test-signed-sha-512
@@ -1,4 +1,4 @@
-0l	*H]0Y10	`He 0D	*H51This is a static file don't change the content, it is used in the test
+0	*H010	`He 0D	*H51This is a static file don't change the content, it is used in the test
 
 #!/bin/sh
 #
@@ -82,7 +82,11 @@ echo "make sure entry is not found (friendlyname|private key)"
 
 exit 0
 
-00c0	*H 0*10Uhx509 Test Root CA10	USE0090426202940Z190424202940Z0!10	USE10U	Test cert00	*H  0 jy̫0*q  s֤Uq3m)V@c~[jP"´F>{M>z|-`@B(<|_J*M	Ty͠f 9070	U0 0U0Uwn!x|ùfL=J#0	*H  E#0θɶ.JdWdJ<V{.l77*B.~WZ8)xS-Qj߆hU9Z4P4pt-":ξK2i}׶3hAv6 4Eqtw100/0*10Uhx509 Test Root CA10	USE0	`He 0	*H	1	*H0	*H	1090426202941Z0O	*H	1B@(6܄_(}H 1SؠmĘn<QO=&s}.0	*H	10~0	`He*0*	0*0	`He0	`He0
-*H0*H 0*H@0+0*H(0	*H o]^C]7LRV22NV?,8ϦryeD=	1k"`C (3Q	X˺
-Cϒ=l+!
-?i%fx!Xe98#@pfK
\ No newline at end of file
+000	*H 0*10Uhx509 Test Root CA10	USE0190523150512Z380116150512Z0!10	USE10U	Test cert0"0	*H  0
+ w<rT
+co"Tqvў3?2X|)=8bdҪ6NVױiN5VY|y`x.
+̾(j^tؖHDOeTiy^źhjQ	ɡxuEC|7PnqBi6$ԯ M1BnlA,vg?636~UKHXq,~:@J4ZXP1oKp^A6n#Ia&XE7Gt(P_g~O]Um>XC[&6^Ю Lc	YkJ?vcECJ/>=ĸe҇BSө?ECE	YɽU"I\PAڵ+qpAA$pke6L9IU#o(wD)pnSE<gҾ a 9070	U0 0U0UY =W
+=
+ng@0	*H  ,h3g	&e)v֦/S."cf=xC@Rѩ$Vc#Hdt,gmփhL0Y|t,Za<QDoZ+^L`qd63%ݔQ!} S`]@l{9F
+zCmavD?ȝE,;R{g9O됙z@xQt,5'YJΠr,,gpE)6]=<>b+UAUըeȽ`mS%Ǐ]%͝ZIiW|,2+aD澈]*1-uB^lYp	(:hE.مXTV:Oz^!3dvth6z[-4KmbU1x37 ۠0 |18O=as!?۪#A<JR;0mNSM`+jac1b0^0/0*10Uhx509 Test Root CA10	USE0	`He 0	*H	1	*H0	*H	1190523150530Z0O	*H	1B@(6܄_(}H 1SؠmĘn<QO=&s}.0y	*H	1l0j0	`He*0	`He0	`He0
+*H0*H 0*H@0+0*H(0	*H  gˁ#=]t!JDog摘ծ)NP9@"tw~	ߑjv1Ed4R>r-zHw4M9jjukOVҕL/М9VڃjexyT'MnJjp	*=,rޜXVf{`TZh#r3J`Lz]{oD<@8.%!܂gH9ѧkrpƸTAr뭍<EPp5OȴxAO8e׿]^E"1$|KLDOi-튓#ĶZ:#4GD06<tۀ5=7#</U)Jc63-vc ~[QGnhYW'^G]40-+mubrƼU+Şr${."_DN<*E:kmN٤!fķėf>lj(m0 {
\ No newline at end of file
diff --git a/lib/hx509/data/test.combined.crt b/lib/hx509/data/test.combined.crt
index ae16b63..2adab33 100644
--- a/lib/hx509/data/test.combined.crt
+++ b/lib/hx509/data/test.combined.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 2 (0x2)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:12 2019 GMT
+            Not After : Jan 16 15:05:12 2038 GMT
         Subject: C=SE, CN=Test cert
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:e8:6a:8a:12:02:ed:86:e3:1a:b6:79:18:cc:ab:
-                    c3:d4:cf:30:f4:dc:2a:90:71:c3:00:18:20:84:73:
-                    d6:a4:55:b6:71:e4:33:fd:b7:a3:e3:6d:d4:ff:29:
-                    d2:56:7f:40:63:e4:bf:12:8a:16:7e:ff:5b:e9:6a:
-                    ce:50:b4:e3:85:11:a1:22:cd:c2:b4:e5:46:b2:0f:
-                    3e:04:85:7b:a5:4d:3e:7a:b8:c7:7c:d0:2d:fb:95:
-                    60:d1:40:42:bc:28:ae:f1:3c:7c:0e:5f:ca:e4:8f:
-                    fc:4a:2a:1d:ef:10:05:4d:09:54:b7:12:16:79:bb:
-                    bf:cd:a0:92:66:9e:94:e1:ff
+                    00:a9:c9:ce:f8:b7:77:99:3c:72:54:8c:cf:0a:63:
+                    9d:f2:df:0d:07:6f:22:54:17:71:ff:76:a6:d1:9e:
+                    33:f5:05:3f:ac:32:be:58:e5:7c:a7:d3:29:dd:3d:
+                    38:62:64:8d:82:d2:aa:f5:05:36:f3:bc:ad:7f:4e:
+                    b9:c5:56:89:ea:c2:d7:b1:96:69:fd:f7:4e:35:56:
+                    59:7c:03:91:79:60:f4:a1:a8:78:a0:1a:04:2e:0a:
+                    98:b7:cc:be:f3:ea:28:6a:d7:5e:80:8d:74:c7:f4:
+                    d8:96:48:44:94:1b:ce:4f:9a:65:8d:54:c6:c4:69:
+                    b3:be:fb:e4:91:79:5e:c5:ba:f9:df:03:de:14:e2:
+                    68:1a:6a:e9:51:83:01:0f:e6:09:0f:c9:a1:78:b4:
+                    75:45:18:f0:43:7c:11:37:b2:91:cd:50:6e:71:42:
+                    69:c0:36:da:e1:bc:24:fa:bd:8f:c5:ce:ca:d4:af:
+                    b3:f1:d7:20:c1:ac:4d:31:42:c5:cd:6e:6c:41:0c:
+                    8e:8d:08:8f:2c:b0:76:02:18:d7:0d:0f:fe:ca:67:
+                    3f:b6:fe:1b:36:a7:ca:33:bd:01:36:7e:97:f6:e3:
+                    55:9c:4b:a5:fa:48:58:a7:07:ca:c8:71:2c:e9:05:
+                    7e:3a:40:4a:aa:b7:34:13:e1:b0:5a:eb:58:50:0e:
+                    99:31:bd:6f:e9:fb:bd:4b:f8:05:70:5e:01:41:36:
+                    cf:cd:7f:6e:d1:e6:de:e7:23:a9:86:49:61:26:fc:
+                    a9:58:a3:45:37:b2:47:fa:ee:cd:74:e1:a1:28:cc:
+                    50:5f:e9:b0:fe:67:0b:7e:dc:4f:e9:fe:5d:ea:55:
+                    9a:87:d0:13:6d:9e:b9:f1:cd:08:b3:da:c7:d2:3e:
+                    dc:fa:d2:03:58:f7:e6:43:03:5b:c9:0d:ee:d6:26:
+                    b0:fa:eb:36:5e:a3:d0:ae:cb:00:4c:97:bb:9a:63:
+                    09:59:10:6b:c5:f9:e7:4a:3f:76:eb:a2:63:8f:45:
+                    cc:43:8f:4a:15:2f:dc:3e:f2:11:3d:07:03:c4:b8:
+                    c5:e5:65:1a:c7:d2:87:42:53:d3:a9:3f:fb:99:a0:
+                    b8:45:43:45:ec:09:59:c9:bd:55:22:e0:0e:19:ed:
+                    49:fd:b6:db:5c:84:b0:01:89:50:a3:ca:1e:41:ba:
+                    82:87:db:da:b5:2b:71:08:ae:1b:70:41:41:ca:24:
+                    70:6b:9a:c9:db:1d:b2:65:94:01:9d:ed:b8:b5:36:
+                    4c:f0:f0:39:be:bf:e4:49:02:d4:55:ec:11:dd:23:
+                    e3:6f:c1:28:99:77:44:29:70:a2:6e:ec:b2:53:86:
+                    e1:c1:45:3c:67:ea:12:08:b3:be:d2:be:9f:00:b0:
+                    9b:1f:61
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -28,42 +54,115 @@ Certificate:
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment
             X509v3 Subject Key Identifier: 
-                CE:77:6E:DE:0B:F4:21:F8:78:C0:1A:7C:C3:B9:66:EC:4C:3D:4A:23
+                D3:E1:59:20:A1:DE:3D:12:57:0A:3D:BA:0A:6E:67:0E:40:A7:9A:88
     Signature Algorithm: sha1WithRSAEncryption
-        45:23:30:f4:ce:b8:c9:b6:a0:2e:4a:a0:64:bd:be:57:d5:64:
-        ed:4a:8d:95:a3:9a:19:3c:56:7b:14:a6:2e:6c:37:37:ae:2a:
-        b1:42:2e:0c:b8:7e:57:f5:5a:38:29:8d:78:53:b3:2d:c8:c2:
-        97:f3:ab:51:6a:c4:df:86:97:ca:68:55:39:e0:f8:99:5a:bd:
-        a4:e1:34:50:34:8f:70:d2:74:2d:b8:90:ef:b8:d2:22:3a:ce:
-        be:82:a8:4b:b3:32:cd:1b:8d:0b:69:7d:0c:d7:b6:33:dc:68:
-        41:76:a1:36:20:8e:ba:34:45:be:71:bd:ab:bf:74:77:87:e6:
-        bf:7f
+         0f:2c:68:90:33:67:b2:86:09:26:ec:65:29:ae:76:d6:a6:2f:
+         53:0e:d3:16:cd:2e:0d:a8:d1:14:22:f5:63:66:a9:3d:78:43:
+         40:a9:db:ef:02:52:d1:a9:c3:0b:ad:24:8e:a0:56:63:1f:ba:
+         23:48:64:74:ac:2c:bd:67:f8:87:6d:bf:d6:83:68:aa:99:ce:
+         4c:0b:30:d6:06:59:7c:74:0e:2c:8b:ee:5a:61:af:ff:f7:3c:
+         51:10:a7:93:44:6f:bb:f4:8b:5a:2b:5e:1c:4c:89:60:71:af:
+         fd:bf:c0:fd:19:04:12:81:a0:ce:ed:b4:dc:64:12:80:36:18:
+         9f:1c:33:25:94:dd:94:51:eb:a1:c6:21:06:b5:16:05:7d:d3:
+         20:53:de:60:5d:40:6c:f1:7b:a1:98:7f:1a:bd:39:46:0a:ec:
+         a6:cc:eb:7a:96:d5:43:6d:e5:c7:61:d2:f9:ed:76:a8:44:3f:
+         c8:9d:45:1a:2c:3b:52:f8:08:7b:67:39:aa:ae:88:4f:eb:90:
+         99:9c:f8:8b:ae:c7:7a:eb:40:b1:ea:78:51:74:e9:11:2c:c2:
+         d7:c0:93:35:c3:27:59:89:dd:1e:e6:4a:ed:fd:dc:1f:08:e2:
+         80:ce:a0:72:ec:04:d7:2c:1d:d6:2c:67:f3:b9:ce:e9:be:70:
+         10:82:b5:bf:45:29:c1:cc:36:11:5d:83:3d:17:11:03:b0:17:
+         e1:3c:05:f0:ea:07:c6:3e:62:ce:2b:d9:55:41:dc:0c:55:82:
+         0f:e0:d5:a8:02:65:fa:c8:bd:60:16:b4:6d:53:08:9b:06:25:
+         94:c7:8f:ee:ac:5d:25:ad:cd:9d:af:7f:a8:5a:99:49:fc:fb:
+         ad:69:8e:c4:c9:57:7c:88:2c:32:2b:ec:11:ed:61:cc:44:92:
+         a7:18:11:19:96:e6:be:88:5d:ed:0f:dc:ca:2a:31:e9:2d:aa:
+         03:75:03:f4:42:5e:6c:86:b9:7f:b7:59:70:ba:09:b1:ba:28:
+         3a:be:68:45:a0:2e:89:0b:ea:a6:d9:85:58:bf:54:1c:02:56:
+         3a:d4:4f:88:7a:5e:c8:21:33:64:76:74:68:36:7a:a4:1c:a6:
+         5b:b8:f1:ef:98:10:82:84:d4:df:2d:34:4b:6d:15:62:55:31:
+         b2:78:93:33:37:20:db:a0:30:85:db:cf:00:7c:b3:b3:a2:a9:
+         31:d7:06:fb:e7:ec:38:4f:3d:61:73:bf:b8:21:b0:c5:f8:3f:
+         98:8d:db:aa:23:01:41:d4:3c:99:cb:ce:4a:ff:10:fe:a7:52:
+         3b:8c:0f:30:6d:a4:4e:53:4d:60:2b:6a:05:ab:ef:b8:61:9c:
+         a4:85:99:ae:b8:63:c8:e3
 -----BEGIN CERTIFICATE-----
-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
+MIIE/zCCAuegAwIBAgIBAjANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
+OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTE5MDUyMzE1MDUxMloXDTM4
+MDExNjE1MDUxMlowITELMAkGA1UEBhMCU0UxEjAQBgNVBAMMCVRlc3QgY2VydDCC
+AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKnJzvi3d5k8clSMzwpjnfLf
+DQdvIlQXcf92ptGeM/UFP6wyvljlfKfTKd09OGJkjYLSqvUFNvO8rX9OucVWierC
+17GWaf33TjVWWXwDkXlg9KGoeKAaBC4KmLfMvvPqKGrXXoCNdMf02JZIRJQbzk+a
+ZY1UxsRps7775JF5XsW6+d8D3hTiaBpq6VGDAQ/mCQ/JoXi0dUUY8EN8ETeykc1Q
+bnFCacA22uG8JPq9j8XOytSvs/HXIMGsTTFCxc1ubEEMjo0IjyywdgIY1w0P/spn
+P7b+GzanyjO9ATZ+l/bjVZxLpfpIWKcHyshxLOkFfjpASqq3NBPhsFrrWFAOmTG9
+b+n7vUv4BXBeAUE2z81/btHm3ucjqYZJYSb8qVijRTeyR/ruzXThoSjMUF/psP5n
+C37cT+n+XepVmofQE22eufHNCLPax9I+3PrSA1j35kMDW8kN7tYmsPrrNl6j0K7L
+AEyXu5pjCVkQa8X550o/duuiY49FzEOPShUv3D7yET0HA8S4xeVlGsfSh0JT06k/
++5mguEVDRewJWcm9VSLgDhntSf2221yEsAGJUKPKHkG6gofb2rUrcQiuG3BBQcok
+cGuaydsdsmWUAZ3tuLU2TPDwOb6/5EkC1FXsEd0j42/BKJl3RClwom7sslOG4cFF
+PGfqEgizvtK+nwCwmx9hAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXg
+MB0GA1UdDgQWBBTT4Vkgod49ElcKPboKbmcOQKeaiDANBgkqhkiG9w0BAQUFAAOC
+AgEADyxokDNnsoYJJuxlKa521qYvUw7TFs0uDajRFCL1Y2apPXhDQKnb7wJS0anD
+C60kjqBWYx+6I0hkdKwsvWf4h22/1oNoqpnOTAsw1gZZfHQOLIvuWmGv//c8URCn
+k0Rvu/SLWiteHEyJYHGv/b/A/RkEEoGgzu203GQSgDYYnxwzJZTdlFHrocYhBrUW
+BX3TIFPeYF1AbPF7oZh/Gr05RgrspszrepbVQ23lx2HS+e12qEQ/yJ1FGiw7UvgI
+e2c5qq6IT+uQmZz4i67HeutAsep4UXTpESzC18CTNcMnWYndHuZK7f3cHwjigM6g
+cuwE1ywd1ixn87nO6b5wEIK1v0Upwcw2EV2DPRcRA7AX4TwF8OoHxj5izivZVUHc
+DFWCD+DVqAJl+si9YBa0bVMImwYllMeP7qxdJa3Nna9/qFqZSfz7rWmOxMlXfIgs
+MivsEe1hzESSpxgRGZbmvohd7Q/cyiox6S2qA3UD9EJebIa5f7dZcLoJsbooOr5o
+RaAuiQvqptmFWL9UHAJWOtRPiHpeyCEzZHZ0aDZ6pBymW7jx75gQgoTU3y00S20V
+YlUxsniTMzcg26AwhdvPAHyzs6KpMdcG++fsOE89YXO/uCGwxfg/mI3bqiMBQdQ8
+mcvOSv8Q/qdSO4wPMG2kTlNNYCtqBavvuGGcpIWZrrhjyOM=
 -----END CERTIFICATE-----
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOhqihIC7YbjGrZ5
-GMyrw9TPMPTcKpBxwwAYIIRz1qRVtnHkM/23o+Nt1P8p0lZ/QGPkvxKKFn7/W+lq
-zlC044URoSLNwrTlRrIPPgSFe6VNPnq4x3zQLfuVYNFAQrworvE8fA5fyuSP/Eoq
-He8QBU0JVLcSFnm7v82gkmaelOH/AgMBAAECgYBSUxqhEqRsORmHNRHRva3aPaHL
-ugjhrUozSFiMUjPfdfTwFrNL1baZopfl4jx9Iwn92FLOEFezmGRII+r8r3Y/SY9k
-9SS1X4IlPBIHggDKun9OJlpkAFKlOU6HDlEdB/rXR/unzGHQYgQ9DqX3OUEEHPFr
-OOxm0Yj5gvLXvCJDgQJBAPipSzTEAQAtNE/xAnTtZzZD6ABiLE62kMCBJ3dd4NBF
-3+u6nssdExpdXBFrRtSqMxpbKZ5C+j2LFUI+1I6Zdd8CQQDvRoJNb5mUg3Xe+xkX
-JZ/ezXv2bq8pJgPPYnMC4F1Z9KqBRIl+6hDZanKkJP6+JKzHzyNALQv8++/4u/PT
-CtfhAkEAhpSp3X8Pw5azr2iTmdE7gUUzdbGspVVt9qJwR8yJdm+7B4xTkT7FLgnF
-YLAc/9C2I9efKMa7RT/XW6lBxYQNJQJAe2SMK+zicbE9pwkszkAL6vVi+RnpYLoG
-+vrVPuV/nrVK/LDgiz+gAs8fYcDmUh5NsBkFH8JbTVKLVWVv/yS3YQJAA7u25lSb
-JMuylkeVzpg52uaOTNK2NtOH8cXZOSMp8q4evQsrvoiVF4MGoZp0zVGpUUYIUaLA
-BN+BKthYPQEPPg==
+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
+nC68md8aa7+0IQEQqbKOdr+LhyMXCFA=
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/test.crt b/lib/hx509/data/test.crt
index dc4d2a2..2c06613 100644
--- a/lib/hx509/data/test.crt
+++ b/lib/hx509/data/test.crt
@@ -2,25 +2,51 @@ Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number: 2 (0x2)
-        Signature Algorithm: sha1WithRSAEncryption
+    Signature Algorithm: sha1WithRSAEncryption
         Issuer: CN=hx509 Test Root CA, C=SE
         Validity
-            Not Before: Apr 26 20:29:40 2009 GMT
-            Not After : Apr 24 20:29:40 2019 GMT
+            Not Before: May 23 15:05:12 2019 GMT
+            Not After : Jan 16 15:05:12 2038 GMT
         Subject: C=SE, CN=Test cert
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-                Public-Key: (1024 bit)
+                Public-Key: (4096 bit)
                 Modulus:
-                    00:e8:6a:8a:12:02:ed:86:e3:1a:b6:79:18:cc:ab:
-                    c3:d4:cf:30:f4:dc:2a:90:71:c3:00:18:20:84:73:
-                    d6:a4:55:b6:71:e4:33:fd:b7:a3:e3:6d:d4:ff:29:
-                    d2:56:7f:40:63:e4:bf:12:8a:16:7e:ff:5b:e9:6a:
-                    ce:50:b4:e3:85:11:a1:22:cd:c2:b4:e5:46:b2:0f:
-                    3e:04:85:7b:a5:4d:3e:7a:b8:c7:7c:d0:2d:fb:95:
-                    60:d1:40:42:bc:28:ae:f1:3c:7c:0e:5f:ca:e4:8f:
-                    fc:4a:2a:1d:ef:10:05:4d:09:54:b7:12:16:79:bb:
-                    bf:cd:a0:92:66:9e:94:e1:ff
+                    00:a9:c9:ce:f8:b7:77:99:3c:72:54:8c:cf:0a:63:
+                    9d:f2:df:0d:07:6f:22:54:17:71:ff:76:a6:d1:9e:
+                    33:f5:05:3f:ac:32:be:58:e5:7c:a7:d3:29:dd:3d:
+                    38:62:64:8d:82:d2:aa:f5:05:36:f3:bc:ad:7f:4e:
+                    b9:c5:56:89:ea:c2:d7:b1:96:69:fd:f7:4e:35:56:
+                    59:7c:03:91:79:60:f4:a1:a8:78:a0:1a:04:2e:0a:
+                    98:b7:cc:be:f3:ea:28:6a:d7:5e:80:8d:74:c7:f4:
+                    d8:96:48:44:94:1b:ce:4f:9a:65:8d:54:c6:c4:69:
+                    b3:be:fb:e4:91:79:5e:c5:ba:f9:df:03:de:14:e2:
+                    68:1a:6a:e9:51:83:01:0f:e6:09:0f:c9:a1:78:b4:
+                    75:45:18:f0:43:7c:11:37:b2:91:cd:50:6e:71:42:
+                    69:c0:36:da:e1:bc:24:fa:bd:8f:c5:ce:ca:d4:af:
+                    b3:f1:d7:20:c1:ac:4d:31:42:c5:cd:6e:6c:41:0c:
+                    8e:8d:08:8f:2c:b0:76:02:18:d7:0d:0f:fe:ca:67:
+                    3f:b6:fe:1b:36:a7:ca:33:bd:01:36:7e:97:f6:e3:
+                    55:9c:4b:a5:fa:48:58:a7:07:ca:c8:71:2c:e9:05:
+                    7e:3a:40:4a:aa:b7:34:13:e1:b0:5a:eb:58:50:0e:
+                    99:31:bd:6f:e9:fb:bd:4b:f8:05:70:5e:01:41:36:
+                    cf:cd:7f:6e:d1:e6:de:e7:23:a9:86:49:61:26:fc:
+                    a9:58:a3:45:37:b2:47:fa:ee:cd:74:e1:a1:28:cc:
+                    50:5f:e9:b0:fe:67:0b:7e:dc:4f:e9:fe:5d:ea:55:
+                    9a:87:d0:13:6d:9e:b9:f1:cd:08:b3:da:c7:d2:3e:
+                    dc:fa:d2:03:58:f7:e6:43:03:5b:c9:0d:ee:d6:26:
+                    b0:fa:eb:36:5e:a3:d0:ae:cb:00:4c:97:bb:9a:63:
+                    09:59:10:6b:c5:f9:e7:4a:3f:76:eb:a2:63:8f:45:
+                    cc:43:8f:4a:15:2f:dc:3e:f2:11:3d:07:03:c4:b8:
+                    c5:e5:65:1a:c7:d2:87:42:53:d3:a9:3f:fb:99:a0:
+                    b8:45:43:45:ec:09:59:c9:bd:55:22:e0:0e:19:ed:
+                    49:fd:b6:db:5c:84:b0:01:89:50:a3:ca:1e:41:ba:
+                    82:87:db:da:b5:2b:71:08:ae:1b:70:41:41:ca:24:
+                    70:6b:9a:c9:db:1d:b2:65:94:01:9d:ed:b8:b5:36:
+                    4c:f0:f0:39:be:bf:e4:49:02:d4:55:ec:11:dd:23:
+                    e3:6f:c1:28:99:77:44:29:70:a2:6e:ec:b2:53:86:
+                    e1:c1:45:3c:67:ea:12:08:b3:be:d2:be:9f:00:b0:
+                    9b:1f:61
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
@@ -28,26 +54,63 @@ Certificate:
             X509v3 Key Usage: 
                 Digital Signature, Non Repudiation, Key Encipherment
             X509v3 Subject Key Identifier: 
-                CE:77:6E:DE:0B:F4:21:F8:78:C0:1A:7C:C3:B9:66:EC:4C:3D:4A:23
+                D3:E1:59:20:A1:DE:3D:12:57:0A:3D:BA:0A:6E:67:0E:40:A7:9A:88
     Signature Algorithm: sha1WithRSAEncryption
-        45:23:30:f4:ce:b8:c9:b6:a0:2e:4a:a0:64:bd:be:57:d5:64:
-        ed:4a:8d:95:a3:9a:19:3c:56:7b:14:a6:2e:6c:37:37:ae:2a:
-        b1:42:2e:0c:b8:7e:57:f5:5a:38:29:8d:78:53:b3:2d:c8:c2:
-        97:f3:ab:51:6a:c4:df:86:97:ca:68:55:39:e0:f8:99:5a:bd:
-        a4:e1:34:50:34:8f:70:d2:74:2d:b8:90:ef:b8:d2:22:3a:ce:
-        be:82:a8:4b:b3:32:cd:1b:8d:0b:69:7d:0c:d7:b6:33:dc:68:
-        41:76:a1:36:20:8e:ba:34:45:be:71:bd:ab:bf:74:77:87:e6:
-        bf:7f
+         0f:2c:68:90:33:67:b2:86:09:26:ec:65:29:ae:76:d6:a6:2f:
+         53:0e:d3:16:cd:2e:0d:a8:d1:14:22:f5:63:66:a9:3d:78:43:
+         40:a9:db:ef:02:52:d1:a9:c3:0b:ad:24:8e:a0:56:63:1f:ba:
+         23:48:64:74:ac:2c:bd:67:f8:87:6d:bf:d6:83:68:aa:99:ce:
+         4c:0b:30:d6:06:59:7c:74:0e:2c:8b:ee:5a:61:af:ff:f7:3c:
+         51:10:a7:93:44:6f:bb:f4:8b:5a:2b:5e:1c:4c:89:60:71:af:
+         fd:bf:c0:fd:19:04:12:81:a0:ce:ed:b4:dc:64:12:80:36:18:
+         9f:1c:33:25:94:dd:94:51:eb:a1:c6:21:06:b5:16:05:7d:d3:
+         20:53:de:60:5d:40:6c:f1:7b:a1:98:7f:1a:bd:39:46:0a:ec:
+         a6:cc:eb:7a:96:d5:43:6d:e5:c7:61:d2:f9:ed:76:a8:44:3f:
+         c8:9d:45:1a:2c:3b:52:f8:08:7b:67:39:aa:ae:88:4f:eb:90:
+         99:9c:f8:8b:ae:c7:7a:eb:40:b1:ea:78:51:74:e9:11:2c:c2:
+         d7:c0:93:35:c3:27:59:89:dd:1e:e6:4a:ed:fd:dc:1f:08:e2:
+         80:ce:a0:72:ec:04:d7:2c:1d:d6:2c:67:f3:b9:ce:e9:be:70:
+         10:82:b5:bf:45:29:c1:cc:36:11:5d:83:3d:17:11:03:b0:17:
+         e1:3c:05:f0:ea:07:c6:3e:62:ce:2b:d9:55:41:dc:0c:55:82:
+         0f:e0:d5:a8:02:65:fa:c8:bd:60:16:b4:6d:53:08:9b:06:25:
+         94:c7:8f:ee:ac:5d:25:ad:cd:9d:af:7f:a8:5a:99:49:fc:fb:
+         ad:69:8e:c4:c9:57:7c:88:2c:32:2b:ec:11:ed:61:cc:44:92:
+         a7:18:11:19:96:e6:be:88:5d:ed:0f:dc:ca:2a:31:e9:2d:aa:
+         03:75:03:f4:42:5e:6c:86:b9:7f:b7:59:70:ba:09:b1:ba:28:
+         3a:be:68:45:a0:2e:89:0b:ea:a6:d9:85:58:bf:54:1c:02:56:
+         3a:d4:4f:88:7a:5e:c8:21:33:64:76:74:68:36:7a:a4:1c:a6:
+         5b:b8:f1:ef:98:10:82:84:d4:df:2d:34:4b:6d:15:62:55:31:
+         b2:78:93:33:37:20:db:a0:30:85:db:cf:00:7c:b3:b3:a2:a9:
+         31:d7:06:fb:e7:ec:38:4f:3d:61:73:bf:b8:21:b0:c5:f8:3f:
+         98:8d:db:aa:23:01:41:d4:3c:99:cb:ce:4a:ff:10:fe:a7:52:
+         3b:8c:0f:30:6d:a4:4e:53:4d:60:2b:6a:05:ab:ef:b8:61:9c:
+         a4:85:99:ae:b8:63:c8:e3
 -----BEGIN CERTIFICATE-----
-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
+MIIE/zCCAuegAwIBAgIBAjANBgkqhkiG9w0BAQUFADAqMRswGQYDVQQDDBJoeDUw
+OSBUZXN0IFJvb3QgQ0ExCzAJBgNVBAYTAlNFMB4XDTE5MDUyMzE1MDUxMloXDTM4
+MDExNjE1MDUxMlowITELMAkGA1UEBhMCU0UxEjAQBgNVBAMMCVRlc3QgY2VydDCC
+AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKnJzvi3d5k8clSMzwpjnfLf
+DQdvIlQXcf92ptGeM/UFP6wyvljlfKfTKd09OGJkjYLSqvUFNvO8rX9OucVWierC
+17GWaf33TjVWWXwDkXlg9KGoeKAaBC4KmLfMvvPqKGrXXoCNdMf02JZIRJQbzk+a
+ZY1UxsRps7775JF5XsW6+d8D3hTiaBpq6VGDAQ/mCQ/JoXi0dUUY8EN8ETeykc1Q
+bnFCacA22uG8JPq9j8XOytSvs/HXIMGsTTFCxc1ubEEMjo0IjyywdgIY1w0P/spn
+P7b+GzanyjO9ATZ+l/bjVZxLpfpIWKcHyshxLOkFfjpASqq3NBPhsFrrWFAOmTG9
+b+n7vUv4BXBeAUE2z81/btHm3ucjqYZJYSb8qVijRTeyR/ruzXThoSjMUF/psP5n
+C37cT+n+XepVmofQE22eufHNCLPax9I+3PrSA1j35kMDW8kN7tYmsPrrNl6j0K7L
+AEyXu5pjCVkQa8X550o/duuiY49FzEOPShUv3D7yET0HA8S4xeVlGsfSh0JT06k/
++5mguEVDRewJWcm9VSLgDhntSf2221yEsAGJUKPKHkG6gofb2rUrcQiuG3BBQcok
+cGuaydsdsmWUAZ3tuLU2TPDwOb6/5EkC1FXsEd0j42/BKJl3RClwom7sslOG4cFF
+PGfqEgizvtK+nwCwmx9hAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXg
+MB0GA1UdDgQWBBTT4Vkgod49ElcKPboKbmcOQKeaiDANBgkqhkiG9w0BAQUFAAOC
+AgEADyxokDNnsoYJJuxlKa521qYvUw7TFs0uDajRFCL1Y2apPXhDQKnb7wJS0anD
+C60kjqBWYx+6I0hkdKwsvWf4h22/1oNoqpnOTAsw1gZZfHQOLIvuWmGv//c8URCn
+k0Rvu/SLWiteHEyJYHGv/b/A/RkEEoGgzu203GQSgDYYnxwzJZTdlFHrocYhBrUW
+BX3TIFPeYF1AbPF7oZh/Gr05RgrspszrepbVQ23lx2HS+e12qEQ/yJ1FGiw7UvgI
+e2c5qq6IT+uQmZz4i67HeutAsep4UXTpESzC18CTNcMnWYndHuZK7f3cHwjigM6g
+cuwE1ywd1ixn87nO6b5wEIK1v0Upwcw2EV2DPRcRA7AX4TwF8OoHxj5izivZVUHc
+DFWCD+DVqAJl+si9YBa0bVMImwYllMeP7qxdJa3Nna9/qFqZSfz7rWmOxMlXfIgs
+MivsEe1hzESSpxgRGZbmvohd7Q/cyiox6S2qA3UD9EJebIa5f7dZcLoJsbooOr5o
+RaAuiQvqptmFWL9UHAJWOtRPiHpeyCEzZHZ0aDZ6pBymW7jx75gQgoTU3y00S20V
+YlUxsniTMzcg26AwhdvPAHyzs6KpMdcG++fsOE89YXO/uCGwxfg/mI3bqiMBQdQ8
+mcvOSv8Q/qdSO4wPMG2kTlNNYCtqBavvuGGcpIWZrrhjyOM=
 -----END CERTIFICATE-----
diff --git a/lib/hx509/data/test.key b/lib/hx509/data/test.key
index 37203bf..927813f 100644
--- a/lib/hx509/data/test.key
+++ b/lib/hx509/data/test.key
@@ -1,16 +1,52 @@
 -----BEGIN PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOhqihIC7YbjGrZ5
-GMyrw9TPMPTcKpBxwwAYIIRz1qRVtnHkM/23o+Nt1P8p0lZ/QGPkvxKKFn7/W+lq
-zlC044URoSLNwrTlRrIPPgSFe6VNPnq4x3zQLfuVYNFAQrworvE8fA5fyuSP/Eoq
-He8QBU0JVLcSFnm7v82gkmaelOH/AgMBAAECgYBSUxqhEqRsORmHNRHRva3aPaHL
-ugjhrUozSFiMUjPfdfTwFrNL1baZopfl4jx9Iwn92FLOEFezmGRII+r8r3Y/SY9k
-9SS1X4IlPBIHggDKun9OJlpkAFKlOU6HDlEdB/rXR/unzGHQYgQ9DqX3OUEEHPFr
-OOxm0Yj5gvLXvCJDgQJBAPipSzTEAQAtNE/xAnTtZzZD6ABiLE62kMCBJ3dd4NBF
-3+u6nssdExpdXBFrRtSqMxpbKZ5C+j2LFUI+1I6Zdd8CQQDvRoJNb5mUg3Xe+xkX
-JZ/ezXv2bq8pJgPPYnMC4F1Z9KqBRIl+6hDZanKkJP6+JKzHzyNALQv8++/4u/PT
-CtfhAkEAhpSp3X8Pw5azr2iTmdE7gUUzdbGspVVt9qJwR8yJdm+7B4xTkT7FLgnF
-YLAc/9C2I9efKMa7RT/XW6lBxYQNJQJAe2SMK+zicbE9pwkszkAL6vVi+RnpYLoG
-+vrVPuV/nrVK/LDgiz+gAs8fYcDmUh5NsBkFH8JbTVKLVWVv/yS3YQJAA7u25lSb
-JMuylkeVzpg52uaOTNK2NtOH8cXZOSMp8q4evQsrvoiVF4MGoZp0zVGpUUYIUaLA
-BN+BKthYPQEPPg==
+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
+nC68md8aa7+0IQEQqbKOdr+LhyMXCFA=
 -----END PRIVATE KEY-----
diff --git a/lib/hx509/data/test.p12 b/lib/hx509/data/test.p12
index c644bb4..2184547 100644
--- a/lib/hx509/data/test.p12
+++ b/lib/hx509/data/test.p12
@@ -1,10 +1,23 @@
-0	0	*H00	*Hx0t 0m	*H0
-*H0뉙 @(3q$E=c/Z0:voV#=z̹-`4,0{pԥ	.ZpI6MإLj=M!}@ihNbQbUQ:4P#Z	|~D1-uGkq$2n:7vwH 1I&5%lPgZ/5Dra<|M[|TDbԽXBn-wb/T		DM.l8]zpbcXWK=Q^pցa`)<cƌb޸fk[i\AT܇BW_5;>n◢0wdP6^U
-c4*Wzl;=UVɻBA7tIN^^ÃwE)X6\;vy5mZJp?pZKN6Z7Rb]Z,6Ϗ"pq5vL!DX̷ə_?`$?VĶL 	!vP<իuu3v]HT&+OP`2n~;$b4uN
-Zʗ4wƃl^ܑ[,I^&&4xѸX8^˻?quCr(4d|z&MˁRFҶ2o-j_o0)"zTXۇgLF?	{&)dzBA\o]xe]oCdVY>&Gt[;wѹ}/ F#&NVYN^%eS~ 3&^xw뀐CH3	b\dX-PHeqD4w!ȌCZ>TC_c5x{:rKk_;_d*1k-(`VuI
-~d>1?{fKT{# L:s1R(\޽-l7qF3{!$IkdlSDoTvJޭfШ2qYJ<"":#x?I潴jm5,9aycjCPډZthyQƋ&oQtH +]:zMqA͵J((!x_Q.vk.o3)~kA[Ӂ!8f|r秞Xel]&r0s;/ҖkV2r.5W>O7栗lݝM*kfgҾv)ŸnǺ/ΌBs$m0,	*H00*H
-00
-*H0NDWp Gr0IW=Jl6::XK_Lj>DK!S9':J̓<(Sí)lå_{Az-FLgu92
-Àw_͔dq55.Q(l{n2>(J&Q?2=&p?S(r<VK\!v$S0zɠ.N TvfE:z9
-?눬=d4 .NW0>&pK)LGQZg]86@8'/(]m1ɎQgc7RJIZBRxMjh(IQy|eY4qrF^#$WvZT:8ax3T ASlN8vdS>S|}RXhkOA'p(GX<dTLiY8{;8ż*L𢶶h/gҫqxB#lȲFK_,#5fL+xNl,J
-A/Yb{r~o5u/3vpcd1Jϑ*BCa	t?-:1X0#	*H	1A{맳GY\cYj01	*H	1$" f r i e n d l y n a m e - t e s t010!0	+ =M\H;YzdkYu^ȁ 
\ No newline at end of file
+00	*H00	*H0| 0u	*H0
+*H0P H'v_Xby*L{tد^sO  ikA*YǢOyVf*"20:5*y8ב4=2!@<D?ݖ[&e-˰/wNWiUPc[l)KqKӴs4stϨfI厷4+&ųZCa s&,3ak]!w6 ['Q_i%/Fl`ݨT|n)1SxA6Tǂ/{DY՛oJ~H*11u+",f6]Du21};CLj8^{S-h|x=m2;8#@fa_#͖-[<V<.u7rp?rh=f!i'F,[խ7QPܥH^
+qUk-tLR2E_x6L.d11l"ԛC}ŕzU%;=.ÃA5Ԫ4˛_a]@m_s]!/5ӑCby{uхuDI;@=h(mnU](?@{&FyaS$jwd@pNx4q?r@9AIsl5Xm۹DwʎgBdsU90	
+ 2ʻI`T-Y kr3r=rVX8
+lJE]^b"wғOHP8b^p&nj,'UJ)I6;|ȣ
+w> 1-_{@r'$kr@a[?`wv Avh{tNfvn)C`P3zMIҪve/<u-$kxTp"t䧀W	]Λ8%-F9`0U:um߅	mݎ;j=Z i#X>/>zE#T;VM~_#X
+79ߍXZTϕ'UMeϓ>.G&2b: R8{; Ü/ͮW#XmSJVE}X1VND'vNa3}95D@r֞M>ZJ	ɚХӣ
+InZE}C/wr\yglx]2W괫bk
+DWj 9D&RݤW>vh(NDn,qu(!YffA?mßIHJJÖ]i%vsCc\MR#[a+2iڝa`NMEz-|°ncuriڌ-UיJh7sE2|Hk-XN	:8Dr8Sw;g4ntp<  QZ]a\c6a;y|ai)yolKc0Yp^)qHP?r,8jd6"g23C_K)!8Fs̿181쫵w36$rF*āELUJӉҰK`TAr^+*V/gyݿcN	!̨q!]bXΈs
+[Pa=aw֥M*OE9GctR&Nԋ4@QZmq;t-eο?Op3,Ûsirys㭱oowZ([D2XlS\ƾW.p d	## U<㎩S{ ؉H0޲LGyyHZ;jkGJ#O?jmh^]{
+鲭+pE>Mh ;6d6*1D.(h5nU7ei&I-GۋHee-2]*v#W6)<ܼ y̌|AN#Rnm~dP GԖR8_j3Tx٤Br'ҟ$=jTPޞ;C*t+X zcw`yد^CDkBql7{;x҅v.tRsSoMձCV稄zVTc)Gpོi0_1̉=i#8BuPu-kNﬖBip9MAm$I}2CT*68A*c;BD?j"
+Y܋O#Mn@fB1>bF*"D[Pۇ]Gt,"^'K*^AME[1=sOl"ZIMF_6eJ1Ka!0v{vâR.]m}?(q碢..᣶*ޭJSd5XJWq2f7Gy#?v}Na0:u5ٕ4AlҢHfY06Z3e<]
+ɉlR&g*!f5r<-LnjBfHj&C+i4`\P%GY>ЄF^T.OdݺbL5sŚ
+ uO|IE%.F#|V'x\(wf[Vz9Ug˵8EQ'B}9n\]j&{I0T`K,)7^+{/W1QҲQ	R	c-]-aX!5PouÊ`0		*H		0	0	*H
+	n0	j0
+*H0P 	Hh_exmf[ࠎV#J0ȇj;ƭ'XXOPJ11rTȆi<P,lۮ*yrnKVp>LOo]1nD&Ba%InsLKqQ&MRFw`Mv{Z`t~-]skۯ~88d]·Ϲ;gw6F9b<Z,b6ڲfW6{p3p>+Iwd7qU/JM;δAU'u.s=wX۬n+dThHt4G +8T~#|]6t^6NWrepJL#LHB-rQH3Kz@@c+WXr?5:19ڔןa	-viUWY*exc0.<	݃z.
+	Sa7+x[B~{O~3rק܁たim
+.-zs+IZ*ß9ʎ6+Qt^	_#er68Olma͈IƷ_9|QE^@uB"H.SA^\+"=0g% evMgq:4va"\B}_+߿_vp`1_op:yG^]S&!<meCf{j۽x_/LuM\#,ڸRHQioAF$d2WNRF$e=,kX6o1f+SKFǟ{ te{}\Sr_nd빜9hP8=Y= v
+V ӒN<J:LWK۹^xҜ9uVz,ڃi	E "BKH=BH0U?G=?ی9_B	Fg `ZA*65@fhmtCNUiZmC^ՁNMҀXA"ԢAQ v}	5VST.axtSy^1xW67ԿB@18	şJs/p2h_ !iN 58ޑ}X)unnI)4`:h:[C:bcʮh܌	|ۛL?3&;AQ@Gcb:`ze؊]`-pI=Tbkb8Fld)+X 9;zA@!r%|\;TGmrv՝sl/+WgLQN-y[|얖Hƛr׳ uqƞMG͐
+b;1-,0.,,k_#j#HNgϧdW𦉣H	}iS쏔S6+❣`_ZT rjV-6o2THDj}>mB<i_"1}ABdUp?ؚ;O ɫ3bC75	o֫2'9}:JyPF1qUtguM+6AM`NѮ]j4/o[{K%?G.
+$kS2 Xafz{#D`Y]DkHJZ'c;LU} k@fSS1cK&ofv>gةUOc@îW{q%^-XxތryxTcS(5TKvua܌/"(?׋ģ15|E5\R'A==f,`yucJD] /Nc;#i$Kr-Z	]UՒ'#u8<ij:b6rKoAB 7Bfh"棳Q5󦞾>v dG.spf,YǡÑ w.8µ}	jN|n(i,~gC*!_10([ '4*k;}$44x:Zh5NX?&
+. `:(qop41{
+n"۴fXUw*Ԟ!9)-Hl1m4xh"eX6-7@qK=j䨖$~3Y1X0#	*H	1}JNyg\Y01	*H	1$" f r i e n d l y n a m e - t e s t010!0	+ '#B2Q?c7;Cz`~*ft 
\ No newline at end of file
