分清自动解码与手动验签
自动解码在修改后等待 350 毫秒执行;关闭后可用解码按钮或 Ctrl/Cmd+Enter。这个开关不会自动验签,也不会自动生成测试密钥。
公钥检查
先读取令牌,再明确指定算法、公钥及预期声明。
令牌与密钥仅保留在当前页面内存中,不请求远程密钥,不存储输入。
未验证:解码不代表令牌有效。
请自行选择预期算法。签名匹配不证明发行者身份、权限、撤销状态或令牌整体有效。
单个公钥 JWK 或 SPKI PEM PUBLIC KEY。RS256 要求 2048–8192 位 RSA,ES256 要求 P-256。不接受私钥或远程 JWKS。
exp、nbf、iat 与签名单独检查。本工具将未来的 iat 标记为未通过。缺少时间声明保持缺失;发行者或受众留空表示不检查。UTC 显示精确到毫秒,原始小数保留在报告中。
令牌上限 100,000 字符;公钥 20,000;测试声明 50,000。仅接受严格 base64url、UTF-8 与 JSON 对象;拒绝重复键及转换后数值变化。
粘贴紧凑格式的 JWT 开始检查。
JWT 解码常用于排查接口拒绝访问:查看头部和声明,核对发行者、受众及时间字段,判断当前请求带的是不是预期令牌。页面首先展示可读数据,并明确标为签名未验证。
JWT 解析成功只能说明内容可读。JWT 验签需要另外指定可信来源的公钥;JWT 过期时间和签名是否匹配也是两项不同的检查,不能合并成一个笼统的有效标记。
JWT 解码后仍然能看到未验证状态。过期令牌可能具有匹配的签名,而内容正常的 JSON 也可能没有可信签名;把时钟检查和签名状态拆开,更容易解释接口为什么拒绝请求。
测试生成器使用本地临时密钥对,先显示测试令牌和公钥预览。应用才一起替换主输入与验证设置,撤销可恢复之前的输入和结果,避免生成练习覆盖当前排查内容。
自动解码在修改后等待 350 毫秒执行;关闭后可用解码按钮或 Ctrl/Cmd+Enter。这个开关不会自动验签,也不会自动生成测试密钥。
明确选择 RS256 或 ES256,并粘贴单个公钥 JWK 或 SPKI PUBLIC KEY PEM。需要核对发行者或受众时,填写预期值,不能直接把头部密钥引用当作可信依据。
时间留空时,每次运行取当前时刻;填入 Unix 秒便于复现问题。当前时间按钮先预览替换;输入或参数变化后,旧报告禁止导出,直到重新检查。
严格解码展示两个 JSON 对象及签名信息。报告区分令牌声明的算法和用户选定的算法,kid 与 URL 只作为待核实信息显示。
RS256 接受 2048–8192 位 RSA 公钥,ES256 接受 P-256。签名不匹配、密钥格式错误、不支持算法等情况分别提示,便于定位配置问题。
exp、nbf、iat 使用参考时刻与 0–86400 秒时钟容差检查。未来 iat 按本工具策略标记未通过,缺少时间声明不会伪装成已经通过。
iss 按字符串精确匹配;aud 可以是字符串或包含预期受众的字符串数组。未填写预期值就保持未检查,签名匹配也不会给出访问授权。
不能。解码只是读取数据,即使 JSON 看起来正常也可能被伪造。需要使用独立获取的公钥明确验签,再根据应用要求核对发行者、受众、时间和权限。
可以验证 RS256 与 ES256:前者需要 2048–8192 位 RSA 公钥,后者需要 P-256。请明确选择算法并输入单个公钥 JWK 或 SPKI PEM,其他 RSA、ECDSA 变体不在验签范围内。
exp 使用 Unix 秒。参考时刻减去容差达到 exp 时,过期检查不通过。时间留空就取运行时的当前时间;设备时钟错误或复现时刻设置不对都会影响结果。
不能,本工具拒绝五段 JWE。加密载荷需要专门解密流程,本页只检查普通紧凑令牌,也不会请求用于解密的私钥。
none 表示未签名内容。带空签名的内容可以解码查看,但本工具永远不会将其标记为签名已验证;可读性不能作为真实性证明。
报告有意外结果?