samples/oneshot/server.lua

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
 
18
-- [[ SSL context
19
local ctx = assert(ssl.newcontext(params))
20
--]]
21
 
22
local server = socket.tcp()
23
server:setoption('reuseaddr', true)
24
assert( server:bind("127.0.0.1", 8888) )
25
server:listen()
26
 
27
local peer = server:accept()
28
 
29
-- [[ SSL wrapper
30
peer = assert( ssl.wrap(peer, ctx) )
31
assert( peer:dohandshake() )
32
--]]
33
 
34
peer:send("oneshot test\n")
35
peer:close()