Decrypting a DEK
Function
This API is used to decrypt DEKs using specified CMKs.
Calling Method
For details, see Calling APIs.
URI
POST /v1.0/{project_id}/kms/decrypt-datakey
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key_id |
Yes |
String |
A 36-byte key ID which matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$, for example, 0d0466b0-e727-4d9c-b35d-f84bb474a37f. |
cipher_text |
Yes |
String |
Hexadecimal string of the DEK ciphertext and the metadata. It is the value of cipher_text in the encryption result. |
datakey_cipher_length |
Yes |
String |
Number of bytes of a key. The value ranges from 1 to 1024, for example, 64. |
additional_authenticated_data |
No |
String |
Non-sensitive extra data used for authentication. The value is a random string with at most 128 bytes. |
sequence |
No |
String |
A 36-byte serial number of a request message, for example, 919c82d4-8046-4722-9094-35c3c6524cff |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
data_key |
String |
Hexadecimal string of the plaintext of a DEK |
datakey_length |
String |
Length of a plaintext DEK, in bytes. |
datakey_dgst |
String |
Hexadecimal string corresponding to the SHA-256 hash value of the plaintext of a DEK. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 502
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Status code: 504
Parameter |
Type |
Description |
---|---|---|
error |
Object |
Error message |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code returned by the error request |
error_msg |
String |
Error information returned by the error request |
Example Requests
Decrypt a ciphertext DEK into a 64-byte plaintext DEK using the key whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f and add 123aad as the associated data.
{ "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "cipher_text" : "020098005273E14E6E8E95F5463BECDC27E80AFxxxxxxxxxx...", "datakey_cipher_length" : "64", "additional_authenticated_data" : "123aad" }
Example Responses
Status code: 200
Request succeeded.
{ "data_key" : "000000e724d9cb35df84bb474a37fXXX...", "datakey_length" : "64", "datakey_dgst" : "F5A5FD42D16A20302798EF6ED3099XXX..." }
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded. |
400 |
Invalid request parameters. |
401 |
Username and password are required for the requested page. |
403 |
Authentication failed. |
404 |
The resource does not exist. |
500 |
Internal service error. |
502 |
Failed to complete the request. The server receives an invalid response from the upstream server. |
504 |
Gateway timed out. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.