Erro de certificado SSL usando Git

 git

Ao utilizar git em algum repositório remoto que fazia uso de https, você obteve este erro?

server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

Geralmente ocorre por causa do certificado ser auto assinado, ou seja, quando não gerado por uma autoridade certificadora.

O que você precisa é de um certificado pai (root) válido.

E por que o de outros sites, não ocorre o mesmo erro?

Por que normalmente quem emite o certificado, já tem os certificados pai (root) na sua máquina, não na deles, na sua mesmo, em Linux ficam em /etc/ssl/certs/. Quando navegadores (root) são instalados, também possuem alguns e vão referenciados na mesma pasta, por isso não ocorre o erro.

Outra coisa

Também pode ocorrer se a hora do servidor não for a mesma do cliente que faz a requisição. Caso um dos 2 estejam com a hora desregulada ou data

A solução é instalar um certificado válido.

Mas primeiro compre um, pode ser na Namecheap ou obtenha usando o Let’s Encrypt que é de graça (mas expira a cada 3 meses, pagos geralmente tem validade de 1 ano).

Vamos a uma outra solução, omitindo a verificação de validade do certificado.

Se isso não for uma opção opção válida, existe a possibilidade de omitir a verificação.

Pode omitir somente na execução atual:

GIT_SSL_NO_VERIFY=0 git [clone|update|fetch...] <repositório>

Ou desabilitar permanentemente para o respositório local, usando:

$ git config --local http.sslverify false

A flag --local indica qual o escopo do arquivo de configuração. Para entender em quais escopos usar e quais os arquivos de configuração o git possui, veja meu postVariáveis e escopos nas configurações do git“.

Referências


comments powered by Disqus