创建主密钥

最近更新时间:2019-12-06 10:30:04

我的收藏

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 错误
Note:
上表所列错误码是接口特有错误码,如果您要查找的错误码不在其中,请查看 公共错误码 文档。

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"
}
}