Some checks failed
CI / lint (push) Successful in 1m37s
CI / test-python (push) Successful in 1m49s
CI / test-zig (push) Successful in 1m39s
CI / test-wasm (push) Successful in 1m54s
CI / test (push) Successful in 14m44s
CI / miri (push) Successful in 14m18s
CI / build (push) Successful in 1m9s
CI / fuzz-regression (push) Successful in 9m9s
CI / publish (push) Failing after 1m10s
CI / publish-python (push) Failing after 1m46s
CI / publish-wasm (push) Has been cancelled
Signed-off-by: Kamal Tufekcic <kamal@lo.sh>
27 lines
710 B
Python
27 lines
710 B
Python
"""Tests for LO-Auth challenge-response."""
|
|
|
|
import soliton
|
|
|
|
|
|
def test_auth_round_trip():
|
|
with soliton.Identity.generate() as id:
|
|
pk = id.public_key()
|
|
sk = id.secret_key()
|
|
|
|
# Server generates challenge.
|
|
ct, token = soliton.auth_challenge(pk)
|
|
|
|
# Client responds.
|
|
proof = soliton.auth_respond(sk, ct)
|
|
|
|
# Server verifies.
|
|
assert soliton.auth_verify(token, proof) is True
|
|
|
|
|
|
def test_auth_wrong_proof():
|
|
with soliton.Identity.generate() as id:
|
|
pk = id.public_key()
|
|
ct, token = soliton.auth_challenge(pk)
|
|
# Tampered proof.
|
|
fake_proof = b"\x00" * 32
|
|
assert soliton.auth_verify(token, fake_proof) is False
|