Skip to content

cose-hash-envelope#3

Merged
OR13 merged 1 commit into
mainfrom
cose-hash-envelope
Jul 7, 2026
Merged

cose-hash-envelope#3
OR13 merged 1 commit into
mainfrom
cose-hash-envelope

Conversation

@OR13

@OR13 OR13 commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Why: attest an external resource with a COSE hash envelope and support future proof of possession.

  • Hash envelope (draft-ietf-cose-hash-envelope): payload = SHA-256 of the resource; protected header 258 payload-hash-alg (−16), 259 preimage-content-type, 260 payload-location.
  • CWT claims in the protected header (RFC 9597, label 15), minimal: sub + cnf (RFC 8747) → COSE_Key (EC2 P-256) for holder proof-of-possession.
  • New media type application/digital-emblem+cose; served by GET /api/emblem.
  • Example resource: GeoJSON for St. Stephen's Cathedral, Vienna (/landmarks/stephansdom.json, application/json), marked protected.
  • Verify re-fetches the resource and confirms SHA-256 matches the signed payload.
  • Decoded-CBOR view annotates the new labels; homepage terminal + "worked example" demonstrate it.

Verified end-to-end over live DNS (local): PROTECTED, signature + resource-hash both green. tsc/lint/build clean.

🤖 Generated with Claude Code

Why: attest an external resource (not embedded claims) and support future
proof of possession, per the DIEM direction.

- Emblem is now a COSE_Sign1 hash envelope (draft-ietf-cose-hash-envelope):
  payload = SHA-256 of the resource; protected header carries 258
  payload-hash-alg (-16), 259 preimage-content-type, 260 payload-location.
- CWT claims ride in the protected header (RFC 9597, label 15), kept minimal:
  `sub` plus a `cnf` (RFC 8747) COSE_Key (EC2 P-256) for holder PoP.
- New media type application/digital-emblem+cose; served by GET /api/emblem.
- Example resource: GeoJSON for St. Stephen's Cathedral, Vienna
  (public/landmarks/stephansdom.json, application/json), marked protected.
- verify re-fetches the resource and confirms its SHA-256 matches the payload.
- cbor-hex annotates the new labels (CWT Claims, cnf, COSE_Key, 258/259/260).
- Homepage terminal + steps + a "worked example" section demonstrate it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
emblem-red Error Error Jul 7, 2026 5:48am

Request Review

@OR13 OR13 merged commit a0c1763 into main Jul 7, 2026
3 of 4 checks passed
@OR13 OR13 deleted the cose-hash-envelope branch July 7, 2026 05:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant