检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建待签字符串 对HTTP请求进行规范并取得请求的哈希值后,将其与签名算法、签名时间一起组成待签名字符串。 StringToSign = Algorithm + \n + RequestDateTime + \n + HashedCanonicalRequest
端签名、API网关后台认证时使用的请求内容一致。 使用规范请求和其他信息创建待签字符串。 使用AK/SK和待签字符串计算签名。 将生成的签名信息作为请求消息头添加到HTTP请求中,或者作为查询字符串参数添加到HTTP请求中。 以下做详细介绍。 本章节主要用于帮助用户自行完成API请求的签名。
计算签名 将SK(Secret Access Key)和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign))
添加规范查询字符串(CanonicalQueryString),以换行符结束。 释义: 查询字符串,即查询参数。如果没有查询参数,则为空字符串,即规范后的请求为空行。 格式: 规范查询字符串需要满足以下内容: 根据以下规则对每个参数名和值进行URI编码: 请勿对RFC 3986
可能原因 签名认证算法使用有问题,客户端计算的签名结果与API网关计算的签名结果不同。 解决方法 下载js版本,查看可视化签名SDK,获取签名字符串。 解压压缩包,使用浏览器打开“demo.html”文件。 获取x-sdk-date值,x-sdk-date值必须与当前时间相差在15min以内。
AK/SK签名认证算法详解 AK/SK签名认证流程 构造规范请求 创建待签字符串 计算签名 添加签名信息到请求头
getenv("HUAWEICLOUD_SDK_SK")); 生成一个新的RequestParams,指定方法名、域名、请求uri、查询字符串和body。 1 2 3 4 5 6 //Specify a request method, such as GET, PUT, POST
D_SDK_SK")); params.key = ak; params.secret = sk; 指定方法名、域名、请求uri、查询字符串和body。 1 2 3 4 5 6 7 8 9 10 sig_str_t host = sig_str("service
图1 credential.csv文件内容 注意事项 每个用户最多可创建2个访问密钥,不支持增加配额。每个访问密钥权限相同,相互独立,包括一对AK/SK,有效期为永久,每个访问密钥仅能下载一次。为了账号安全性,建议您妥善保管并定期修改访问密钥。修改访问密钥的方法为删除旧访问密钥,然后重新生成。