Sat, 24 Jul 2010 13:40:16 +0100
Initial commit (LuaSec 0.4)
0 | 1 | -- |
2 | -- Test the conn:want() function. | |
3 | -- | |
4 | -- Public domain | |
5 | -- | |
6 | require("socket") | |
7 | require("ssl") | |
8 | ||
9 | local params = { | |
10 | mode = "server", | |
11 | protocol = "sslv3", | |
12 | key = "../certs/serverAkey.pem", | |
13 | certificate = "../certs/serverA.pem", | |
14 | cafile = "../certs/rootA.pem", | |
15 | verify = {"peer", "fail_if_no_peer_cert"}, | |
16 | options = {"all", "no_sslv2"}, | |
17 | } | |
18 | ||
19 | -- [[ SSL context | |
20 | local ctx = assert(ssl.newcontext(params)) | |
21 | --]] | |
22 | ||
23 | local server = socket.tcp() | |
24 | server:setoption('reuseaddr', true) | |
25 | assert( server:bind("127.0.0.1", 8888) ) | |
26 | server:listen() | |
27 | ||
28 | local peer = server:accept() | |
29 | ||
30 | -- [[ SSL wrapper | |
31 | peer = assert( ssl.wrap(peer, ctx) ) | |
32 | socket.sleep(2) -- force the timeout in the client dohandshake() | |
33 | assert( peer:dohandshake() ) | |
34 | --]] | |
35 | ||
36 | for i = 1, 10 do | |
37 | local v = tostring(i) | |
38 | io.write(v) | |
39 | io.flush() | |
40 | peer:send(v) | |
41 | socket.sleep(1) -- force the timeout in the client receive() | |
42 | end | |
43 | io.write("\n") | |
44 | peer:send("\n") | |
45 | peer:close() |