检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Android 本节以Android Studio工具为例,介绍如何在Android环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 准备环境 获取并安装Android Studio 4.1.2或以上版本,可至Android
计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign)) 其中HMAC指密钥相关的哈希运算,HexEncode指转十六进制。伪代码中参数说明如表1所示。
AK/SK签名认证算法详解 AK/SK签名认证流程 构造规范请求 创建待签字符串 计算签名 添加签名信息到请求头
RequestDateTime 请求时间戳。与请求消息头X-Sdk-Date的值相同,格式为YYYYMMDDTHHMMSSZ。 HashedCanonicalRequest 将构造规范请求中构造的规范请求以SHA256算法生成的hash值。 上述例子得到的待签字符串为: SDK-HMAC-SHA256
规范消息头,即请求消息头列表。包括签名请求中的所有HTTP消息头列表。消息头必须包含X-Sdk-Date,用于校验签名时间,格式为ISO8601规范的UTC时间格式:YYYYMMDDTHHMMSSZ。 客户端须注意本地时间与时钟服务器的同步,避免请求消息头X-Sdk-Date的值出现较大误差。 API
使用规范请求和其他信息创建待签字符串。 使用AK/SK和待签字符串计算签名。 将生成的签名信息作为请求消息头添加到HTTP请求中,或者作为查询字符串参数添加到HTTP请求中。 以下做详细介绍。 本章节主要用于帮助用户自行完成API请求的签名。 签名SDK与demo章节提供了常用语言的签名S
2abc52071e57aff61b84a1d2381bb430d6870f4f6ebe 得到签名消息头后,将其增加到原始HTTP请求内容中,请求将被发送给云服务API网关,由API网关完成身份认证。身份认证通过后,该请求才会发送给具体的云服务进行业务处理。 包含签名信息的完整请求如下:
获取项目ID 在调用接口的时候,部分URL中需要填入项目编号,获取token时,同样需要获取项目编号,所以需要先在管理控制台上获取到项目编号。项目编号获取步骤如下: 登录控制台。 将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”,查看“项目ID”。 项目用于对云服务器
获取EndPoint 地区与终端节点,即云服务在不同Region有不同的访问域名。 获取方式请参考地区和终端节点。 本手册所有关于请求URL的举例,其中Endpoint以service.region.example.com为例。 父主题: AK/SK签名认证操作指导
时间的初始值。在您使用该访问密钥时,系统将自动刷新最近使用时间。 输入描述信息,单击“确定”。 创建成功后,在“创建成功”弹窗中,单击“立即下载”下载密钥,并妥善保管。 您可以在访问密钥列表中查看访问密钥ID(AK),在下载的.csv文件中查看访问密钥(SK)。 获取临时AK/SK,请参考IAM接口文档。
获取账号名和账号ID 在调用接口的时候,部分URL中需要填入账号名和账号ID,所以需要先在管理控制台上获取到账号名和账号ID。账号名和账号ID获取步骤如下: 登录控制台。 将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”。 查看账号名和账号ID。 图1 查看账号名和账号ID
如果您按照AK/SK签名认证算法详解自行完成API请求签名,请注意X-Sdk-Date必须参与签名,其他请求消息头参数可选。 如果您使用华为云提供的SDK进行签名,则不需要考虑哪些请求消息头参数参与签名,SDK的签名方法自行决定哪些参数参与签名,并生成签名信息。如果某个请求消息头参数的值在签名后会发生变化,请完成签名后再对其赋值。
bashrc 设置环境变量,保存文件并退出编辑器。 export HUAWEICLOUD_SDK_AK="已获取AK值" export HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 生成一个新的Signer, 填入已设置的环境变量。
bashrc 设置环境变量,保存文件并退出编辑器。 export HUAWEICLOUD_SDK_AK="已获取AK值" export HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 生成一个新的Signer,填入已设置的环境变量。
名与API调用。 请求签名与API调用 在工程中引入sdk(signer.go)。 import "./core" 生成一个新的Signer,分别输入AK和SK值。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_A
说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装IntelliJ IDEA 2018.3.5或以上版本,可至IntelliJ IDEA官方网站下载。 获取并安装PHP安装包8.0.3或以上版本,可至PHP官方下载页面下载。
bashrc 设置环境变量,保存文件并退出编辑器。 export HUAWEICLOUD_SDK_AK="已获取AK值" export HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 生成一个新的Signer,填入已设置的环境变量。
签名SDK与demo Java Go Python C# JavaScript PHP C++ C Android 父主题: AK/SK签名认证操作指导
HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 把API信息和已设置的环境变量替换到HttpClientDemo.java中对应位置。 HttpClientDemo中引用以下类,可在“获取SDK”包中的“src”文件下查看:
地区与终端节点,即云服务在不同Region有不同的访问域名。 获取方式请参考获取EndPoint。 URI API接口的调用路径及参数。 请参考各云服务的详细接口章节获取。 AK/SK 访问密钥对,包含密钥ID与密钥。AK/SK用于对请求内容进行签名。 获取方式请参考获取AK/SK。 Project_Id