检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
计算签名 将SK(Secret Access Key)和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign))
当您不想对Body进行签名时,请在消息头添加以下参数和参数值: X-Sdk-Content-Sha256:UNSIGNED-PAYLOAD 添加之后,对body计算hash的位置的值为UNSIGNED-PAYLOAD。 父主题: 常见问题
组装,确保客户端签名、API网关后台认证时使用的请求内容一致。 使用规范请求和其他信息创建待签字符串。 使用AK/SK和待签字符串计算签名。 将生成的签名信息作为请求消息头添加到HTTP请求中,或者作为查询字符串参数添加到HTTP请求中。 以下做详细介绍。 本章节主要用于帮助用户自行完成API请求的签名。
AK/SK认证方式下,全局服务的接口调用,需在请求消息头中配置X-Domain-Id。(全局服务:服务部署时不区分物理区域。如IAM、OBS、CDN等。) 获取方式请参考获取账号名和账号ID。 x-stage API接口的环境,请参考各云服务的接口API的环境信息。 Host API接口所属分组的调试域名或独立域名。
添加签名信息到请求头 在计算签名后,将它添加到Authorization的HTTP消息头。Authorization消息头未包含在已签名消息头中,主要用于身份验证。 伪代码如下: Authorization header创建伪码: Authorization: algorithm
"APIGW.0301", "request_id": "******" } 可能原因 签名认证算法使用有问题,客户端计算的签名结果与API网关计算的签名结果不同。 解决方法 下载js版本,查看可视化签名SDK,获取签名字符串。 解压压缩包,使用浏览器打开“demo.html”文件。
)),其中Hash表示生成消息摘要的函数,当前支持SHA-256算法。HexEncode表示以小写字母形式返回摘要的Base-16编码的函数。例如,HexEncode("m") 返回值为“6d”而不是“6D”。输入的每一个字节都表示为两个十六进制字符。 计算RequestPayl
AK/SK签名认证算法详解 AK/SK签名认证流程 构造规范请求 创建待签字符串 计算签名 添加签名信息到请求头
"request_id": "cb141a91c945e68950a14a8eff5d62dc" } 可能原因 签名认证算法使用有问题,客户端计算的签名结果与API网关计算的签名结果不同。 解决方法 请参考Incorrect IAM authentication information: verify
404 无法找到后端 联系技术支持 APIGW.0104 The plug-ins do not exist. 400 无法找到插件配置 联系技术支持 APIGW.0105 The backend configurations do not exist. 400 无法找到后端配置
为永久,每个访问密钥仅能下载一次。为了账号安全性,建议您妥善保管并定期修改访问密钥。修改访问密钥的方法为删除旧访问密钥,然后重新生成。 企业联邦用户不能创建访问密钥,但可以创建临时访问凭证(临时AK/SK和SecuritityToken),具体内容请参见:临时访问密钥。 如果您是
调用API所使用的域名、请求方法、路径不正确。 比如创建的API为POST方法,您使用了GET方法调用。 比如访问的URL比API详情中的URL少一个“/”也会导致无法匹配上此API,例如http://7383ea59c0cd49a2b61d0fd1d351a619.apigw.region.cloud.
ish”。 完成工程创建后,目录结构如下。 请求签名与API调用 在代码中引入sdk。 1 require 'signer.php'; 生成一个新的Signer, 填入AK和SK。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICL
息头参数可选。 如果您使用华为云提供的SDK进行签名,则不需要考虑哪些请求消息头参数参与签名,SDK的签名方法自行决定哪些参数参与签名,并生成签名信息。如果某个请求消息头参数的值在签名后会发生变化,请完成签名后再对其赋值。 父主题: 常见问题
js。 1 2 var signer = require('./signer') var https = require('https') 生成一个新的Signer,填入AK和SK。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLO
using System.Net.Http; using System.Threading; using APIGATEWAY_SDK; 生成一个新的Signer, 填入AK和SK。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICL
体代码说明请参考请求签名与API调用。 请求签名与API调用 在工程中引入sdk(signer.go)。 import "./core" 生成一个新的Signer,分别输入AK和SK值。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEI
<stdlib.h> #include <string.h> #include <curl/curl.h> #include "signer.h" 生成一个新的Signer,将AK/SK分别填入。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEI
requests 在工程中引入apig_sdk。 1 2 from apig_sdk import signer import requests 生成一个新的Signer,填入AK和SK。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLO
格式为YYYYMMDDTHHMMSSZ。 HashedCanonicalRequest 将构造规范请求中构造的规范请求以SHA256算法生成的hash值。 上述例子得到的待签字符串为: SDK-HMAC-SHA256 20191115T033655Z b25362e603ee3