【问题标题】:What value to set as 'kid' in JWT header在 JWT 标头中设置为“孩子”的值是什么
【发布时间】:2018-10-09 13:21:54
【问题描述】:

根据JWK specification'kid'的定义如下。

“kid”(键 ID)参数用于匹配特定键。这
例如,用于在 JWK 集中的一组键中进行选择 在密钥翻转期间。 “kid”值的结构是
未指定。在 JWK 集中使用“kid”值时,不同
JWK 集中的键应该使用不同的“孩子”值。 (一个
不同键可能使用相同“孩子”值的示例是 if
它们具有不同的“kty”(键类型)值,但被认为是
应用程序使用它们的等效替代方案。)“孩子”
value 是区分大小写的字符串。使用此成员是可选的。
当与 JWS 或 JWE 一起使用时,“kid”值用于匹配 JWS 或
JWE "kid" Header 参数值。

我们可以在这里使用证书指纹作为“孩子”值,因为它直接标识用于签署 JWT 的密钥吗?使用证书指纹作为“孩子”而不是随机字符串有什么缺点?

【问题讨论】:

  • 证书指纹与随机字符串无法区分。

标签: jwt jwk


【解决方案1】:

根据定义,指纹将是稳定的,并且始终在密钥上可用。所以使用它可以让你从存储密钥和随机字符串之间的关系中解放出来。

我认为使用指纹没有缺点。

【讨论】:

  • 我同意这个答案。密钥的指纹是一个很好的解决方案。请注意,RFC7638 引入了一种为所有 JWK 计算指纹的方法。
  • 但是由于我们已经在 'x5t' 元素中发送证书指纹,在 'kid' 中包含指纹不是多余的吗?
猜你喜欢
  • 2022-01-21
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
  • 2018-05-24
  • 1970-01-01
  • 2018-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多