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 pemanggilan AdvanceEncrypt, AdvanceGenerateDataKey, Encrypt, atau GenerateDataKey. Kunci tersebut 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 | Type | Required | Example | Description |
CiphertextBlob | bytes | Yes | Binary data | Ciphertext yang akan didekripsi. |
KeyId | string | No | 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 | No | 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 | No | Binary data | Vektor inisialisasi (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 | No | Binary data | Data autentikasi tambahan (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 | No | 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 teks biasa berukuran 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 | Type | Example | Description |
Plaintext | bytes | Binary data | 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 | The key %s is not a symmetric key. The API only supports symmetric keys. | Hanya kunci simetris yang didukung. |
500 | InternalFailure | Internal Failure. | Penyebab yang mungkin: ciphertext tidak memenuhi persyaratan (misalnya, ciphertext tidak dihasilkan dengan memanggil operasi AdvanceEncrypt), atau kunci yang ditentukan tidak sesuai dengan kunci yang digunakan untuk enkripsi. |
Untuk daftar lengkap kode kesalahan, lihat Kode kesalahan layanan.