跳到主要内容

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