samples/want/server.lua

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

mercurial