生成数据密钥
最近更新时间: 2025-01-20 17:15:22
1. 接口描述
接口请求域名: kms.api3.fincloud.tencent.cn。
本接口生成一个数据密钥,您可以用这个密钥进行本地数据的加密。
默认接口请求频率限制:100次/秒。
接口更新时间:2020-05-07 14:31:37。
接口只验签名不鉴权。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数。
参数名称 | 必选 | 允许NULL | 类型 | 描述 |
---|---|---|---|---|
Action | 是 | 否 | String | 公共参数,本接口取值:GenerateDataKey |
Version | 是 | 否 | String | 公共参数,本接口取值:2019-01-18 |
Region | 是 | 否 | String | 公共参数,详见产品支持的地域列表(TODO) |
KeyId | 是 | 否 | String | CMK全局唯一标识符 |
KeySpec | 否 | 否 | String | 指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个 |
NumberOfBytes | 否 | 否 | Uint64 | 生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个 |
EncryptionContext | 否 | 否 | String | key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
KeyId | String | CMK的全局唯一标识 |
Plaintext | String | 生成的数据密钥DataKey的明文,该明文使用base64进行了编码,需base64解码后作为数据密钥本地使用 |
CiphertextBlob | String | 数据密钥DataKey加密后的密文,用户需要自行保存该密文,KMS不托管用户的数据密钥。可以通过Decrypt接口从CiphertextBlob中获取数据密钥DataKey明文 |
RequestId | String | 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 |
4. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见公共错误码。
错误码 | 描述 |
---|---|
InvalidParameter | |
ResourceUnavailable.CmkDisabled | |
ResourceUnavailable.CmkNotFound | |
InvalidParameterValue.InvalidKeyId | |
InternalError | |
UnauthorizedOperation |