Errores de certificate Https para GitHub usando git en Windows 7

Actualmente, recibo este error:

$ git clone https://github.com/square/haha.git Cloning into 'haha'... fatal: unable to access 'https://github.com/square/haha.git/': SSL certificate problem: self signed certificate in certificate chain 

Estoy en una máquina con Windows 7. Me enteré de que el certificate de Github está firmado por DigiCert. Si miro en Trusted Root Certification Authorities> Certificates , veo certificates emitidos a DigiCert:

 DigiCert Assunetworking ID Root CA DigiCert Assunetworking ID Root G2 DigiCert Assunetworking ID Root G3 DigiCert Global Root CA DigiCert Global Root G2 DigiCert Global Root G3 DigiCert High Assurance EV Root CA DigiCert Trusted Root G4 

¿Está el certificate de GitHub dentro de uno de estos? Si es así, ¿cómo lo uso? Si no, ¿cómo lo consigo?

Editar – más información:
Puedo configurar sslVerify como falso y funciona, pero esto no es seguro, por supuesto.
Puedo usar git: // en lugar de https: //. Esto también funciona, pero no es https.

NO PUEDO UTILIZAR SSH ya que este entorno no tiene proxies configurados. Usando ssh:

  $ git clone ssh://github.com/square/haha.git Cloning into 'haha'... D:/Program Files/Git/usr/bin/bash: -c: line 0: syntax error near unexpected token `<' D:/Program Files/Git/usr/bin/bash: -c: line 0: `exec corkscrew <proxyhost> <proxyport> ssh.github.com 443 ~/.ssh/proxy_auth' write: Broken pipe fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 

La idea es download el certificate autofirmado y referencerlo durante el clon:

 git -c http.sslCAInfo=/path/to/self/signed/cert clone https://github.com/square/haha.git 

Por ejemplo, puede usar iwonbigbro/tools/bin/git-remote-install-cert.sh para:

  • download dichos certificates (incluido uno autofirmado)

     openssl s_client -connect 
  • registrar ese certificate:

     git config --global http.sslCAPath "$HOME/.gitcerts" 

(aquí $HOME/.gitcerts es un directory en el que todos los certificates pueden ser encontrados por git)

Esa herramienta, como se llama git-remote-install-cert.sh , es ejecutada por un git remote-install-cert (incluso en Windows).

Sin embargo, recomendaría utilizar el último PortableGit-2.5.1-64-bit.7z.exe , sin comprimir en cualquier lugar (como en C:\prgs\PortableGit-2.5.1-64-bit ).
Luego llame a C:\prgs\PortableGit-2.5.1-64-bit\git-bash.exe , marque $PATH y pruebe git remote-install-cert .


Ejemplo, en una session simple de DOS, con una PATH incluye C:\prgs\bin :
(También incluye C:\prgs\PortableGit-2.5.1-64-bit\bin , lo que significa que estoy usando git 2.5.0 aquí)

  • cree un file C:\prgs\bin\git-remote-install-cert en el que copie iwonbigbro/tools/bin/git-remote-install-cert.sh (de modo que no haya un .sh final en el nombre del file de script local final)
  • Cambie la línea 111 de mkdir -m 0700 -p ${cert%/*} a mkdir -p ${cert%/*} (sin embargo, no es necesario cambiar la línea 37)
  • Ir a un repository existente.
    O cree uno y agregue la URL de origen remota:
    (Por supuesto, adaptar el path a su entorno)

     cd C:\Users\vonc\prog git init b2d cd b2d git remote add origin https://github.com/VonC/b2d 
  • Finalmente, llame al script de ese repository

     C:\Users\vonc\prog\b2d>git remote-install-cert Requesting certificate from the server... Certificate installed to: /c/Users/vonc/.gitcerts/github.com.crt 

Eso te dará los certificates:

 C:\Users\vonc\prog\b2d>type C:\Users\vonc\.gitcerts\github.com.crt -----BEGIN CERTIFICATE----- MIIF4DCCBMigAwIBAgIQDACTENIG2+M3VTWAEY3chzANBgkqhkiG9w0BAQsFADB1 MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMTQwMgYDVQQDEytEaWdpQ2VydCBTSEEyIEV4dGVuZGVk IFZhbGlkYXRpb24gU2VydmVyIENBMB4XDTE0MDQwODAwMDAwMFoXDTE2MDQxMjEy MDAwMFowgfAxHTAbBgNVBA8MFFByaXZhdGUgT3JnYW5pemF0aW9uMRMwEQYLKwYB BAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwCAQITCERlbGF3YXJlMRAwDgYDVQQF Ewc1MTU3NTUwMRcwFQYDVQQJEw41NDggNHRoIFN0cmVldDEOMAwGA1UEERMFOTQx .... 

Desde allí, puede, aún en ese repository, search usando ese certificate:

 cd C:\Users\vonc\prog\b2d git config http.sslcapath C:\Users\vonc\.gitcerts git fetch git checkout master 

tratar

 git -c http.sslVerify=false clone https://github.com/square/haha.git 

o ejecute git config --global http.sslVerify false y vuelva a clonar