HashedCanonicalRequest 将构造规范请求中构造的规范请求以SHA256算法生成的hash值。
消息体需要做两层转换:HexEncode(Hash(RequestPayload)),其中Hash表示生成消息摘要的函数,当前支持SHA-256算法。HexEncode表示以小写字母形式返回摘要的Base-16编码的函数。
如果您使用华为云提供的SDK进行签名,则不需要考虑哪些请求消息头参数参与签名,SDK的签名方法自行决定哪些参数参与签名,并生成签名信息。如果某个请求消息头参数的值在签名后会发生变化,请完成签名后再对其赋值。 父主题: 常见问题
计算签名 将SK(Secret Access Key)和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign))
source ~/.bashrc 生成一个新的Signer,填入已设置的环境变量。
source ~/.bashrc 生成一个新的Signer,填入已设置的环境变量。 1 2 3 4 5 var sig = new signer.Signer() // Directly writing AK/SK in code is risky.
source ~/.bashrc 生成一个新的Signer, 填入已设置的环境变量。 1 2 3 4 5 $signer = new Signer(); // Directly writing AK/SK in code is risky.
将生成的签名信息作为请求消息头添加到HTTP请求中,或者作为查询字符串参数添加到HTTP请求中。 本章节主要用于帮助用户自行完成API请求的签名。 签名SDK与demo章节提供了常用语言的签名SDK以及demo,与本章节提供的算法逻辑一致,您可以直接使用,省去自签名步骤。
source ~/.bashrc 生成一个新的Signer,分别输入已设置的环境变量。 s := core.Signer{ // Directly writing AK/SK in code is risky.
source ~/.bashrc 生成一个新的Signer,填入已设置的环境变量。
错误码说明 当您使用各云服务的API时,如果遇到以云服务简称开头的错误码,请参考各云服务自身提供的API参考手册中的“错误码”章节进行处理;如果遇到“APIGW”开头的错误码,请参考如下语义与解决方案进行处理。 表1 错误码 错误码 错误信息 HTTP状态码 语义 解决方案 APIGW
为了账号安全性,建议您妥善保管并定期修改访问密钥,修改访问密钥的方法为删除旧访问密钥,然后重新生成。 父主题: AK/SK签名认证操作指导
source ~/.bashrc 生成一个新的Signer, 填入已设置的环境变量。 1 2 3 4 5 Signer signer = new Signer(); // Directly writing AK/SK in code is risky.
source ~/.bashrc 生成一个sig_params_t类型的变量, 填入已设置的环境变量。
获取项目ID 在调用接口的时候,部分URL中需要填入项目编号,获取token时,同样需要获取项目编号,所以需要先在管理控制台上获取到项目编号。项目编号获取步骤如下: 登录控制台。 将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”,查看“项目ID”。 项目用于对云服务器资源进行物理隔离
Java 本节以IDEA工具为例,介绍如何在Java环境中集成API请求签名的SDK。您可以直接导入示例代码,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装IDEA 2022.2.1
request.addHeader("Content-Type", "text/plain"); //request.setBody("demo"); } catch (Exception e) { e.printStackTrace(); return; } 对请求进行签名,生成
AK/SK签名认证操作流程 AK/SK签名认证操作流程如下: API调用信息收集。 需要获取以下信息,包括: 用于组成请求URL的Endpoint和URI。 用于签名和认证的AK/SK。 用于区分租户的项目ID、子项目ID。 用于区分租户的账号名、账号ID。 用于API的环境信息。
获取账号名和账号ID 在调用接口的时候,部分URL中需要填入账号名和账号ID,所以需要先在管理控制台上获取到账号名和账号ID。账号名和账号ID获取步骤如下: 登录控制台。 将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”。 查看账号名和账号ID。 图1 查看账号名和账号
您即将访问非华为云网站,请注意账号财产安全