8. IANA 考虑
以下注册流程用于本规范建立的所有 registry.
值在 [email protected] 邮件列表经过三周审查期后, 根据一名或多名 Designated Expert 的建议, 按 Specification Required [RFC5226] 方式注册. 但是, 为允许在规范发布前分配值, Designated Expert 在确信此类规范将会发布后, 可以批准注册.
发送到邮件列表进行审查的注册请求应使用适当主题, 例如 "Request to register JWK parameter: example".
在审查期内, Designated Expert 将批准或拒绝注册请求, 并将决定通知审查列表和 IANA. 拒绝应包含说明, 并在适用时给出如何使请求成功的建议. 超过 21 天仍未确定的注册请求可以提交给 IESG 注意, 使用 [email protected] 邮件列表进行解决.
Designated Expert 应采用的标准包括: 判断拟议注册是否重复现有功能, 它是否可能具有通用适用性或仅对单个应用有用, 以及注册描述是否清晰.
IANA MUST 仅接受来自 Designated Expert 的 registry 更新, 并应将所有注册请求引导至审查邮件列表.
建议任命多名 Designated Expert, 使其能够代表使用本规范的不同应用视角, 以便对注册决策进行信息充分的广泛审查. 如果某项注册决策可能被认为会给某位 Expert 造成利益冲突, 该 Expert 应服从其他 Expert 的判断.
8.1. JSON Web Key Parameters Registry
本节为 JWK parameter name 建立 IANA "JSON Web Key Parameters" registry. 该 registry 记录参数名称, 该参数所用于的密钥类型, 以及定义该参数的规范引用. 它还记录该参数传达的是公开信息还是私有信息. 本节注册 Section 4 中定义的参数名称. 同一个 JWK parameter name 可以注册多次, 前提是重复的参数注册用于特定于某种密钥类型的 JWK 参数. 在这种情况下, 重复参数名称的含义由包含它的 JWK 的 "kty" 值消歧.
8.1.1. 注册模板
Parameter Name: 请求的名称, 例如 "kid". 由于本规范的核心目标之一是使生成的表示保持紧凑, 因此 RECOMMENDED 使用短名称, 除非有充分理由, 否则不超过 8 个字符. 此名称区分大小写. 除非 Designated Expert 声明有充分理由允许例外, 名称不得以不区分大小写的方式匹配其他已注册名称. 但是, 如果该参数名称所配套使用的 "kty" 值集合互不相交, 则可以注册相匹配的名称. 在匹配 "kty" 值时, "*" 匹配所有值.
Parameter Description: 参数的简要描述, 例如 "Key ID".
Used with "kty" Value(s): 该参数名称将要配合使用的 key type parameter value, 或者当该参数值用于所有密钥类型时使用值 "*". 当已注册的参数名称相同, 包括其中一个以不区分大小写方式匹配另一个时, 除非 Designated Expert 声明有充分理由允许例外, 这些值 MUST NOT 以不区分大小写方式匹配其他已注册 "kty" 值.
Parameter Information Class: 注册该参数传达公开信息还是私有信息. 其值必须为 Public 或 Private.
Change Controller: 对于 Standards Track RFC, 填写 "IESG". 对于其他情况, 给出负责方名称. 也可以包含其他详细信息, 例如邮政地址, 电子邮件地址, 主页 URI.
Specification Document(s): 指定该参数的文档引用, 最好包含可用于获取文档副本的 URI. 也可以包含相关章节指示, 但并非必需.
8.1.2. 初始 Registry 内容
本规范注册以下参数:
- kty - Key Type - * (all key types) - Public - RFC 7517 Section 4.1
- use - Public Key Use - * (all key types) - Public - RFC 7517 Section 4.2
- key_ops - Key Operations - * (all key types) - Public - RFC 7517 Section 4.3
- alg - Algorithm - * (all key types) - Public - RFC 7517 Section 4.4
- kid - Key ID - * (all key types) - Public - RFC 7517 Section 4.5
- x5u - X.509 URL - * (all key types) - Public - RFC 7517 Section 4.6
- x5c - X.509 Certificate Chain - * (all key types) - Public - RFC 7517 Section 4.7
- x5t - X.509 Certificate SHA-1 Thumbprint - * (all key types) - Public - RFC 7517 Section 4.8
- x5t#S256 - X.509 Certificate SHA-256 Thumbprint - * (all key types) - Public - RFC 7517 Section 4.9
8.2. JSON Web Key Use Registry
本节为 JWK "use" (public key use) member value 建立 IANA "JSON Web Key Use" registry. 该 registry 记录 public key use 值以及定义该值的规范引用. 本节注册 Section 4.2 中定义的参数名称.
8.2.1. 注册模板
结构类似于 Section 8.1.1, 包括 Use Member Value, Use Description, Change Controller, 以及 Specification Document(s) 字段.
8.2.2. 初始 Registry 内容
- sig - Digital Signature or MAC - RFC 7517 Section 4.2
- enc - Encryption - RFC 7517 Section 4.2
8.3. JSON Web Key Operations Registry
本节为 JWK "key_ops" (key operations) member value 建立 IANA "JSON Web Key Operations" registry. 该 registry 记录 key operation 值以及定义该值的规范引用. 本节注册 Section 4.3 中定义的值.
8.3.1. 注册模板
结构类似于 Section 8.2.1.
8.3.2. 初始 Registry 内容
- sign - Compute digital signature or MAC - RFC 7517 Section 4.3
- verify - Verify digital signature or MAC - RFC 7517 Section 4.3
- encrypt - Encrypt content - RFC 7517 Section 4.3
- decrypt - Decrypt content and validate decryption - RFC 7517 Section 4.3
- wrapKey - Encrypt key - RFC 7517 Section 4.3
- unwrapKey - Decrypt key and validate decryption - RFC 7517 Section 4.3
- deriveKey - Derive key - RFC 7517 Section 4.3
- deriveBits - Derive bits not to be used as a key - RFC 7517 Section 4.3
8.4. JSON Web Key Set Parameters Registry
本节为 JWK Set parameter name 建立 IANA "JSON Web Key Set Parameters" registry. 该 registry 记录参数名称以及定义该参数的规范引用. 本节注册 Section 5 中定义的参数名称.
8.4.1. 注册模板
结构类似于 Section 8.1.1, 但适用于 JWK Set 参数.
8.4.2. 初始 Registry 内容
- keys - Array of JWK values - RFC 7517 Section 5.1
8.5. Media Type 注册
8.5.1. Registry 内容
本规范注册以下 media type [RFC2046]:
application/jwk+json
- Type name: application
- Subtype name: jwk+json
- Required parameters: N/A
- Optional parameters: N/A
- Encoding considerations: 8bit; application/jwk+json 值以 UTF-8 编码; 可以使用 "8bit" content transfer encoding
- Security considerations: 见 RFC 7517 Section 9
- Interoperability considerations: N/A
- Published specification: RFC 7517
- Applications that use this media type: OpenID Connect, Mozilla Persona, Salesforce, Google, Android, Windows Azure, Amazon Web Services, 以及其他使用 JWK 的应用
- Additional information: Magic number(s): N/A, File extension(s): .jwk, Macintosh file type code(s): N/A
- Person & email address to contact for further information: Michael B. Jones, [email protected]
- Intended usage: COMMON
- Restrictions on usage: none
- Author: Michael B. Jones, [email protected]
- Change controller: IESG
- Provisional registration? No
application/jwk-set+json
- JWK Set 使用类似结构
- File extension(s): .jwks