首页 文章

为方便起见,为什么不在JWT有效负载中使用公钥

提问于
浏览
0

据我了解:要检查使用非对称公钥/私钥加密算法创建的JWT的有效性,您需要公钥以及JWT标头,声明(也称为有效负载)和签名 . JWT标头和声明可以自由解码,但如果没有公钥来验证签名(基于标头和声明并使用私钥创建),则无法验证 .

我的问题是,为什么不将公钥捆绑到令牌的声明有效载荷中 . 这样,任何人都可以检查令牌的有效性,而无需从数据库或文件存储中挖掘公钥?

1 回答

  • 6

    你怎么知道JWT提供的公钥是真实的?众所周知,攻击者可能已生成密钥对,使用私钥对有效负载进行签名,并在JWT中包含数据,签名和公钥 . 你现在拥有的这个“东西”并没有证明什么 .

相关问题