- Added support for RFC4055 SHA2 and SHA4 signature algorithms for
   use with PKCS#1 v1.5 signing and verification.
 - Added extra certificates to test-ca and test code to further test
   functionality of SHA2 and SHA4 signing and verification.
 - Updated other program files accordingly

diff --git a/programs/ssl/test-ca/client1.crt b/programs/ssl/test-ca/client1.crt
index 4e0dd27..c2e658c 100644
--- a/programs/ssl/test-ca/client1.crt
+++ b/programs/ssl/test-ca/client1.crt
@@ -5,73 +5,73 @@
         Signature Algorithm: sha1WithRSAEncryption
         Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
         Validity
-            Not Before: Jan 14 22:43:40 2009 GMT
-            Not After : Jan 14 22:43:40 2011 GMT
+            Not Before: Feb  9 21:12:35 2009 GMT
+            Not After : Feb  9 21:12:35 2011 GMT
         Subject: C=NL, O=PolarSSL, CN=PolarSSL Client 1
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
             RSA Public Key: (2048 bit)
                 Modulus (2048 bit):
-                    00:de:b1:57:8f:86:00:c3:84:99:f9:36:ba:c1:3b:
-                    7e:f8:0e:ff:0b:ee:73:e1:4a:69:2b:8f:2e:e6:cf:
-                    6e:ca:9c:4a:e6:c3:16:5c:e2:20:0f:ea:23:f2:ef:
-                    8f:21:94:42:f7:ec:d4:12:11:3f:1f:e1:9b:96:35:
-                    ff:1c:4a:b1:ec:cc:31:09:ba:5a:17:bd:7c:4d:6e:
-                    de:64:f9:ee:25:2a:a4:da:66:41:e0:f7:a7:05:1b:
-                    aa:0f:16:ff:00:40:bf:0a:10:90:56:d3:60:0e:ec:
-                    1b:c4:fc:99:73:e7:59:87:8f:f9:bb:27:d8:67:e7:
-                    67:0e:21:04:53:e9:ff:5e:8d:d8:34:7c:e7:b4:5c:
-                    18:85:3c:d3:80:d5:76:b6:0c:7d:87:15:fa:97:1e:
-                    87:bc:fe:ee:22:0c:44:6c:4a:25:f9:08:16:ab:92:
-                    a4:f0:4a:d8:82:d6:2a:0c:21:63:81:4d:a8:32:c0:
-                    7f:98:b0:04:3f:64:4c:15:5c:60:fc:b0:c0:e9:69:
-                    e5:06:61:f3:56:85:9a:ad:e5:8c:8c:72:5d:d0:81:
-                    25:46:ae:6c:0a:d6:64:74:2f:86:b3:08:3b:fe:eb:
-                    1b:9c:e0:41:fa:e7:24:aa:aa:e1:d2:3c:bf:54:34:
-                    28:2c:bf:92:5a:cd:81:65:c7:da:73:61:be:7a:f6:
-                    e8:b1
+                    00:cc:e9:b3:06:08:93:8e:83:e4:e8:d0:35:a4:81:
+                    1d:a2:f0:f4:0a:33:46:dd:93:92:1b:da:51:5d:2e:
+                    62:5d:36:78:c4:72:22:86:08:f4:a6:51:3e:02:de:
+                    da:86:82:d4:65:2a:4e:2a:80:c7:dd:f8:ed:79:f8:
+                    17:39:79:4b:1a:c6:0d:e5:b0:9b:f5:cc:4e:76:64:
+                    2c:e6:47:ec:76:d6:cd:36:e0:f5:1b:24:36:21:a6:
+                    72:71:39:0f:7a:d8:af:90:e8:3f:5d:19:ab:d3:f2:
+                    1b:4a:fa:69:4b:7c:12:42:26:44:c3:46:27:6d:f7:
+                    e2:66:59:56:fa:ec:a8:e7:dd:76:d5:36:6e:13:a0:
+                    1f:9d:9e:29:ce:b5:bc:30:45:fb:d1:76:e0:3c:d4:
+                    7b:ce:7a:32:a6:0e:63:aa:63:44:57:91:41:e9:2f:
+                    c4:e8:5d:ad:d0:cf:1b:4b:8d:68:30:f2:7e:50:bc:
+                    86:c1:cd:6c:10:28:7c:a5:d7:c2:f8:90:ce:6d:f7:
+                    69:a6:25:50:a2:28:ad:57:75:82:23:ed:af:27:ea:
+                    32:1e:89:b0:9d:07:0c:6a:f9:98:14:8b:8c:6d:fb:
+                    15:83:7f:42:98:5f:4e:82:b0:1a:cc:c0:ce:6a:61:
+                    e0:a8:a6:e0:d5:ec:17:16:9d:ce:41:ef:27:e3:e4:
+                    8e:fb
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
                 CA:FALSE
             X509v3 Subject Key Identifier: 
-                AA:27:5F:B4:17:D6:BA:24:04:E5:D3:8D:83:AC:65:5D:EB:9D:7E:74
+                F3:A4:F7:F2:0C:11:57:C9:D8:29:46:80:72:CA:23:87:7E:EA:90:27
             X509v3 Authority Key Identifier: 
-                keyid:80:EE:21:48:46:6B:56:EA:9D:71:32:06:64:2F:4C:C1:B4:2D:A9:2E
+                keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
 
     Signature Algorithm: sha1WithRSAEncryption
-        93:30:e0:12:65:5a:d8:5b:b8:2d:04:f9:74:b6:4a:40:c5:eb:
-        3e:c3:2d:6a:67:bf:08:cc:c1:89:21:fd:7f:8f:55:37:b5:bc:
-        27:9d:9b:99:cd:6f:43:f4:90:30:d9:49:68:91:58:ec:8f:5d:
-        55:ce:35:63:16:08:dc:ca:8a:f7:e2:9d:84:f9:6d:ae:e1:94:
-        6b:11:0d:26:da:3d:60:0b:8b:9b:5d:c8:76:6a:a2:f9:e3:61:
-        28:48:d6:0f:8e:aa:bf:65:76:82:c6:6a:e9:23:25:e3:f0:60:
-        43:98:62:64:81:cd:02:a9:a1:16:2c:33:18:e1:15:bd:cf:bf:
-        e2:0d:3e:fe:a3:5f:33:35:64:18:13:fd:76:71:a7:71:9d:8b:
-        e3:35:39:19:f3:4a:5a:0f:5a:c5:ed:63:82:f7:fd:73:94:ba:
-        20:ba:29:8f:2d:18:10:fd:2d:b6:cb:9d:49:8e:07:b8:75:34:
-        f4:63:a6:03:5b:73:76:82:a3:1c:16:c5:2a:6e:d1:92:d6:c0:
-        13:b1:92:f9:2a:74:a1:ae:5f:08:6f:16:d7:43:60:51:37:76:
-        aa:51:9f:44:fb:b5:35:0e:c2:3f:62:31:7a:b4:04:2b:29:96:
-        cc:98:32:2d:13:42:69:b4:79:72:6e:a9:ad:ed:6a:83:ce:6c:
-        9a:13:b0:87
+        76:09:20:d6:88:9c:e7:ee:ae:bb:82:57:1e:ee:bf:bc:71:47:
+        79:04:49:84:5d:f3:99:3f:de:86:da:a4:0c:e4:47:63:9c:d8:
+        dd:2f:b8:d6:0f:4d:67:e7:04:c2:83:82:ce:6e:4c:ed:1a:1c:
+        70:27:b2:9b:da:7a:12:a1:1c:d3:dc:e4:ac:60:ae:21:71:f5:
+        dc:cc:01:c9:2f:c0:4c:51:fc:8e:c4:de:ac:c0:01:e0:82:b5:
+        80:f4:38:7d:21:ea:9c:92:46:cd:f6:1d:f9:60:3d:cb:0a:00:
+        88:6d:aa:5a:c1:08:50:d1:36:04:0a:ee:07:9a:6d:0d:ff:4d:
+        9e:af:97:d3:eb:88:5b:c8:0d:ed:0a:5c:6b:4b:b7:0b:ca:d5:
+        fd:9b:34:f4:be:d0:e0:6c:01:0d:6b:bc:41:f2:a3:13:05:0b:
+        cd:34:59:ba:15:7f:6e:a8:00:53:2a:d5:b7:3a:51:e5:cf:16:
+        04:66:ba:6b:73:4c:bd:4f:14:0f:64:30:00:7b:12:25:eb:73:
+        c5:2d:03:7c:37:91:3e:12:53:ad:a4:f4:fa:73:7b:b7:67:fa:
+        a5:9c:bd:2e:32:87:7b:8f:54:97:28:b8:5e:80:7d:6f:8a:47:
+        e1:f9:b9:61:ef:91:e6:74:54:af:e9:43:03:8f:8b:b6:f7:b5:
+        8d:24:5e:01
 -----BEGIN CERTIFICATE-----
 MIIDPzCCAiegAwIBAgIBAzANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
 MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwMTE0MjI0MzQwWhcNMTEwMTE0MjI0MzQwWjA8MQswCQYDVQQGEwJOTDERMA8G
+MDkwMjA5MjExMjM1WhcNMTEwMjA5MjExMjM1WjA8MQswCQYDVQQGEwJOTDERMA8G
 A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENsaWVudCAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3rFXj4YAw4SZ+Ta6wTt++A7/C+5z
-4UppK48u5s9uypxK5sMWXOIgD+oj8u+PIZRC9+zUEhE/H+GbljX/HEqx7MwxCbpa
-F718TW7eZPnuJSqk2mZB4PenBRuqDxb/AEC/ChCQVtNgDuwbxPyZc+dZh4/5uyfY
-Z+dnDiEEU+n/Xo3YNHzntFwYhTzTgNV2tgx9hxX6lx6HvP7uIgxEbEol+QgWq5Kk
-8ErYgtYqDCFjgU2oMsB/mLAEP2RMFVxg/LDA6WnlBmHzVoWareWMjHJd0IElRq5s
-CtZkdC+Gswg7/usbnOBB+uckqqrh0jy/VDQoLL+SWs2BZcfac2G+evbosQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSqJ1+0F9a6JATl042DrGVd651+dDAf
-BgNVHSMEGDAWgBSA7iFIRmtW6p1xMgZkL0zBtC2pLjANBgkqhkiG9w0BAQUFAAOC
-AQEAkzDgEmVa2Fu4LQT5dLZKQMXrPsMtame/CMzBiSH9f49VN7W8J52bmc1vQ/SQ
-MNlJaJFY7I9dVc41YxYI3MqK9+KdhPltruGUaxENJto9YAuLm13Idmqi+eNhKEjW
-D46qv2V2gsZq6SMl4/BgQ5hiZIHNAqmhFiwzGOEVvc+/4g0+/qNfMzVkGBP9dnGn
-cZ2L4zU5GfNKWg9axe1jgvf9c5S6ILopjy0YEP0ttsudSY4HuHU09GOmA1tzdoKj
-HBbFKm7RktbAE7GS+Sp0oa5fCG8W10NgUTd2qlGfRPu1NQ7CP2IxerQEKymWzJgy
-LRNCabR5cm6pre1qg85smhOwhw==
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzOmzBgiTjoPk6NA1pIEdovD0CjNG
+3ZOSG9pRXS5iXTZ4xHIihgj0plE+At7ahoLUZSpOKoDH3fjtefgXOXlLGsYN5bCb
+9cxOdmQs5kfsdtbNNuD1GyQ2IaZycTkPetivkOg/XRmr0/IbSvppS3wSQiZEw0Yn
+bffiZllW+uyo59121TZuE6AfnZ4pzrW8MEX70XbgPNR7znoypg5jqmNEV5FB6S/E
+6F2t0M8bS41oMPJ+ULyGwc1sECh8pdfC+JDObfdppiVQoiitV3WCI+2vJ+oyHomw
+nQcMavmYFIuMbfsVg39CmF9OgrAazMDOamHgqKbg1ewXFp3OQe8n4+SO+wIDAQAB
+o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBTzpPfyDBFXydgpRoByyiOHfuqQJzAf
+BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQUFAAOC
+AQEAdgkg1oic5+6uu4JXHu6/vHFHeQRJhF3zmT/ehtqkDORHY5zY3S+41g9NZ+cE
+woOCzm5M7RoccCeym9p6EqEc09zkrGCuIXH13MwByS/ATFH8jsTerMAB4IK1gPQ4
+fSHqnJJGzfYd+WA9ywoAiG2qWsEIUNE2BAruB5ptDf9Nnq+X0+uIW8gN7Qpca0u3
+C8rV/Zs09L7Q4GwBDWu8QfKjEwULzTRZuhV/bqgAUyrVtzpR5c8WBGa6a3NMvU8U
+D2QwAHsSJetzxS0DfDeRPhJTraT0+nN7t2f6pZy9LjKHe49Ulyi4XoB9b4pH4fm5
+Ye+R5nRUr+lDA4+Ltve1jSReAQ==
 -----END CERTIFICATE-----