解密

最近更新时间:2017-12-21 17:26:38

1. 接口描述

本接口 (Decrypt) 用于解密密文,得到明文数据。此接口不需要keyId作为入参,因为加密接口得到的密文已经包含了keyId。解密接口会获取密文中携带的keyId, 并验证权限。

本接口会检查
kms请求域名接口和说明可参考地域和域名说明
任何时候,包括内测期间,如果使用外网域名产生公网下行流量,都会收取流量费用。 所以强烈建议服务在腾讯云上的用户使用内网域名,内网不会产生流量费用。

  • 输入参数有些是可选的,不填取默认值。
  • 输出参数在成功情况下所有出参都会返回给用户;失败情况下,至少会有code, message, requestId返回。

2. 输入参数

以下请求参数列表仅列出了接口请求参数,其它参数见公共请求参数页面。

参数名称 是否必选 类型 描述
ciphertextBlob String 被加密的密文数据。
encryptionContext json 格式字符串 key/value对的json字符串,应输入跟Encrypt接口相同的值。

3. 输出参数

参数名称 类型 描述
code Int 0:表示成功,others:错误,详细错误见下表。
message String 错误提示信息。
requestId String 服务器生成的请求 Id,出现服务器内部错误时,用户可提交此 Id 给后台定位问题。
keyId String CMK的全局唯一标识。
plaintext String 解密后的明文。api返回的plaintext是base64编码的,为了得到原始明文,应调用相应的base64解码。KMS SDK解密接口已经封装了base64解密操作,若使用SDK不需要额外进行base64解密操作。
错误代码 模块错误代码 英文提示 描述
4560 10670 decryption failed, please check input parameters 解密失败,请检查输入参数。
4580 10680 invalid ciphertextBlob ciphertextBlob非法。

注意:上表所列错误码是接口特有错误码,如果您要查找的错误码不在其中,可能在公共错误码中。

4. 示例

输入:

 https://kms-gz.api.tencentyun.com/v2/index.php?Action=Decrypt
 &ciphertextBlob=
 &<公共请求参数>

输出:

{
"code" : 0,
"message" : "",
"requestId":"14534664555",
"keyId":"kms-30slkdf",
"plaintext":"string"
}