更新时间:2022-08-23 GMT+08:00

解密数据密钥

功能介绍

解密数据密钥,用指定的主密钥解密数据密钥。

解密的数据为加密数据中的结果。

URI

  • URI格式

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

  • 参数说明
    表1 参数说明

    参数

    是否必选

    参数类型

    描述

    project_id

    String

    项目ID。

请求消息

表2 请求参数

参数

是否必选

参数类型

描述

key_id

String

密钥ID,36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”

例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f

encryption_context

Object

一系列key-value键值对,用于记录资源上下文信息,用于保护数据的完整性,不应包含敏感信息,最大长度为8192。

当在加密时指定了该参数时,解密密文时,需要传入相同的参数,才能正确的解密。

例如:{"Key1":"Value1","Key2":"Value2"}

cipher_text

String

DEK密文及元数据的16进制字符串。取值为加密数据密钥结果中的cipher_text的值。

datakey_cipher_length

String

密钥字节长度,取值范围为1~1024。

sequence

String

请求消息序列号,36字节序列号。

例如:919c82d4-8046-4722-9094-35c3c6524cff

响应消息

表3 响应参数

参数

是否必选

参数类型

描述

data_key

String

DEK明文的16进制字符串。

datakey_length

String

DEK明文字节长度。

datakey_dgst

String

DEK明文的SHA256值对应的16进制字符串。

示例

如下以密钥ID为“0d0466b0-e727-4d9c-b35d-f84bb474a37f”的用户主密钥解密密钥字节长度为64字节,密文数据密钥为“020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E”的数据密钥为例。

  • 请求样例
    {
        "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
        "datakey_cipher_length": "64",
        "cipher_text": "020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E"
    }
  • 响应样例
    {
        "data_key": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "datakey_length": "64",
        "datakey_dgst": "F5A5FD42D16A20302798EF6ED309979B43003D2320D9F0E8EA9831A92759FB4B"
    }

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

状态码

表4描述的是API返回的正常状态码。
表4 状态码

状态码

编码

状态说明

200

OK

请求已成功。

异常状态码,请参见状态码