创建主密钥

最近更新时间: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 错误
注意:

上表所列错误码是接口特有错误码,如果您要查找的错误码不在其中,请查看 公共错误码 文档。

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