Rya*_*Mes 3 cryptography digital-signature jwt
一个collegue和我一直在试图了解如何JWT令牌验证令牌,但是从我们的阅读,我们似乎会混淆自己。
请有人可以帮助确认是否我的想法是正确的
我看了两个RS256和HS256并仍在努力确认了我的思维,因此后期的智威汤逊文档。
小智 11
当我学习多重签名算法时,我正在处理同样的问题。因此,当我们在 JWT 中使用 RSASHA256 进行歌唱和验证歌唱时,过程如下:
可以使用私钥和公钥对对令牌进行数字签名,也可以使用私钥对令牌进行散列:
RS256:带有SHA256的RSA KeyPair。令牌用私钥签名并使用公共验证
HS256:与SHA256 HMAC密钥。关键是要签名和验证相同
紧凑JWT看起来是这样的 hhhhh.ppppp.sssss
hhhhh:JWT的接头,包括:用于签名令牌的算法。例如{"alg":"RS256","typ":"JWT"}。编码base64url
ppppp:JWT的有效载荷,包括像一些有用的权利要求书sub,iss或exp。编码base64url
sssss:JWT的签名,使用指定的算法对标头和有效载荷的base64 url编码的串联执行,并以base64编码。例如b64(signature(hhhhhh.pppppp))
回答您的问题,您指的是RS256使用一对密钥对,其中客户端使用公钥来验证令牌(使用HMAC密钥进行验证将意味着客户端和服务器共享密钥)
令牌与我上面写的算法进行签名(不加密)。为了进行验证,客户端hhhhhh.pppppp使用提供的公钥验证该签名是否与令牌的第一部分匹配。数字签名验证是所有现代语言都支持的标准操作。请注意,是不一样的加密/解密
| 归档时间: |
|
| 查看次数: |
1818 次 |
| 最近记录: |