Todos os produtos
Search
Central de documentação

Key Management Service:ReEncrypt

Última atualização: Jun 28, 2026

Recriptografa o texto cifrado sob uma CMK diferente sem expor o texto simples.

Descrição da operação

Observações

  • Para obter mais informações sobre a política de acesso necessária para conceder a um usuário RAM ou função RAM a permissão para usar esta operação, consulte Resource Access Management.

  • Esta operação está acessível apenas por meio de um gateway compartilhado, e não de um gateway dedicado. Para obter mais informações, consulte SDK do Alibaba Cloud.

    Ao usar um gateway compartilhado, você acessa o KMS por meio de um nome de domínio da Internet ou de uma VPC. Este método requer que o acesso à Internet esteja ativado. Para obter mais informações, consulte Chaves de acesso em uma instância KMS pela Internet.

Limites de QPS

Esta operação está acessível apenas por meio de um gateway compartilhado. O limite de consultas por segundo (QPS) por usuário é de 750. Se esse limite for excedido, as solicitações serão limitadas, o que pode afetar seus negócios. Recomendamos que você permaneça dentro do limite especificado.

Detalhes

Você pode usar a operação ReEncrypt nos seguintes cenários:

  • Após a rotação de uma chave mestra do cliente (CMK), você pode usar a versão mais recente da chave para recriptografar dados. Para obter mais informações sobre a rotação automática de chaves, consulte Rotação automática de chaves.

  • Você pode recriptografar dados alterando o contexto de criptografia sem alterar a chave mestra.

  • Você pode recriptografar dados ou uma chave de dados que foi criptografada por uma chave mestra com outra chave mestra no KMS.

A operação ReEncrypt requer as seguintes permissões:

  • A permissão kms:ReEncryptFrom para a chave mestra de origem.

  • A permissão kms:ReEncryptTo para a chave mestra de destino.

  • Você pode usar kms:ReEncrypt* para conceder ambas as permissões.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

Nenhuma autorização necessária para esta operação. Se você encontrar problemas com esta operação, entre em contato com o suporte técnico.

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

CiphertextBlob

string

Sim

O texto cifrado que você deseja recriptografar.
Este parâmetro pode ser o texto cifrado retornado após a criptografia com chave simétrica ou assimétrica.

ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901q********

SourceKeyId

string

Não

O ID da chave mestra usada para descriptografar o texto cifrado.
O identificador globalmente exclusivo da chave mestra.

Nota

Você deve especificar este parâmetro quando CiphertextBlob for os dados criptografados usando uma chave pública após a criptografia com chave assimétrica.

5c438b18-05be-40ad-b6c2-3be6752c****

SourceKeyVersionId

string

Não

O ID da versão da chave usada para descriptografar o texto cifrado.

Nota

Você deve especificar este parâmetro quando CiphertextBlob for os dados criptografados usando uma chave pública após a criptografia com chave assimétrica.

2ab1a983-7072-4bbc-a582-584b5bd8****

SourceEncryptionAlgorithm

string

Não

Se CiphertextBlob for o resultado da criptografia com chave pública, especifique o algoritmo de criptografia com chave pública. Para obter mais informações sobre os algoritmos, consulte AsymmetricDecrypt.
Valores válidos:

  • RSAES_OAEP_SHA_256

  • RSAES_OAEP_SHA_1

  • SM2PKE

Nota

Você deve especificar este parâmetro quando CiphertextBlob for os dados criptografados usando uma chave pública após a criptografia com chave assimétrica.

RSAES_OAEP_SHA_256

SourceEncryptionContext

object

Não

Uma string JSON que consiste em pares chave-valor. Se você especificar este parâmetro ao chamar a operação Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext ou GenerateAndExportDataKey, deverá especificar o mesmo parâmetro para descriptografar os dados. Para obter mais informações, consulte EncryptionContext.

Nota

Você deve especificar este parâmetro quando CiphertextBlob for o texto cifrado retornado após a criptografia simétrica.

{"Example":"Example"}

DestinationKeyId

string

Sim

O ID da chave mestra simétrica usada para recriptografar os dados após o texto cifrado ser descriptografado.

1234abcd-12ab-34cd-56ef-12345678****

DestinationEncryptionContext

object

Não

Uma string JSON que consiste em pares chave-valor. Este parâmetro especifica o contexto de criptografia para a chave mestra de destino.

{"Example":"Example"}

DryRun

string

Não

Especifica se o modo DryRun deve ser ativado.

  • true: ativa o modo DryRun.

  • false (padrão): desativa o modo DryRun.

O modo DryRun é usado para testar chamadas de API, verificar se você tem as permissões para realizar operações nos recursos necessários e verificar se os parâmetros da solicitação são válidos. Se você ativar o modo DryRun, o KMS sempre retornará uma falha e um motivo para a falha. Os motivos da falha incluem o seguinte:

  • DryRunOperationError: a solicitação teria sido bem-sucedida se o parâmetro DryRun não tivesse sido configurado.

  • ValidationError: os parâmetros especificados na solicitação são inválidos.

  • AccessDeniedError: você não está autorizado a realizar a operação no recurso do KMS.

false

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

KeyId

string

O ID da chave mestra usada para descriptografar o texto cifrado.
O identificador globalmente exclusivo da chave mestra.

2ab1a983-7072-4bbc-a582-584b5bd8****

KeyVersionId

string

O ID da versão da chave usada para descriptografar o texto cifrado da chave mestra.

202b9877-5a25-46e3-a763-e20791b5****

CiphertextBlob

string

O texto cifrado recriptografado usando a chave mestra especificada.

DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****

RequestId

string

O ID da solicitação. Este ID é um identificador globalmente exclusivo gerado pelo Alibaba Cloud para a solicitação. Você pode usar este ID para solucionar problemas.

207596a2-36d3-4840-b1bd-f87044699bd7

Exemplos

Resposta de sucesso

JSON formato

{
  "KeyId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyVersionId": "202b9877-5a25-46e3-a763-e20791b5****",
  "CiphertextBlob": "DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****",
  "RequestId": "207596a2-36d3-4840-b1bd-f87044699bd7"
}

Códigos de erro

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400 InvalidParameter The specified parameter is not valid. An invalid value is specified for the parameter.
500 InternalFailure Internal Failure.
404 InvalidAccessKeyId.NotFound The Access Key ID provided does not exist in our records.
404 Forbidden.KeyNotFound The specified Key is not found. The error message returned because the specified CMK does not exist.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.