Descriptografa texto cifrado gerado por uma chave simétrica em uma instância de gerenciamento de chaves de software do Key Management Service (KMS).
Descrição da operação
Use esta operação para descriptografar texto cifrado criado pelas operações AdvanceEncrypt, AdvanceGenerateDataKey, Encrypt ou GenerateDataKey. A chave deve ser simétrica e pertencer a uma instância do KMS do tipo gerenciamento de chaves de software.
Para obter detalhes sobre as especificações de chave e os modos de criptografia compatíveis, consulte Key types and specifications.
Observações de uso
Mantenha o corpo da requisição abaixo de 3 MB após a codificação Protocol Buffers. Se o tamanho exceder esse limite, o servidor rejeitará a requisição e retornará o código HTTP 413.
Limite o volume de dados a 6 KB para operações individuais de criptografia e descriptografia. Para volumes maiores, use envelope encryption.
Cargas úteis grandes aumentam o risco de falhas de rede, prolongam o tempo de transmissão e elevam a latência de processamento do KMS.
Parâmetros da requisição
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
CiphertextBlob |
bytes |
Sim |
Dados binários |
Texto cifrado a descriptografar. |
|
KeyId |
string |
Não |
key-hzz62f1cb66fa42qo**** |
ID globalmente exclusivo da chave ou alias vinculado a ela. Necessário apenas ao descriptografar texto cifrado gerado pelas operações Encrypt ou GenerateDataKey. |
|
Algorithm |
string |
Não |
AES_GCM |
Algoritmo de descriptografia. Obrigatório somente para texto cifrado originado das operações Encrypt ou GenerateDataKey. Deve corresponder ao algoritmo usado na criptografia. |
|
Iv |
bytes |
Não |
Dados binários |
Vetor de inicialização (IV). Obrigatório quando o texto cifrado provém das operações Encrypt ou GenerateDataKey e o Algorithm está definido como AES_GCM ou AES_CBC. Deve ser idêntico ao IV usado na criptografia. Tamanhos válidos: 16 bytes para AES_CBC e 12 bytes para AES_GCM. |
|
Aad |
bytes |
Não |
Dados binários |
Dados autenticados adicionais (AAD). Tamanho máximo: 8.192 bytes. Obrigatório apenas se o Algorithm for AES_GCM e o AAD tiver sido especificado durante a criptografia. Deve corresponder ao AAD original. |
|
PaddingMode |
string |
Não |
PKCS7_PADDING |
Modo de preenchimento. Obrigatório quando o Algorithm é AES_CBC ou AES_ECB. Deve corresponder ao modo usado na criptografia. Valores válidos: PKCS7_PADDING (padrão): preenchimento PKCS#7. Se o texto simples tiver L bytes, o sistema adiciona K − (L mod K) bytes de preenchimento, onde K representa o tamanho do bloco cifrado. NO_PADDING: sem preenchimento. O comprimento do texto simples deve ser um múltiplo inteiro do tamanho do bloco cifrado. |
Parâmetros de resposta
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
Plaintext |
bytes |
Dados binários |
Texto simples resultante da descriptografia. |
|
KeyId |
string |
key-hzz62f1cb66fa42qo**** |
ID globalmente exclusivo da chave usada na descriptografia. Se a requisição utilizou um alias, o sistema retorna o ID real da chave. |
|
KeyVersionId |
string |
key-hzz62f1cb66fa42qo**-17kedv** |
ID da versão da chave usada para descriptografar o texto cifrado. |
|
Algorithm |
string |
AES_GCM |
Algoritmo de descriptografia. |
|
PaddingMode |
string |
PKCS7_PADDING |
Modo de preenchimento. Retornado apenas quando o Algorithm é AES_CBC ou AES_ECB. Caso contrário, permanece vazio. |
|
RequestId |
string |
c0037a6d-7784-4ef2-a692-288fdcbc7b9d |
ID da requisição, usado para solução de problemas. |
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|
404 |
Forbidden.OnlySymmetricKeySupported |
The key %s is not a symmetric key. The API only supports symmetric keys. |
Apenas chaves simétricas são suportadas. |
|
500 |
InternalFailure |
Internal Failure. |
Possíveis causas: o texto cifrado não atende aos requisitos (por exemplo, não foi gerado pela operação AdvanceEncrypt) ou a chave especificada difere daquela usada na criptografia. |
Para consultar a lista completa de códigos de erro, veja Service error codes.