On Jul 21, 2026, at 22:05, Laurence Lundblade <[email protected]> wrote: > > It looks like -19 attempted to use ~ (unwrap) to remove the array grouping to > yield a sequence. But ~ only works on tag numbers, not arrays.
Let’s clarify that last sentence a bit: CDDL was defined before CBOR Sequences were being used more heavily. It therefore has no way to describe a CBOR Sequence directly, only single CBOR data items (CDDL types, i.e., sets of data items). Unwrapping (~) a CDDL Tag data item gives you the content of the tag, which is another data item (a *type* in CDDL). Unwrapping a map or an array gives you a *group*, which you can use to build larger arrays and maps (see example on page 26 of RFC 8610), but which is not a CBOR Sequence. Please see Section 4.1 of RFC 8742 for how to handle CBOR Sequences in CDDL. Essentially, if you use CDDL to describe an array the content of which stands for a CBOR Sequence, you’ll need to say that. “The elements of a C509Certificate form a CBOR Sequence. Similarly, the subsequence of elements described as the group TBSCertificate form a CBOR Sequence that stands for a similar structure with the issuerSignatureValue removed at the end.” Or so. 3.1.12 then says “…the signatureValue is calculated over the CBOR sequence TBSCertificate." Grüße, Carsten _______________________________________________ COSE mailing list -- [email protected] To unsubscribe send an email to [email protected]
