JWT,使用相同的密钥对从服务器端签名并从客户端加密是否安全?

JWT, is it safe to use the same key pair to sign from server-side and encrypt from client-side?

我的私钥是服务器端的,public是客户端的。我用它们从我的服务器签署 JWT 并发送给我的客户,以获得授权。我现在还必须在使用 JWE 进行身份验证期间在客户端加密用户密码,并从服务器端对其进行验证。

这两个用例具有相同的要求:私钥是服务器端,public密钥是客户端,加密算法可以相同。这就是为什么我想使用相同的密钥对,但我担心会遗漏一些有关安全性的信息,我想确认一下,它安全吗?

作为最佳做法,您不应 re-use 将相同的密钥对用于不同的目的。只要有两个不同的密钥对,一个用于数字签名,另一个用于 public 密钥加密。