跳到主要内容

1. 引言 (Introduction)

JSON Web Key (JWK) 是一种 JavaScript Object Notation (JSON) [RFC7159] 数据结构, 用于表示加密密钥. 本规范还定义了一种 JWK Set JSON 数据结构, 用于表示一组 JWK. 与本规范一起使用的加密算法和标识符在单独的 JSON Web Algorithms (JWA) [JWA] 规范以及该规范建立的 IANA 注册表中描述.

本规范的目标不包括表示新种类的证书链, 表示新种类的经认证密钥, 或替代 X.509 证书.

JWK 和 JWK Set 用于 JSON Web Signature [JWS] 和 JSON Web Encryption [JWE] 规范.

本规范定义的名称较短, 因为一个核心目标是使生成的表示形式保持紧凑.

1.1. 记法约定 (Notational Conventions)

本文档中的关键词 "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) 表示 OCTETS 的 base64url 编码, 如 [JWS] 第 2 节所述.

UTF8(STRING) 表示 STRING 的 UTF-8 [RFC3629] 表示形式的八位字节, 其中 STRING 是由零个或多个 Unicode [UNICODE] 字符组成的序列.

ASCII(STRING) 表示 STRING 的 ASCII [RFC20] 表示形式的八位字节, 其中 STRING 是由零个或多个 ASCII 字符组成的序列.

两个值 A 和 B 的串联表示为 A || B.