跳到主要内容

9. CBOR 编码限制

  1. CBOR 编码限制

本文档只对 CBOR Encoder 的工作方式施加有限限制. 新的编码限制与 RFC 8949 [STD94] Section 4.2.1 中规定的 Core Deterministic Encoding Requirements 保持一致. 这些限制收窄为以下几项:

  • 该限制适用于 Sig_structure, Enc_structure, 以及 MAC_structure 的编码.

  • 编码 MUST 使用定长形式, 且(已编码)参数的长度 MUST 是可能的最小长度. 这意味着整数 1 编码为 "0x01", 而不是 "0x1801".

  • 应用程序 MUST NOT 生成在同一个 map 中将同一 label 两次用作 key 的消息. 应用程序 MUST NOT 解析并处理在同一个 map 中将同一 label 两次用作 key 的消息. 应用程序可以通过使用会在解析步骤失败的解析器, 或通过使用会将所有 key 传递给应用程序的解析器, 再由应用程序执行重复 key 检查, 来强制执行这一解析和处理要求.