web-dev-qa-db-fra.com

Erreur de nuget dans Visual Studio 2010: la connexion sous-jacente a été fermée: impossible d'établir une relation de confiance pour le canal sécurisé SSL/TLS

Chaque fois que j'essaie d'installer quelque chose ou même simplement de lister les paquets, le message d'erreur suivant s'affiche: "La connexion sous-jacente était fermée: impossible d'établir une relation de confiance pour le canal sécurisé SSL/TLS"

J'ai essayé cette solution de Codeplex sans succès.

J'utilise la dernière version de Nuget .

J'ai aussi essayé différentes options dans devenv.exe.config comme ceci:

<servicePointManager  checkCertificateName="false"    checkCertificateRevocationList="false"/>
49
chemark
  • Sélectionnez VS2010 → Outils → Gestionnaire de packages de bibliothèque → Paramètres du gestionnaire de packages.

  • Choisissez Gestionnaire de paquets → Sources de paquets.

  • Ajoutez une nouvelle source de paquet en tant que:

  • Déplace la source de paquet nouvellement ajoutée à la première position.

  • Décocher la source de paquets officielle "Nuget officiel" existante

  • Redémarrez VS2010.

88
Sunil

Allez à https://nuget.org/ et obtenez son certificat.

Par exemple, si vous utilisez Firefox: après avoir ouvert le site Nuget, cliquez sur l’icône du site dans la partie gauche de la barre d’adresse, cliquez sur "Plus d'informations". Sous l'onglet Sécurité, la section "Identité du site Web" doit contenir bouton du certificat. Cliquez ici, dans la boîte de dialogue ouverte, sélectionnez l'onglet Détails - vous devriez voir la chaîne pour * .nuget.org. Cliquez sur le bouton "Exporter" en bas et enregistrez le certificat dans le fichier (ajoutez manuellement l'extension .cer, car la boîte de dialogue ne le fera pas pour vous).

Vous devez maintenant configurer votre système pour qu’il fasse confiance au certificat. Appuyez sur Win + R (la boîte de dialogue Exécuter sera ouverte) -> saisissez mmc et exécutez-la (avec les privilèges d'administrateur si vous avez activé le contrôle de compte d'utilisateur). Là, sélectionnez Fichier -> Ajouter ou supprimer un composant logiciel enfichable ... -> sélectionnez Certificats à gauche, dans la boîte de dialogue, sélectionnez Computer account et Local computer. Cliquez sur OK. L'arbre aura le noeud Certificates dans le Console root. Ouvrez-le et le dossier Trusted People. Dans son menu contextuel, sélectionnez Toutes les tâches -> Importer ... -> Sélectionnez le fichier que vous avez déjà exporté et importez-le.

Tout devrait bien fonctionner.

10
Ivan Danilov

Nous avions le même problème au travail et nous l'avons résolu en supprimant le socket sécurisé, Https -> http. Cela signifie que vous pouvez utiliser l'URL V2 http://nuget.org/api/v2/ .

Peut-être un problème de suppression du socket sécurisé, mais l'URL ci-dessus ( http://packages.nuget.org/v1/FeedService.svc/ ) n'est pas sécurisé non plus.

10
christiandev

Il y a apparemment un problème avec le certificat SSL sur go.Microsoft.com. Modifiez l'URL de la source du paquet en http://packages.nuget.org/v1/FeedService.svc/ et cela devrait fonctionner correctement.

8
anand

Connexes: ServicePointManager ne prend pas en charge les mandataires avec le schéma https

Si vous avez déjà ouvert Fiddler, vous pourriez avoir un certificat invalide pour nuget.org. 

Si tel est le cas, ouvrez MMC, ajoutez le composant logiciel enfichable Certificats (utilisateur actuel) et supprimez nuget.org du magasin personnel. 

Example certificate to remove

En raison du fait que Nuget garde (apparemment) une poignée sur ce certificat, vous devrez redémarrer Visual Studio. Ensuite, vous devriez passer un bon moment.

6
AndyElastacloud

Allez dans VS2012 -> Outils -> Gestionnaire de paquets de bibliothèque -> Paramètres du gestionnaire de paquets Choisissez Gestionnaire de paquets -> Sources de paquet. 

  1. Ajoutez une nouvelle source de paquet en tant que: Nom = NugetSource Source = http://packages.nuget.org/v1/FeedService.svc/
  2. Déplace la source de paquet nouvellement ajoutée à la première position. 
  3. Décocher la source de paquets officielle "Nuget officiel" existante 
  4. Redémarrez VS2012. 

Cela fonctionne sur ma machine.

4
chandan

À compter d'aujourd'hui 21 janvier 2015, l'URL correcte est https://www.nuget.org/api/v2/ . Le www est requis ou le certificat échoue. Ne vous rabattez PAS sur http car vous ouvrez votre code et tous ses consommateurs vers un méchant vecteur MITM.

2
psaxton

Pour moi, le problème a été résolu en effaçant le cache des pépites (et en redémarrant VS). 

0
JBSnorro

Je pourrais résoudre ce problème en supprimant le socket sécurisé, https->http. Aller à Tools -> Nuget Package Manager -> Package Sources, puis ajoutez une nouvelle source, mais sans https:

Cela signifie http://nuget.org/api/v2/.

0
Vladimir

J'ai dû supprimer https dans Paramètres de la machine locale pour Nuget et l'ajouter (http) au niveau utilisateur dans Outils -> Gestionnaire de packages de bibliothèque -> Paramètres du gestionnaire de packages.

0
jay