数据加密服务 DEW数据加密服务 DEW

更新时间:2021/09/02 GMT+08:00
分享

创建数据密钥

功能介绍

创建数据密钥,返回结果包含明文和密文。

调试

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

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

表3 请求Body参数

参数

是否必选

参数类型

描述

key_id

String

密钥ID,36字节,满足正则匹配“^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$”。 例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f。

encryption_context

Object

一系列key-value键值对,用于记录资源上下文信息,用于保护数据的完整性,不应包含敏感信息,最大长度为8192。 当在加密时指定了该参数时,解密密文时,需要传入相同的参数,才能正确的解密。 例如:{"Key1":"Value1","Key2":"Value2"}

key_spec

String

指定生成的密钥bit位长度。有效值:AES_256、AES_128。

  • AES_256:表示256比特的对称密钥。

  • AES_128:表示128比特的对称密钥。 说明: datakey_length和key_spec二选一。

  • 若datakey_length和key_spec都为空,默认生成256bit的密钥。

  • 若datakey_length和key_spec都指定了值,仅datakey_length生效。

datakey_length

String

密钥bit位长度。取值为8的倍数,取值范围为8~8192。 说明: datakey_length和key_spec二选一。

  • 若datakey_length和key_spec都为空,默认生成256bit的密钥。

  • 若datakey_length和key_spec都指定了值,仅datakey_length生效。

sequence

String

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

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

key_id

String

密钥ID。

plain_text

String

DEK明文16进制,两位表示1byte。

cipher_text

String

DEK密文16进制,两位表示1byte。

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表6 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

error_msg

String

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

状态码: 403

表7 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表8 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

error_msg

String

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

状态码: 404

表9 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表10 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

error_msg

String

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

请求示例

{
  "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
  "datakey_length" : "512"
}

响应示例

状态码: 200

请求已成功。

{
  "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
  "plain_text" : "8151014275E426C72EE7D44267XXXXX...",
  "cipher_text" : "020098009EEAFCE122CAA5927D2XXX..."
}

状态码: 400

请求参数有误。

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

状态码: 403

认证失败。

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

状态码: 404

资源不存在,资源未找到。

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

状态码

状态码

描述

200

请求已成功。

400

请求参数有误。

403

认证失败。

404

资源不存在,资源未找到。

错误码

请参见错误码

分享:

    相关文档

    相关产品