bg-tutorials

Como Gerar um CSR no Ubuntu

Este tutorial mostra como gerar uma CSR no Ubuntu, especificamente num servidor Apache baseado em Ubuntu acedido via SSH. O Ubuntu utiliza o OpenSSL para isso, portanto executa duas coisas num único comando: uma nova chave privada e a CSR (Certificate Signing Request) correspondente. Pode indicar os detalhes do assunto como flags, o que mantém todo o processo numa única linha, pronta a copiar e colar.

Os passos abaixo funcionam em todas as versões suportadas do Ubuntu (22.04, 24.04 e 26.04 LTS), uma vez que cada uma inclui o OpenSSL 3.x. Também funcionam em versões mais antigas, como a 20.04, que incluía o OpenSSL 1.1.1, embora a 20.04 já tenha atingido o fim do seu suporte padrão. O OpenSSL moderno assina o pedido com SHA-256 por padrão, portanto não é necessário adicionar uma flag de digest.

Passo 1: Aceda ao seu servidor Ubuntu

Ligue-se ao servidor via SSH a partir do seu computador local (Terminal no macOS ou Linux, PowerShell ou Windows Terminal no Windows). Substitua o nome de utilizador e o host pelos seus:

ssh your-user@your-ubuntu-server

Gere a CSR no mesmo servidor que irá alojar o certificado. A chave privada é criada juntamente com a CSR e deve permanecer nesse servidor, pelo que executar estes comandos localmente e depois copiar a chave para outro lado anula o propósito.

Passo 2: Gere a chave privada e a CSR

Execute o seguinte comando. Ele cria uma chave RSA de 2048 bits e uma CSR num único passo, com o assunto e os Subject Alternative Names (SANs) fornecidos diretamente na linha, para que o OpenSSL não pare para fazer perguntas:

openssl req -new -newkey rsa:2048 -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

O que faz cada parte:

  • -newkey rsa:2048 gera uma nova chave RSA de 2048 bits. 2048 bits é o mínimo atual para certificados públicos; pode utilizar rsa:4096 para uma chave maior, ou optar por ECDSA (ver abaixo).
  • -nodes deixa a chave privada não encriptada, para que o Apache a possa ler no arranque sem pedir uma frase-passe.
  • -keyout e -out definem os nomes dos ficheiros da chave privada e da CSR.
  • -subj fornece o assunto do certificado. Coloque aqui o nome real da sua empresa, o estado e a cidade, e não os valores de exemplo. CN (Common Name) é o seu domínio principal.
  • -addext “subjectAltName=…” lista todos os nomes de anfitrião que o certificado deve cobrir. As CAs públicas validam com base na lista de SANs, por isso inclua também aqui o Common Name.

Substitua yourdomain.com pelo seu domínio real em todos os locais. Para cobrir nomes de anfitrião adicionais, acrescente-os à lista de SANs separados por vírgulas, por exemplo DNS:api.yourdomain.com. Para um wildcard, inclua tanto o wildcard como o domínio simples: DNS:*.yourdomain.com,DNS:yourdomain.com.

Se preferir uma chave ECDSA (mais pequena e mais rápida, com suporte generalizado para P-256), gere a chave e a CSR desta forma:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Passo 3: Localize os seus ficheiros

Liste o diretório atual para confirmar que ambos os ficheiros foram criados:

ls

Deverá ver dois novos ficheiros:

  • yourdomain.key: a sua chave privada. Mantenha-a no servidor, faça uma cópia de segurança com segurança e nunca a envie a ninguém, incluindo a Autoridade Certificadora. Quem detiver a chave pode fazer-se passar pelo seu site.
  • yourdomain.csr: o seu Certificate Signing Request. Este é o ficheiro que submete ao fornecedor de SSL.

Passo 4: Verifique a CSR (opcional, mas recomendado)

Antes de a submeter, verifique se a CSR contém o assunto e os SANs corretos e se a sua assinatura é válida. Isto descodifica o pedido localmente com o OpenSSL:

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

Confirme que a linha Subject apresenta os seus detalhes, que X509v3 Subject Alternative Name lista todos os nomes de anfitrião esperados, e que a verificação da assinatura apresenta verify OK. O algoritmo de assinatura deve indicar sha256WithRSAEncryption (ou ecdsa-with-SHA256 para uma chave ECDSA). Se preferir não utilizar a linha de comandos, cole a CSR no nosso descodificador de CSR online para ler os mesmos campos num navegador.

Passo 5: Submeta a sua CSR

Para copiar a CSR para a sua encomenda, imprima o seu conteúdo:

cat yourdomain.csr

Verá um bloco de texto semelhante a este:

-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----

Copie o bloco inteiro, incluindo as linhas —–BEGIN CERTIFICATE REQUEST—– e —–END CERTIFICATE REQUEST—– (cada marcador tem cinco hífenes de cada lado). Esse bloco inteiro é a sua CSR. Cole-o no formulário de encomenda durante a sua compra, e mantenha a chave privada correspondente no servidor.

Se preferir não utilizar a linha de comandos, pode também criar o pedido com o nosso Gerador de CSR online. Note que este gera a chave privada no seu navegador, portanto guarde essa chave você mesmo e transfira-a para o servidor.

Depois de a sua CA validar a CSR e emitir o certificado, continue com as instruções de instalação de SSL no Ubuntu.

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.