检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
verify signature fail, canonicalRequest:GET|/test/||host:d7da6fe436fb48f2af3c5c2e5b203df7.example.com|x-sdk-date:20230527T015431Z||host;x-sdk-da
签名SDK与demo Java Go Python C# JavaScript PHP C++ C Android 父主题: AK/SK签名认证操作指导
点此下载SDK与Demo。 解压时选择解压到当前文件夹,解压后目录结构如下: 名称 说明 signer_common.c 签名SDK代码 signer_common.h signer.c signer.h Makefile Makefile文件 main.c 示例代码 请求签名与API调用
完成工程创建后,目录结构如下。 图3 新建工程go的目录结构 “demo.go”为示例代码,请根据实际情况修改参数后使用。具体代码说明请参考请求签名与API调用。 请求签名与API调用 在工程中引入sdk(signer.go)。 import "./core" 生成一个新的Signer,分别输入AK和SK值。
2或以上版本,可至Android Studio官方网站下载。 获取SDK 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 点此下载SDK与Demo。 解压后目录结构如下: 名称 说明 app\ 安卓工程代码 build.gradle gradle配置文件 gradle.properties
现签名算法的共享库,可用于.Net Framework与.Net Core项目。 backend-signature:后端服务签名示例。 sdk-request:签名算法的调用示例,请根据实际情况修改参数后使用。 请求签名与API调用 在工程中引入sdk。 1 2 3 4 5 6
111及以上版本,可至Oracle官方下载页面下载。暂不支持Java Development Kit 17或以上版本。 获取SDK 点此下载SDK与Demo。 解压后目录结构如下: 名称 说明 libs\java-sdk-core-x.x.x.jar 签名SDK pom.xml 构建Maven工程所需,定义其他依赖包
"{php安装目录}/ext" extension=openssl extension=curl 在IDEA中安装PHP插件,如下图所示。 获取SDK 点此下载SDK与Demo。 解压时选择解压到当前文件夹,解压后目录结构如下: 名称 说明 signer.php SDK代码 index.php 示例代码 创建工程
用Python执行此文件,升级pip,然后再执行以上命令安装。 在IDEA中安装Python插件,如下图所示。 获取SDK 点此下载SDK与Demo。 解压后目录结构如下: 名称 说明 apig_sdk\__init__.py SDK代码 apig_sdk\signer.py main
libcurl4-openssl-dev 获取SDK 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 点此下载SDK与Demo。 解压时选择解压到当前文件夹,解压后目录结构如下: 名称 说明 hasher.cpp SDK代码 hasher.h header.h
npm install moment-timezone --save 在IDEA中安装Nodejs插件,如下图所示。 获取SDK 点此下载SDK与Demo。 解压时选择解压到当前文件夹,解压后目录结构如下: 名称 说明 signer.js SDK代码 node_demo.js Nodejs示例代码
构造规范请求 使用AK/SK方式进行签名与认证,首先需要规范请求内容,然后再进行签名。客户端与云服务API网关使用相同的请求规范,可以确保同一个HTTP请求的前后端得到相同的签名结果,从而完成身份校验。 HTTP请求规范伪代码如下: CanonicalRequest =
错误码说明 当您使用各云服务的API时,如果遇到“APIGW”开头的错误码,请参考如下语义与解决方案进行处理。 表1 错误码 错误码 错误信息 HTTP状态码 语义 解决方案 APIGW.0101 The API does not exist or has not been published
SignedHeaders=SignedHeaders, Signature=signature 需要注意的是算法与Access之前有空格但没有逗号,但是SignedHeaders与Signature之前需要使用逗号隔开。 得到的签名消息头为: SDK-HMAC-SHA256 Acces
字符串参数添加到HTTP请求中。 以下做详细介绍。 本章节主要用于帮助用户自行完成API请求的签名。 签名SDK与demo章节提供了常用语言的签名SDK以及demo,与本章节提供的算法逻辑一致,您可以直接使用,省去自签名步骤。 父主题: AK/SK签名认证算法详解
获取EndPoint 地区与终端节点,即云服务在不同Region有不同的访问域名。 获取方式请参考地区和终端节点。 本手册所有关于请求URL的举例,其中Endpoint以service.region.example.com为例。 父主题: AK/SK签名认证操作指导
如果您的资源在子项目中,调用云服务API时需要增加一个请求消息头参数X-Project-Id,参数值填您的项目ID。 参数X-Project-Id相关操作请参见签名SDK与demo。 父主题: 常见问题
创建待签字符串 对HTTP请求进行规范并取得请求的哈希值后,将其与签名算法、签名时间一起组成待签名字符串。 StringToSign = Algorithm + \n + RequestDateTime + \n + HashedCanonicalRequest
X-Security-Token:{securityToken} 然后使用临时AK/SK对请求进行签名,签名SDK与AK/SK的签名SDK一致。 创建一个API,安全认证选择“华为IAM认证”,并发布。 获取当前账号的临时AK/SK与{securityToken},请参考IAM接口文档。 例如获得响应参数为: {
信息项 说明 Endpoint 地区与终端节点,即云服务在不同Region有不同的访问域名。 获取方式请参考获取EndPoint。 URI API接口的调用路径及参数。 请参考各云服务的详细接口章节获取。 AK/SK 访问密钥对,包含密钥ID与密钥。AK/SK用于对请求内容进行签名。