创建主密钥

最近更新时间:2024-11-06 01:46:54

我的收藏

1. 接口描述

接口请求域名: kms.tencentcloudapi.com 。

创建用户管理数据密钥的主密钥CMK(Custom Master Key)。

默认接口请求频率限制:100次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateKey。
Version String 公共参数,本接口取值:2019-01-18。
Region String 公共参数,详见产品支持的 地域列表
Alias String 作为密钥更容易辨识,更容易被人看懂的别名, 不可为空,1-60个字母数字 - _ 的组合,首字符必须为字母或者数字。以 kms- 作为前缀的用于云产品使用,Alias 不可重复。
示例值:test6-lzc
Description String CMK 的描述,最大1024字节
示例值:描述信息
KeyUsage String 指定key的用途,默认为 "ENCRYPT_DECRYPT" 表示创建对称加解密密钥,其它支持用途 “ASYMMETRIC_DECRYPT_RSA_2048” 表示创建用于加解密的RSA2048非对称密钥,“ASYMMETRIC_DECRYPT_SM2” 表示创建用于加解密的SM2非对称密钥,“ASYMMETRIC_SIGN_VERIFY_SM2” 表示创建用于签名验签的SM2非对称密钥,“ASYMMETRIC_SIGN_VERIFY_ECC” 表示创建用于签名验签的ECC非对称密钥,“ASYMMETRIC_SIGN_VERIFY_RSA_2048” 表示创建用于签名验签的RSA_2048非对称密钥,“ASYMMETRIC_SIGN_VERIFY_ECDSA384”表示创建用于签名验签的 ECDSA384 非对称秘钥。完整的秘钥用途与算法支持列表可通过 ListAlgorithms 接口获取。
示例值:ENCRYPT_DECRYPT
Type Integer 指定key类型,默认为1,1表示默认类型,由KMS创建CMK密钥,2 表示EXTERNAL 类型,该类型需要用户导入密钥材料,参考 GetParametersForImport 和 ImportKeyMaterial 接口
示例值:1
Tags.N Array of Tag 标签列表
示例值:[{"TagKey":"env","TagValue":"dev"}]
HsmClusterId String KMS 高级版对应的 HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)。
示例值:cluster-123

3. 输出参数

参数名称 类型 描述
KeyId String CMK的全局唯一标识符
示例值:36ae6a81-973c-11ef-947b-525400d834e5
Alias String 作为密钥更容易辨识,更容易被人看懂的别名
示例值:test7-lzc
CreateTime Integer 密钥创建时间,unix时间戳
示例值:1552897190
Description String CMK的描述
示例值:这是一个test描述
KeyState String CMK的状态
示例值:Enabled
KeyUsage String CMK的用途
示例值:ENCRYPT_DECRYPT
TagCode Integer 标签操作的返回码. 0: 成功;1: 内部错误;2: 业务处理错误
示例值:0
TagMsg String 标签操作的返回信息
示例值:ok
HsmClusterId String HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)
示例值:cls-hsm-1234abcd
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建主密钥示例

创建用户管理数据密钥的主密钥CMK(Custom Master Key),通过CMK后续可以调用其他接口诸如创建数据密钥、加解密等操作。

输入示例

POST / HTTP/1.1
Host: kms.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateKey
<公共请求参数>

{
    "Description": "test描述",
    "Alias": "test8-lzc",
    "KeyUsage": "ENCRYPT_DECRYPT",
    "Type": 1,
    "Tags": [
        {
            "TagKey": "env",
            "TagValue": "dev"
        }
    ]
}

输出示例

{
    "Response": {
        "Alias": "test8-lzc",
        "CreateTime": 1730347170,
        "Description": "test描述",
        "HsmClusterId": "cls-hsm-3dflmo9g",
        "KeyId": "87ff856e-973c-11ef-947b-525400d834e5",
        "KeyState": "Enabled",
        "KeyUsage": "ENCRYPT_DECRYPT",
        "RequestId": "c44aba41-015a-45aa-9e55-1a08ac9d1d78",
        "TagCode": 0,
        "TagMsg": "ok"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.TaggingError 标签服务错误。
InternalError 内部错误。
InvalidParameter 参数错误。
InvalidParameterValue.AliasAlreadyExists 别名已经存在。
InvalidParameterValue.InvalidAlias 别名格式错误。
InvalidParameterValue.InvalidHsmClusterId 无效的 HSM 集群 ID。
InvalidParameterValue.InvalidKeyUsage KeyUsage参数错误。
InvalidParameterValue.InvalidType Type参数错误。
InvalidParameterValue.TagKeysDuplicated 标签键重复。
InvalidParameterValue.TagsNotExisted 标签键或标签值不存在。
LimitExceeded.CmkLimitExceeded CMK数量已达上限。
UnauthorizedOperation 未授权操作。
UnsupportedOperation.ServiceTemporaryUnavailable 服务暂时不可用。
UnsupportedOperation.UnsupportedKeyUsageInCurrentRegion 加密方式在当前region不支持。