@@ -26,14 +26,24 @@ KEYID | string | No | No
26
26
27
27
* SERIALIZED_BODY: Byte sequence to be signed.
28
28
29
- * PAYLOAD_TYPE: Authenticated URI indicating how to interpret SERIALIZED_BODY.
30
- It encompasses the content type (JSON, Canonical-JSON, CBOR, etc.), the
31
- purpose, and the schema version of the payload. This obviates the need for
32
- the ` _type ` field within [ in-toto] /[ TUF] payloads. This URI does not need to
33
- be resolved to a remote resource, nor does such a resource need to be
34
- fetched. Examples: ` https://in-toto.io/Link/v1.0 ` ,
35
- ` https://in-toto.io/Layout/v1.0 ` ,
36
- ` https://theupdateframework.com/Root/v1.0.5 ` .
29
+ * PAYLOAD_TYPE: Opaque, case-sensitive string that uniquely and unambiguously
30
+ identifies how to interpret ` payload ` . This includes both the encoding
31
+ (JSON, CBOR, etc.) as well as the meaning/schema. To prevent collisions, the
32
+ value SHOULD be either:
33
+
34
+ * [ URI] ( https://tools.ietf.org/html/rfc3986 ) (recommended)
35
+ * Example: ` https://in-toto.io/Statement/v1-json ` .
36
+ * SHOULD resolve to a human-readable description but MAY be
37
+ unresolvable.
38
+ * SHOULD be case-normalized (section 6.2.2.1)
39
+ * [ Media Type] ( https://www.iana.org/assignments/media-types/ ) , a.k.a. MIME
40
+ type or Content Type
41
+ * Example: ` application/vnd.in-toto.statement.v1+json ` .
42
+ * IMPORTANT: SHOULD NOT be a generic type that only represents
43
+ encoding but not schema. For example, ` application/json ` is almost
44
+ always WRONG. Instead, invent a media type specific for your
45
+ application in the ` application/vnd ` namespace.
46
+ * SHOULD be lowercase.
37
47
38
48
* KEYID: Optional, unauthenticated hint indicating what key and algorithm was
39
49
used to sign the message. As with Sign(), details are agreed upon
0 commit comments