Open chunningham opened 1 year ago
My thought here is that there might be a need for a JWT varsig encoding that stores all additional headers in the varsig bytes. However, this wouldn't work for UCAN because there's a ucv
field in the header that should go into the version
field of the CACAO. This means that UCAN likely need a custom varsig encoding anyway.
makes sense, every header except ucv
, alg
and typ
encoded together as dag-json or dag-cbor? An adjacent question about varsig, if we're encoding a self-describing/framed data structure, is it necessary to prefix with length?
if we're encoding a self-describing/framed data structure, is it necessary to prefix with length
I don't think we need to add a length prefix if we can tell when the data ends in other ways.
CAIP-196 defines a straightforward way of transforming back to UCAN serialisation which works almost all the time, however it does not account for header entries apart from
alg
andtyp
. While UCAN headers MUST contain these fields, they may also contain any other JWT-specified or unspecified headers (at least, there's nothing in the UCAN spec proscribing this). In principle it seems like they could not be stored in thefct
field, as a UCAN can have anyfct
s and they can conflict. How could a non-alg
ortyp
header field be stored in a CACAO? Should CACAO restrict the set of headers acceptable in UCANs (similar to requiring the UCAN be signed in canonical form in order to be verifiable)?