我的私钥在服务器端,公钥在客户端。我使用它们从我的服务器签署 JWT 并将其发送给我的客户以进行授权。我现在还必须在使用 JWE 进行身份验证期间对客户端的用户密码进行加密,并从服务器端进行验证。
这两个用例有相同的要求:私钥在服务器端,公钥在客户端,加密算法可以相同。这就是为什么我想使用相同的密钥对,但我担心错过一些有关安全的信息,我想确认一下,安全吗?
作为最佳实践,您不应将同一密钥对重复用于不同目的。只需有两个不同的密钥对,一个用于数字签名,另一个用于公钥加密。
安全吗?
回答原来的问题:是的。
它与发送私钥签名的 JWT 一样安全。
如前所述,这可能不是最佳实践,但有时最佳实践对项目来说是一种过度杀伤。