http_binding::receipts (receipt_claims): receipt files named by their link hash, the receipt index read item by item, each delivery item through jwp-receipts §3 against the client's chains with missing parents walked by their links up to a bound, step 4 against what the client holds of the object, and claims by subject and parent; a soft-binding claim about another object attests the ancestor. http_binding::keys (key_discovery): a key log anchored only from the origin's own location over HTTPS with a 200 and no redirect, logs through caches adding revisions without moving the anchor, grants files as locators, and parameter sets held only by their pins and §7.9. B's retrofit: jwp_hash::EstablishedHash, built only from bytes or by a fetch session whose head proof verified (FetchSession::established); ObjectReceipt::accept_hash and verify_against_hash, and WaiReceiptProperty::check_against_object_hash, which accept and check_against_object call; ReceiptChains::verify_admitted_object. Corpus: group receipts, claims, indexes, a key log, status, grants file and a set served by digest, with receipt_file, receipts, key_log, grants_file and param_set cases; http_receipts.py checks them for http_verify.py. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1 line
No EOL
898 B
Text
1 line
No EOL
898 B
Text
{"kind":"wai-key-log","revisions":[{"grant_max_s":86400,"issued_at":"2026-10-01T00:00:00Z","keys":[{"compromised_since":null,"id":"d1","key":"af06a3e3291714e4f356c19c9b15cd1951ec6e6662aa77be07547f289383341d","may_sign":["delivery","energy/Estimator","log-inclusion","soft-binding"],"status":"active","until":null},{"compromised_since":null,"id":"g1","key":"a7f6dfaf8f38b89ba8ce649b594f91e4d01fdc57f9c9493df43b5e50a9987367","may_sign":["module/decoder"],"status":"active","until":null}],"kind":"wai-key-set","next_root":"d481afb3d00a3168a515f522aec12623ae3ee77b919ad5db74353a9f55972d8c","origin":"https://origin.example","prev":null,"revoked_modules":[],"root":"4a72e4035bb435d0aa42d43b8873d9f07cb9bf476fe2ade0aba49983eebd425e","seq":0,"sig":"92de01efa058176b0dc77a5784d401427c6266eec4b5583b4a4ac3eea1f2e52c5cc30809c27fb6b3c1908bd29f6658c85452702677f88c392319249df6a9680f","status_max_age_s":3600}]} |