gpt4 book ai didi

cryptography - Json web token 可以用公钥签名吗?

转载 作者:行者123 更新时间:2023-12-04 02:04:56 25 4
gpt4 key购买 nike

我看到 JWT 可以使用私钥对 JSON 对象进行签名,并通过公钥进行验证。

我在想是否可以使用 JWT 使用 JWT 对 API 请求有效负载进行签名。
但是,我不想使用私钥,而是想使用公钥对 API 请求有效负载进行签名,并使用我的私钥在服务器端对其进行验证。这有没有可能?正如我所见,实现 JWT 的库似乎只用私钥签名并通过公钥验证。

不是不能用公钥签名吗?

谢谢

最佳答案

棘手的问题,但我会尽力而为。 JWT 在下面使用 RSA,在 RSA 中,公钥和私钥是“可互换的”。一般来说,公钥和私钥只能通过生成后的处理方式来获得它们的含义。

您发送过来的那个,例如未加密的 channel 并为其他人所知称为“公钥”。
你隐藏并且从不给任何人的那一个叫做“私钥”

因此,应该可以使用服务器的公钥来加密某些东西(就像在 JWT token 过程中所做的那样)并将其发送到服务器。服务器将需要相应的私钥来解密它。

(请注意,设计上的“服务器公钥”对于可能的攻击者来说是已知的,并且每个攻击者通常都能够使用它来生成那些 JWT token 。我不知道你的用例在这里给你一个适当的建议.)

这里唯一的陷阱是 JWT 的实际实现(遗憾的是我没有足够的知识)。 JWT 可以向其中一个“ key ”添加一些额外的数据并将整个对象称为“公钥”或“私钥”,从而破坏“可互换性”......唯一的方法是挖掘 JWT 的文档(希望找到一些东西)或通过源代码,或者只是尝试一下:/

如果您尝试一下,请让社区知道:)

关于cryptography - Json web token 可以用公钥签名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44214400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com