libsoliton/soliton_py/tests/test_auth.py
Kamal Tufekcic 1d99048c95
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
initial commit
Signed-off-by: Kamal Tufekcic <kamal@lo.sh>
2026-04-02 23:48:10 +03:00

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