Yarn: erreur impossible d'obtenir le certificat de l'émetteur local

Créé le 12 oct. 2016  ·  42Commentaires  ·  Source: yarnpkg/yarn

salut

Voulez-vous demander une _fonctionnalité_ ou signaler un _bug_ ?
Bug

Si le comportement actuel est un bogue, veuillez fournir les étapes à reproduire.

λ yarn config set strict-ssl false
yarn config v0.15.1
success Set "strict-ssl" to "false".
Done in 0.06s.

yarn install

error unable to get local issuer certificate
    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:1060:38)
    at emitNone (events.js:86:13)
    at TLSSocket.emit (events.js:185:7)
    at TLSSocket._finishInit (_tls_wrap.js:584:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:416:38)
info Visit http://yarnpkg.com/en/docs/cli/install for documentation about this command.

Quel est le comportement attendu ?
Je veux installer mes dépendances.
Est-ce que j'ai raté quelque chose (peut-être) ?
Merci

Veuillez mentionner votre node.js, votre fil et la version de votre système d'exploitation.

NodeJS : V6.7
fil: v0.15.1
Système d'exploitation : Windows 7

Commentaire le plus utile

J'ai eu le même problème dans les mêmes circonstances mais j'ai exécuté cette commande yarn config set strict-ssl false et cela a fonctionné.

Tous les 42 commentaires

J'ai le même problème car nous sommes derrière un proxy qui ajoute un SSL auto-signé.

Le même problème se produit lorsque strict-ssl est activé mais que les autorités de certification sont spécifiées manuellement dans .npmrc . Le fil semble ignorer toute la configuration SSL (ou en exige une autre mais je ne l'ai pas trouvé dans la configuration)

ca[]="-----BEGIN CERTIFICATE-----\n..."

J'ai le même problème ici au travail !

ayant le même problème, (j'utilise l'auto-certificat.)

Même problème, définir également le registre sur une variante non-ssl ou sur le registre non-ssl d'origine.npmjs.org n'aide pas.

Derrière un proxy d'entreprise, je rencontre également ce problème.

J'ai exactement la même erreur derrière un proxy d'entreprise :) . J'ai hâte d'avoir un correctif :)

J'ai le même problème, le réseau est derrière le proxy, définissez strict-ssl sur false et configurez également le registre comme non-ssl, ne fonctionne toujours pas. Mieux vaut le réparer au plus vite. Je ne peux pas l'attendre.

Je crois que @TAGraves y travaille en #1025. Je veux vraiment le voir atterrir! ??

PR # 736 ajoutera la prise en charge de cafile, ce qui est un autre moyen de résoudre ce problème, et contrairement à la désactivation de strict-ssl, vous ne serez pas vulnérable aux attaques MITM.

Nous avons fusionné le support pour cafile et strict-ssl , ce problème devrait donc être résolu.

J'ai toujours ce problème avec le fil v0.21.3

Mise à jour : également sur la version nocturne 0.22.0-20170303.1013

J'ai découvert que si je dupliquais le strict-ssl et d'autres configurations de .npmrc dans .yarnrc, les choses commençaient à fonctionner (ou utilisez yarn config set pour ajouter chaque partie). Je ne sais pas pourquoi il ne l'a pas récupéré à partir de .npmrc.

J'ai eu le même problème dans les mêmes circonstances mais j'ai exécuté cette commande yarn config set strict-ssl false et cela a fonctionné.

Oui, c'est ce qui a fonctionné pour moi aussi.

@sylvesteraswin a fait de même et ça a marché, merci

tout est cassé en 0.23.1, la définition du registre sur http et strict-ssl sur false a fonctionné mais maintenant ce n'est pas le cas. J'ai également des problèmes avec l'interception du certificat et c'est pourquoi j'ai besoin de http.

J'ai essayé yarn config set strict-ssl false , mais j'obtiens maintenant "404 Not Found". Mac Sierra, Noeud 8.1.2, fil 0.27.5.

@JesterXL Cela a fonctionné pour moi. Utilisation de la même version v0.27.5

yarn config set strict-ssl false fonctionné pour moi !

npm config set strict-ssl

travaillé pour moi

Assurez-vous simplement que les gens ne copient pas aveuglément le code coller ici : NE PAS DÉSACTIVER LES VÉRIFICATIONS SSL STRICT.

Bon maintenant que j'ai votre attention, si vous savez exactement ce que vous faites et quels risques vous prenez avec cela, vous pouvez. Sinon, ne le faites pas.

Existe-t-il une solution qui n'implique pas de s'exposer aux dangers d'utiliser HTTP ? J'aimerais vraiment pouvoir résoudre ce problème sans avoir à désactiver le SSL strict.

Eh bien, ce serait bien d'utiliser STRICT SSL, mais le problème, ce sont les entreprises qui échangent les certificats. Fondamentalement, ils font plus confiance au grand public qu'à leurs employés. Cependant, il existe une alternative, vous devez obtenir une copie du certificat que l'entreprise échange et définir le cafile sur le chemin du certificat. Ce n'est pas un processus aussi simple qu'il devrait l'être, mais il fonctionne et est sûr. Si cela ne fonctionne pas pour vous, alors vous devez mettre à jour votre version de fil...

@damiandennis Mon entreprise vient de mettre en place un nouveau certificat, alors je l'ai enregistré avec mon ordinateur et ça s'est bien passé pour à peu près tout sauf le fil assez curieusement. je suis sur la 1.1.0

@ snood1205 Même situation. Tout le reste fonctionne bien sauf yarn et pip

Je pense que cela est dû à la façon dont la bibliothèque request nous nous appuyons est architecturée :

strictSSL - si vrai, exige que les certificats SSL soient valides. Remarque : pour utiliser votre propre autorité de certification, vous devez spécifier un agent qui a été créé avec cette autorité en option.

Vous devriez donc pouvoir explicitement ajouter à la liste blanche votre certificat d'entreprise en définissant les valeurs de configuration suivantes dans votre .yarnrc :

  • Californie
  • cafile
  • certificat
  • clé

@BYK C'est une question simple, pardonnez-moi.

Quel est le format pour définir ces valeurs ? ca=~/Code/certs/mycert.crt ?

De plus, il y a un grand avertissement en haut de .yarnrc me disant de ne pas le modifier. ai-je votre permission de le changer quand même ? ??

@ao Profitez de vos téléchargements non déterministes !

yarn config set strict-ssl false fonctionné pour moi. Merci @sylvesteraswin

la commande suivante a fonctionné pour moi:
fil de configuration défini strict-ssl false

@vrajpoot C'est super ! Mais s'il vous plaît ne le publiez pas ici car cela pourrait inciter d'autres personnes imprudentes à désactiver également la sécurité de base et potentiellement télécharger des logiciels malveillants sur leurs ordinateurs.

C'est tout à fait normal d'aimer les logiciels malveillants et d'infecter délibérément votre ordinateur avec eux... mais cela devrait rester un sujet de recherche ou un passe-temps, pas une chose réelle que l'on ferait sur sa machine de travail.

@brandonsturgeon a soulevé des points très valables qui devraient être abordés et les mainteneurs de fil devraient répondre. Il n'est pas le seul à se poser la question.

https://github.com/yarnpkg/yarn/issues/6578

Intéressant, tout le monde dit "ne pas désactiver strict-ssl".
Mais personne n'y parvient jamais.

fil de configuration set strict-ssl false a fonctionné pour moi. Merci

J'ai eu cette erreur lorsque j'ai essayé d'installer le package jquery. Après des tonnes de recherches, il a finalement été trouvé que ni l'un ni l'autre ne devrait définir le strict-ssl sur false ni éditer le fichier .yarnrc . Une approche propre et idéale pour cela est -
$ yarn config set cafile "/physical/path/to/certificate-file.pem" et c'est tout. J'ai réussi à installer jquery sans désactiver SSL après avoir déclenché cette commande.

On peut toujours vérifier la configuration avec le fil avant et après la commande ci-dessus yarn config list et s'assurer si le changement que nous avons fait ci-dessus a eu lieu ou non, ce qui est généralement le cas. :)

@ sandipt27 Je suis désolé qu'il vous ait fallu si longtemps pour trouver le bon chemin. Vous ne les avez pas trouvés probablement parce que :

  1. La documentation yarnrc ne mentionnait pas du tout ce paramètre de configuration secret. La convention de « la fonctionnalité non documentée est expérimentale » ne semble pas tenir pour Yarn.
  2. Même la documentation NPM est trop brève pour être utile. Par exemple, il n'a pas précisé quel type d'extension est effectué, ce qui dépend probablement de la plate-forme. Encore une fois, les gens utilisent depuis longtemps des fonctionnalités non documentées.
  3. En fait, cafile a été mentionné à plusieurs reprises dans ce numéro, mais de plus en plus de personnes envoient simplement du spam « hé, désactiver SSL fonctionne pour moi » sans penser à la sécurité car ils veulent que leur travail soit fait rapidement. Qui a besoin de SSL de toute façon ?

Vous ne pouvez probablement pas réparer 3, et 2 est dans une autre portée, mais peut-être que quelqu'un peut sortir et réparer 1. Si vous proposez une demande de tirage et que vous voulez une deuxième paire d'yeux, je peux probablement vous aider (j'ai des informations générales connaissance de la cryptographie), bien que je ne sois pas en mesure de l'approuver car je ne suis pas un mainteneur.

https://github.com/yarnpkg/yarn/issues/841#issuecomment -559037850
Cela ne fonctionne pas pour moi.

J'ai mis en place un référentiel privé (Verdaccio) avec certificat émetteur local
Et fait le même réglage avec un fichier de certificat chaîné.
Mais Yarn n'a pas réussi à télécharger les packages.

Cela a fonctionné dans NPM sans aucun problème.

@ sandipt27 Je suis désolé qu'il vous ait fallu si longtemps pour trouver le bon chemin. Vous ne les avez pas trouvés probablement parce que :

  1. La documentation yarnrc ne mentionnait pas du tout ce paramètre de configuration secret. La convention de « la fonctionnalité non documentée est expérimentale » ne semble pas tenir pour Yarn.
  2. Même la documentation NPM est trop brève pour être utile. Par exemple, il n'a pas précisé quel type d'extension est effectué, ce qui dépend probablement de la plate-forme. Encore une fois, les gens utilisent depuis longtemps des fonctionnalités non documentées.
  3. En fait, cafile a été mentionné à plusieurs reprises dans ce numéro, mais de plus en plus de personnes envoient simplement du spam « hé, désactiver SSL fonctionne pour moi » sans penser à la sécurité car ils veulent que leur travail soit fait rapidement. Qui a besoin de SSL de toute façon ?

Vous ne pouvez probablement pas réparer 3, et 2 est dans une autre portée, mais peut-être que quelqu'un peut sortir et réparer 1. Si vous proposez une demande de tirage et que vous voulez une deuxième paire d'yeux, je peux probablement vous aider (j'ai des informations générales connaissance de la cryptographie), bien que je ne sois pas en mesure de l'approuver car je ne suis pas un mainteneur.

Vous informera sûrement de l'aide dont vous avez besoin une fois que je passerai à Pull Request pour le résoudre. :)

Je vois la même chose aussi assis derrière un groupe proxy Nexus. Le paramètre de fichier CA est défini à la fois avec NPM et Yarn à ce stade, mais j'obtiens toujours l'erreur.

➜ yarn config list
yarn config v1.21.1
info yarn config
{
  'version-tag-prefix': 'v',
  'version-git-tag': true,
  'version-commit-hooks': true,
  'version-git-sign': false,
  'version-git-message': 'v%s',
  'init-version': '1.0.0',
  'init-license': 'MIT',
  'save-prefix': '^',
  'bin-links': true,
  'ignore-scripts': false,
  'ignore-optional': false,
  registry: 'https://registry.yarnpkg.com',
  'strict-ssl': true,
  'user-agent': 'yarn/1.21.1 npm/? node/v12.14.1 darwin x64',
  cafile: '/Users/XXXXXXX/pml_root_ca.pem',
  email: 'XXXXXXXXXXXXXXX',
  username: 'XXXXXXX'
}
info npm config
{
  '//registry.npmjs.org/:_authToken': XXXXXXXXXXXXXXXXXXXXX',
  cafile: '/Users/XXXXXXX/pml_root_ca.pem',
  registry: 'https://XXXXXXXXXXXXXXXXX/repository/npmjs/',
  '//nexus.pennmutual.com/repository/pml-npmjs/:_authToken': 'XXXXXXXXXXXXXXXXX',
  python: '/usr/bin/python'
}
✨  Done in 0.04s.

cdir-ui on  feature/build_api is 📦 v0.1.0 via ⬢ v12.14.1 
➜ yarn install
yarn install v1.21.1
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz: unable to get local issuer certificate".
info If you think this is a bug, please open a bug report with the information provided in "/Users/XXXXXXX/Projects/cdir-ui/yarn-error.log
cdir-ui on  feature/build_api is 📦 v0.1.0 via ⬢ v12.14.1 

IIUC, une fois que vous avez défini ca ou cafile de quelque manière que ce soit, wire fournit une configuration TLS à Node, _replaçant_ tout nœud de confiance se définirait lui-même.
Au lieu de cela, pour pouvoir utiliser à la fois le magasin de confiance CA du système (#6578) ET une CA supplémentaire, assurez-vous que yarn config list n'affiche aucun ca / cafile configuré, et essayez de les définir env vars :

# Depends how Node was compiled, already default on many Linuxes but can't hurt:
export NODE_OPTIONS=--use-openssl-ca

export NODE_EXTRA_CA_CERTS=/path/to/file.crt
Cette page vous a été utile?
0 / 5 - 0 notes