Descifra el texto cifrado generado con una clave simétrica en una instancia de administración de claves de software de Key Management Service (KMS).
Descripción de la operación
Llame a esta operación para descifrar el texto cifrado que se generó al llamar a AdvanceEncrypt, AdvanceGenerateDataKey, Encrypt o GenerateDataKey. La clave debe ser simétrica y pertenecer a una instancia de KMS del tipo de administración de claves de software.
Para conocer las especificaciones de clave y los modos de cifrado compatibles, consulte Key types and specifications.
Notas de uso
Mantenga el cuerpo de la solicitud por debajo de 3 MB después de codificarlo con Protocol Buffers. Si el cuerpo supera los 3 MB, el servidor rechaza la solicitud y devuelve HTTP 413.
Limite el tamaño de los datos a 6 KB para cifrarlos y descifrarlos en una sola operación. Para volúmenes mayores, utilice cifrado de sobre.
Las cargas útiles grandes aumentan el riesgo de fallas de red, prolongan el tiempo de transmisión e incrementan la latencia de procesamiento de KMS.
Parámetros de solicitud
|
Parameter |
Type |
Required |
Example |
Description |
|
CiphertextBlob |
bytes |
Sí |
Datos binarios |
El texto cifrado que se va a descifrar. |
|
KeyId |
string |
No |
key-hzz62f1cb66fa42qo**** |
El identificador único global de la clave o un alias vinculado a ella. Obligatorio solo cuando se descifra texto cifrado generado por la operación Encrypt o GenerateDataKey. |
|
Algorithm |
string |
No |
AES_GCM |
El algoritmo de descifrado. Obligatorio solo cuando se descifra texto cifrado generado por la operación Encrypt o GenerateDataKey. Debe coincidir con el algoritmo utilizado durante el cifrado. |
|
Iv |
bytes |
No |
Datos binarios |
El vector de inicialización (IV). Obligatorio solo cuando se descifra texto cifrado generado por la operación Encrypt o GenerateDataKey y Algorithm está configurado como AES_GCM o AES_CBC. Debe coincidir con el IV utilizado durante el cifrado. Longitudes válidas: 16 bytes para AES_CBC y 12 bytes para AES_GCM. |
|
Aad |
bytes |
No |
Datos binarios |
Los datos autenticados adicionales (AAD). Longitud máxima: 8,192 bytes. Obligatorio solo cuando Algorithm es AES_GCM y se especificaron AAD durante el cifrado. Deben coincidir con los AAD utilizados durante el cifrado. |
|
PaddingMode |
string |
No |
PKCS7_PADDING |
El modo de relleno. Obligatorio cuando Algorithm es AES_CBC o AES_ECB. Debe coincidir con el modo de relleno utilizado durante el cifrado. Valores válidos: PKCS7_PADDING (predeterminado): relleno PKCS#7. Si el texto sin formato tiene L bytes, el sistema agrega K − (L mod K) bytes de relleno, donde K es el tamaño del bloque de cifrado. NO_PADDING: sin relleno. La longitud del texto sin formato debe ser un múltiplo entero del tamaño del bloque de cifrado. |
Parámetros de respuesta
|
Parameter |
Type |
Example |
Description |
|
Plaintext |
bytes |
Datos binarios |
El texto sin formato descifrado. |
|
KeyId |
string |
key-hzz62f1cb66fa42qo**** |
El identificador único global de la clave utilizada para el descifrado. Si la solicitud especificó un alias, se devuelve el identificador real de la clave. |
|
KeyVersionId |
string |
key-hzz62f1cb66fa42qo**-17kedv** |
El identificador de la versión de la clave utilizada para descifrar el texto cifrado. |
|
Algorithm |
string |
AES_GCM |
El algoritmo de descifrado. |
|
PaddingMode |
string |
PKCS7_PADDING |
El modo de relleno. Se devuelve solo cuando Algorithm es AES_CBC o AES_ECB. En caso contrario, queda vacío. |
|
RequestId |
string |
c0037a6d-7784-4ef2-a692-288fdcbc7b9d |
El identificador de la solicitud, que se utiliza para solucionar problemas. |
Códigos de error
|
HTTP status code |
Error code |
Error message |
Description |
|
404 |
Forbidden.OnlySymmetricKeySupported |
The key %s is not a symmetric key. The API only supports symmetric keys. |
Solo se admiten claves simétricas. |
|
500 |
InternalFailure |
Internal Failure. |
Posibles causas: el texto cifrado no cumple con los requisitos (por ejemplo, no se generó al llamar a la operación AdvanceEncrypt) o la clave especificada no coincide con la clave utilizada para el cifrado. |
Para ver la lista completa de códigos de error, consulte Service error codes.