1. Introduction (简介)
JSON Web Key (JWK) 是一种JavaScript Object Notation (JSON) [RFC7159] 数据结构,用于表示加密密钥 (Cryptographic Key). 本规范还定义了JWK Set JSON数据结构,用于表示一组JWK. 与本规范一起使用的加密算法和标识符在单独的JSON Web Algorithms (JWA) [JWA] 规范以及该规范建立的IANA注册表中描述.
本规范的目标不包括表示新类型的证书链 (Certificate Chains)、表示新类型的认证密钥 (Certified Keys) 或替代X.509证书.
JWK和JWK Set用于JSON Web Signature [JWS] 和JSON Web Encryption [JWE] 规范中.
本规范定义的名称都很简短,因为核心目标是使生成的表示形式尽可能紧凑 (Compact).
1.1. Notational Conventions (符号约定)
本文档中的关键词"MUST" (必须), "MUST NOT" (禁止), "REQUIRED" (必需), "SHALL" (应), "SHALL NOT" (不应), "SHOULD" (应该), "SHOULD NOT" (不应该), "RECOMMENDED" (推荐), "NOT RECOMMENDED" (不推荐), "MAY" (可以), 和"OPTIONAL" (可选) 应按照"RFC中用于指示需求级别的关键词" [RFC2119] 中的描述进行解释. 这种解释仅在这些术语以全大写字母形式出现时适用.
BASE64URL(OCTETS) 表示对OCTETS的base64url编码,按照[JWS]第2节的规定.
UTF8(STRING) 表示STRING的UTF-8 [RFC3629] 表示的八位字节 (Octets),其中STRING是零个或多个Unicode [UNICODE] 字符的序列.
ASCII(STRING) 表示STRING的ASCII [RFC20] 表示的八位字节,其中STRING是零个或多个ASCII字符的序列.
两个值A和B的连接表示为 A || B.