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 Tipos e especificações de chave.
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 criptografia de envelope.
Cargas úteis grandes aumentam o risco de falhas na 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 um 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 parâmetro Algorithm está definido como AES_GCM ou AES_CBC. Deve ser idêntico ao IV usado durante a 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 de 8.192 bytes. Obrigatório apenas se Algorithm for AES_GCM e o AAD tiver sido especificado na criptografia. O valor deve corresponder ao AAD original. |
|
PaddingMode |
string |
Não |
PKCS7_PADDING |
Modo de preenchimento. Obrigatório quando 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 de cifra. NO_PADDING: sem preenchimento. O comprimento do texto simples deve ser um múltiplo inteiro do tamanho do bloco de cifra. |
Parâmetros da 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 usou 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 Algorithm é AES_CBC ou AES_ECB. Caso contrário, o campo 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. Se nenhuma dessas causas se aplicar, envie um ticket para contatar o suporte técnico. |
Para consultar a lista completa de códigos de erro, veja Códigos de erro do serviço.