手写一个最小的华为云 SDK-HMAC-SHA256 请求签名器(2026-11-02)

举报
yd_260367492 发表于 2026/11/02 00:47:24 2026/11/02
【摘要】 调用华为云 OpenAPI 通常直接上官方 SDK,但如果只需要一两个只读接口(比如查代金券余额),自己实现签名反而更轻
调用华为云 OpenAPI 通常直接上官方 SDK,但如果只需要一两个只读接口(比如查代金券余额),自己实现签名反而更轻。SDK-HMAC-SHA256 的结构并不复杂,坑都在细节里。 ## 签名流程 规范请求由六段拼成:HTTP 方法、规范路径、规范查询串、规范头、参与签名的头列表、请求体的 SHA256。查询参数要按 RFC3986 编码并排序;头部只取 content-type、host、x-sdk-date 三个;整个规范请求再做一次 SHA256,与时间戳一起构成待签名串,用 SK 做 HMAC-SHA256 得到签名,最后拼进 Authorization 头。 ## 两个实测坑 第一是路径规范化:请求路径不带尾部斜杠时,网关验签用的规范 URI 仍会补上斜杠,也就是说你签名时必须主动给路径加斜杠,否则报 verify ak sk signature failed,而且错误信息里会回显网关计算的标准请求,直接对齐即可。第二是分页参数排序:offset 和 limit 必须按字典序进规范查询串,顺序错了签名就不对。 ## 凭据管理 AK/SK 创建后 SK 只展示一次,建议用子用户加只读策略来生成,脚本侧从环境变量或配置文件读取,绝不进日志。签名器大约六十行代码,比引入完整 SDK 轻得多,适合只调一两个接口的场景。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。