1. 接口描述
本接口(Encrypt)用于加密最多为4KB任意数据,诸如 RSA 密钥,数据库密钥,或者其他敏感的客户信息。
kms请求域名接口和说明可参考 地域和域名说明。
说明:任何时候,包括内测期间,如果使用外网域名产生公网下行流量,都会收取流量费用。 所以强烈建议服务在腾讯云上的用户使用内网域名,内网不会产生流量费用。
- 输入参数有些是可选的,不填取默认值。
- 输出参数在成功情况下所有出参都会返回给用户;失败情况下,至少会有code, message, requestId返回。
2. 输入参数
以下请求参数列表仅列出了接口请求参数,其它参数见 公共请求参数 页面。
参数名称 | 是否必选 | 类型 | 描述 |
---|---|---|---|
keyId | 是 | String | 调用 CreateKey 生成的 CMK 全局唯一标识符。 |
plaintext | 是 | String | 被加密的明文数据,该字符串必须使用 base64 编码。KMS SDK 加密接口已经封装了 base64 编码操作。用户若使用 SDK 则不需要调用 base64 操作。 |
encryptionContext | 否 | json 格式字符串 | key/value 对的 json 字符串,如果指定了该参数,则在调用 Decrypt API 时需要提供同样的参数。 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 0:表示成功,others:错误,详细错误见下表。 |
message | String | 错误提示信息。 |
requestId | String | 服务器生成的请求 Id,出现服务器内部错误时,用户可提交此 Id 给后台定位问题。 |
keyId | String | CMK 的全局唯一标识。 |
ciphertextBlob | String | 加密后的密文。 |
错误代码 | 模块错误代码 | 英文提示 | 描述 |
---|---|---|---|
4560 | 10660 | encryption failed, please check input parameters | 加密失败,请检查加密参数。 |
4540 | 10640 | illegal encryptionContext | encryptionContext 非法,该字段必须为json格式字符串。 |
4590 | 10690 | plaintext is not encoded with base64 | plaintext 必须使用base64编码。 |
注意:上表所列错误码是接口特有错误码,如果您要查找的错误码不在其中,可能在 公共错误码 中。
4. 示例
输入
https://kms-gz.api.tencentyun.com/v2/index.php?Action=Encrypt &keyId=kms-30slkdf &plaintext=databasepassword &<公共请求参数>
输出
{
"code" : 0,
"message" : "",
"requestId":"14534664555",
"msgId":"123345346",
"keyId":"kms-30slkdf",
"ciphertextBlob":"string"
}