Baseados em nome hosts virtuais, o Apache permite a hospedagem de mais de um site por endereço IP e porta. A maioria das aplicações web exigem SSL para criptografar dados de login e outras informações privadas enquanto em trânsito entre cliente e servidor. Em relação ao SSL, você está limitado a apenas um certificado por cada endereço IP e porta. Isso é muitas vezes um problema, já que a maioria dos servidores estão limitados a 1-2 endereços IP. A fim de usar máquinas virtuais através de SSL, o certificado SSL deve usar um curinga para um domínio (*.jrossetto.com.br) ou lista de Subject Alternative Names (SAN) para especificar vários domínios. Note que você não pode usar seu nome de domínio nua (https://jrossetto.com.br) com um certificado curinga.
Subject Alternative Names (SAN)
A extensão SAN foi padronizado em 1999 e é suportado por quase todos os navegadores modernos, computadores e dispositivos móveis. A maioria das configurações padrão para OpenSSL inclui essas extensões. Por exemplo, você precisa “descomentar” ou adicionar três coisas para a configuração padrão (/etc/ssl/openssl.cnf) no Ubuntu 10.04 (Lucid Lynx).
req_extensions
Retire o comentário desta linha para habilitar o v3_req.
req_extensions = v3_req #The extensions to add to a certificate request
v3_req
Aqui é onde você especificar as extensões v3_req. Você precisará adicionar o subjectAltName para o baixo do padrão de dados
[ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names
alt_names
Esta é uma matriz que contém cada um dos domínios a serem listados como nomes alternativos de assunto. Por favor, adicionar aos comentários se você está ciente de um limite para o número de domínios listados.
[alt_names] DNS.1 = cdn1.jrossetto.com.br DNS.2 = cdn2.jrossetto.com.br DNS.3 = static.jrossetto.com.br DNS.4 = images.jrossetto.com.br
O certificado
Geração de chave
Agora que você tenha modificado que está arquivo de configuração pode gerar uma nova chave.
Comando para geração do .csr
sudo openssl req -new -newkey rsa:2048 -nodes -out www_jrossetto_com_br.csr -keyout www_jrossetto_com_br.key -sha256 -subj "/C=BR/ST=Parana/L=Curitiba/O=Jrossetto Online/OU=Jrossetto Online/CN=www.jrossetto.com.br/[email protected]"
Checando seu .csr
Para checar se seu .csr está correto, com as informações que você digitou, e verificar se o SAN está ok, acesse o link abaixo: