Skip to main content

传输加密

简述

当前支持RSA+AES、SM2+AES两种加密方式进行数据传输加密,为请求/返回信息做加密处理,保障数据传输的安全性。

RSA和SM2为非对称加密算法,SM2算法是一种更先进安全的算法,在安全性能、速度性能等方面都优于RSA算法,在我国商用密码体系中被用来替换RSA算法;AES是对称加密算法,使用非对称加密算法和对称加密算法混合模式,在支持对大量数据加解密的同时,保证了加解密速度,安全性更高,主要应用于一些用户信息、敏感信息加密的安全性要求较高的场景。

  • RSA/SM2:平台为每位用户创建相互独立的RSA、SM2密钥对,“公钥加密、私钥解密,私钥加密、公钥解密”。RSA/SM2公钥对用户可见,私钥平台进行管理。 RSA/SM2公钥用途:对AES密钥进行加密处理。 RSA/SM2私钥用途:对RSA/SM2公钥加密后的AES密钥进行解密。 RSA/SM2公钥查看路径:「我的API—API调用」

  • AES:需调用者通过程序手动生成AES密钥。 AES密钥用途:对请求/返回信息进行加密/解密处理。 生成AES密钥&AES密钥加密请求信息&解密返回信息方法:详见附件-AES加解密方法

加密调用主流程

rsa+aes 流程图

附件使用说明

  • 加密请求信息 1)输入请求信息

rsa+aes EncryptDemo 输入请求信息

2)输入RSA公钥

rsa+aes EncryptDemo 输入RSA公钥

运行成功,获得加密后的请求信息和加密后的AES密钥后,即可进行API调用; API调用,获得加密后的返回结果,需使用附件内的资源对返回信息进行解密。 * 解密返回信息 使用附件解密时:用户操作 解密附件-文件名:DecryptDemo 1)输入返回的加密结果

rsa+aes DecryptDemo 输入返回的加密结果

2)输入AES密钥

rsa+aes EncryptDemo 输入AES密钥

运行成功,即可查看解密后返回信息。

请求示例

  • 1.加密前-加密请求信息说明* AES加密请求信息时:输入请求信息JSON示例 1)POST请求方式 - 生成API: { "pageNo": , "pageSize": "inFields":{ "id":" ", "name":" " } } 以上举例为“勾选返回结果分页”,若不勾选则无inFields上方pageNo、pageSize两个参数,其余均相同。 2)POST请求方式 - 注册API: { "id":" ", "name":" " } 3)GET、PUT、DELETE请求方式 - 生成API/注册API : { "id":" ", "name":" " }
  • 2.加密后-调用-请求信息说明 HTTP/HTTPS 协议下使用 RSA+AES 加密后,不同请求方式调用说明: 1)GET、DELETE 请求方式: 统一将加密后的 AES 密钥(aesKey)及密文(data)通过 URL 方式传递; image::rsa+aes-GET、DELETE -加密后请求示例.png[width='800'] 2)POST、PUT 请求方式: 统一将加密后的 AES 密钥(aesKey)及密文(data)通过 Body 方式传递。 image::rsa+aes-POST、PUT -加密后请求示例.png[width='800']

DEMO附件

AES加解密demo.zip