Problema de certificado SSL: certificado autoassinado na cadeia de certificados

Problema de certificado SSL: certificado autoassinado na cadeia de certificados

Atrás de um firewall, usando o Chrome, consigo acessar um repositório do GitHub assim: https://github.com/Squirrel/Squirrel.Windows

O Chrome usa nosso certificado para esse acesso. Se eu tentar acessar o mesmo URL usandoGitExtensões, recebo este erro:

Problema de certificado SSL: certificado autoassinado na cadeia de certificados

Posso fazer com que GitExtensions use nosso certificado para permitir acesso?

EDITAR: mais informações:

Na minha máquina, não vejo mysysGit, mas vejo mingw/curl, então presumo que o Git esteja usando isso. Aparentemente, eles não usam certificados confiáveis ​​do Windows ao construir a cadeia de certificados. O erro que recebo, SProblema de certificado SL: certificado autoassinado na cadeia de certificados, indica que o certificado raiz usado pelo Git/Github não está presente no pacote raiz da autoridade de certificação (CA) integrada. Como @Akber Choudhry apontou, o certificado CA que é a raiz da cadeia de certificados servidos pelo servidor SSL do Github é CA raiz EV de alta garantia DigiCerte vejo esse CA em C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt.

Para verificar se o problema está no Git, não no GitExtensions, fiz isso na linha de comando:

 >>git clone https://github.com/Squirrel/Squirrel.Windows.git

E recebi o mesmo erro de problema de certificado SSL.

Parece que o Git não está usando este certificado, então tentei configurar o Git assim:

>>git config --system http.sslcainfo "C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt"

mas isso não teve efeito..

Responder1

Atrás de um firewall, ...github ... o Chrome usa nosso certificado para esse acesso.

Com base nesta descrição, presumo que "nosso" certificado não é o certificado original do Github, mas que você está usando um firewall com inspeção SSL que gera seu próprio ("nosso") certificado para um homem no meio da conexão. A CA no firewall que emitiu este certificado (CA proxy) provavelmente foi adicionada ao Windows Trust Store e este Chrome confiará nela.

Mas o Git não usa o Windows Trust Store e, portanto, não conhece essa CA proxy. Portanto, você precisa adicionar a CA proxy usada pelo firewall ao armazenamento de CA do Git e não a CA original que emitiu o certificado para o Github.

Responder2

Ao usar o Chrome e acessar o Github por HTTPS, você está apenas verificando a cadeia de certificados do Github em relação aos certificados raiz integrados em seu navegador e no Windows.

Nos bastidores, o Gitextensions usa o msysgit, que não consulta os certificados confiáveis ​​do Windows ao construir a cadeia de certificados.

A partir do erro, parece que o certificado raiz usado pelo Github não está presente no pacote raiz da autoridade de certificação (CA) integrada. Isso pode ser apenas devido ao Gitextensions agrupar uma versão mais antiga do msysgit ou curl.

msysgit inclui DigiCert High Assurance EV Root CAem seu pacote CA e já existe há vários anos. Procure por esta string no arquivobin/curl-ca-bundle.crt

Verifique se existe uma versão mais antiga das ferramentas msysgit ou mingw instalada em sua máquina. Nesse caso, limpe e reinstale. Por fim, consulte o procedimento de adição de certificado msysgit se precisar adicionar o certificado.

informação relacionada