Public 和 JWT 中的私钥治理
Public and private keys governance in JWT
我正在努力更好地理解 JWT 以及如何正确使用它。
在常见的 JWT 用例中(例如基于 JWT 的身份验证或 oauth 中的 JWT 访问令牌),在客户端验证 JWT 令牌是否有意义?特别是,我问这个是为了更好地理解 JWT 签名和加密中涉及的 public 和私钥的要求。如果客户端永远不需要验证 JWT 签名,那么服务器就不需要使其 public 密钥可用。如果这是真的,我什至不需要完整的 X.509 证书:裸 public/private 密钥对或自签名证书就足够了,对吧?
所以这一切归结为一个问题:处理 JWT 中使用的非对称密钥的正确方法是什么?我需要一个 public 密钥基础设施还是一个简单的 private/public 密钥对就足够了?
我知道 JWT 规范没有涵盖这一点:但我很想知道实际 JWT 使用中的常见做法是什么。
当然这个问题和https涉及的证书没有关系:我说的只是JWT签名和加密用到的密钥
does it make sense to verify a JWT token client-side?
如果您使用令牌负载数据在客户端执行操作是有意义的,并且您需要信任该令牌。如果您在服务器中使用令牌进行身份验证,则让服务器验证签名。
if this is true, I don't even need a full blown X.509 certificate: a bare public/private key pair or a self signed cert would suffice, right?
Do I need a public key infrastructure or is a simple private/public key pair enough?
您可以使用可信证书、自签名证书或简单的 RSA 密钥对。通常使用自动生成的密钥对。但是如果你不打算在客户端验证签名,你可以只使用 HMAC 对称密钥(不是 assymetric
我正在努力更好地理解 JWT 以及如何正确使用它。
在常见的 JWT 用例中(例如基于 JWT 的身份验证或 oauth 中的 JWT 访问令牌),在客户端验证 JWT 令牌是否有意义?特别是,我问这个是为了更好地理解 JWT 签名和加密中涉及的 public 和私钥的要求。如果客户端永远不需要验证 JWT 签名,那么服务器就不需要使其 public 密钥可用。如果这是真的,我什至不需要完整的 X.509 证书:裸 public/private 密钥对或自签名证书就足够了,对吧?
所以这一切归结为一个问题:处理 JWT 中使用的非对称密钥的正确方法是什么?我需要一个 public 密钥基础设施还是一个简单的 private/public 密钥对就足够了?
我知道 JWT 规范没有涵盖这一点:但我很想知道实际 JWT 使用中的常见做法是什么。
当然这个问题和https涉及的证书没有关系:我说的只是JWT签名和加密用到的密钥
does it make sense to verify a JWT token client-side?
如果您使用令牌负载数据在客户端执行操作是有意义的,并且您需要信任该令牌。如果您在服务器中使用令牌进行身份验证,则让服务器验证签名。
if this is true, I don't even need a full blown X.509 certificate: a bare public/private key pair or a self signed cert would suffice, right?
Do I need a public key infrastructure or is a simple private/public key pair enough?
您可以使用可信证书、自签名证书或简单的 RSA 密钥对。通常使用自动生成的密钥对。但是如果你不打算在客户端验证签名,你可以只使用 HMAC 对称密钥(不是 assymetric