Todos os produtos
Search
Central de documentação

ApsaraMQ for Kafka:Atualize o algoritmo do certificado SSL

Última atualização: Sep 07, 2026

Instâncias do ApsaraMQ for Kafka com acesso à Internet usam certificados SSL para criptografar a comunicação entre cliente e broker. Por padrão, o tamanho da chave do certificado SSL é de 1.024 bits. Para aumentar a segurança, atualize o tamanho da chave para 4.096 bits.

A atualização ocorre em duas fases: primeiro, substitua o certificado em todos os clientes; depois, altere o tamanho da chave no console.

Nota

Instâncias Serverless usam um tamanho de chave de 4.096 bits por padrão. Não é possível alterar esse valor. As instruções a seguir aplicam-se apenas a instâncias não serverless.

Pré-requisitos

Antes de começar, verifique se você tem:

Como funciona

Ao ativar o acesso à Internet em uma instância do ApsaraMQ for Kafka, o sistema inicializa as portas relacionadas ao SSL e atribui um certificado SSL. Visualize o tamanho atual da chave na seção Configurations da página Instance Details.

A atualização de 1.024 bits para 4.096 bits envolve duas fases:

  1. Lado do cliente -- Baixe um certificado de transição que contém os certificados de 1.024 e 4.096 bits, implante-o em cada cliente e reinicie-os.

  2. Lado do servidor -- Altere o parâmetro SSL Certificate Key Size (Bits) no console para 4.096.

O certificado de transição (mix.4096.client.truststore.jks para Java, mix-4096-ca-cert para outras linguagens) funciona com ambos os tamanhos de chave. Assim, os clientes permanecem conectados independentemente de o console ainda exibir 1.024 ou já ter sido alterado para 4.096.

Etapa 1: Baixe o certificado SSL

Selecione o arquivo de certificado correspondente ao estado da sua implantação e à linguagem de programação utilizada.

Clientes Java

Estado atual

Arquivo de certificado

Descrição

Nova instância (ainda não implantada)

only.4096.client.truststore.jks

Apenas certificado de 4.096 bits

Instância implantada com chave de 1.024 bits

kafka.client.truststore.jks

Certificado de 1.024 bits

Atualização de 1.024 para 4.096 bits

mix.4096.client.truststore.jks

Certificados de 1.024 e 4.096 bits

Clientes não Java

Estado atual

Arquivo de certificado

Descrição

Nova instância (ainda não implantada)

only-4096-ca-cert

Apenas certificado de 4.096 bits

Instância implantada com chave de 1.024 bits

ca-cert.pem

Certificado de 1.024 bits

Atualização de 1.024 para 4.096 bits

mix-4096-ca-cert

Certificados de 1.024 e 4.096 bits

Para links de download de certificados não Java, consulte a seção "SDKs" em Overview.

Nota

Para atualizar o tamanho da chave, use o certificado mix. Ele suporta tamanhos de chave de 1.024 e 4.096 bits, permitindo que os clientes permaneçam conectados durante toda a migração.

Etapa 2: Substituir o certificado e reiniciar os clientes

  1. Copie o arquivo de certificado baixado para o diretório de certificados SSL no seu cliente.

  2. Atualize a configuração do cliente para referenciar o novo arquivo de certificado. Clientes Java -- Defina a propriedade ssl.truststore.location na configuração do seu cliente Kafka: Clientes não Java -- Aponte para o novo arquivo de certificado CA. Por exemplo, para clientes Python usando confluent-kafka:

       ssl.truststore.location=/path/to/mix.4096.client.truststore.jks
       conf = {
           'bootstrap.servers': '<your-endpoint>',
           'security.protocol': 'SSL',
           'ssl.ca.location': '/path/to/mix-4096-ca-cert',
       }
  3. Reinicie o cliente para carregar o novo certificado.

  4. Repita as etapas de 1 a 3 para todos os clientes que se conectam à instância pela Internet.

Nota

Verifique se cada cliente consegue produzir e consumir mensagens após a reinicialização. Confirme que todos os clientes estão funcionando antes de prosseguir para a Etapa 3.

Etapa 3: Modifique o tamanho da chave no console

Depois que todos os clientes estiverem usando o novo certificado:

  1. Faça login no console do ApsaraMQ for Kafka.

  2. Abra a página Instance Details da sua instância.

  3. Na seção Configuration Information, altere o valor de SSL Certificate Key Size (Bits) para 4096. Para instruções detalhadas, consulte Modify message configurations.

Etapa 4: Verifique a atualização

  1. Na página Instance Details, confirme se o valor de SSL Certificate Key Size (Bits) é 4096 na seção Configurations.

  2. Verifique se todos os clientes conseguem produzir e consumir mensagens sem erros.

  3. (Opcional) Caso tenha usado o certificado de transição mix, substitua-o pelo certificado only.4096.client.truststore.jks (Java) ou only-4096-ca-cert (não Java) para remover o certificado legado de 1.024 bits dos seus clientes.

Solucionar falhas de conexão SSL

Falha no handshake

Se ocorrer um erro handshake failed ou um erro como nodename nor servname provided ao conectar-se a uma instância do ApsaraMQ for Kafka via SSL, solucione o problema da seguinte forma:

  1. Verifique se o tamanho da chave do certificado corresponde à configuração da instância. Na página Instance Details do console do ApsaraMQ for Kafka, verifique o valor de SSL Certificate Key Size (Bits) na seção Configurations e baixe o certificado CA correspondente a esse tamanho de chave.

  2. Certifique-se de que o cliente confia no certificado CA da instância do ApsaraMQ for Kafka. Baixe o certificado CA no console ou execute o comando a seguir para exportá-lo:

    openssl s_client -connect <endpoint>:9093 -showcerts

Falha na verificação do certificado (incompatibilidade de hostname)

Se ocorrer um erro certificate verify failed ou um erro de incompatibilidade de hostname ao conectar-se via SSL, a causa é o endpoint SSL ser um endereço IP, enquanto o certificado da instância usa o nome comum (CN) AliKafka. Consequentemente, o endereço IP não corresponde ao certificado.

Desative a verificação de hostname na configuração do cliente:

  • Clientes Java (kafka-clients): Defina ssl.endpoint.identification.algorithm como uma string vazia.

  • Clientes Python (kafka-python): Defina ssl_check_hostname=False.

  • Módulo ssl do Python: Defina context.check_hostname=False.

O confluent-kafka (librdkafka) não suporta a definição direta de ssl.endpoint.identification.algorithm. Em vez disso, use um contexto SSL personalizado para desativar a verificação de hostname.