1. 简介
本规范注册用于 JSON Web Signature (JWS) [JWS], JSON Web Encryption (JWE) [JWE], 和 JSON Web Key (JWK) [JWK] 规范的加密算法和标识符. 它为这些标识符定义了若干 IANA 注册表. 所有这些规范都使用基于 JSON 的 [RFC7159] 数据结构. 本规范还描述了这些算法和密钥类型特有的语义和操作.
将算法和标识符注册在本文档中, 而不是注册在 JWS, JWE, 和 JWK 规范中, 其目的是在 Required, Recommended, Optional, 和 Deprecated 算法集合随时间变化时, 使这些规范可以保持不变. 这也允许 JWS, JWE, 和 JWK 规范发生变更, 而无需更新本文档.
本文档定义的名称都很短, 因为一个核心目标是使最终表示保持紧凑.
1.1 记法约定
本文档中的关键词 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", 和 "OPTIONAL" 应按照 "Key words for use in RFCs to Indicate Requirement Levels" [RFC2119] 中的描述解释. 只有当这些术语以全大写形式出现时, 才应适用这种解释.
BASE64URL(OCTETS) 表示按照 [JWS] 第 2 节对 OCTETS 进行 base64url 编码所得的结果.
UTF8(STRING) 表示 STRING 的 UTF-8 [RFC3629] 表示形式所对应的八位位组, 其中 STRING 是由零个或多个 Unicode [UNICODE] 字符组成的序列.
ASCII(STRING) 表示 STRING 的 ASCII [RFC20] 表示形式所对应的八位位组, 其中 STRING 是由零个或多个 ASCII 字符组成的序列.
两个值 A 和 B 的连接表示为 A || B.