mirror of
				https://github.com/brunoos/luasec.git
				synced 2025-10-30 18:05:38 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			739 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			739 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| --
 | |
| -- Public domain
 | |
| --
 | |
| local socket = require("socket")
 | |
| local ssl    = require("ssl")
 | |
| 
 | |
| local params = {
 | |
|    mode = "server",
 | |
|    protocol = "any",
 | |
|    key = "../certs/serverAkey.pem",
 | |
|    certificate = "../certs/serverA.pem",
 | |
|    cafile = "../certs/rootA.pem",
 | |
|    verify = {"peer", "fail_if_no_peer_cert"},
 | |
|    options = {"all"},
 | |
|    --
 | |
|    curve = "P-384:P-256:P-521",
 | |
| }
 | |
| 
 | |
| 
 | |
| -- [[ SSL context
 | |
| local ctx = assert(ssl.newcontext(params))
 | |
| --]]
 | |
| 
 | |
| local server = socket.tcp()
 | |
| server:setoption('reuseaddr', true)
 | |
| assert( server:bind("127.0.0.1", 8888) )
 | |
| server:listen()
 | |
| 
 | |
| local peer = server:accept()
 | |
| 
 | |
| -- [[ SSL wrapper
 | |
| peer = assert( ssl.wrap(peer, ctx) )
 | |
| assert( peer:dohandshake() )
 | |
| --]]
 | |
| 
 | |
| peer:send("oneshot with curve negotiation test\n")
 | |
| peer:close()
 |