|
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() |