Subject: [COSE] [cose-issues] Change “Senders SHOULD encode” to “Senders MUST encode” (#26)

From: Mike Jones <[email-masked]>
Date: Sun, 01 Nov 2015 02:26:32 -0800

The description of the “protected” field in Section 3 says “Senders SHOULD encode an empty protected map as a zero length binary object (it is shorter).”  Such uses of “SHOULD” will result in interoperability problems.  Therefore, please change the “SHOULD” to a “MUST”.

---
Reply to this email directly or view it on GitHub:
https://github.com/cose-wg/cose-issues/issues/26

---

From: Jim Schaad <[email-masked]>
Date: Sun, 01 Nov 2015 03:46:28 -0800

There are two options that can be used here for encoding a protected header with no entries.  It can be either a zero length binary string that is encoded, or it can be a zero length map that is encoded.  There is no interopability issue as both of these are valid.  The first is dealt with as a special case while the second just falls out from the normal case of there being any items in the map  (i.e. the code to parse a map with 1 item or with 0 items is identical).   This is a recommendation that one method ought to be used.  This is the correct usage of a SHOULD.

---
Reply to this email directly or view it on GitHub:
https://github.com/cose-wg/cose-issues/issues/26#issuecomment-152820864