检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
为什么SM2算法签名结果不是64字节? SM2算法正常不进行编码的签名长度为64个字节,即为R+S,各32个字节;密钥管理服务(KMS)针对签名结果使用ASN.1进行编码。
签名密钥 签名密钥用于后端服务验证API的身份,在API请求后端服务时,保障后端服务的安全。 签名密钥是由一对Key和Secret组成,当签名密钥创建后,ROMA API向后端服务发送此API的请求时,会增加相应的签名信息,此时需要后端服务依照同样方式进行签名,通过比对签名结果与
创建SSL证书 如果API服务中的API支持HTTPS请求协议,则在绑定独立域名后,还需为独立域名添加SSL证书。 前提条件 仅支持添加pem编码格式的SSL证书。 添加的SSL证书仅支持RSA、ECDSA和DSA加密算法。 创建SSL证书 登录ROMA API控制台。 在控制台单击,选择区域,在“ROMA
实例。 单击“SSL证书管理”页签。 在“SSL证书管理”页面,可执行下表操作。 表1 管理证书 相关任务 使用场景 操作步骤 查看证书 查看证书详情。 单击证书名称,查看证书详情。包括序列号、有效期、签名算法、域名等信息。 编辑证书 修改证书信息。 找到需要编辑的证书,单击所在行的“编辑”,即可修改证书信息。
SSL证书管理 创建SSL证书 管理SSL证书 父主题: API管理
对后端服务进行签名 Java Python C#
AK/SK认证 使用AK(Access Key ID)、SK(Secret Access Key)对请求进行签名。 AK:访问密钥ID。与私有访问密钥关联的唯一标识符,访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK:与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。
API网关收到请求后,执行1~3,计算签名。 将3中的生成的签名与5中生成的签名进行比较,如果签名匹配,则处理请求,否则将拒绝请求。 APP签名仅支持Body体12M及以下的请求签名。 步骤1:构造规范请求 使用APP方式进行签名与认证,首先需要规范请求内容,然后再进行签名。客户端与API网关使用相同的请求规范
过此步骤。 在域名所在行单击“选择SSL证书”。 在选择SSL证书弹窗中勾选要绑定的SSL证书,然后单击“确定”,完成SSL证书的绑定。 若证书列表中无可用的SSL证书,可单击“创建SSL证书”,新增SSL证书,具体操作配置请参考创建SSL证书。 常见问题 绑定域名失败常见原因
java”为示例代码,请根据实际情况修改参数后使用。具体代码说明请参考校验后端签名示例。 校验后端签名示例 示例演示如何编写一个基于Spring boot的服务器,作为API的后端,并且实现一个Filter,对API网关(即API管理)的请求做签名校验。 API绑定签名密钥后,发给后端的请求中才会添加签名信息。 编
C# 操作场景 使用C#语言进行后端服务签名时,您需要先获取SDK,然后打开工程,最后参考校验后端签名示例校验签名是否一致。 准备环境 准备待用的签名密钥的Key和Secret。 已在控制台创建签名密钥,并绑定API,具体请参见创建并使用签名密钥。 下载SDK的最新版本。 获取并安装Visual
操作场景 使用Python语言进行后端服务签名时,您需要先获取SDK,然后导入工程,最后参考校验后端签名示例校验签名是否一致。 本章节以IntelliJ IDEA 2018.3.5版本为例介绍。 准备环境 准备待用的签名密钥的Key和Secret。 已在控制台创建签名密钥,并绑定API,具体请参见创建并使用签名密钥。
调用已发布的API API在发布到环境后,即支持被其他用户调用。根据API所使用的安全认证方式不同,调用API的操作有所差异。 获取API的请求消息 在调用API前,您需要向API管理者获取API的请求信息,包括访问域名、请求协议、请求方法、请求路径以及请求参数。 根据API使用的安全认证方式,还要获取相关的请求认证信息:
使用APP认证调用API 认证前准备 APP认证工作原理 Java Go Python C# JavaScript PHP C++ C Android curl
和私有访问密钥一起使用,对请求进行加密签名。 Secret:与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 发送API请求时,需要将当前时间置于请求消息头的X-Sdk-Date,将签名信息置于请求消息头的Authorization。 客户端须注
Key)认证调用请求。其签名方式和APP认证相似。 使用自定义认证调用API 如果您希望使用自己的认证方式,可以在函数服务中编写一个函数,将其作为您的认证服务。 使用无认证调用API 对API请求不进行认证。 通过多种开发语言对后端服务进行签名 指导API开放者通过创建后端签名,确保后端服务的安全。
API管理 API服务管理 APIs管理 API列表 策略管理 自定义认证 SSL证书管理 API测试 凭据管理
apigateway-signature:实现签名算法的共享库,可用于.Net Framework与.Net Core项目。 backend-signature:后端服务签名示例。 sdk-request:签名算法的调用示例,请根据实际情况修改参数后使用。具体代码说明请参考调用API示例。
再次单击“Next”,弹出以下对话框。单击“...”,在弹出的对话框中选择解压后的SDK路径,单击“Finish”。 图3 选择解压后的SDK路径 完成工程创建后,目录结构如下。 图4 新建工程python的目录结构 “main.py”为示例代码,请根据实际情况修改参数后使用。具体代码说明请参考调用API示例。
PHP 单击“...”,在弹出的对话框中选择解压后的SDK路径,单击“Finish”。 图3 选择解压后php的SDK路径 完成工程创建后,目录结构如下。 图4 新建工程php的目录结构 “signer.php”为示例代码,请根据实际情况修改参数后使用。具体代码说明请参考调用API示例。
图2 Go 单击“...”,在弹出的对话框中选择解压后的SDK路径,单击“Finish”。 图3 选择解压后go的SDK路径 完成工程创建后,目录结构如下。 图4 新建工程go的目录结构 “demo.go”为示例代码,请根据实际情况修改参数后使用。具体代码说明请参考调用API示例。