我想问一下,在使用非对称加密时,我们使用客户端的公钥对数据进行加密,以便客户端可以使用其私钥对数据解密吗?
我刚刚找到了使用RSA签署JWT的教程,但是我发现它们使用服务器私钥而不是客户端的公钥对数据进行加密,并且服务器的公钥在客户端之间共享。
它甚至安全吗?因为如果公钥由于可共享而落入了不正确的人手中,那么每个人都可以解密它吗?
因此,可以像这样对jwt签名吗?
参考:tutorial1 tutorial2
在这种情况下,其目的不是加密数据,以便其他人无法读取它(“机密性”),而是对数据进行签名,以便其他具有公钥的人可以验证您是否拥有私钥并且您实际签署了数据。在这种情况下,数据是JWT标头和有效负载的哈希。私钥用于签名,因此只有一个实体(身份验证服务器)可以签名JWT。公钥用于签名验证,以便具有公钥的任何第三方都可以验证JWT。公钥不能用于创建有效的签名。
是的,这很安全!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
点击生成二维码
我来说两句