wai: every Ed25519 signature verified strictly, by one verifier (SPEC §7) #186
Loading…
Reference in a new issue
No description provided.
Delete branch "wai/strict-ed25519"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Every Ed25519 signature WAI defines is now verified strictly, by one verifier, and SPEC §7 states the rule once for every receipt extension to cite.
The rule (SPEC §7, Signatures). A signature is refused unless all of these hold:
OER/2 keeps its own published rule, and §7 names it as the one exception.
One verifier.
wai::sig::verify_strict(featureed25519, built whenever the signature library is) now serves every signature check in wai-rs: video keys, ad insertion, channel, package v1 and v2, provenance, ternary, spatial audio, 4D splats, film, score, haptics, worlds, claims, JWP group receipts and the key log.Python. The claim, JWP, signer, HTTP and pack verifiers share one standard-library module,
claim-conformance/_ed25519.py, which checks itself against RFC 8032's test vectors.Corpora.
Not in this change. The quantum crates keep their own verifier, which does not yet apply this rule. Moving them onto it is a change of its own.
Checked locally on macOS arm64:
The forge CI runs on this pull request.
🤖 Generated with Claude Code
ade3f855, #176) into wai/strict-ed25519 dcdae33ed80e6c54dd) into wai/strict-ed25519 92a5e4ac897ac6deca, nothing under wai/) into wai/strict-ed255191cf132ec: audio provenance) into wai/strict-ed25519