mirror of
https://github.com/brunoos/luasec.git
synced 2024-12-29 13:58:22 +01:00
55 lines
1.1 KiB
Lua
55 lines
1.1 KiB
Lua
--
|
|
-- Public domain
|
|
--
|
|
local socket = require("socket")
|
|
local ssl = require("ssl")
|
|
|
|
local ocsp = ssl.ocsp
|
|
|
|
-- Parameters
|
|
-- * status:
|
|
-- * nil (no status was sent by server)
|
|
-- * ocsp.status.successful
|
|
-- * ocsp.status.malformedrequest
|
|
-- * ocsp.status.internalerror
|
|
-- * ocsp.status.trylater
|
|
-- * ocsp.status.sigrequired
|
|
-- * ocsp.status.unauthorized
|
|
--
|
|
-- Returns
|
|
-- * nil: on error
|
|
-- * true: status was accepted (continue the handshake)
|
|
-- * false: status not accepted (handshake stops with error)
|
|
--
|
|
local callback = function(status)
|
|
print("Status: ", status)
|
|
print("---")
|
|
|
|
if status == nil then
|
|
print("[WARN] No OCSP response")
|
|
return true
|
|
end
|
|
|
|
return (status == ocsp.status.successful)
|
|
end
|
|
|
|
local params = {
|
|
mode = "client",
|
|
protocol = "tlsv1_2",
|
|
verify = "none",
|
|
options = "all",
|
|
ocsp = callback,
|
|
}
|
|
|
|
while true do
|
|
local peer = socket.tcp()
|
|
peer:connect("127.0.0.1", 8443)
|
|
|
|
peer = assert(ssl.wrap(peer, params))
|
|
assert(peer:dohandshake())
|
|
|
|
print(peer:receive())
|
|
print("------------")
|
|
peer:close()
|
|
end
|