我想了解jwt签名验证如何工作。Android SafetyNet智威汤逊签名验证
这是我如何做它的时刻:与谷歌的
1) My app calls the attest api
2) My app sends the jwt to my server
3) My server verify the signature (third field of the jwt) using the certificate provided in the header of the jwt.
据我所知,签名通过散列头和智威汤逊的有效载荷,然后在签名创建(将其加密)私钥。
我在第3步中做的是,我将头+有效负载和 证书的公钥解密,并验证它与签名匹配。 (当我说'我'的意思是一个库做它)
我的问题是,如果有用户设备上的恶意软件,并发送到我的服务器JWT动态修改会发生什么?恶意软件会在头中添加他自己的证书(由受信任的CA颁发),根据需要修改有效负载并创建签名。
我服务器端......以及我将采取在证书中提供的公钥有效签名与它匹配。
这是正确的吗?或者我在某个地方感到困惑?因为在这种情况下,它会使这一切都变得没有用处。我如何100%确保JWT来自谷歌?
我接受了您的申请,因为您先发布了它 – Johny19