O Certificado SSL é um serviço de segurança online que ganha mais força a cada dia, tanto que já se tornou indispensável para lojas virtuais e para as pessoas que compram pela internet também, pois querem suas informações pessoais seguras.

Apesar da necessidade e da força que esse tipo de segurança tem, o processo de instalação do certificado não é o mais fácil e muitas vezes até técnicos ficam com dúvidas, mesmo assim depois de instalar o Certificado SSL corretamente podem acontecer alguns erros.

Os erros após a instalação do Certificado SSL na grande maioria são bem comuns e acontecem na maior parte das instalações, por exemplo aparecer um “x” vermelho no cadeado ou não aparecer cadeado nenhum, como estas imagens abaixo.

http
https

Então quero te mostrar porque esse tipo de erro acontece e o que você pode fazer para resolvê-los.

Cadeado verde não aparece, por que?

O motivo disso acontecer é uma situação chamada de Mixed Content, que nada mais é do que uma fonte segura (HTTPS) buscando conteúdo de fontes não seguras (HTTP), isso faz com que o navegador não possa garantir a segurança dos dados.

Um exemplo muito comum é quando o site usa imagens, sendo internas ou externas, através do protocolo HTTP ao invés de HTTPS.

Como identificar?

Acesse o seu site e aperte a tecla F12 (Tecla usada na grande maioria dos navegadores) para abrir as ferramentas de desenvolvedor e selecione a aba “Console“, agora navegue pelas páginas que usam HTTPS.

Quando alguma página conter “Mixed Content” o cadeado verde vai sumir e você receberá um alerta como este no Console: “Mixed Content: The page at ‘https://…’ was loaded over HTTPS, but requested an insecure image ‘http://…’. This content should de also served over HTTPS.“, indicando que determinado conteúdo precisa ser carregado com HTTPS.

Exemplo de alerta Mixed Content:

Mixed Content

Mesmo com esses alertas indesejáveis, você vai conseguir navegar pelas páginas sem nenhum problema, mas se o tipo de conteúdo requisitado for algum tipo de código (html, css, js …), aí sim você terá problemas.

Nesse caso o navegador vai exibir um erro no console parecido com o que vimos acima mas vai bloquear os recursos que estão com o erro, deixando de executar funções e prejudicando o funcionamento do site.

Exemplo de alerta Mixed Content para códigos:

Mixed Content

Como resolver?

Assim que você encontrar as requisições que estão causando o “Mixed Content”, deve fazer estas serem requisitadas através do HTTPS. Por exemplo: Seu site usa uma imagem em http://www.exemplo.com.br/imagem.jpg, tente utilizar https://www.exemplo.com.br/imagem.jpg.

Se a requisição via HTTPS ocorreu normalmente e o conteúdo foi exibido da mesma forma, você pode simplesmente fazer a substituição do endereço. Mas se alguma outra mensagem foi exibida e/ou o conteúdo não apareceu, você deve considerar as seguintes opções:

  • Incluir o conteúdo de alguma fonte diferente, se disponível;
  • Baixar o conteúdo e hospedá-lo diretamente no seu site, se for legalmente permitido;
  • Deixar de usar o conteúdo no seu site.

Não tenho como buscar manualmente, o que fazer?

Você pode usar a Política de Segurança de Conteúdo, do inglês Content Security Policy (CSP), que é uma característica dos navegadores que te permite tratar de uma grande escala de Mixed Content.

O mecanismo de relatório do CSP pode ser utilizado para rastrear o Mixed Content existente no seu site, já a política de aplicação pode ser usada para proteger os usuários aprimorando ou bloqueando as requisições de Mixed Content.

Você pode habilitar essas características para uma página incluindo o cabeçalho Content-Security-Policy ou Content-Security-Policy-Report-Only na resposta enviada do seu servidor.

Usando o relatório

Para gerar relatórios das requisições “Mixed Contents” você deve adicionar a diretiva Content-Security-Policy-Report-Only no cabeçalho de resposta do seu site:

Content-Security-Policy-Report-Only: default-src https: 'unsafe-inline' 'unsafe-eval'; report-uri https://www.exemplo.com.br/reportingEndpoint

Quando um visitante navegadar nas páginas do site será enviado um relatório no formato JSON para https://www.exemplo.com.br/reportingEndpoint informando qualquer coisa que viole a política de segurança de conteúdo.

Desse modo toda vez que um recurso for requisitado por HTTP, será enviado um relatório incluindo a página onde a política foi violada e a URL que a violou. Se você configurar esse Endpoint de relatório pode rastrear “Mixed Content” sem ter de visitar cada página você mesmo.

Se você não quiser configurar um Endpoint de relatório, esse site https://report-uri.com pode ser uma boa alternativa.

Aprimorando requisições inseguras

Você pode habilitar esse comportamento enviando um cabeçalho Content-Security-Policy com a seguinte diretiva:

Content-Security-Policy: upgrade-insecure-requests

E o que isso faz? Essa diretiva instrui o navegador a aprimorar as requisições inseguras antes delas serem feitas, que em resumo é transformar todas as requisições HTTP em HTTPS.

A vantagem de usar esse método é que o usuário fica livre dos problemas de Mixed Content, por outro lado é possível que o navegador não suporte essa funcionalidade e conteúdo em HTTP não será exibido.

Bloqueando o Mixed Content

Como não são todos os navegadores que suportam update-insecure-requests, uma alternativa para proteger os usuários é usar a diretiva CSP block-all-insecure-requests, assim o navegador é instruido navegador a nunca carregar Mixed Content, todas essas requisições são bloqueadas.

Para usar essa política você pode enviar o cabeçalho Content-Security-Policy com a seguinte diretiva:

Content-Security-Policy: block-all-mixed-content

A desvantagem de usar block-all-mixed-content é, obviamente, que todo o conteúdo inseguro será bloqueado. É uma medida de segurança, mas impede que os recursos estejam disponíveis na página. Isso pode deixar algumas funcionalidades e conteúdos do site indisponíveis.

Lembre-se: Usar HTTPS no site é um passo muito importante para proteger seus visitantes, mas “Mixed Content” pode tornar esse esforço inútil, então é muito importante que você encontre e corrija todas os problemas de “Mixed Content”.

Cadeado com um X vermelho e mensagem de erro

Nessa situação há varias possíveis causas para que isso ocorra, as mensagens também podem variar de acordo com o navegador e o tipo de erro, mas na maioria dos casos são coisas como “Sua conexão não é segura” ou “Sua conexão não é particular“.

Certificado expirado

Como o próprio nome já diz, a data de validade do seu certificado expirou. Solução? Adquirir, emitir e instalar um novo certificado o mais rápido possível.

Se esta for a situação que você se encontra, veja as opções de Certificados SSL em saninternet.com/ssl e escolha o melhor certificado para o seu site.

Common Name (CN) inválido

Common Name nada mais é que o domínio para qual o Certificado SSL foi emitido, se esse é o erro que está ocorrendo, isso significa que o certificado pertence a outro domínio.

Um exemplo comum é quando você possui um site em um domínio (Ex: www.exemplo.com.br) e uma parte dele um subdomínio (Ex: loja.exemplo.com.br), nesse caso o certificado foi emitido apenas para um desses endereços, porém você acessa o outro utilizando HTTPS. Resumindo, usar um certificado emitido para determinado domínio em outro domínio.

O que fazer para resolver? Você pode adquirir um Certificado SSL especificamente para esse subdomínio, do tipo Wildcard que você pode usar em todos os seu subdomínios.

Autoridade Certificadora inválida

Aqui temos um problema que pode ter algumas possíveis causas, uma delas é a instalação do Certificado SSL de maneira incorreta, por exemplo, a cadeia de certificação pode estar incompleta ou incorreta.

Para resolver você deve reinstalar o certificado de acordo com as instruções da autoridade certificadora, com o seu tipo de servidor ou buscar alguém especializado para fazê-lo.

Outra possível causa pode ser um pouco mais grave, que é quando o seu navegador ou seu sistema operacional não reconhecem a Autoridade Certificadora como válida, nesse caso você deve verificar se ambos se encontram em suas versões mais recentes e atualizá-los se necessário.

Se esse não for o caso, então você deve entrar em contato com a empresa que emitiu o certificado para que possa ser analisado o que ocorreu, em um último caso, emitir um novo Certificado SSL, agora com alguma empresa que emita os certificados de autoridades confiáveis.

Se você gostou deste conteúdo, peço que ajude mais pessoas a entender os erros comuns no Certificado SSL, compartilhando este artigo com seus amigos.

Conheça opções de certificados digitais de diferentes certificados como Sectigo, DigiCert, GlobalSign, Thawte e GeoTrust.