openid / openid/dchp

Developer Experience with CBOR on the wire

Open
#19 10 comments 0 reactions 2 assignees View on GitHub

@MasterKale is already working on this.

Since Aug 3, 2026.

pending-validation
Dominant language
Python
Stars
19
Forks
3
PR merge metrics
No merged PRs in 30d

Description

#5 is discussing the general serialization format, but also mixes in the dev ux related discussion points.

My take-away from the discussions at IETF 126 was that people were pointing towards CDDL and defining CBOR and JSON in one CDDL. Make sure it is clear that we use CBOR over the wire, but have a clear definition of JSON representations for configuration, debugging, etc.
Copied over from the other issue:

If we use integer based maps in CBOR, we could in theory define in CDDL values that are different between CBOR and JSON representation which would allow us to define keys in the map that are different from CBOR (integer) and JSON (string). Taken from cbor-wg Wiki:

JC<"v", 2>
binary-value = JC<base64-string, bstr>

JC<"v",2> defines the value as "v" for JSON and 2 for CBOR.

RFC9741 introduces control operators that allows to express things like base64 encoding in CDDL:

signature-for-json = text .b64u signature
signature = bytes .cbor COSE_Sign1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.