Déchiffre un texte chiffré généré par une clé symétrique dans une instance de gestion des clés logicielles Key Management Service (KMS).
Description de l'opération
Appelez cette opération pour déchiffrer un texte chiffré produit par les opérations AdvanceEncrypt, AdvanceGenerateDataKey, Encrypt ou GenerateDataKey. La clé doit être une clé symétrique au sein d'une instance KMS de type gestion des clés logicielles.
Pour plus de détails sur les spécifications de clé et les modes de chiffrement pris en charge, consultez la rubrique Types et spécifications de clés.
Notes d'utilisation
Maintenez le corps de la requête sous 3 Mo après encodage Protocol Buffers. Si le corps de la requête dépasse 3 Mo, le serveur rejette la requête et renvoie le code HTTP 413.
Limitez la taille des données à 6 Ko pour le chiffrement et le déchiffrement lors d'une seule opération. Pour des données plus volumineuses, utilisez le chiffrement sous enveloppe.
Des charges utiles volumineuses augmentent le risque de défaillances réseau, allongent le temps de transmission et accroissent la latence de traitement de KMS.
Paramètres de la requête
| Paramètre | Type | Obligatoire | Exemple | Description |
|---|---|---|---|---|
| CiphertextBlob | bytes | Oui | Données binaires | Le texte chiffré à déchiffrer. |
| KeyId | string | Non | key-hzz62f1cb66fa42qo**** | L'ID globalement unique de la clé, ou un alias lié à la clé. Obligatoire uniquement lors du déchiffrement d'un texte chiffré généré par l'opération Encrypt ou GenerateDataKey. |
| Algorithm | string | Non | AES_GCM | L'algorithme de déchiffrement. Obligatoire uniquement lors du déchiffrement d'un texte chiffré généré par l'opération Encrypt ou GenerateDataKey. Doit correspondre à l'algorithme utilisé lors du chiffrement. |
| Iv | bytes | Non | Données binaires | Le vecteur d'initialisation (IV). Obligatoire uniquement lors du déchiffrement d'un texte chiffré généré par l'opération Encrypt ou GenerateDataKey et lorsque Algorithm est défini sur AES_GCM ou AES_CBC. Doit correspondre au IV utilisé lors du chiffrement. Longueurs valides : 16 octets pour AES_CBC, 12 octets pour AES_GCM. |
| Aad | bytes | Non | Données binaires | Les données authentifiées supplémentaires (AAD). Longueur maximale : 8 192 octets. Obligatoire uniquement lorsque Algorithm est AES_GCM et que AAD a été spécifié lors du chiffrement. Doit correspondre aux AAD utilisés lors du chiffrement. |
| PaddingMode | string | Non | PKCS7_PADDING | Le mode de remplissage. Obligatoire lorsque Algorithm est AES_CBC ou AES_ECB. Doit correspondre au mode de remplissage utilisé lors du chiffrement. Valeurs valides : PKCS7_PADDING (par défaut) : remplissage PKCS#7. Si le texte clair fait L octets, le système ajoute K − (L mod K) octets de remplissage, où K est la taille du bloc de chiffrement. NO_PADDING : aucun remplissage. La longueur du texte clair doit être un multiple entier de la taille du bloc de chiffrement. |
Paramètres de la réponse
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
| Plaintext | bytes | Données binaires | Le texte clair déchiffré. |
| KeyId | string | key-hzz62f1cb66fa42qo**** | L'ID globalement unique de la clé utilisée pour le déchiffrement. Si la requête spécifiait un alias, l'ID réel de la clé est renvoyé. |
| KeyVersionId | string | key-hzz62f1cb66fa42qo**-17kedv** | L'ID de la version de clé utilisée pour déchiffrer le texte chiffré. |
| Algorithm | string | AES_GCM | L'algorithme de déchiffrement. |
| PaddingMode | string | PKCS7_PADDING | Le mode de remplissage. Renvoyé uniquement lorsque Algorithm est AES_CBC ou AES_ECB. Vide sinon. |
| RequestId | string | c0037a6d-7784-4ef2-a692-288fdcbc7b9d | L'ID de la requête, utilisé pour le dépannage. |
Codes d'erreur
| Code d'état HTTP | Code d'erreur | Message d'erreur | Description |
|---|---|---|---|
| 404 | Forbidden.OnlySymmetricKeySupported | The key %s is not a symmetric key. The API only supports symmetric keys. | Seules les clés symétriques sont prises en charge. |
| 500 | InternalFailure | Internal Failure. | Causes possibles : le texte chiffré ne répond pas aux exigences (par exemple, le texte chiffré n'a pas été généré en appelant l'opération AdvanceEncrypt), ou la clé spécifiée ne correspond pas à la clé utilisée pour le chiffrement. Si aucune de ces causes ne s'applique, soumettez un ticket pour contacter le support technique. |
Pour obtenir la liste complète des codes d'erreur, consultez la rubrique Codes d'erreur du service.