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

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

加密数据

功能介绍

加密数据,用指定的用户主密钥加密数据。

接口约束

  • 使用非对称密钥加密数据时,请记录选择的密钥ID和加密算法。解密数据时,您将需要提供相同的密钥ID和加密算法。如果指定的密钥和加密算法与用于加密数据的值不匹配,解密操作将失败。
  • 使用对称密钥解密时,不需要提供密钥ID和加密算法,KMS会将此信息存储在密文 中。KMS无法将元数据存储在使用非对称密钥生成的密文中,非对称密钥密文的标准格式不包括可配置字段。

调试

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

URI

POST /v1.0/{project_id}/kms/encrypt-data

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

plain_text

String

明文数据,1~4096字节,满足正则匹配“^.{1,4096}$”,且转化为byte数组后长度取值范围为1~4096字节。

encryption_algorithm

String

数据加密算法,仅使用非对称密钥需要指定该参数,默认值为“SYMMETRIC_DEFAULT”,合法枚举值如下:

  • SYMMETRIC_DEFAULT
  • RSAES_OAEP_SHA_256
  • RSAES_OAEP_SHA_1
  • SM2_ENCRYPT

sequence

String

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

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

key_id

String

密钥ID。

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",
  "plain_text" : "hello world"
}

响应示例

状态码: 200

请求已成功。

{
  "key_id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
  "cipher_text" : "AgDoAG7EsEc2OHpQxz4gDFDH54CqwaelpTdEl+RFXXX..."
}

状态码: 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

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

错误码

请参见错误码

分享:

    相关文档

    相关产品