|
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 while true do |
|
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("loop test\n") |
|
35 peer:close() |
|
36 end |