89 votes

Comment puis-je configurer Git pour qu'il fasse confiance aux certificats du magasin de certificats de Windows ?

Actuellement, j'ai l'entrée suivante dans mon .gitconfig dans mon répertoire utilisateur.

...
[http]
    sslCAInfo=C:\\Users\\julian.lettner\\.ssh\\git-test.pem
...

Ceci définit le certificat à utiliser lors de l'interaction avec le serveur git (requis par le serveur git de mon entreprise).

Mais maintenant je ne peux pas cloner d'autres dépôts (par exemple un dépôt public sur GitHub), parce que le client utilise toujours le certificat configuré qui est rejeté par les autres serveurs.

Comment puis-je contourner ce problème de certification ? Puis-je configurer Git pour qu'il utilise le magasin de certificats Windows pour s'authentifier ?

249voto

Edward Thomson Points 21899

À partir de Git pour Windows 2.14, vous pouvez maintenant configurer Git pour utiliser SChannel, la couche réseau intégrée de Windows. Cela signifie qu'il utilisera le mécanisme de stockage des certificats de Windows et vous ne pas doivent configurer explicitement le mécanisme de stockage de l'AC curl.

De la version 2.14 de Git pour Windows notes de mise à jour :

Il est désormais possible de basculer entre la voie de communication protégée et OpenSSL pour le transport HTTPS de Git en définissant l'attribut http.sslBackend à la variable de configuration "openssl" o "schannel" C'est maintenant aussi la méthode utilisée par le programme d'installation (plutôt que de copier les données de l'installation). libcurl-4.dll autour).

Vous pouvez choisir le nouveau mécanisme SChannel lors de l'installation de Git pour Windows 2.14. Vous pouvez également mettre à jour une installation existante pour utiliser SChannel en exécutant :

git config --global http.sslBackend schannel

Une fois que vous avez configuré cela, Git utilisera le magasin de certificats de Windows et ne devrait pas nécessiter (et, en fait, devrait ignorer) l'attribut http.sslCAInfo le paramètre de configuration.

8voto

Andomar Points 115404

Utilisez :

git config  --local ...

Pour spécifier les paramètres par référentiel. Les paramètres locaux sont stockés dans le fichier .git répertoire.

Un aperçu des trois endroits où git peut enregistrer les paramètres :

  • --local : Spécifique au référentiel, <repo_dir>/.git/config
  • --global : Spécifique à l'utilisateur, ~/.gitconfig
  • --system : Valeur par défaut du système, /etc/gitconfig

Les paramètres plus spécifiques remplacent les paramètres plus généraux, c'est-à-dire que local remplace à la fois global et système.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X