File: test.lua

package info (click to toggle)
libopaque 1.0.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,064 kB
  • sloc: ansic: 7,701; python: 570; javascript: 379; makefile: 269; java: 195; php: 181; erlang: 121; ruby: 61; sh: 12
file content (45 lines) | stat: -rwxr-xr-x 1,651 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env lua5.3

o = require 'opaque'

rec, ek = o.register("asdf", nil, "idU", "idS")
sec, pub = o.createCredentialReq("asdf")
resp, ssk, ssec = o.createCredentialResp(pub, rec, "context", "idU", "idS")
csk, authU, export_key = o.recoverCredentials(resp, sec, "context", "idU", "idS")
assert(csk==ssk)
assert(o.userAuth(ssec,authU))

-- failing
sec, pub = o.createCredentialReq("qwer")
resp, ssk, ssec = o.createCredentialResp(pub, rec, "context", "idU", "idS")
ok, csk, authU, export_key = pcall(o.recoverCredentials, resp, sec, "context", "idU", "idS")
assert(not ok)
print(ok, csk, authU, export_key)

-- registration
sec, msg = o.createRegistrationReq("asdf")
ssec, resp = o.createRegistrationResp(msg, nil)
rec, ek = o.finalizeReq(sec,resp,"idU","idS")
rec = o.storeRec(ssec, rec)

sec, pub = o.createCredentialReq("asdf")
resp, ssk, ssec = o.createCredentialResp(pub, rec, "context", "idU", "idS")
ok, csk, authU, export_key = pcall(o.recoverCredentials, resp, sec, "context", "idU", "idS")
assert(ok)
assert(csk==ssk)
assert(o.userAuth(ssec,authU))

-- 1k variant
sec, msg = o.createRegistrationReq("asdf")
ssec, resp = o.createRegistrationResp(msg, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f')
rec, ek = o.finalizeReq(sec,resp,"idU","idS")
rec = o.storeRec(ssec, rec)

sec, pub = o.createCredentialReq("asdf")
resp, ssk, ssec = o.createCredentialResp(pub, rec, "context", "idU", "idS")
ok, csk, authU, export_key = pcall(o.recoverCredentials, resp, sec, "context", "idU", "idS")
assert(ok)
assert(csk==ssk)
assert(o.userAuth(ssec,authU))

print("all ok")