Commit graph

275 commits

Author SHA1 Message Date
Vincent Hanquez
adf45a537d handle digest update after processing the packet 2011-12-01 08:42:43 +00:00
Vincent Hanquez
e1fea031af consider clientkeyxchg as an opaque structure in internal layers, and make/process the content in higher layer. 2011-12-01 08:41:01 +00:00
Vincent Hanquez
eba62f6f74 append actual raised exception in the error. 2011-12-01 08:36:56 +00:00
Vincent Hanquez
3bdad41e21 consume ServerKeyExchange if it show up. 2011-12-01 08:34:41 +00:00
Vincent Hanquez
d6a198dad5 split recvRecord out of recvPacket. 2011-11-30 22:01:31 +00:00
Vincent Hanquez
2b4db87a7e cleanup the record layer properly from other layer on top.
simplify and make the code much more straighforward.
2011-11-30 21:51:22 +00:00
Vincent Hanquez
2a685b2601 remove the state machine is favor of a straightforward pattern matching state machine.
simplify code massively and make it easy to support other packet flow later.
2011-11-29 08:59:41 +00:00
Vincent Hanquez
0f4c6a0c47 refactor to be able to modify state machine mechanism 2011-11-28 08:01:19 +00:00
Vincent Hanquez
69e16aa056 refactor exn handling function. 2011-11-16 21:14:32 +00:00
Vincent Hanquez
147f1edfbf be polite and say bye to server. 2011-11-14 22:18:30 +00:00
Vincent Hanquez
88b8da59f0 rename handle to context 2011-11-14 22:16:52 +00:00
Vincent Hanquez
50a1186ab8 add some basic handshake testing in tls directly. 2011-11-14 22:12:09 +00:00
Vincent Hanquez
2e00351add add a pipe abstraction using some chan, that simulate a socketpair. 2011-11-14 22:10:43 +00:00
Vincent Hanquez
26dce4ae9d use the global rsa key in certificate generation so that handshake marshalling doesn't take too long. 2011-11-14 22:09:54 +00:00
Vincent Hanquez
ba7fb17251 Add a RSA keypair cache through a global variable.
Prevent the RSA key generation to be done for each tests.
2011-11-14 22:09:15 +00:00
Vincent Hanquez
7a1c6808b7 add some cases and cleanup a bit the server key exchange message parsing. 2011-11-13 09:16:52 +00:00
Vincent Hanquez
c3da1074dc unnecessary symbol 2011-11-12 16:09:39 +00:00
Vincent Hanquez
f9bc797977 re-introduce certificate marshalling tests now that we can generate keys. 2011-11-11 22:53:17 +00:00
Vincent Hanquez
2b6cb25aa6 bump version to 0.8.2 2011-10-31 22:11:13 +00:00
Vincent Hanquez
9a0b4e0bd7 update to new cryptocipher and new certificate. 2011-10-31 22:10:32 +00:00
Vincent Hanquez
8ec95dc7aa move to applicative style 2011-10-23 18:00:45 +01:00
Vincent Hanquez
5d7ba39fe3 remove useless symbols 2011-10-23 17:57:21 +01:00
Vincent Hanquez
7c081d9fee upgrade test suite to test-framework 2011-10-23 17:54:07 +01:00
Vincent Hanquez
fecef501da bump certificate to 0.9.4 and bump tls version to 0.8.1 2011-10-12 20:13:49 +01:00
Vincent Hanquez
c7dbc75923 bump certificate bound to 0.9.3 2011-10-11 05:36:40 +01:00
Vincent Hanquez
98ded9d6f4 only import X509 from the X509 module. 2011-10-11 05:36:15 +01:00
Vincent Hanquez
03d5989446 bump version. 2011-10-11 05:32:26 +01:00
Vincent Hanquez
905aff7564 fix typo in error message 2011-10-08 09:41:09 +01:00
Vincent Hanquez
09e32f10c7 use strict time constant version of and and bytestring == during Reception. 2011-10-02 22:15:42 +01:00
Vincent Hanquez
bb9d46447f add strict version of and, && and bytestring equality 2011-10-02 22:15:21 +01:00
Vincent Hanquez
273d5285c2 allow definition of client and server with different connection/operations type 2011-09-29 09:22:27 +01:00
Vincent Hanquez
dff8e03476 curry the connection 2011-09-29 09:14:02 +01:00
Vincent Hanquez
9b099fd0ff vectorized the actual connection type, so one could use Socket or Fd as long as handles. 2011-09-29 08:29:28 +01:00
Vincent Hanquez
7d6116c20b put TLS12 in default allowed versions 2011-09-29 08:27:55 +01:00
Vincent Hanquez
2cf72e64b8 update documentation: TLS1.2 is working 2011-08-17 20:50:57 +01:00
Vincent Hanquez
7d24f39c50 directly put the hash in the new empty handshake instead of using a maybe. 2011-08-17 20:50:30 +01:00
Vincent Hanquez
ba942d0c24 separate the function to get one from multiple signature hash 2011-08-17 20:47:36 +01:00
Vincent Hanquez
46f89fcb15 add a type alias for HMAC 2011-08-14 17:51:20 +01:00
Vincent Hanquez
4a54c807e0 define hashSHA256. 2011-08-14 16:18:22 +01:00
Vincent Hanquez
6d5585c74a switch to one hashctx that can contains 2 hashctx, and add a special updateSSL for SSL3. 2011-08-14 16:18:09 +01:00
Vincent Hanquez
68be94060e update hash interface to hide the state through typeclass and existentialquantification. 2011-08-14 14:34:34 +01:00
Vincent Hanquez
d5ebf32b7f in the SSL3 case, we hardcode SHA1.hash and MD5.hash instead of using the hash abstraction. 2011-08-14 14:33:26 +01:00
Vincent Hanquez
394381a2f5 define more stuff for TLS1.2 related to PRF. 2011-08-14 12:21:54 +01:00
Vincent Hanquez
77efb1076a remove commented code 2011-08-14 10:27:15 +01:00
Vincent Hanquez
99cf9b4592 move README into README.md and update content 2011-08-14 08:17:21 +01:00
Vincent Hanquez
1799f8bbd6 update TODO 2011-08-14 07:49:58 +01:00
Vincent Hanquez
a3b7419f8b Define hash structure to save some repetition 2011-08-13 12:30:36 +01:00
Vincent Hanquez
48165081a1 add Bulk to the list of exposed structure 2011-08-13 12:06:54 +01:00
Vincent Hanquez
b72c6328b0 remove the keyblocksize that is redundant and easily calculated from other fields. 2011-08-13 12:04:23 +01:00
Vincent Hanquez
bd2a00782b rename bulk functions to be prefixed by bulk not cipher 2011-08-13 11:17:51 +01:00