Nota: Este artigo foi publicado originalmente em 2014. Alguns passos ou versões de software podem ter mudado.

Pré-requisitos

  • Um sistema executando Ubuntu (desktop ou servidor)
  • Acesso ao terminal com privilégios sudo
  • Familiaridade básica com a linha de comando do Linux

Por Que Criar um Certificado Autoassinado?

Durante as fases iniciais da implantação de um servidor web, frequentemente precisamos testar comunicações seguras usando um certificado. Um certificado autoassinado é um certificado que você mesmo cria. Os benefícios são claros: você controla todo o processo. A desvantagem é que navegadores mostrarão avisos de segurança.

Passo 1 — Escolher um Local para seu Certificado SSL

  • Apache: /etc/apache2/ssl
  • NginX: /etc/nginx/conf.ssl

Passo 2 — Criar seu Certificado SSL Autoassinado

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/conf.ssl/selfsigned.key -out /etc/nginx/conf.ssl/selfsigned.crt

Parâmetros explicados:

  • -x509: Criar certificado autoassinado
  • -nodes: Sem senha na chave privada
  • -days 365: Validade do certificado em dias
  • -newkey rsa:2048: Criar chave RSA de 2048 bits
  • -keyout: Arquivo de saída para a chave privada
  • -out: Arquivo de saída para o certificado

Informações solicitadas:

Country Name (2 letter code): BR
State or Province Name: Estado
Locality Name: Cidade
Organization Name: Sua Empresa
Common Name: seudominio.com
Email Address: [email protected]

Passo 2.1 — Certificado com Nomes Alternativos (SAN)

Para certificados que cubram múltiplos domínios, configure o SAN no arquivo /usr/lib/ssl/openssl.cnf:

export SAN="DNS:*.seudominio.com, DNS:seudominio.com, DNS:www.seudominio.com"

Resumo

Você aprendeu com sucesso como criar um certificado autoassinado no Ubuntu.