Como adicionar corretamente um certificado SSL confiável à página da Web?

1

Eu estava tentando seguir as instruções do godaddy sobre como adicionar certificação ssl para um servidor nginx em centos. Na última etapa (10), recebi um erro de "discrepância de chave".

Com algumas pesquisas descobri que, ao assinar o arquivo .crt com a minha chave, esse erro desapareceu.

ou seja, eu corri:

 sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

substituindo cada instância do servidor pelo meu nome de domínio.

Isso eliminou o erro e permitiu que eu prosseguisse.

No entanto, quando tento acessar meu site, agora recebo um erro de conexão não seguro.

O que fiz de errado e como posso habilitar corretamente a certificação ssl?

    
por Makogan 03.11.2018 / 20:11

2 respostas

2

Depende do que você está tentando fazer.

Você está tentando criar um certificado autoassinado?

OR

Você vai comprar um certificado SSL da godaddy?

No caso de você obter um certificado de godaddy:

  1. gera o arquivo CSR junto com a chave SSL privada: openssl req -newkey rsa: 2048 -nodes -keyout domain.key -out domain.csr
  2. Siga as instruções de: link

Em caso de certificado autoassinado:

  1. gere o SSL da chave do CA ROOT

    openssl genrsa -out rootca.key 2048

  2. Gerar o SSL PUBLIC do CA ROOT

    openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1024 -out rootca.pem

  3. Gerar SSL privado do domínio:

    openssl genrsa -out mydomain.key 2048

  4. Gerar SSL de CSR de domínio openssl req -new -key mydomain.key -out mydomain.csr

  5. Gere uma chave SSL pública para o domínio usando os SSLs ROOT CA (que é o que geralmente é feito pelo provedor SSL)

    openssl x509 -req -in mydomain.csr -CA rootca.pem -CAkey rootca.key -CAcreateserial -out mydomain.pem -days 1024 -sha256

onde

mydomain.key - seu SSL privado, que você usará em sua configuração do nginx: ssl_certificate_key

mydomain.pem - seu SSL público, que você usará na configuração do nginx:  ssl_certificate

rootca.pem - CA SSL, que você precisará instalar no seu navegador (por exemplo, Firefox)

    
por 05.11.2018 / 17:39
2

Em algumas circunstâncias, um certificado auto-assinado pode ser OK, mas entenda que isso irá renderizar algum tipo de aviso em praticamente qualquer navegador (e deve ser correto).

Com um certificado auto-assinado, o navegador é solicitado a estabelecer uma conexão segura com um servidor que apresenta um certificado "fictício", que o navegador não tem como verificar, pois a entidade que está assinando o certificado não é conhecida pelo certificado. navegador (o navegador tem um "catálogo" interno de entidades legítimas que ele aceitará como Autoridades de Certificação válidas). Às vezes, você pode importar sua entidade de assinatura fictícia para o navegador para se livrar dos avisos, mas com o Letsencrypt é realmente melhor renunciar ao hackery e é só pegar um certificado emitido por uma CA que é legitimamente conhecida pela Microsoft, Google e Mozilla.

Se você já tiver um CSR e um certificado legítimos, emitidos / assinados por uma CA legítima, talvez verifique o Guia Nginx para instalar um certificado Letsencrypt.

    
por 05.11.2018 / 16:32