@@ -36,16 +36,18 @@ The specification adopted will be the SSL Signing Spec 0.1, as linked above. As
36
36
such, we defer to that document to describe the specifics of signature
37
37
generation and verification.
38
38
39
- The envelope's ` payloadType ` is ` application/vnd.tuf+json ` for all TUF roles.
40
- This means that the payload is expected to be a JSON file with a
41
- ` _type ` field identifying the specific role.
39
+ The envelope's ` payloadType ` is ` application/vnd.tuf+EXT ` for all TUF roles,
40
+ where ` EXT ` indicates the extension based on the metaformat. For example, TUF's
41
+ reference implementation uses JSON by default, and would therefore use
42
+ ` application/vnd.tuf+json ` . This means that the payload is expected to be a JSON
43
+ file with a ` _type ` field identifying the specific role.
42
44
43
45
The envelope's ` payload ` is the JSON serialization of the message, equivalent to
44
46
the ` signed ` object in the current format.
45
47
46
48
## Pseudocode
47
49
48
- Implementations should process the authentication layer as follows:
50
+ The reference implementation should process the authentication layer as follows:
49
51
50
52
Inputs:
51
53
63
65
* If ` envelope.payload ` exists (new-style envelope):
64
66
* If ` payloadType ` != ` application/vnd.tuf+json ` , raise error
65
67
* ` preauthEncoding ` := PAE(UTF8(` envelope.payloadType ` ),
66
- ` envelope.payload ` ) as per signing-spec
68
+ ` envelope.payload ` ) as per
69
+ [ signing-spec] ( https://github.com/secure-systems-lab/signing-spec/blob/master/protocol.md#signature-definition )
67
70
* ` signers ` := set of ` name ` for which Verify(` preauthEncoding ` ,
68
71
` signature.sig ` , ` publicKey ` ) succeeds, for all combinations of
69
72
(` signature ` ) in ` envelope.signatures ` and (` name ` , ` publicKey ` ) in
@@ -82,10 +85,10 @@ Steps:
82
85
83
86
# Motivation
84
87
85
- TUF's sister project, in-toto, reused the current signature envelope to maximize
86
- code reuse. Both projects currently use the same crypto provider. However, the
87
- current envelope is detailed in both projects, and as time has shown, keeping
88
- them synchronized has been difficult.
88
+ TUF's sister project, in-toto, reused TUF's current signature envelope to
89
+ maximize code reuse. Both projects currently use the same crypto provider.
90
+ However, the current envelope is detailed in both projects, and as time has
91
+ shown, keeping them synchronized has been difficult.
89
92
90
93
Further, due to interactions in both communities, the signature envelopes have
91
94
evolved to better fit their use cases. Adopting a common source of truth, i.e.,
0 commit comments