@@ -77,7 +77,7 @@ from that proposal to support key revocation.
7777## Rotate file (from TAP 8)
7878
7979The signed portion of a ` rotate ` file is as follows (there's also a
80- signatures wrapper as in tuf spec , not shown here):
80+ signatures wrapper as in the TUF specification , not shown here):
8181
8282``` python
8383{
@@ -92,7 +92,7 @@ signatures wrapper as in tuf spec, not shown here):
9292```
9393
9494Where ROLE, KEYID, KEY, and THRESHOLD are as defined in the original
95- tuf spec . The value of ROLE has to be the same as the role for the
95+ TUF specification . The value of ROLE has to be the same as the role for the
9696delegation. The value of THRESHOLD is its new value. VERSION is the index of
9797this rotate file, incrementing by 1 on each rotation. The keys specify the new
9898valid keys
@@ -101,6 +101,10 @@ the old ones). A rotate file does _not_ contain an expiration date,
101101it is meant to be signed once and never modified. The rotate
102102file has to be signed with an old threshold of old keys.
103103
104+ This rotate file will be named ` ROLE.rotate.VERSION ` where ROLE and VERSION are
105+ defined as above and go into a 'rotate' folder on the repository that
106+ contains all rotate files for the repository.
107+
104108
105109## Rotation to Null
106110
@@ -131,6 +135,13 @@ modified. If a client wants to rotate to a different
131135key, without having access to their currently delegated private key,
132136this requires a key revocation by the delegating metadata.
133137
138+ ## Client workflow
139+
140+ Rotate files will be downloaded by clients as described in TAP 8. Once a
141+ rotate file is downloaded and verified, the client will check for a rotation
142+ to null. If such a rotation to null is found, the client will treat the given
143+ role as revoked.
144+
134145# Security Analysis
135146
136147There should be no negative security impact. The major benefits are
0 commit comments