diff options
author | Kim Altintop <kim@eagain.io> | 2023-03-29 18:13:47 +0200 |
---|---|---|
committer | Kim Altintop <kim@eagain.io> | 2023-03-29 18:13:47 +0200 |
commit | 1c2e7a3c68fcec8a620e01ac1d4daed87ff7f02d (patch) | |
tree | b6fb781ff15fd6f96745b58c00a490f299e6e9b6 /Documentation | |
parent | 168401644e0569ad25aec2e35a589fa73acf59f7 (diff) |
doc: update spec on identity format
Signed-off-by: Kim Altintop <kim@eagain.io>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/spec.adoc | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/Documentation/spec.adoc b/Documentation/spec.adoc index b4d025f..10e552e 100644 --- a/Documentation/spec.adoc +++ b/Documentation/spec.adoc @@ -16,7 +16,7 @@ Kim Altintop <kim@eagain.io> :toclevels: 3 :xrefstyle: short // custom attributes -:fmt-version-id: 0.2.0 +:fmt-version-id: 1.0.0 :fmt-version-drop: 0.2.0 :fmt-version-mirrors: 0.2.0 :fmt-version-alternates: 0.2.0 @@ -308,7 +308,12 @@ The `*signed*` portion of the `id.json` file is defined as follows: <<KEY>>, ... ], - "threshold": <<THRESHOLD>>, + "roles": { + "root": { + "keys": [<<KEYID>>], + "threshold": <<THRESHOLD>> + } + }, "mirrors": [ <<URL>>, ... @@ -348,14 +353,17 @@ Verification of an identity history proceeds as follows: <<DATETIME>> does not lie in the past. Otherwise, abort and report an error. - . Verify that at least `*threshold*` of `*keys*` have provided valid - signatures + . Let `k` be the subset of `*keys*` which have a corresponding entry in the + `*roles.root.keys*` set. Verify that at least `*roles.root.threshold*` of + `k` have provided valid signatures . If `*prev*` is not `null`, load the corresponding previous revision of the metadata - . Verify that at least `*threshold*` of `*keys*` of the _previous_ revision - have provided valid signatures over the _current_ revision + . Let `k'` be the subset of `*keys*` of the _previous_ revision which have a + corresponding entry in the `*roles.root.keys*` set (also of the previous + revision). Verify that at least `*threshold*` of `k'` have provided valid + signatures over the _current_ revision . Repeat steps 4. and 5. until `*prev*` is `null` |