Subject: [COSE] Use of CBOR sequence for CBOR Cert, c5chain and other

From: Laurence Lundblade <[email-masked]>
Date: Mon, 28 Dec 2020 11:54:55 -0800

Maybe this has been discussed already…

A CBOR sequence can’t be an item in a CBOR array or the value of a CBOR map entry. The only way to use a CBOR sequence in a CBOR protocol is to wrap it in a byte string. That means whenever a CBOR Certificate is used in another CBOR protocol is must be wrapped in a byte string.

This is in contrast to many other CBOR protocols that are not CBOR sequences and thus don’t need the byte string wrapping when incorporated into another CBOR protocol. CBOR Cert seems unusual in its design choice.

The c5chain and c5bag COSE headers are the incorporation of CBOR Cert into the COSE protocol. The way they are defined now, there is byte string wrapping inherited from the x5bag and x5chain header parameters, so it does work.

It seems very easy an inexpensive to make CBOR Cert like the other protocols by just making it into a CBOR array. It would add one byte to the start of the cert.

I’m not voicing an opinion on how it should be. I’m mostly wondering if this has been considered.

LL