web-dev-qa-db-fra.com

Impossible d'extraire/d'insérer le référentiel git

$ git pull Origin master
fatal: unable to access 'https://xxxxxxxxxxxxxxx': 
      error setting certificate verify locations:
CAfile: C:/Users/abc/AppData/Local/Programs/Git/usr/bin/curl-ca-bundle.crt
CApath: none

Je reçois cette erreur lorsque je tire ou pousse mon code. 

S'il vous plaît, guidez-moi pour résoudre ce problème.

38
Arvind

Je faisais également face à ce problème dans Windows et exécutais git en utilisant gitbash. Je viens de réinstaller gitbash, et gitbash gérait automatiquement le certificat git et son chemin.

22
user5710358

Lorsque vous utilisez https, vous devrez fournir un mot de passe ou utiliser un certificat . Dans votre cas, le certificat ne semble pas être valide.

Essayez de résoudre ce problème en indiquant à git où trouver le certificat:

// Add the certificate to your configuration file
git config --system http.sslcainfo "C:\Program Files (x86)\git\bin\curl-ca-bundle.crt"

Vous pouvez également désactiver les vérifications SSL:

// or switch off SSL checks completely by executing:
git config --system http.sslverify false

Définissez ceci dans votre configuration pour le désactiver uniquement pour l'URL donnée et non pour toutes les demandes

[http "https://weak.example.com"]
    sslVerify = false

http.sslVerify

Indique si le certificat SSL doit être vérifié lors de l'extraction ou du transfert via HTTPS.


http.sslCAInfo

Fichier contenant les certificats avec lesquels l'homologue doit être vérifié lors de l'extraction ou du transfert de fichiers sur HTTPS

45
CodeWizard

J'ai eu une fois le même problème. Mon problème est survenu après la réinstallation de Git pour Windows. J'utilise git pour Windows 64 bits sur Windows 10.

J'ai découvert que le programme d'installation n'installe plus git dans C:/Users/[USER_NAME]/AppData/Local/Programs/Git. Au lieu de cela, il l'a installé sous C:\Program Files\Git.

Néanmoins, l'ancien fichier de configuration C:\ProgramData\Git\config n'a pas été modifié par le programme d'installation. Ce fichier contient toujours l'ancien chemin, je l'ai donc modifié manuellement. 

Par exemple. sur mon système, j'ai utilisé

[http]
     sslCAInfo = C:/Programme/Git/mingw64/ssl/certs/ca-bundle.crt

peut-être devrez-vous utiliser Program Files à la place

     sslCAInfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt

MODIFIER

Comme DS dit dans son commentaire

C:\ProgramData\Git\config doit être modifié en tant qu'administrateur.

Par exemple. Faites un clic droit sur le bloc-notes et sélectionnez "Exécuter en tant qu'administrateur" puis ouvrez le fichier.

24
René Link

Dans la version 2.x de git-bash, le chemin d'accès au fichier .crt a été remplacé par ../Git/mingw64/ssl/certs/ca-bundle.crt. Je devais mettre à jour cela manuellement dans git-bash avec 

 git config --global http.sslcainfo "/path/to/Git/mingw64/ssl/certs/ca-bundle.crt"
11
stiteler

Essaye ça

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

ou 

Eteignez votre SSL en exécutant cette commande 

git config --system http.sslverify false
5
Prabu Guna
 git config --global http.sslverify "false" 
  • va résoudre le problème après que la fenêtre contextuelle apparaît pour entrer votre nom d'utilisateur et votre mot de passe assurez-vous valide.
4
Abu Bakr

Ceci fera le travail en passant des clients GIT 2.x à 2.5.x:  

On dirait qu'après l'installation d'une nouvelle version du client GIT, le chemin d'accès aux certificats à partir de ceci ressemble à ceci:

C:\Program Files\Git\mingw64

à quelque chose comme ça:

C:\Program Files\Git\mingw64\libexec

Pour résoudre ce problème, copiez simplement le dossier 'ssl' dans le nouvel emplacement et cela fonctionnera à merveille!

2
Naor Bar

Si votre version de git est la version 2.8.1.windows.1, cela peut vous aider . Tout d’abord, vous devez localiser votre répertoire principal git, le mien est D:\SDK\Git.Just dans le même répertoire, vous pouvez trouver dossier "usr", ouvrez-le et allez dans\ssl\certs, vous pouvez trouver le certificat: ca-bundle.crt.

Puis ouvrez la console, exécutez:
git config --system http.sslcainfo "D:\SDK\Git\usr\ssl\certscabundle.crt"

2
dav dai

Pour les futurs lecteurs:

J'avais ce problème après avoir installé les paquets de développement sur Cygwin.

J'ai essayé tous les correctifs dans ce fil, mais rien ne fonctionnait

Ensuite, je suis tombé sur ce fil sur github

Ce que j'ai fait, c'est que j'ai trouvé l'emplacement où CAPATH était spécifié dans gitconfig et que j'ai supprimé cette spécification https, ce qui a résolu mon problème.

1
Steven L

J'ai trouvé le certificat SSL à: 

C:\Users\[USERNAME]\AppData\Local\GitHub\PortableGit_[portable code]\usr\ssl\certs

alors vous pouvez suivre la solution par CodeWizard i.e.:

// Add the certificate to your configuration file
git config --system http.sslcainfo "[LOCATION_SPECIFIED_ABOVE]/cabundle.crt"
1
deepak garg

La version actuelle de Git pour Windows (2.18.0.windows.1) a un bogue. Si http.sslcainfo n'est pas défini, il s'attend à trouver le magasin de certificats dans C:/Program Files/Git/mingw64/libexec/ssl/certs/ca-bundle.crt.

Le magasin de certificats est en fait installé sur C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt. Il est donc nécessaire de spécifier le chemin correct.

En outre, l'implémentation de SCHANNEL est également interrompue dans cette version.

Enfin, le gestionnaire d'informations d'identification Git est également endommagé, car si vous avez des informations d'identification CI/CO stockées à partir de l'installation de gitlab-runner, le clonage/transfert/extraction avec une erreur d'accès refusé sera impossible au lieu de demander des informations d'identification différentes.

1
Igor Levicki

J'ai eu le même problème après ma dernière mise à jour de cygwin après l'installation de Windows 10 . La commande update-ca-trust a échoué pendant l'installation.

La raison semble être que le propriétaire du groupe du dossier de certificat était corrompu ..__ La solution assez radicale consistait à supprimer /etc/group. Il s'est avéré que cygwin est en mesure de demander directement à Windows des droits de groupe.

Solution trouvée sur http://zaunerc.blogspot.se/2016/01/cygwin-mapping-windows-sids-to-posix.html

1
Bimme

Allez dans votre répertoire git et déplacez le dossier mingw64/ssl vers mingw64/libexec/ssl

1

Merci à https://github.com/npm/npm/issues/1484
git config --global http.sslverify "false" va résoudre le problème

0
Vensent Wang

En utilisant Intellij et git-sdk-64, et en choisissant d'abord git-sdk-64\mingw64\bin\git.exe pour résoudre ce problème, puis en basculant sur git-sdk-64\cmd\git.exe, l'emplacement de fichier de cert seul était indiqué et aucune autre configuration n'était nécessaire. (n'a pas utilisé git config --global http.sslcainfo ...)

0
arntg

J'ai rencontré le même message d'erreur, mais lors du clonage d'un référentiel github, la définition du http.sslcainfo n'a pas vraiment aidé. Comme je me trouvais derrière un serveur proxy d’entreprise, la définition du http.proxy l’a corrigé.

0
Shreyas Murali

J'ai eu la même erreur et je l'ai résolu en réinstallant git dans le chemin par défaut:

C:\Program Files\Git

C'est tout

0
cesarnet

J'ai la même erreur dans Windows 7. Il s'est avéré que le chemin du certificat mentionné dans l'erreur n'existait pas. Au lieu de ...\mingw32\usr\ssl ... le fichier de certificat se trouvait dans ...\mingw2\ssl ... J'ai donc créé manuellement un dossier usr et déplacé tout l'arborescence ssl vers usr. Cela a résolu le problème.

0
Ramkumar NJ

J'ai trouvé les étapes suivantes utiles pour résoudre le problème de mon côté pour Windows 10:

Faire une désinstallation de git. 

Cependant, le programme de désinstallation de git ne fait pas un travail propre. Donc, vous devrez peut-être supprimer le répertoire Git dans C:\Utilisateurs [Mon nom]\AppData\Local\Programmes \

Après cela, une nouvelle installation de git devrait l’installer dans le répertoire C:\Program Files\Git où le fichier config pointe pour pouvoir lire le certificat SSL.

0
14inc

J'ai le même message d'erreur, mais dans mon cas, c'est parce que j'ai modifié les paramètres de github pour utiliser ssh au lieu de https.

Et le référentiel avec le problème a été cloné avec https après avoir supprimé la télécommande et l'ajouté de nouveau avec ssh, il fonctionne comme prévu.

$git remote remove Origin
$git remote add Origin [email protected]:UserName/repo.git

Alors git remote show Origin montre correctement la télécommande.

0
AWolf