Fri, 05 Nov 2010 21:25:30 +0000
Add :pem() method to certificates
0 | 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 | end |