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.