Quando criamos um certificado e, por exemplo, colocamos ele em nossa página web o cadeado, que simboliza segurança, não aparecerá ao lado do endereço(url) do site, pelo contrário, estará informando lá que nosso site não é seguro.
Logicamente, isso acontece pois o certificado foi criado por nós mesmos e não faz parte da Cadeia de certificados ICP-Brasil.
Quando se trata de uma página web onde não haverá acesso de usuários finais, não será uma página pública, então não tem problema trabalharmos com certificado autoassinado, visto que a segurança de criptografia é a mesma.
Instalando o Pacote ca-certificates
Linux trabalha com ca-certificates para gerenciar certificados confiáveis. Vamos instalá-lo:
Debian e Derivados:
sudo apt install ca-certificates -y
Red Hat/CentOS:
Adicionando o Certificado Autoassinado
Irei realizar teste com certificado server02.crt, que criei nesse artigo: Instalando e Usando EasyRSA para Criar Autoridade Certificadora(AC) e Emitir Certificados Autoassinados
Após instalado o programa ca-certificates, é criado o diretório: /usr/share/ca-certificates/ Dentro dessa pasta é onde devemos colocar o certificado autoassinado.
Copie o certificado para /usr/share/ca-certificates/
sudo cp server02.crt /usr/share/ca-certificates/
Edite o arquivo /etc/ca-certificates.conf e digite o nome do arquivo que acabamos de copiar para dentro de /usr/share/ca-certificates/. Irei editar usando vim. Mas você poderia usar outro editor qualquer como nano, por exemplo.
sudo vim /etc/ca-certificates.conf
Existe um monte de certificados já adicionados, digite o nome do nosso ao final
...........
mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.crt
mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.crt
mozilla/VeriSign_Universal_Root_Certification_Authority.crt
mozilla/XRamp_Global_CA_Root.crt
server02.crt
Execute o comando
elder@server01:~/downloads$ sudo update-ca-certificates Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done.
Alternativa
Para usuários de Debian e derivados, uma outra alternativa seria usar “dpkg-reconfigure ca-certificates” ao invés de “update-ca-certificates“.
Ao usar dpkg-reconfigure ca-certificates não precisaríamos editar o arquivo /etc/ca-certificates.conf.
Obs.: Pode ser que o comando dpkg-reconfigure não seja encontrado, nesse caso pode executar digitando todo o caminho:
dpkg-reconfigure ca-certificates
Ao usar “dpkg-reconfigure ca-certificates” surgirá uma janela
Configuração de pacotes +----------------------------------------+ Configuração do ca-certificates +----------------------------------------+ | Este pacote pode instalar novos certificados de CAs (Autoridades Certificadoras) ao atualizar. Você pode querer | | checar esses novos certificados de CAs e selecionar somente aqueles certificados nos quais você confia. | | | | - sim: novos certificados de CAs serão confiáveis e serão instalados; | | - não: novos certificados de CAs não serão instalados por padrão; | | - perguntar: pergunta a cada novo certificado de CA. | | | | Confiar em novos certificados de autoridades certificadoras? | | | | sim | | não | | perguntar | | | | | | <Ok> | | | +-------------------------------------------------------------------------------------------------------------------+
Se escolher sim nosso certificado será adionardo automaticamente, mas se selecionar perguntar será solicitado a selecionar o certificado que acabamos de colocar dentro da pasta /usr/share/ca-certificates/
Configuração de pacotes +-------------------------------------+ Configuração do ca-certificates +--------------------------------------+ | Este pacote instala certificados de CAs (Autoridades Certificadoras) comuns em /usr/share/ca-certificates. | | | | Por favor, selecione as autoridades certificadoras que você confia, de modo que seus certificados sejam | | instalados em /etc/ssl/certs. Eles serão compilados em um único arquivo /etc/ssl/certs/ca-certificates.crt. | | | | Certificados a serem ativados: | | | | [*] mozilla/USERTrust_RSA_Certification_Authority.crt ? | | [*] mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.crt ? | | [*] mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.crt ? | | [*] mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.crt ? | | [*] mozilla/VeriSign_Universal_Root_Certification_Authority.crt ? | | [*] mozilla/XRamp_Global_CA_Root.crt ? | | [*] server02.crt ? | | | | | | <Ok> | | | +--------------------------------------------------------------------------------------------------------------+