Encrypting a DEK
Function
This API is used to encrypt a DEK using a specified CMK.
Calling Method
For details, see Calling APIs.
URI
POST /v1.0/{project_id}/kms/encrypt-datakey
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| project_id | Yes | String | Definition Project ID. For details, see Obtaining a Project ID. Constraints N/A Range The value returned by the IAM API is used, which contains 32 characters. Default Value N/A |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| X-Auth-Token | Yes | String | Definition User token. It can be obtained by calling the IAM API. The value of X-Subject-Token in the response header is the user token. Constraints N/A Range Obtain the value by calling the IAM API for obtaining the user token. Default Value N/A |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| key_id | String | Definition Key ID Range N/A |
| cipher_text | String | Definition Hexadecimal EDK plaintext Range N/A |
| datakey_length | String | Definition Length of a plaintext EDK, in bytes Range N/A |
Example Requests
Encrypt a 512-bit plaintext key using the key whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f and add 123add as the associated data.
{
"key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
"plain_text" : "7549d9aea901767bf3c0b3e14b10722eaf6f59053bbd82045d04e075e809a0fe6ccab48f8e5efe74e4b18ff0512525e527b10331100f357bf42125d8d5ced94ffbc8ac72b0785ca7fe33eb6776ce3990b11e32b299d9c0a9ee0305fb9540f797",
"datakey_plain_length" : "64",
"additional_authenticated_data" : "123aad"
} Example Responses
Status code: 200
{
"key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
"datakey_length" : "64",
"cipher_text" : "020098009EEAFCE122CAA5927D2XXX..."
} Status Codes
| Status Code | Description |
|---|---|
| 200 | Request succeeded. |
Error Codes
See Error Codes.