bg-tutorials

Como Gerar o CSR no Red Hat Linux

Este guia mostra como gerar um CSR (Certificate Signing Request) no Red Hat Enterprise Linux usando a linha de comando do OpenSSL. O processo produz dois arquivos:

  • Uma chave privada, que permanece no seu servidor e nunca é compartilhada.
  • Um CSR, que você envia à sua Autoridade Certificadora (CA) ao solicitar o certificado.

Ele aborda duas abordagens: um método de comando único para OpenSSL moderno e um método baseado em arquivo de configuração para versões mais antigas do OpenSSL que não suportam extensões inline. Ambas produzem um CSR compatível com SAN, assinado com SHA-256, que é o que as CAs públicas exigem.

Antes de começar: verifique a sua versão do OpenSSL

O OpenSSL vem incluído por padrão em todas as versões suportadas do RHEL. Confirme que ele está presente e verifique a versão, pois ela determina qual método abaixo você pode usar:

openssl version

O que vem incluído em cada versão atual do Red Hat:

  • RHEL 10 (lançado em 2025, a versão principal atual): OpenSSL 3.x
  • RHEL 9: OpenSSL 3.x
  • RHEL 8: OpenSSL 1.1.1
  • RHEL 7: OpenSSL 1.0.2 (o RHEL 7 atingiu o fim do suporte de manutenção em 2024; migre essas cargas de trabalho para uma versão suportada assim que possível)

O OpenSSL 1.1.1 e o 3.x suportam a flag de extensão inline usada no método de comando único, então no RHEL 8, 9 e 10 você pode usar a Opção A abaixo. Se openssl version indicar 1.0.2 ou uma versão mais antiga (RHEL 7), use o método com arquivo de configuração na Opção B.

Se, por algum motivo, o OpenSSL estiver ausente, instale-o com o gerenciador de pacotes da sua versão:

# RHEL 8, 9, and 10
sudo dnf install openssl
# RHEL 7
sudo yum install openssl

No RHEL 8 e versões posteriores, o yum é um alias de compatibilidade para o dnf, então qualquer um dos comandos funciona nessas versões.

Opção A: um único comando (OpenSSL 1.1.1 e 3.x)

Este é o caminho mais rápido no RHEL 8, 9 e 10. Ele gera primeiro a chave privada e, em seguida, cria o CSR com os Subject Alternative Names (SANs) adicionados diretamente no comando.

Etapa 1: Gerar a chave privada

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key

Isso cria uma chave privada RSA de 2048 bits chamada example.com.key no diretório atual. O RSA de 2048 bits é o mínimo aceito pelas CAs públicas; para usar, em vez disso, uma chave moderna de curva elíptica, substitua as opções do algoritmo por -algorithm EC -pkeyopt ec_paramgen_curve:P-256. Mantenha este arquivo privado: ele permanece no seu servidor e nunca é enviado à CA.

Etapa 2: Criar o CSR com SANs

Execute o seguinte comando, ajustando os campos de assunto e os nomes de domínio de acordo com os seus:

openssl req -new -sha256 -key example.com.key -out example.com.csr 
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=example.com" 
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"

Substitua example.com pelo seu domínio real em todos os lugares e defina os campos de assunto com os seus dados:

  • C: código do país com duas letras (por exemplo, US).
  • ST: nome completo do estado ou província.
  • L: cidade ou localidade.
  • O: nome jurídico da organização (para um certificado DV de domínio único, este campo pode ser omitido).
  • CN: o nome de domínio totalmente qualificado principal, por exemplo, www.example.com.

Liste todos os nomes de host que o certificado deve cobrir no valor de subjectAltName. Os navegadores modernos validam com base na lista SAN, não no Common Name, então inclua cada nome ali, incluindo o domínio principal. O comando grava o CSR em example.com.csr.

Opção B: método com arquivo de configuração (OpenSSL mais antigo)

Se openssl version indicar uma versão que não suporta a flag -addext (OpenSSL 1.0.2 e mais antigos, como no RHEL 7), defina os SANs em um pequeno arquivo de configuração em vez disso.

Etapa 1: Criar um arquivo de configuração (san.cnf)

Crie um arquivo chamado san.cnf com um editor de texto e cole o seguinte conteúdo, editando os valores conforme o seu domínio e organização:

[ req ]
default_bits = 2048
prompt = no
distinguished_name = dn
req_extensions = req_ext

[ dn ]
C = US
ST = California
L = San Jose
O = Your Company LLC
CN = example.com

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = example.com
DNS.2 = www.example.com

Adicione mais nomes de host continuando a numeração: DNS.3, DNS.4 e assim por diante.

Etapa 2: Gerar a chave e o CSR

Gere a chave privada:

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key

Em seguida, crie o CSR usando o arquivo de configuração:

openssl req -new -sha256 -key example.com.key -out example.com.csr -config san.cnf

Verificar o CSR

Antes de enviá-lo, confirme que o CSR contém os detalhes corretos e uma assinatura válida. Este comando exibe o assunto, a lista SAN, o tamanho da chave e verifica a autoassinatura da solicitação:

openssl req -noout -text -verify -in example.com.csr

Verifique se a linha Subject e as entradas de X509v3 Subject Alternative Name listam todos os domínios esperados, se a chave pública tem pelo menos 2048 bits RSA (ou é uma chave de curva elíptica P-256) e se o algoritmo de assinatura é SHA-256. Uma linha informando certificate request self-signature verify OK (versões mais antigas exibem verify OK) significa que o CSR e a chave privada correspondem. Se preferir usar um navegador, cole o CSR no nosso decodificador de CSR online para revisar os mesmos detalhes.

Enviar o CSR

Abra o arquivo example.com.csr em um editor de texto e copie todo o seu conteúdo, incluindo as linhas marcadoras -----BEGIN CERTIFICATE REQUEST----- e -----END CERTIFICATE REQUEST----- (cada marcador usa cinco hífens de cada lado). Cole o bloco inteiro no formulário do pedido ao solicitar o certificado ao seu fornecedor SSL.

Mantenha a chave privada, example.com.key, no servidor. Não a envie para a CA nem a cole em nenhum lugar: ela é a metade secreta do par e nunca deve sair do seu controle. Depois que a CA validar o CSR e emitir o certificado, siga nossas instruções de instalação de SSL no Red Hat Linux para instalá-lo.

Perguntas Frequentes

Onde a chave privada é armazenada quando gero um CSR no RHEL?

A chave privada é gravada no arquivo que você nomeou na opção -out (por exemplo, example.com.key) no diretório onde você executou o comando. Ela é criada localmente e nunca é incluída no CSR. Faça um backup dela em um local seguro e restrinja suas permissões, pois você precisará exatamente dessa chave para instalar o certificado emitido pela CA.

Devo usar RSA ou ECDSA para a chave?

Ambos são aceitos. O RSA de 2048 bits é o padrão amplamente compatível e o mínimo permitido pelas CAs públicas. Uma chave de curva elíptica (ECDSA P-256) é menor e mais rápida, oferecendo segurança equivalente; gere uma substituindo as opções de chave por -algorithm EC -pkeyopt ec_paramgen_curve:P-256. De qualquer forma, o CSR deve ser assinado com SHA-256, o que os comandos acima já fazem.

Minha versão do OpenSSL não suporta -addext. O que eu faço?

A flag -addext foi adicionada no OpenSSL 1.1.1. Se você estiver em uma versão mais antiga (OpenSSL 1.0.2 no RHEL 7, por exemplo), use o método com arquivo de configuração da Opção B, que define os Subject Alternative Names em um arquivo san.cnf em vez de na linha de comando.

Como verifico se o meu CSR está correto antes de fazer o pedido?

Execute openssl req -noout -text -verify -in example.com.csr no servidor. Ele exibe o assunto, a lista SAN completa, o tipo e o tamanho da chave, e o algoritmo de assinatura, além de confirmar que o CSR corresponde à sua chave privada. Revise esses campos antes de colar o CSR no formulário do pedido.

Qual parte do CSR devo colar no formulário do pedido?

Cole o bloco inteiro, desde -----BEGIN CERTIFICATE REQUEST----- até -----END CERTIFICATE REQUEST----- inclusive, sem deixar nenhum caractere de fora. Ambas as linhas marcadoras usam cinco hífens de cada lado. Não cole a chave privada.

Isso funciona da mesma forma no AlmaLinux, Rocky Linux e CentOS?

Sim. AlmaLinux, Rocky Linux e CentOS Stream são compatíveis a nível binário com a versão correspondente do RHEL e incluem o mesmo OpenSSL, então os comandos são idênticos. Também temos um tutorial dedicado sobre como gerar um CSR no CentOS, caso você precise.

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Uma imagem detalhada de um dragão em voo
Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.