文档首页 > > API参考> API说明> 管理加密密钥> 生命周期管理>

创建密钥

创建密钥

分享
更新时间:2021/07/20 GMT+08:00

功能介绍

创建用户主密钥,用户主密钥可以为对称密钥或非对称密钥。

  • 对称密钥为长度为256位AES密钥,可用于小量数据的加密或者用于加密数据密钥。
  • 非对称密钥可以为RSA密钥对或者ECC密钥对,可用于数字签名及验签。

接口约束

别名“/default”为服务默认主密钥的后缀名,由服务自动创建。因此用户创建的主密钥别名不能与服务默认主密钥的别名相同,即后缀名不能为“/default”。 对于开通企业项目的用户,服务默认主密钥属于且只能属于默认企业项目下,且不支持企业资源的迁入迁出。服务默认主密钥为用户提供基础的云上加密功能,满足合规要求。因此,在企业多项目下,其他非默认企业项目下的用户均可使用该密钥。若客户有企业管理资源诉求,请自行创建和使用密钥。

调试

您可以在API Explorer中调试该接口。

URI

POST /v1.0/{project_id}/kms/create-key

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

key_alias

String

非默认主密钥别名,取值范围为1到255个字符,满足正则匹配“^[a-zA-Z0-9:/_-]{1,255}$”,且不与系统服务创建的默认主密钥别名重名。

key_spec

String

密钥生成算法,默认为“AES_256”,枚举如下:

  • AES_256
  • RSA_2048
  • RSA_3072
  • RSA_4096
  • EC_P256
  • EC_P384

key_description

String

密钥描述,取值0到255字符。

origin

String

密钥来源,默认为“kms”,枚举如下:

  • kms:表示密钥材料由kms生成。
  • external:表示密钥材料由外部导入,仅支持导入AES对称密钥。

enterprise_project_id

String

企业多项目ID。

  • 用户未开通企业多项目时,不需要输入该字段。
  • 用户开通企业多项目时,创建资源可以输入该字段。若用户不输入该字段,默认创建属于默认企业多项目ID(ID为“0”)的资源。 注意:若用户没有默认企业多项目ID(ID为“0”)下的创建权限,则接口报错。

sequence

String

请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

key_info

KeKInfo object

密钥详细信息。

表5 KeKInfo

参数

参数类型

描述

key_id

String

密钥ID。

domain_id

String

用户域ID。

状态码: 400

表6 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表7 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

error_msg

String

错误请求返回的错误信息。

状态码: 403

表8 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表9 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

error_msg

String

错误请求返回的错误信息。

请求示例

{
  "key_alias" : "test"
}

响应示例

状态码: 200

请求已成功。

{
  "key_info" : {
    "key_id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
    "domain_id" : "b168fe00ff56492495a7d22974df2d0b"
  }
}

状态码: 400

请求参数有误。

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

状态码: 403

认证失败。

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

状态码

状态码

描述

200

请求已成功。

400

请求参数有误。

403

认证失败。

错误码

请参见错误码

分享:

    相关文档

    相关产品