bg-tutorials

Como Gerar um CSR no Sentora

Este guia mostra como gerar uma CSR (Certificate Signing Request) no Sentora usando OpenSSL. O painel de controlo do Sentora não tem uma ferramenta de CSR incorporada, por isso cria o pedido diretamente no servidor, que corre em Apache e Linux. Um único comando produz dois ficheiros de uma só vez: uma chave privada que permanece no seu servidor e a CSR que submete à sua Autoridade de Certificação (CA).

O próprio Sentora tem um desenvolvimento lento, mas não está abandonado; a versão estável atual é a v2.0.2 (maio de 2024, em PHP 7.4), mantida por antigos programadores do ZPanel, e o fluxo de trabalho do OpenSSL abaixo não é afetado pela versão do painel.

Se já gerou a sua CSR e recebeu o certificado emitido pela sua CA, avance para instalar o certificado SSL no Sentora. Caso contrário, siga os passos abaixo.

Passo 1: Inicie sessão no servidor como root

Abra uma sessão SSH no servidor que executa o Sentora e torne-se root. Gerar uma CSR não requer estritamente permissões de root, mas vai precisar delas para instalar o OpenSSL no passo seguinte, caso não esteja instalado:

sudo -i

Passo 2: Confirme que o OpenSSL está instalado

O OpenSSL vem incluído em todas as versões atuais do Debian, Ubuntu, CentOS, AlmaLinux e Rocky Linux, pelo que quase de certeza já está presente. Verifique a versão:

openssl version

Se o comando indicar um número de versão, avance para o Passo 3. Se não estiver instalado, adicione-o com o gestor de pacotes da sua distribuição.

No Debian ou Ubuntu:

apt update && apt install -y openssl

No CentOS, AlmaLinux ou Rocky Linux:

dnf install -y openssl

Em sistemas mais antigos onde o dnf não está disponível, o comando yum install -y openssl funciona da mesma forma.

Passo 3: Gere a chave privada e a CSR

Execute o comando abaixo a partir de um diretório onde tenha permissões de escrita, como o diretório pessoal. Cria a chave privada e a CSR num único passo e inclui os Subject Alternative Names (SANs) que os navegadores e CAs modernos exigem:

openssl req -new -newkey rsa:2048 -nodes 
-keyout example.key 
-out example.csr 
-subj "/C=US/ST=New York/L=New York/O=Example LLC/CN=example.com" 
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"

Eis o que cada parte faz:

  • req -new cria um novo pedido de assinatura de certificado.
  • -newkey rsa:2048 gera uma nova chave privada RSA de 2048 bits. 2048 bits é o mínimo atual para certificados públicos; use rsa:4096 se quiser uma chave maior.
  • -nodes deixa a chave privada sem encriptação (sem frase-passe), para que o Apache possa iniciar sem pedir uma palavra-passe. Esta é a grafia portátil e funciona em todas as compilações do OpenSSL.
  • -keyout example.key grava a chave privada. Mantenha este ficheiro privado e nunca o envie a ninguém.
  • -out example.csr grava a CSR que submete à CA.
  • -subj preenche os campos do sujeito diretamente na linha de comando, para que o comando seja executado sem pedidos interativos. Defina CN (Common Name) como o seu nome de domínio totalmente qualificado.
  • -addext “subjectAltName=…” adiciona as entradas SAN. As CAs emitem certificados com base na lista SAN, por isso inclua todos os nomes de anfitrião que o certificado deve cobrir.

Substitua todos os marcadores de posição pelos seus dados reais:

  • example.com: o seu domínio real, tanto no CN como na lista SAN.
  • C, ST, L, O: o seu código de país de duas letras (maiúsculas, por exemplo US ou GB), estado ou província, cidade e nome legal da organização. Para um certificado com validação de domínio (DV), estes campos não são verificados, mas o comando continua a precisar de valores válidos.
  • example.key e example.csr: quaisquer nomes de ficheiro à sua escolha, desde que mantenha a consistência.

O OpenSSL moderno assina o pedido com SHA-256 por predefinição, que é o que as CAs exigem, pelo que não é necessário adicionar nenhum sinalizador de resumo separado.

Proteger um wildcard ou subdomínios adicionais

Para adicionar mais nomes de anfitrião, estenda a lista SAN com entradas DNS: adicionais separadas por vírgulas, por exemplo DNS:api.example.com. Para um certificado wildcard, defina o CN como *.example.com e mantenha o domínio raiz na lista SAN. Um wildcard cobre exatamente um nível de subdomínios (www.example.com, mail.example.com), mas não o domínio raiz simples (example.com), pelo que este deve ser listado separadamente para ficar coberto:

-addext "subjectAltName=DNS:*.example.com,DNS:example.com"

Prefere uma chave ECDSA?

As chaves ECDSA são mais pequenas e mais rápidas do que as RSA ao mesmo nível de segurança e são suportadas por todos os navegadores atuais. Para gerar uma chave e CSR P-256 (prime256v1) em vez disso, troque o argumento -newkey:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout example.key 
-out example.csr 
-subj "/C=US/ST=New York/L=New York/O=Example LLC/CN=example.com" 
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"

A opção ec_param_enc:named_curve mantém a curva armazenada por nome, que é o que o PKIX exige; sem ela, algumas compilações do OpenSSL incorporam os parâmetros completos da curva e a CA rejeita o pedido.

Passo 4: Verifique a CSR

Antes de submeter o pedido, confirme que contém o domínio e os SANs corretos e que a sua assinatura é válida. Este comando descodifica a CSR e verifica a assinatura localmente:

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

Procure verify OK no resultado, verifique se a linha Subject mostra o seu Common Name e confirme se a secção X509v3 Subject Alternative Name lista todos os nomes de anfitrião esperados. Se faltar um SAN, gere novamente a CSR com o valor correto em -addext. Também pode colar o pedido no nosso descodificador de CSR online para verificar estes campos num navegador.

Passo 5: Localize e submeta a CSR

Liste o diretório de trabalho para confirmar que ambos os ficheiros existem:

ls -l example.key example.csr

Está num servidor Linux, por isso abra a CSR com um visualizador de terminal, não com um editor do Windows. Apresente-a no ecrã com:

cat example.csr

Copie o bloco inteiro, incluindo a primeira e a última linha. Uma CSR é delimitada por marcadores CERTIFICATE REQUEST com cinco hífenes de cada lado, não pelos marcadores CERTIFICATE de um certificado emitido:

-----BEGIN CERTIFICATE REQUEST-----
MIIC...base64-encoded data...AB
-----END CERTIFICATE REQUEST-----

Cole esse bloco no formulário de encomenda do seu SSL. Depois de a CA validar o pedido e emitir o seu certificado, siga o nosso guia sobre instalar um certificado SSL no Sentora para o implementar. Mantenha o ficheiro example.key no servidor: precisa dele juntamente com o certificado emitido para ativar o HTTPS, e nunca deve enviá-lo à CA ou a mais ninguém.

Se preferir não usar de todo a linha de comandos, pode criar o pedido com o nosso Gerador de CSR e colar o resultado na sua encomenda.

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.