Skip to content

Explanation

Placeholder

The rules on this page apply now; the signing details come in a later unit.

Versioning: additive only

The specification version follows semantic versioning. Within one major version, changes are additive only:

  • New optional fields and new messages may appear.
  • An existing field is never removed, renamed or given a new meaning.
  • An existing constraint is never tightened.

Receivers must ignore fields they do not know. That is what keeps a newer sender compatible with an older receiver, and the reason the schemas do not reject extra properties. A change that breaks these rules needs a new major version.

Message signing

Messages will be protected with the nexo SecurityTrailer, using AES-CMAC as the message authentication code. The exact recipe, meaning which bytes are signed and how keys are agreed, is defined in a later unit. Until then, the test vectors let you verify an AES-CMAC implementation.