Skip to content

IsccNote JCS signatures break if the document is JSON-LD expanded/compacted #43

Description

@titusz

IsccNote (iscc-note-0.8.0) defines optional @context/@type, but the signature (signature.proof) is an Ed25519 proof over the JCS canonicalization of the document with the proof key removed. Any consumer that JSON-LD-expands or compacts the note before verifying — or that re-serializes via a JSON-LD processor — alters the byte sequence and invalidates the signature. JCS and JSON-LD canonicalization are not interchangeable.

Request: document in the schema/spec that

(a) IsccNote signature verification operates on the JCS bytes as-received, never on a JSON-LD-transformed form, and

(b) @context/@type are framing hints only and MUST NOT be added/removed/reordered by intermediaries in the signature path.

Consider marking them non-recommended for the signed declaration payload.

(Context: the ISCC-HUB reference impl forbids them outright at the declaration endpoint for deterministic canonical log storage.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions