Problema con el certificado SSL: certificado autofirmado en la cadena de certificados

Problema con el certificado SSL: certificado autofirmado en la cadena de certificados

Detrás de un firewall, usando Chrome, puedo acceder a un repositorio de github de esta manera: https://github.com/Squirrel/Squirrel.Windows

Chrome utiliza nuestro certificado para este acceso. Si intento acceder a la misma URL usandoExtensiones de Git, me sale este error:

Problema con el certificado SSL: certificado autofirmado en la cadena de certificados

¿Puedo hacer que GitExtensions use nuestro certificado para permitir el acceso?

EDITAR: más información:

En mi máquina, no veo mysysGit, pero sí veo mingw/curl, así que supongo que Git los está usando. Aparentemente, estos no utilizan certificados de confianza de Windows al crear la cadena de certificados. El error que me sale, S.Problema con el certificado SL: certificado autofirmado en la cadena de certificados, indica que el certificado raíz utilizado por Git/Github no está presente en el paquete raíz de la autoridad de certificación (CA) integrado. Como ha señalado @Akber Choudhry, el certificado de CA que es la raíz de la cadena de certificados servidos por el servidor SSL de Github es CA raíz de vehículos eléctricos de alta seguridad DigiCerty veo esa CA en C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt.

Para verificar que el problema es con Git, no con GitExtensions, hice esto en la línea de comando:

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

Y recibí el mismo error de problema con el certificado SSL.

Da la apariencia de que Git no está usando este certificado, por eso intenté configurar Git así:

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

pero esto no tuvo ningún efecto..

Respuesta1

Detrás de un firewall, ...github... Chrome usa nuestro certificado para este acceso.

Según esta descripción, supongo que "nuestro" certificado no es el certificado original de Github, sino que está utilizando un firewall con inspección SSL que genera su propio certificado ("nuestro") para un hombre en el medio de la conexión. La CA en el firewall que emitió este certificado (CA proxy) probablemente se agregue a la Tienda de confianza de Windows y este Chrome confiará en ella.

Pero Git no utiliza Windows Trust Store y, por lo tanto, no conoce esta CA proxy. Por lo tanto, debe agregar la CA proxy utilizada por el firewall al almacén de CA para Git y no la CA original que emitió el certificado para Github.

Respuesta2

Cuando usa Chrome y accede a Github a través de HTTPS, simplemente está verificando la cadena de certificados de Github con los certificados raíz integrados en su navegador y en Windows.

En secreto, Gitextensions utiliza msysgit, que no consulta los certificados de confianza de Windows al crear la cadena de certificados.

A partir del error, parece que el certificado raíz utilizado por Github no está presente en el paquete raíz de la autoridad de certificación (CA) integrado. Esto puede deberse simplemente a que Gitextensions incluye una versión anterior de msysgit o curl.

msysgit se incluye DigiCert High Assurance EV Root CAen su paquete CA y ha estado allí durante varios años. Busque esta cadena en el archivobin/curl-ca-bundle.crt

Compruebe si hay una versión anterior de las herramientas msysgit o mingw instalada en su máquina. Si es así, límpielo y vuelva a instalarlo. Finalmente, consulte el procedimiento de adición de certificados msysgit si necesita agregar el certificado.

información relacionada