Mendekripsi ciphertext yang dihasilkan oleh kunci simetris dalam instans manajemen kunci perangkat lunak Key Management Service (KMS).
Deskripsi operasi
Panggil operasi ini untuk mendekripsi ciphertext yang dienkripsi melalui AdvanceEncrypt, AdvanceGenerateDataKey, Encrypt, atau GenerateDataKey. Kunci yang digunakan harus berupa kunci simetris dalam instans KMS bertipe manajemen kunci perangkat lunak.
Untuk detail spesifikasi kunci dan mode enkripsi yang didukung, lihat Jenis dan spesifikasi kunci.
Catatan penggunaan
Pastikan badan permintaan tidak melebihi 3 MB setelah dikodekan dengan Protocol Buffers. Jika melebihi batas tersebut, server akan menolak permintaan dan mengembalikan HTTP 413.
Batasi ukuran data hingga 6 KB untuk enkripsi dan dekripsi dalam satu operasi. Untuk data yang lebih besar, gunakan envelope encryption.
Muatan besar meningkatkan risiko kegagalan jaringan, memperpanjang waktu transmisi, dan meningkatkan latensi pemrosesan KMS.
Parameter permintaan
| Parameter | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
| CiphertextBlob | bytes | Ya | Data biner | Ciphertext yang akan didekripsi. |
| KeyId | string | Tidak | key-hzz62f1cb66fa42qo**** | ID unik global kunci, atau alias yang terikat pada kunci tersebut. Diperlukan hanya saat mendekripsi ciphertext yang dihasilkan oleh operasi Encrypt atau GenerateDataKey. |
| Algorithm | string | Tidak | AES_GCM | Algoritma dekripsi. Diperlukan hanya saat mendekripsi ciphertext yang dihasilkan oleh operasi Encrypt atau GenerateDataKey. Harus sesuai dengan algoritma yang digunakan saat enkripsi. |
| Iv | bytes | Tidak | Data biner | Initialization vector (IV). Diperlukan hanya saat mendekripsi ciphertext yang dihasilkan oleh operasi Encrypt atau GenerateDataKey dan Algorithm diatur ke AES_GCM atau AES_CBC. Harus sesuai dengan IV yang digunakan saat enkripsi. Panjang valid: 16 byte untuk AES_CBC, 12 byte untuk AES_GCM. |
| Aad | bytes | Tidak | Data biner | Additional authenticated data (AAD). Panjang maksimum: 8.192 byte. Diperlukan hanya saat Algorithm adalah AES_GCM dan AAD ditentukan saat enkripsi. Harus sesuai dengan AAD yang digunakan saat enkripsi. |
| PaddingMode | string | Tidak | PKCS7_PADDING | Mode padding. Diperlukan saat Algorithm adalah AES_CBC atau AES_ECB. Harus sesuai dengan mode padding yang digunakan saat enkripsi. Nilai valid: PKCS7_PADDING (default): padding PKCS#7. Jika panjang teks biasa adalah L byte, sistem menambahkan K − (L mod K) byte padding, dengan K sebagai ukuran blok cipher. NO_PADDING: Tanpa padding. Panjang teks biasa harus merupakan kelipatan bulat dari ukuran blok cipher. |
Parameter respons
| Parameter | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| Plaintext | bytes | Data biner | Teks biasa hasil dekripsi. |
| KeyId | string | key-hzz62f1cb66fa42qo**** | ID unik global kunci yang digunakan untuk dekripsi. Jika permintaan menentukan alias, ID kunci aktual akan dikembalikan. |
| KeyVersionId | string | key-hzz62f1cb66fa42qo**-17kedv** | ID versi kunci yang digunakan untuk mendekripsi ciphertext. |
| Algorithm | string | AES_GCM | Algoritma dekripsi. |
| PaddingMode | string | PKCS7_PADDING | Mode padding. Dikembalikan hanya saat Algorithm adalah AES_CBC atau AES_ECB. Kosong jika tidak. |
| RequestId | string | c0037a6d-7784-4ef2-a692-288fdcbc7b9d | ID permintaan, digunakan untuk troubleshooting. |
Kode kesalahan
| Kode status HTTP | Kode kesalahan | Pesan kesalahan | Deskripsi |
|---|---|---|---|
| 404 | Forbidden.OnlySymmetricKeySupported | Kunci %s bukan kunci simetris. API hanya mendukung kunci simetris. | Hanya kunci simetris yang didukung. |
| 500 | InternalFailure | Internal Failure. | Kemungkinan penyebab: ciphertext tidak memenuhi persyaratan (misalnya, ciphertext tidak dihasilkan dengan memanggil operasi AdvanceEncrypt), atau kunci yang ditentukan tidak sesuai dengan kunci yang digunakan untuk enkripsi. Jika kedua penyebab tersebut tidak berlaku, kirimkan ticket untuk menghubungi dukungan teknis. |
Untuk daftar lengkap kode kesalahan, lihat Kode kesalahan layanan.