开发者社区> 问答> 正文

使用公司阿里云短信发送报错 Specified signature is not matched

我们项目在本地测试发送短信一切正常;把项目打包到docker容器中运行就会报错 Specified signature is not matched with our calculation;什么原因

展开
收起
减雏的菜鸟 2024-08-27 15:45:21 77 0
1 条回答
写回答
取消 提交回答
  • 该错误是网关层面的问题,含义是 签名不通过 / 网关签名校验失败 ;
    具体为: 客户端计算的签名和网关计算的签名不一致 。
    该错误常出现在用户没有使用官方的SDK来生成请求 ,而是自己手动计算签名构造网络请求进行发送时,签名的计算方式出现问题 。
    自己计算签名并构造HTTP请求,请参见签名机制,并参考相应SDK代码里面的实现方式 。
    优先使用官方的SDK来构造请求,这样既快捷并且不容易出错,大部分语言都有对应的 SDK,包括:Java、Python、PHP、NodeJS、.NET,详情请参见API概览。
    使用官方SDK构造签名和封装HTTP请求,请检查下面两种情况 :
    本地系统时钟是否正确,因为签名的计算会带时间戳,如果时钟不对可能会导致签名失败 。
    本地系统编码是否是UTF-8 ,因为签名计算过程使用UTF-8编码,其它编码肯可能会导致编码失败和签名不一致 。

    image.png
    参考文档https://help.aliyun.com/document_detail/39992.html?spm=a2c4g.434791.0.0.4abd4ee5YmLznR

    2024-08-29 09:18:55
    赞同 5 展开评论 打赏
问答分类:
问答地址:
关联地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载