JWT中的公钥和私钥治理

JWT中的公钥和私钥治理,jwt,x509certificate,Jwt,X509certificate,我试图更好地理解JWT以及如何正确使用它 在常见的JWT用例中(如oauth中基于JWT的身份验证或JWT访问令牌),在客户端验证JWT令牌有意义吗?特别是,我这样做是为了更好地理解JWT签名和加密中涉及的公钥和私钥的要求。如果客户端永远不需要验证JWT签名,那么服务器就不需要使其公钥可用。如果这是真的,我甚至不需要一个完整的X.509证书:一个简单的公钥/私钥对或一个自签名证书就足够了,对吗 所有这些都归结为一个问题:处理JWT中使用的非对称密钥的正确方法是什么?我是否需要公钥基础设施,或者简

我试图更好地理解JWT以及如何正确使用它

在常见的JWT用例中(如oauth中基于JWT的身份验证或JWT访问令牌),在客户端验证JWT令牌有意义吗?特别是,我这样做是为了更好地理解JWT签名和加密中涉及的公钥和私钥的要求。如果客户端永远不需要验证JWT签名,那么服务器就不需要使其公钥可用。如果这是真的,我甚至不需要一个完整的X.509证书:一个简单的公钥/私钥对或一个自签名证书就足够了,对吗

所有这些都归结为一个问题:处理JWT中使用的非对称密钥的正确方法是什么?我是否需要公钥基础设施,或者简单的私钥/公钥对就足够了

我知道JWT规范并没有涵盖这一点:但我很想知道实际使用JWT时的常见做法是什么

当然,这个问题与https中涉及的证书无关:我只是在谈论JWT签名和加密中使用的密钥

在客户端验证JWT令牌有意义吗

如果您使用令牌有效负载数据在客户端执行操作,并且您需要信任令牌,这是有意义的。如果在服务器中使用令牌进行身份验证,则让服务器验证签名

如果这是真的,我甚至不需要一个完整的X.509证书:一个简单的公钥/私钥对或一个自签名证书就足够了,对吗

我是否需要公钥基础设施,或者简单的私钥/公钥对就足够了

您可以使用可信证书、自签名证书或简单的RSA密钥对。通常用于自动生成的密钥对。但如果您不打算在客户机上验证签名,则可以使用HMAC对称密钥(非对称密钥)