Je suis nouveau pour interagir avec Git et j'essaie de le combiner avec l'infrastructure TFS, mais je rencontre des problèmes d'authentification SSL. Pas de Github, pas de VSTS. TFS est local, donc une installation locale.
Partie serveur:
J'ai installé TFS 2018 sur Windows Server 2016 et créé un certificat auto-signé d'entreprise et lier le service Web TFS (gestionnaire IIS) sur ce certificat.
TFS est configuré pour s'exécuter uniquement via HTTPS. HTTP est redirigé vers HTTPS. J'ai configuré un nouveau projet avec Git comme système de version.
Partie client:
J'ai deux types de clients Windows. Mise à jour anniversaire de Windows 7 SP1 et 10, les deux avec Visual Studio 2017 Enterprise.
J'ai installé le certificat (en tant qu'autorités de certification racines de confiance) et en me connectant via un navigateur, je n'ai absolument aucune information sur le projet. Aucun navigateur ne déclenche d'alertes concernant l'authenticité du certificat. Ensuite, j'ai installé Git-2.15.1.2-64-bit.exe, en utilisant la bibliothèque Windows Secure Channel.
J'ai suivi cette guide pour configurer les clients Git, car je recevais une erreur fatale de titre. Donc, fondamentalement, j'ai extrait le contenu du fichier auto-signé et ajouté au fichier ca-bundle.crt. Tous:
Lorsque j'utilise la commande "git config --list --show-Origin" de Powershell, je vois dans la liste: file: "C:\Program Files\Git\mingw64/etc/gifconfig" http.sslcainfo = C:/Program Files/Fichier Git/mingw64/ssl/certs/ca-bundle.crt: "C: /users/myname/.gifconfig" http.sslcainfo = C: /users/myname/ca-bundle.crt
Si j'essaie de cloner le référentiel à partir du panneau VS2017 Team Explorer, il ne cesse de dire: " Git a échoué avec une erreur fatale. Fatal: impossible d'accéder à ' https: //tfs.blahblah/ ': Problème de certificat SSL: impossible d'obtenir le certificat d'émetteur local "
Mais lorsque j'utilise Git GUI, il répond avec une erreur différente: fatal: impossible de trouver la référence distante HEAD Pour autant que je sache, cela semble raisonnable car il n'y a pas de commit attaché.
Mais je ne peux rien engager si je ne peux pas "jumeler" avec Visual Studio 2017.
J'ai lu plusieurs liens, mais je n'ai pas pu le faire. Donc, avant de le marquer comme dupliqué, je vous demande de bien vouloir prêter attention à mes exigences système/environnement spécifiques.
Remarque: et s'il vous plaît, ne me suggérez pas de désactiver SSL car, comme nous l'avons déjà dit, n'est PAS une solution dans environnements d'entreprise/entreprise
Dans Git Settings, Global Settings dans Team Explorer, il y a une option pour choisir entre OpenSSL et Secure Channel.
À partir de Visual Studio 2017 (version 15.7 preview 3), l'utilisation de SChannel dans les paramètres Git Global a résolu mon problème.
Après deux jours avec le support de l'administrateur système, j'ai trouvé la solution. Je le poste ici au cas où cela pourrait aider quelqu'un d'autre. Visual Studio 2017 ne semble pas accepter un certificat auto-signé, car les états d'erreur ("émetteur local bla bla"). Il doit s'agir d'une autorité de certification locale pour l'approuver. Les étapes étaient les suivantes:
Serveur:
Client:
-----BEGIN CERTIFICATE-----publickey-----END CERTIFICATE-----
Vous devriez maintenant pouvoir cloner le référentiel.
Donc, fondamentalement, le point est que le certificat doit avoir toute l'autorité de la chaîne et il doit y en avoir un.
Vous pouvez effectuer une solution rapide en:
git config --global http.sslVerify false