Elysia Tools

在一个清晰的工作台里浏览工具、案例、可视化和主题指南。

热门分类

专题

语言
ZHESPTRUFRDEEN

Elysia Tools

导航

Cryptography

WebAuthn Passkey Assertion 解码与 Challenge 调试器

· 最后更新:2026-08-06

解析 clientDataJSON、authenticatorData、flags、rpIdHash 和 signCount;提供公钥时验证 ES256、RS256 或 Ed25519 签名。

执行

运行这个工具

填写表单、运行工具,并在同一页面查看结果。

案例

与这个工具匹配的案例

相关内容

继续查看相关工具与专题

由 Elysia Tools 团队编写

工具使用指南

详细了解工具的适用范围、支持能力及用户案例。

关键事实

分类
Cryptography
输入类型
textarea, select, text, number
输出类型
json
案例覆盖
4
API 可用
是

概览

WebAuthn Passkey Assertion 解码与 Challenge 调试器可解析 clientDataJSON 和 authenticatorData,检查 challenge、origin、rpIdHash、flags 与 signCount;提供 COSE 公钥后,还可验证 ES256、RS256 或 Ed25519 签名。

适用场景

  • 调试 WebAuthn 登录或 Passkey assertion 中的 challenge、origin 和 RP ID 绑定问题。
  • 检查 authenticatorData 的 flags、rpIdHash 与 signCount,定位服务端校验异常。
  • 在拥有 COSE 公钥时验证 assertion 签名,并区分解码结果与密码学验签结果。

使用方式

  1. 1输入 clientDataJSON,并选择 JSON 文本或 Base64url 编码。
  2. 2输入 authenticatorData 和签名,按十六进制或 Base64url 指定二进制编码。
  3. 3可选填入期望 challenge、期望 origin、RP ID 和上一次 signCount,以执行对应绑定与计数器检查。
  4. 4可选提供 COSE 公钥,工具解析 assertion 字段并输出 JSON 检查结果及签名状态。

常见用途

  • WebAuthn 服务端开发者排查 challenge 或 origin 校验失败。
  • 身份认证测试人员检查 rpIdHash、flags 和 signCount 是否符合预期。
  • 安全工程师使用 COSE 公钥验证不同算法的 Passkey assertion 签名。

示例

1. 不提供公钥解码 assertion

WebAuthn 开发者

背景

开发者需要确认一次 Passkey assertion 中的 challenge、RP ID 绑定和计数器,但暂时没有用于验签的 COSE 公钥。

问题

在不进行密码学验签的情况下查看 assertion 字段和基础检查状态。

如何使用

输入 JSON 格式的 clientDataJSON、十六进制 authenticatorData 和签名,填写期望 Challenge、RP ID 及上一次 signCount,不填写 COSE 公钥。

clientDataEncoding=json;binaryEncoding=hex;expectedChallenge=Y2hhbGxlbmdl;rpId=example.com;previousSignCount=1。

结果

challenge 检查通过,signCount 从 1 增至 2,签名状态明确显示为未检查。

2. 诊断 Challenge 不匹配

身份认证测试人员

背景

测试人员收到一条 clientDataJSON 中包含 challenge 的 assertion,需要确认服务端保存的期望 challenge 是否与客户端提交值一致。

问题

使用错误的期望 challenge 重现并定位 challenge 绑定失败。

如何使用

输入示例中的 clientDataJSON、authenticatorData 和签名,在“期望 Challenge”中填写 d3JvbmdjaGFsbGVuZ2U,并设置 RP ID 为 example.com。

clientDataEncoding=json;binaryEncoding=hex;expectedChallenge=d3JvbmdjaGFsbGVuZ2U;rpId=example.com;不填写 COSE 公钥。

结果

常见问题

必须提供哪些输入?

必须提供 clientDataJSON、authenticatorData 和签名;编码选项可使用默认值。

不提供公钥可以验证签名吗?

不可以。未提供 COSE 公钥时,工具会解码并检查相关字段,但签名状态显示为未检查。

支持哪些签名算法?

提供匹配的 COSE 公钥后,可验证 ES256、RS256 或 Ed25519 签名。

如何检查 challenge 是否匹配?

在“期望 Challenge”中输入 Base64url challenge,工具会将其与 clientDataJSON 中的 challenge 对比。

signCount 检查需要什么?

可选输入上一次 signCount,工具会将其与 authenticatorData 中解析出的当前计数器进行比较。

首页
工具3201
案例593
可视化465
文件查看器103
专题233
标签333
图像、音频与视频657

图像、音频、视频处理、转换与优化工具

数学、日期与金融644

计算器、数值计算、日期逻辑、统计与金融工具

设计与颜色297

颜色、版式、图形、视觉样式与设计辅助工具

文本与写作209

写作、清洗、格式化、提取与文本分析工具

开发与 Web193

开发者工具、网络处理、Web 调试与自动化辅助工具

转换与编码175

格式、文件、压缩包、单位与编码转换工具

FLAC/WAV 无损音源疑点筛查与证据交付
自托管抽奖组件配置复核、嵌入测试与上线交付
Stripe 优惠码候选批次审核与本地导入预检
批量照片技术初筛、近重复复核与修图候选交付
界面截图结构化、人工校对与开发交付

© 2026 Elysia Tools. 保留所有权利。

文档价格关于我们服务条款隐私政策Cookie 政策联系我们
监控

Grafana 高级应用示例

全面的 Grafana 示例,涵盖高级仪表板设计、告警配置、数据源集成和插件开发

媒体

二维码示例

用于测试二维码读取和生成工具的示例二维码图像

数据可视化

D3.js 数据可视化示例

全面的D3.js数据可视化示例,包括图表、地图、动画和交互式可视化

开发者工具

Rome JavaScript 工具链示例

Rome JavaScript 工具链示例,包括配置、代码检查、格式化、打包和项目管理

Security

JWT 解析与签名验证器

解析 JWT 的 header/payload 并高亮显示,诊断 exp/nbf/iat/iss/aud/sub/jti 等 claim,使用 HS*/RS*/PS*/ES*/EdDSA 密钥验签,并提供篡改 payload 的伪造教学演示

Cryptography

哈希算法对比器

对同一输入同时用 MD5、SHA-1、SHA-256、SHA-512、BLAKE2b、BLAKE3 哈希并横向对比:输出长度、十六进制/Base64 摘要、安全状态(已破解/现代)以及相对速度基准。适合教学、选择哈希算法或核对校验和。

Development

分布式追踪解码与瀑布图可视化

解析 Jaeger、Zipkin 或 OpenTelemetry 的 trace JSON,并以瀑布图展示 span 时序与异常节点

Security

JWK 生成与解析器

生成 RSA、EC(P-256/P-384/P-521/secp256k1)与 OKP(Ed25519/Ed448/X25519/X448)的 JSON Web Key,或解析已有 JWK 以查看参数、指纹与元信息

challenge 检查状态为 fail,可据此确认客户端 challenge 与期望值不一致;签名仍不会被验证。

3. 使用 COSE 公钥验证签名

安全工程师

背景

安全工程师拥有完整 assertion 和对应的 COSE 公钥,需要同时查看 authenticatorData 字段并验证签名。

问题

确认 assertion 的 challenge、origin、RP ID 绑定,并检查 ES256、RS256 或 Ed25519 签名结果。

如何使用

输入 clientDataJSON、authenticatorData 和签名,按实际格式选择编码,再粘贴 COSE 公钥并选择其编码类型。

可选填写 expectedChallenge、expectedOrigin、rpId 和 previousSignCount;coseEncoding 可选择 COSE CBOR(base64url)、COSE CBOR(十六进制)或 COSE JSON。

结果

工具输出 JSON 解码结果,包含 flags、rpIdHash、signCount 及绑定检查,并在公钥和算法匹配时给出签名验证状态。