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。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
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不支持。 |