Decrypting Data
Function
This API is used to decrypt data.
Constraints
When decrypting the data encrypted using asymmetric keys, you need to specify the key ID and encryption algorithm. If the specified key ID and encryption algorithm do not match those used for encrypting data, the decryption fails.
Calling Method
For details, see Calling APIs.
URI
POST /v1.0/{project_id}/kms/decrypt-data
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 an 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 |
---|---|---|---|
cipher_text |
Yes |
String |
Ciphertext of encrypted data, which is the value of cipher_text in the data encryption output. The value matches the regular expression ^[0-9a-zA-Z+/=]{128,5648}$. |
encryption_algorithm |
No |
String |
Data encryption algorithm. Specify this parameter if only asymmetric keys are used. The default value is SYMMETRIC_DEFAULT. Possible values are as follows: SYMMETRIC_DEFAULT RSAES_OAEP_SHA_256 SM2_ENCRYPT |
key_id |
No |
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. |
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 |
---|---|---|
key_id |
String |
Key ID. |
plain_text |
String |
Plaintext. |
plain_text_base64 |
String |
Base64 value of the plaintext. In asymmetric encryption scenarios, if the encrypted plaintext contains invisible characters, the value is used as the decryption result. |
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 the ciphertext AgDoAG7EsEc2OHpQxz4gDFDH54Cqwaelxxxxxxx and add 123aad as the associated data. The data encryption algorithm is SYMMETRIC_DEFAULT.
{ "cipher_text" : "AgDoAG7EsEc2OHpQxz4gDFDH54Cqwaelxxxxxxx", "encryption_algorithm" : "SYMMETRIC_DEFAULT", "additional_authenticated_data" : "123aad" }
Example Responses
Status code: 200
Request succeeded.
{ "key_id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e", "plain_text" : "hello world", "plain_text_base64" : "aGVsbG8gd29ybGQ=" }
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.