先固定时间与样例
页面只在首次载入时填入当前 UTC 时间;“现在”按钮才会刷新它。AWS S3 示例使用公开的虚构凭据和已知签名,替换现有字段前会先预览。
云平台开发辅助
填入实际请求字段,逐段核对请求头签名的计算过程。
仅在浏览器本地计算,不发送请求。请只用测试凭据,勿填生产密钥。
输入请求 URL 后开始。
报告会遮盖 Session Token;脱敏的规范请求不能用于重算签名。
收到 SignatureDoesNotMatch 时,先别猜密钥错了。AWS SigV4 签名调试把请求路径、查询参数、标头和正文哈希组成规范请求,方便与错误响应中的值逐行对比。
可载入 AWS 官方公开的测试凭据和固定时间,验证自己的实现。页面只在本地计算,不发送请求,也无法判断 IAM 是否授权。
把“签名不匹配”拆成可观察的字节差异。
AWS SigV4 签名调试按编码后的名称和值排序查询参数,保留重复键,并整理请求头空格。`+` 与 `%20`、额外斜杠或漏签标头造成的差别会直接出现在规范请求里。
规范请求哈希、作用域、待签名字符串和测试签名依次呈现。把 AWS 返回的规范请求贴入参考栏,AWS SigV4 签名调试会标出第一处不同的段落,而不是只给一个失败标记。
页面只在首次载入时填入当前 UTC 时间;“现在”按钮才会刷新它。AWS S3 示例使用公开的虚构凭据和已知签名,替换现有字段前会先预览。
手动运行或按 Ctrl/Cmd + Enter。先看 URI、排序后的查询参数、规范化标头和正文哈希;S3 模式会按所选哈希方式加入 x-amz-content-sha256。
不填密钥也能对比参考规范请求。只有核对最终签名才需要一次性测试凭据;通用报告会遮盖 Session Token,精确规范请求请单独谨慎复制。
方法、路径、查询串、规范标头、SignedHeaders 和正文哈希按 SigV4 格式拼接。重复查询键保留,`+` 编成 `%2B`,不会当成表单空格。
展示规范请求的 SHA-256 和日期、区域、服务组成的作用域。区域或服务不同,会同时改变待签名字符串与派生签名密钥。
没有密钥也能完成结构诊断;填入一次性测试 Access Key ID 和 Secret Access Key 后,才计算 Signature 与 Authorization 请求头。页面不展示原密钥或派生密钥链。
逐行对比参考规范请求,并按值对比 64 位十六进制签名。SigV4 签名不匹配可被定位到输入差异,但本地相等不代表 AWS 已接受请求。
先把签名器生成的规范请求与 AWS 错误响应中的规范请求对齐,再比较待签名字符串。AWS SigV4 签名调试会指出参考文本首个不同的段落;优先查方法、URI 编码、查询排序、标头和正文哈希。
复现服务实际收到的请求。代理可能改写路径、查询串或标头;随后检查时间、区域、服务及测试凭据是否配对。此页只做本地计算,无法替 AWS 判断权限。
能重建规范请求、哈希与待签名字符串,也能对比参考文本。最终 HMAC 必须使用对应的 Secret Access Key;未提供时页面不会伪造一个签名。
单看这个错误不足以概括具体服务的认证和授权过程。本页没有发出请求,也不知道 IAM 策略;请结合服务日志与 AWS 的权限排查工具判断。
部分 AWS 错误响应会提供规范请求或待签名字符串,SDK 调试日志也可显示客户端版本。把规范请求粘到参考栏即可定位首个差异;粘贴前先移除真实 Session Token。
还有疑问?