是否有标准、规范的方法为JWK创建指纹(也称为拇指指纹)?
从我所读到的情况来看,这个标准似乎没有定义应该如何指定kid,我觉得这很奇怪。对我来说,它是最重要的,因为它是一个确定性的值,而不是一个需要查找表的值,这样其他人就可以通过拥有公钥轻松地重新创建密钥id。
我知道SSH指纹和X.509指纹是标准化的,但对于所有使用JWK的环境(特别是浏览器)来说,这似乎并不是一个合适的解决方案,因为它们对于简单的实现来说太复杂了,包括能够操作这些(即伪造)的库将浪费大量的内存、带宽和vm编译时间。
更新
官方上称它为“指纹”,而不是“指纹”。
发布于 2017-03-03 23:25:10
我想RFC7638会回答你的问题。
这个RFC描述了一种在JWK上计算哈希值的方法。
它实际上很容易实现:
kty、n和e,对于EC密钥:crv、kty、x和y。e、kty和n{"e":"AQAB","kty":"RSA","n":"0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2 aiAFbWhM78LhWx4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCi FV4n3oknjhMstn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65Y GjQR0_FDW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n 91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_x BniIqbw0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw"}中NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs中发布于 2017-03-03 23:26:44
我不相信有一个真正的标准,但这个话题已经在IETF邮寄档案中讨论过了。虽然谈话似乎有点偏向于规范JSON在总体上是否是一个好主意,但有一种方法作为标准指纹方法似乎是合理的。
对于规范JSON,我也不知道真正的标准,但我看到的所有源至少都同意上面列出的规则(这是与JWK所使用的对象类型相关的唯一规则)。
https://stackoverflow.com/questions/42588786
复制相似问题