Skip to content

Commit 660b71e

Browse files
committed
add canonicalization requirement for metaformat
1 parent 7433b43 commit 660b71e

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

tuf-spec.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -475,8 +475,11 @@ repo](https://github.com/theupdateframework/specification/issues).
475475
* **4.1. Metaformat**
476476

477477
Implementers of TUF may use any data format for metadata files as long as
478-
all fields in this specification are included. The examples in this document
479-
use a subset of the JSON object format, with
478+
all fields in this specification are included and TUF clients are able to
479+
interpret them without ambiguity. Implementers should choose a data format
480+
that allows for canonicalization, or one that will decode data
481+
deterministically by default so that signatures can be accurately verified.
482+
The examples in this document use a subset of the JSON object format, with
480483
floating-point numbers omitted. When calculating the digest of an
481484
object, we use the "canonical JSON" subdialect as described at
482485
http://wiki.laptop.org/go/Canonical_JSON
@@ -498,7 +501,8 @@ repo](https://github.com/theupdateframework/specification/issues).
498501

499502
KEYID is the identifier of the key signing the ROLE dictionary.
500503

501-
SIGNATURE is a hex-encoded signature of the metadata for ROLE.
504+
SIGNATURE is a hex-encoded signature of the canonical form of
505+
the metadata for ROLE.
502506

503507

504508
All keys have the format:

0 commit comments

Comments
 (0)