samples/wantwrite/server.lua

1
--
2
-- Public domain
3
--
4
require("socket")
5
require("ssl")
6
 
7
print("Use Ctrl+S and Ctrl+Q to suspend and resume the server.")
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
 
20
-- [[ SSL context
21
local ctx = assert(ssl.newcontext(params))
22
--]]
23
 
24
local server = socket.tcp()
25
server:setoption('reuseaddr', true)
26
assert( server:bind("127.0.0.1", 8888) )
27
server:listen()
28
 
29
local peer = server:accept()
30
 
31
-- [[ SSL wrapper
32
   peer = assert( ssl.wrap(peer, ctx) )
33
   assert( peer:dohandshake() )
34
--]]
35
 
36
while true do
37
   local str = peer:receive("*l")
38
   print(str)
39
end
40
peer:close()