为方便起见,为什么不在 JWT 有效负载中包含 public 键
Why not have the public key in JWT payload for convenience
据我了解:要检查使用非对称 public/private 密钥加密算法创建的 JWT 的有效性,您需要 public 密钥以及 JWT header,声明(又名有效载荷)和签名。 JWT header 和声明可以自由解码,但如果没有 public 密钥无法验证签名(基于 header & 声明并使用私有创建键)。
我的问题是,为什么不直接将 public 密钥捆绑到令牌的声明负载中。这样任何人都可以检查令牌的有效性,而不必从数据库或文件存储中挖掘 public 密钥?
您怎么知道 JWT 提供的 public 密钥是真实的?如您所知,攻击者可能已经生成了一个密钥对,使用私钥对负载进行签名,并在 JWT 中包含数据、签名和 public 密钥。你现在的这个"thing"并不能证明什么
据我了解:要检查使用非对称 public/private 密钥加密算法创建的 JWT 的有效性,您需要 public 密钥以及 JWT header,声明(又名有效载荷)和签名。 JWT header 和声明可以自由解码,但如果没有 public 密钥无法验证签名(基于 header & 声明并使用私有创建键)。
我的问题是,为什么不直接将 public 密钥捆绑到令牌的声明负载中。这样任何人都可以检查令牌的有效性,而不必从数据库或文件存储中挖掘 public 密钥?
您怎么知道 JWT 提供的 public 密钥是真实的?如您所知,攻击者可能已经生成了一个密钥对,使用私钥对负载进行签名,并在 JWT 中包含数据、签名和 public 密钥。你现在的这个"thing"并不能证明什么