生成数据密钥

最近更新时间:2020-03-25 16:58:59

1. 接口描述

本接口 (GenerateDataKey )生成一个密钥,您可以用这个密钥进行本地数据的加密。

kms 请求域名接口和说明可参考 地域和域名说明

任何时候,包括内测期间,如果使用外网域名产生公网下行流量,都会收取流量费用。 所以强烈建议服务在腾讯云上的用户使用内网域名,内网不会产生流量费用。

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

2. 输入参数

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

参数名称 是否必选 类型 描述
keyId String 调用 CreateKey 生成的 CMK 全局唯一标识符。
keySpec String 指定生成 Datakey 的加密算法以及 Datakey 大小,AES_128 或者 AES_256。
numberOfBytes Int 生成的 DataKey 的长度,同时指定 NumberOfBytes 和 KeySpec 时,以 NumberOfBytes 为准。
encryptionContext json字符串 key/value 对的 json 字符串,如果指定了该参数,则在调用 Decrypt API 时需要提供同样的参数。

3. 输出参数

参数名称 类型 描述
code Int 0:表示成功,others:错误,详细错误见下表。
message String 错误提示信息。
requestId String 服务器生成的请求 ID。出现服务器内部错误时,用户可提交此 ID 给后台定位问题。
keyId String CMK 的全局唯一标识。
plaintext String 生成的 DataKey 的明文,该明文使用 base64 编码,用户需要使用 base64 解码得到明文。 KMS SDK 生成数据密钥接口已经封装了 base64 解码操作,用户若使用 SDK 则不需要调用 base64 解码操作。
ciphertextBlob String DataKey 加密后的密文。

4. 示例

输入

https://kms-bj.api.tencentyun.com/v2/index.php?Action=GenerateDataKey
&keyId=kms-345sdfk
&keySpec=AES_256
&<公共请求参数>

输出

{
    "code": 0,
    "message": "",
    "requestId": "14534664555",
    "keyId": "kms-345sdfk",
    "plaintext": "string",
    "ciphertextBlob": "string"
}