检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
安装Go插件 获取SDK 点此下载SDK与Demo 根据解压后获取的SDK代码及示例代码进行开发。 名称 说明 core\escape.go 特殊字符转义 core\signer.go 签名SDK demo.go 示例代码 新建工程 打开IntelliJ IDEA,选择菜单“File >
获取SDK 点此下载SDK与Demo。 解压时选择解压到当前文件夹,解压后目录结构如下: 名称 说明 signer.php SDK代码 index.php 示例代码 创建工程 打开IDEA,选择菜单“File > New > Project”。 弹出“New Project”对话框,选择“php”,单击“Next”。
UnsupportProtocolException.java IDEA的配置方式 支持以下几种配置方式,用户可根据业务需求选择。 导入示例代码 创建IDEA maven工程 导入示例代码 打开IDEA,在菜单栏选择“File > New > Project from Existing Sources”。
点此下载SDK与Demo。 解压后目录结构如下: 名称 说明 apig_sdk\__init__.py SDK代码 apig_sdk\signer.py main.py 示例代码 licenses\license-requests 第三方库license文件 示例工程导入 打开IDEA,选择菜单“File
签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 点此下载SDK与Demo。 解压后目录结构如下: 名称 说明 app\ 安卓工程代码 build.gradle gradle配置文件 gradle.properties settings.gradle 打开工程 打开Android
点此下载SDK与Demo。 解压时选择解压到当前文件夹,解压后目录结构如下: 名称 说明 signer.js SDK代码 node_demo.js Nodejs示例代码 test.js 测试用例 licenses\license-crypto-js 第三方库license文件 licenses\license-node
说明 apigateway-signature\Signer.cs SDK代码 apigateway-signature\HttpEncoder.cs sdk-request\Program.cs 签名请求示例代码 csharp.sln 工程文件 licenses\license-referencesource
进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign)) 其中HMAC指密钥相关的哈希运算,HexEncode指转十六进制。伪代码中参数说明如表1所示。 表1 参数说明
客户端与云服务API网关使用相同的请求规范,可以确保同一个HTTP请求的前后端得到相同的签名结果,从而完成身份校验。 HTTP请求规范伪代码如下: CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI
解压时选择解压到当前文件夹,解压后目录结构如下: 名称 说明 signer_common.c 签名SDK代码 signer_common.h signer.c signer.h Makefile Makefile文件 main.c 示例代码 请求签名与API调用 在main.c中加入以下引用。 1 2 3 4 5
hasher.cpp SDK代码 hasher.h header.h RequestParams.cpp RequestParams.h signer.cpp signer.h constants.h Makefile Makefile文件 main.cpp 示例代码 请求签名与API调用
Algorithm + \n + RequestDateTime + \n + HashedCanonicalRequest 伪代码中参数说明如下。 Algorithm 签名算法。对于SHA 256,算法为SDK-HMAC-SHA256。 RequestDateTime
在计算签名后,将它添加到Authorization的HTTP消息头。Authorization消息头未包含在已签名消息头中,主要用于身份验证。 伪代码如下: Authorization header创建伪码: Authorization: algorithm Access=Access key
如果自定义authorization,则需要把curl命令里面的Authorization替换为自定义名称。 比较本地代码中签名结果与js可视化签名结果。 例如排查java语言签名代码中的canonicalRequest、stringToSign、authorizationHeader值,与js可视化签名字符串是否一致。
检查请求的方法、路径、查询参数、请求体和签名使用的方法、路径、查询参数、请求体是否一致 检查客户端机器时间是否正确 请参考使用APP认证调用API检查签名代码的问题。 APPCODE简易认证时,做如下检查:检查请求是否携带了X-Apig-AppCode头域 APIGW.0304 The app is
获取项目ID 在调用接口的时候,部分URL中需要填入项目编号,获取token时,同样需要获取项目编号,所以需要先在管理控制台上获取到项目编号。项目编号获取步骤如下: 登录控制台。 将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”,查看“项目ID”。 项目用于对云服务器
获取AK/SK 如果已生成过AK/SK,则可跳过此步骤,找到原来已下载的AK/SK文件,文件名一般为:credentials.csv。 如下图所示,AK(Access Key Id),SK(Secret Access Key)。 图1 credential.csv文件内容 注意事项
APP认证信息错误 APP认证信息错误有: Incorrect app authentication information: app not found, appkey xxx Incorrect app authentication information: verify signature