ECS API中Signature错误的排查方法
Signature的生成方法
将get中提交的参数(除了aks以外所有的参数)按照一定的组成规则拼成一个字符串,前面再加上GET&/&组成StringToSign,然后对StringToSign做 HMAC计算,以Access Key Secret+一个“&”号为HMAC计算的key,最终算出的字符串就是Signature。
排查思路
若碰到反馈Signature错误,可以排查以下几点:
- 在构造“StringToSign”时是否对key值做了A-Z的字典排序
- 是否将所有的参数都放入了StringToSign
- 计算前是否对StringToSign中的值做了urlencode,即将一些特殊的字符替换成类似%3D这样的字符串,如“=”需要替换成“%3D”,“/”要替换成“%2F”等,参见下述说明:
a、 对于字符 A-Z、a-