Yarn: Fehler lokales Ausstellerzertifikat kann nicht abgerufen werden

Erstellt am 12. Okt. 2016  ·  42Kommentare  ·  Quelle: yarnpkg/yarn

Hi

Möchten Sie ein _Feature_ anfordern oder einen _Bug_ melden?
Bug

Wenn das aktuelle Verhalten ein Fehler ist, geben Sie bitte die Schritte zum Reproduzieren an.

λ 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.

Was ist das erwartete Verhalten?
Ich möchte meine Abhängigkeiten installieren.
Übersehe ich etwas (vielleicht)?
Vielen Dank

Bitte geben Sie Ihre node.js-, Garn- und Betriebssystemversion an.

NodeJS: V6.7
Garn: v0.15.1
Betriebssystem: Windows 7

Hilfreichster Kommentar

Ich hatte das gleiche Problem unter den gleichen Umständen, aber ich habe diesen Befehl yarn config set strict-ssl false und es hat funktioniert.

Alle 42 Kommentare

Ich habe das gleiche Problem, weil wir hinter einem Proxy stehen, der selbstsigniertes SSL hinzufügt.

Das gleiche Problem tritt auf, wenn strict-ssl aktiviert ist, aber Zertifizierungsstellen manuell in .npmrc . Yarn scheint alle SSL-Konfigurationen zu ignorieren (Oder benötigte eine andere, aber ich konnte sie nicht in der Konfiguration finden)

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

Habe das gleiche Problem hier bei der Arbeit!

habe das gleiche Problem (ich verwende ein Selbstzertifikat.)

Das gleiche Problem, auch das Einstellen der Registrierung auf eine Nicht-SSL-Variante oder die ursprüngliche Nicht-Ssl-Registry.npmjs.org hilft nicht.

Hinter einem Unternehmens-Proxy läuft also auch dieses Problem.

Ich habe genau den gleichen Fehler hinter einem Unternehmensproxy :) . Kann es kaum erwarten, dass es behoben wird :)

Ich habe das gleiche Problem, das Netzwerk befindet sich hinter dem Proxy, setze strict-ssl auf false und konfiguriere auch die Registrierung als Nicht-Ssl, funktioniert immer noch nicht. Besser so schnell wie möglich beheben. Kann es kaum erwarten.

Ich glaube, @TAGraves arbeitet daran in #1025. Ich will es wirklich landen sehen! 👍

PR #736 fügt Unterstützung für cafile hinzu, was eine weitere Möglichkeit ist, dieses Problem zu lösen, und im Gegensatz zum Deaktivieren von strict-ssl sind Sie nicht anfällig für MITM-Angriffe.

Wir haben den Support für cafile und strict-ssl sodass dieses Problem behoben sein sollte.

Ich habe immer noch dieses Problem mit Garn v0.21.3

Update: Auch auf Nightly build 0.22.0-20170303.1013

Ich habe festgestellt, dass, wenn ich die strikte SSL- und andere Konfiguration von .npmrc in .yarnrc dupliziert habe, die Dinge funktionieren (oder verwenden Sie yarn config set , um jeden Teil hinzuzufügen). Ich bin mir nicht sicher, warum es nicht von .npmrc abgeholt wurde.

Ich hatte das gleiche Problem unter den gleichen Umständen, aber ich habe diesen Befehl yarn config set strict-ssl false und es hat funktioniert.

Ja, das hat bei mir auch funktioniert.

@sylvesteraswin hat das gleiche gemacht und es hat funktioniert, thx

alles kaputt in 0.23.1, das Setzen der Registry auf http und strict-ssl auf false funktionierte, aber jetzt funktioniert es nicht. Ich habe auch Probleme mit dem abgefangenen Zertifikat und deshalb brauche ich http.

Ich habe yarn config set strict-ssl false versucht, bekomme aber jetzt "404 Not Found". Mac Sierra, Knoten 8.1.2, Garn 0.27.5.

@JesterXL Es hat bei mir funktioniert. Verwenden der gleichen Version v0.27.5

yarn config set strict-ssl false hat bei mir funktioniert!

npm config set strikt-ssl

hat bei mir funktioniert

Stellen Sie nur sicher, dass die Leute hier nicht blind den Code kopieren: Deaktivieren Sie keine strengen SSL-Prüfungen.

Okay, jetzt habe ich Ihre Aufmerksamkeit, wenn Sie _wissen_, was Sie genau tun und welche Risiken Sie damit eingehen, können Sie das tun. Ansonsten einfach nicht.

Gibt es eine Lösung, bei der Sie sich nicht den Gefahren der Verwendung von HTTP aussetzen? Ich würde wirklich gerne in der Lage sein, dies zu beheben, ohne striktes SSL deaktivieren zu müssen.

Es wäre großartig, STRICT SSL zu verwenden, aber das Problem sind die Unternehmen, die die Zertifikate austauschen. Grundsätzlich vertrauen sie der Öffentlichkeit mehr als ihren Mitarbeitern. Es gibt jedoch eine Alternative, Sie müssen sich eine Kopie des Zertifikats besorgen, das das Unternehmen austauscht, und das Cafile auf den Pfad des Zertifikats setzen. Dies ist nicht so einfach, wie es sein sollte, aber es funktioniert und ist sicher. Wenn es bei Ihnen nicht funktioniert, müssen Sie Ihre Garnversion aktualisieren ...

@damiandennis Meine Firma hat gerade ein neues Zertifikat implementiert, also habe ich es mit meinem Computer registriert und es war seltsamerweise für so ziemlich alles außer Garn in Ordnung. Ich bin auf 1.1.0

@snood1205 Gleiche Situation. Alles andere funktioniert einwandfrei außer yarn und pip

Ich denke, das liegt an der Architektur der request Bibliothek, auf die wir uns verlassen:

strictSSL - Wenn wahr, erfordert es, dass SSL-Zertifikate gültig sind. Hinweis: Um Ihre eigene Zertifizierungsstelle zu verwenden, müssen Sie optional einen Agenten angeben, der mit dieser CA erstellt wurde.

Sie sollten also in der Lage sein, Ihr Unternehmenszertifikat explizit auf die Whitelist zu setzen, indem Sie die folgenden Konfigurationswerte in Ihrem .yarnrc festlegen:

  • ca
  • cafile
  • zertifikat
  • Schlüssel

@BYK Dies ist eine einfache Frage, verzeih mir.

In welchem ​​Format werden diese Werte festgelegt? ca=~/Code/certs/mycert.crt ?

Außerdem gibt es oben in .yarnrc einen großen Haftungsausschluss, der mich auffordert, ihn nicht zu ändern. Habe ich Ihre Erlaubnis, es trotzdem zu ändern? 😀

@ao Viel Spaß mit deinen nicht deterministischen Downloads!

yarn config set strict-ssl false hat bei mir funktioniert. Danke @sylvesteraswin

folgender Befehl hat bei mir funktioniert:
Garnkonfigurationssatz strikt-ssl false

@vrajpoot Das ist großartig! Aber bitte posten Sie es nicht hier, da es andere unvorsichtige Personen dazu verleiten könnte, ebenfalls die grundlegende Sicherheit zu deaktivieren und möglicherweise Malware auf ihre Computer herunterzuladen.

Es ist völlig in Ordnung, Malware zu mögen und Ihren Computer absichtlich damit zu infizieren .... aber es sollte als Forschungsthema oder Hobby bleiben und nicht eine tatsächliche Sache, die man auf seinem Arbeitsgerät tun würde.

@brandonsurgeon hat sehr gültige Punkte angesprochen, die angesprochen werden sollten, und die

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

Interessanterweise sagen alle "Strict-Ssl nicht deaktivieren".
Aber es gelingt nie jemandem.

Garn config set strict-ssl false hat bei mir funktioniert. Vielen Dank

Ich habe diesen Fehler erhalten, als ich versuchte, das jquery-Paket zu installieren. Nach unzähligen Recherchen fand man schließlich heraus, dass man weder strict-ssl auf false noch die Datei .yarnrc bearbeiten sollte. Ein sauberer und idealer Ansatz dafür ist -
$ yarn config set cafile "/physical/path/to/certificate-file.pem" und das war's. Ich konnte jquery erfolgreich installieren, ohne SSL nach dem Auslösen dieses Befehls zu deaktivieren.

Man kann immer die Konfiguration mit Garn vor und nach dem obigen Befehl yarn config list überprüfen und sicherstellen, ob die oben vorgenommene Änderung stattgefunden hat oder nicht, was im Allgemeinen der Fall ist. :)

@sandipt27 Es tut mir leid, dass du so lange

  1. Die yarnrc Dokumentation erwähnte diesen geheimen Konfigurationsparameter überhaupt nicht. Die Konvention "undokumentierte Funktion ist experimentell" scheint für Yarn nicht zu gelten.
  2. Selbst die NPM-Dokumentation ist zu kurz, um nützlich zu sein. Zum Beispiel wurde nicht angegeben, welche Art von Erweiterung durchgeführt wird, was wahrscheinlich plattformabhängig ist. Auch hier verwenden die Leute seit langem undokumentierte Funktionen.
  3. Tatsächlich wurde cafile in dieser Ausgabe mehrmals erwähnt, aber immer mehr Leute spammen einfach "Hey SSL deaktivieren funktioniert für mich", ohne an die Sicherheit zu denken, weil sie ihre Arbeit schnell erledigen wollen. Wer braucht schon SSL?

Sie können 3 wahrscheinlich nicht reparieren, und 2 ist in einem anderen Bereich, aber vielleicht kann jemand herauskommen und 1 beheben Kenntnisse über Kryptographie), obwohl ich dies nicht genehmigen kann, da ich kein Betreuer bin.

https://github.com/yarnpkg/yarn/issues/841#issuecomment -559037850
Bei mir funktioniert es nicht.

Ich habe ein privates Repository (Verdaccio) mit lokalem Ausstellerzertifikat eingerichtet
Und die gleiche Einstellung mit einer verketteten Zertifikatsdatei gemacht.
Yarn konnte die Pakete jedoch nicht herunterladen.

In NPM hat es ohne Probleme funktioniert.

@sandipt27 Es tut mir leid, dass du so lange

  1. Die yarnrc Dokumentation erwähnte diesen geheimen Konfigurationsparameter überhaupt nicht. Die Konvention "undokumentierte Funktion ist experimentell" scheint für Yarn nicht zu gelten.
  2. Selbst die NPM-Dokumentation ist zu kurz, um nützlich zu sein. Zum Beispiel wurde nicht angegeben, welche Art von Erweiterung durchgeführt wird, was wahrscheinlich plattformabhängig ist. Auch hier verwenden die Leute seit langem undokumentierte Funktionen.
  3. Tatsächlich wurde cafile in dieser Ausgabe mehrmals erwähnt, aber immer mehr Leute spammen einfach "Hey SSL deaktivieren funktioniert für mich", ohne an die Sicherheit zu denken, weil sie ihre Arbeit schnell erledigen wollen. Wer braucht schon SSL?

Sie können 3 wahrscheinlich nicht reparieren, und 2 ist in einem anderen Bereich, aber vielleicht kann jemand herauskommen und 1 beheben Kenntnisse über Kryptographie), obwohl ich dies nicht genehmigen kann, da ich kein Betreuer bin.

Ich werde Sie sicherlich über Ihre benötigte Hilfe informieren, sobald ich mich in Richtung Pull Request bewege, um das Problem zu beheben. :)

Ich sehe das gleiche auch hinter einer Nexus-Proxy-Gruppe. Die CA-Dateieinstellung ist zu diesem Zeitpunkt sowohl mit NPM als auch mit Yarn festgelegt, aber ich erhalte immer noch den Fehler.

➜ 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, sobald Sie ca oder cafile in irgendeiner Weise festgelegt haben, stellt Garn eine TLS-Konfiguration für Node bereit und _ersetzt_ jeden Vertrauensknoten, den sich selbst setzen würde.
Um stattdessen sowohl den CA-Truststore des Systems (#6578) als auch eine zusätzliche CA verwenden zu können, stellen Sie sicher, dass in yarn config list kein ca / cafile konfiguriert ist, und versuchen Sie, diese Einstellungen festzulegen 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
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen