1. 接口描述
本接口 (CreateKey) 用于创建用户管理数据密钥的主密钥CMK(Custom Master Key),通过CMK后续可以调用其他接口诸如创建数据密钥、加解密等操作。
每个用户,在每个地区,最多可以创建1000个用户主密钥。
如果用户有提高数量限制的需求,可以通过工单系统向我们提交申请。
kms 请求域名接口和说明可参考 地域和域名说明。
任何时候,包括内测期间,如果使用外网域名产生公网下行流量,都会收取流量费用。 所以强烈建议服务在腾讯云上的用户使用内网域名,内网不会产生流量费用。
- 输入参数有些是可选的,不填取默认值。
- 输出参数在成功情况下所有出参都会返回给用户;失败情况下,至少会有 code,message,requestId 返回。
2. 输入参数
以下请求参数列表仅列出了接口请求参数,其它参数见 公共请求参数 页面。
参数名称 | 是否必选 | 类型 | 描述 |
---|---|---|---|
description | 否 | String | key 的描述。 |
alias | 是 | String | 作为密钥更容易辨识,更容易被人看懂的别名, 不可为空,1 - 32个字符 |
keyUsage | 否 | String | 指定 key 的用途。目前,默认为 ‘ENCRYPT/DECRYPT’,即 key 用于加密和解密 |
type | 否 | Int | 指定 key 类型,1为普通类型,2为量子类型,默认为普通类型 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
code | Int | 0:表示成功,others:错误,详细错误见下表, |
message | String | 错误提示信息 |
requestId | String | 服务器生成的请求 ID。出现服务器内部错误时,用户可提交此 ID 给后台定位问题 |
keyMetadata | Struct | 密钥信息 |
keyMetadata 定义如下:
参数名称 | 类型 | 描述 |
---|---|---|
keyId | String | key 的全局唯一标识符。 |
alias | String | 作为密钥更容易辨识,更容易被人看懂的别名。 |
createTime | Uint32 | 密钥创建时间,UNIX 时间戳。 |
description | String | key 的描述。 |
keyState | String | key 的状态。 |
keyUsage | String | key 的用途。 |
错误码列表
错误代码 | 模块错误代码 | 英文提示 | 描述 |
---|---|---|---|
4490 | 10470 | string of KeyUsage must be ENCRYPT/DECRYPT | KeyUsage 参数错误,目前只能是 ENCRYPT 或者是 DECRYPT |
4500 | 10480 | alias is already existed in your account, please input another unique one | 别名已经存在,请换一个别名 |
4510 | 10610 | number of CMK in your account has reached the limit | CMK 数量达到最大值。一个账户的 CMK 数量是有限(200)的,达到最大值后,无法创建新的 CMK |
4520 | 10620 | keySpec value error | keySpec 错误 |
注意:上表所列错误码是接口特有错误码,如果您要查找的错误码不在其中,请查看 公共错误码 文档。
4. 示例
输入:
https://kms-sh.api.tencentyun.com/v2/index.php?Action=CreateKey &alias=kms-test-1 &description=this key is for kms test, and don't delete it &keyUsage=ENCRYPT/DECRYPT &type=1 &<公共请求参数>
输出:
{
"code": 0,
"message": "",
"requestId": "14534664555",
"keyMetadata": {
"keyId": "kms-94kalsdf",
"alias": "kms-test-1",
"createTime": 1483945424,
"description": "this key is for kms test, and don't delete it",
"keyState": "Enabled",
"keyUsage": "ENCRYPT/DECRYPT"
}
}