【发布时间】:2018-04-05 18:18:07
【问题描述】:
JWT 使用 RS256 签名,我使用 jose4j 验证 JWT 签名。在我无权访问的用户环境之一中,它会生成此意外异常:
org.jose4j.lang.InvalidAlgorithmException: RS256 是未知的, 不受支持或不可用的 alg 算法(不是 [RSA1_5, RSA-OAEP, RSA-OAEP-256, 目录, A128KW, A192KW, A256KW, ECDH-ES, ECDH-ES+A128KW、ECDH-ES+A192KW、ECDH-ES+A256KW、PBES2-HS256+A128KW、 PBES2-HS384+A192KW, PBES2-HS512+A256KW, A128GCMKW, A192GCMKW, A256GCMKW])
签名算法似乎未针对密钥加密算法进行错误验证。请注意,我的代码仅进行签名验证,没有任何解密/加密逻辑。这只发生在一个用户环境中,我无法在本地访问或重新创建它。
有人见过这样的问题吗?或者可以给我一个调试的提示?
【问题讨论】:
-
原来问题出在收到的token内容上。未加密的 JWT 包含三个部分,“p1.p2.p3”。我收到的令牌是“p1.p2.p3 p1.p2.p3”,它变成了一个加密的JWT。
标签: jose4j