【问题标题】:Decrypting a A256GCM-encrypted JWT in PHP在 PHP 中解密 A256GCM 加密的 JWT
【发布时间】:2017-04-08 10:33:09
【问题描述】:

所以我正在尝试在 PHP 中解密 JWT(我在“德国邮政 ID”的上下文中得到),为此我尝试了几个库,主要是 'firebase/php-jwt',因为它很容易使用具有解密功能的库。

不幸的是,它不支持 A256GCM 算法,所以我最终得到了“spomky-labs/jose”,但它似乎不支持解密,我开始相信 PHP 在解密 JWT 时并不常见(不幸的是,我必须使用 PHP)。 有人对这种 JWT 有经验和/或对工作库有推荐吗?

提前感谢您的任何回答,因为这是我的第一篇文章,请随时留下任何建议,让我的帖子变得更好。

【问题讨论】:

    标签: php encryption jwt decode


    【解决方案1】:

    spomky-labs/jose 完全支持 AES GCM 加密令牌。它使用来自RFC7520 和基于on a library 的测试向量进行测试,也使用来自NISTIEEE802 的向量进行测试。

    但是可能存在错误,所以我建议您open an issue on the library repository 并分享有关该问题的更多信息(令牌、密钥、错误消息等)。

    它也可能来自外部问题(与库本身无关),例如您的私钥、损坏的 JWT、错误的格式(base 64 而不是 base64 url​​ 安全)或不受支持并标记为的声明关键。

    您能否提供令牌提供者的链接?我试图查找有关您提到的德国邮政 ID 的信息,但答案与 OpenID 规范有关,并且没有提及令牌加密。

    【讨论】:

    • 感谢您的回答!抱歉,我从老板那里拿到了令牌,里面包含敏感的个人数据。但我确信该令牌是有效的,并且我的一位同事能够解码 Java 的 nimbus 库中的令牌 - 但这只是一个备份计划,因为我们的后端是用 PHP 编写的。这是我从 link 获取信息的 Post-ID 的 API
    • @xpt: 你能在Gitter私下联系我吗?将尝试与您一起调试它。
    • 我很遗憾地说,现在这不再是我的任务,因为我是学徒,这似乎超出了我对此事的了解。我已经在票的 cmets 中放了一个链接,希望同事遇到困难时会与您联系。但是非常感谢您到目前为止所做的努力,我真的很感激!
    猜你喜欢
    • 2023-01-14
    • 2017-03-07
    • 2018-07-07
    • 2012-05-23
    • 2019-10-02
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多