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.