open-standards/wai/wai-rs/src/haptic
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science c65b68a2f7 wai-rs: every Ed25519 check outside OER/2 goes through sig::verify_strict
Sixteen sites still decoded the key with VerifyingKey::from_bytes and checked
with the lenient verify, which accepts a key of small order (under the identity,
(R, S) = (B, 1) verifies over any message), a second spelling of a point (y = p + j
is reduced), and an R of small order. Each now calls crate::sig::verify_strict:
the video, SSAI, key-release, channel and package receipts (v1 and v2), the
provenance, ternary and the five media receipts, and the world's receipt, op
signature and container seal. A package names a bad key apart from a bad
signature under receipt-signature; an op's bad key is still BadActorKey.

claim_receipt's own copy of the rule (signer_key, verify_ed25519_strict) is
gone: claims, JWP groups and the key log call the same routine, and its key
test moved into sig.rs. sig builds under a new `ed25519` feature that is only
the dependency, which world and oer enable, so the helper exists exactly when
ed25519-dalek does and asks for nothing else.

sig::forgeries builds, for any signing payload, the three signatures a lenient
verifier accepts and the rule refuses; every moved site has a test that its
receipt refuses all three. oer.rs is untouched: OER/2's settled rule refuses
the same keys but not R of small order.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 18:06:47 -04:00
..
mod.rs wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
receipt.rs wai-rs: every Ed25519 check outside OER/2 goes through sig::verify_strict 2026-10-06 18:06:47 -04:00