创建数据密钥
功能介绍
创建数据密钥,返回结果包含明文和密文。
URI
请求消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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"} |
datakey_length |
否 |
String |
密钥bit位长度。 取值为8的倍数,取值范围为8~8192。 |
sequence |
否 |
String |
请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff |
响应消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key_id |
是 |
String |
密钥ID。 |
plain_text |
是 |
String |
DEK明文16进制,两位表示1byte。 |
cipher_text |
是 |
String |
DEK密文16进制,两位表示1byte。 |
示例
如下以创建密钥ID为“0d0466b0-e727-4d9c-b35d-f84bb474a37f”,密钥长度为“512”bit的数据密钥为例。
- 请求样例
{ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "datakey_length": "512" }
- 响应样例
{ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "plain_text": "8151014275E426C72EE7D44267EF11590DCE0089E19863BA8CC832187B156A72A5A17F17B5EF0D525872C59ECEB72948AF85E18427F8BE0D46545C979306C08D", "cipher_text": "020098009EEAFCE122CAA5927D2E020086F9548BA1675FDB022E4ECC01B96F2189CF4B85E78357E73E1CEB518DAF7A4960E7C7DE8885ED3FB2F1471ABF400119CC1B20BD3C4A9B80AF590EFD0AEDABFDBB0E2B689DA7B6C9E7D3C5645FCD9274802586BE63779471F9156F2CDF07CD8412FFBE9230643034363662302D653732372D346439632D623335642D6638346262343734613337660000000045B05321483BD9F9561865EE7DFE9BE267A42EB104E98C16589CE46940B18E52" }
或
{ "error": { "error_code": "KMS.XXXX", "error_msg": "XXX" } }