Yarn: ローカル発行者証明書を取得できないというエラー

作成日 2016年10月12日  ·  42コメント  ·  ソース: yarnpkg/yarn

やあ

_feature_をリクエストしますか、それとも_bug_を報告しますか?
Bug

現在の動作がバグである場合は、再現する手順を提供してください。

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

期待される動作は何ですか?
依存関係をインストールしたい。
私は何かが足りないのですか(多分)?
ありがとう

node.js、yarn、およびオペレーティングシステムのバージョンをお知らせください。

NodeJS:V6.7
糸:v0.15.1
OS:Windows 7

最も参考になるコメント

同じ状況で同じ問題が発生しましたが、このコマンドyarn config set strict-ssl falseと、機能しました。

全てのコメント42件

自己署名SSLを追加するプロキシの背後にいるため、同じ問題が発生します。

strict-sslが有効になっているが、CAが.npmrcで手動で指定されている場合にも、同じ問題が発生します。 ヤーンはすべてのSSL構成を無視しているようです(または別の構成が必要ですが、構成で見つかりませんでした)

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

ここで同じ問題が発生しています!

同じ問題があります(私は自己証明書を使用しています)。

同じ問題ですが、レジストリを非SSLバリアントまたは元の非SSLレジストリに設定しても役に立ちません。npmjs.orgは役に立ちません。

企業プロキシの背後にあるため、この問題も発生しています。

私は企業プロキシの背後にある同じ正確なエラーを抱えています:)。 修正を待つことはできません:)

私は同じ問題を抱えています、ネットワークはプロキシの後ろにあり、strict-sslをfalseに設定し、レジストリを非SSLとして設定しますが、それでも機能しません。 できるだけ早く修正することをお勧めします。 待ちきれません。

@TAGravesは#1025でこれに取り組んでいると

PR#736は、この問題を解決する別の方法であるcafileのサポートを追加し、strict-sslを無効にするのとは異なり、MITM攻撃に対して脆弱ではありません。

cafilestrict-sslサポートを統合したため、この問題を解決する必要があります。

私はまだyarnv0.21.3でこの問題を抱えています

更新:ナイトリービルドでも0.22.0-20170303.1013

strict-sslおよびその他の構成を.npmrcから.yarnrcに複製すると、動作が開始されることがわかりました(または、 yarn config setを使用して各部分を追加します)。 なぜ.npmrcから取得しなかったのかわかりません。

同じ状況で同じ問題が発生しましたが、このコマンドyarn config set strict-ssl falseと、機能しました。

はい、それは私にとってもうまくいったことです。

@sylvesteraswinも同じことをしました、そしてそれはうまくthx👍

0.23.1ですべて壊れ、レジストリをhttpに、strict-sslをfalseに設定すると機能しましたが、現在は機能していません。 証明書が傍受されることにも問題があり、httpが必要な理由です。

yarn config set strict-ssl falseを試しましたが、「404NotFound」が表示されます。 Mac Sierra、ノード8.1.2、ヤーン0.27.5。

@JesterXLそれは私のために働いた。 同じバージョンv0.27.5を使用

yarn config set strict-ssl falseは私のために働いた!

npm config set strict-ssl

私のために働いた

ここに貼り付けコードをやみくもにコピーしないように注意してください。厳密なSSLチェックを無効にしないでください。

さて、私があなたの注意を引いたので、あなたが正確に何をしているのか、そしてあなたがこれでどのようなリスクを負っているのかを_知っている_なら、あなたはそうするかもしれません。 それ以外の場合は、しないでください。

HTTPを使用することの危険にさらされることを伴わない解決策はありますか? 厳密なSSLを無効にすることなく、これを修正できるようにしたいと思っています。

STRICT SSLを使用するのは素晴らしいことですが、問題は証明書を交換する企業です。実際には、トラフィックをスパイして何か悪いことをしていないことを確認するために、httpを使用しないようにしています。 基本的に彼らは従業員よりも一般大衆を信頼しています。 ただし、別の方法があります。会社が交換している証明書のコピーを取得し、cafileを証明書のパスに設定する必要があります。 これは本来あるべきほど単純なプロセスではありませんが、機能し、安全です。 それがうまくいかない場合は、糸のバージョンをアップグレードする必要があります...

@damiandennis私の会社は新しい証明書を実装したばかりなので、それをコンピューターに登録しました。奇妙なことに、糸以外のほとんどすべてに問題はありませんでした。 私は1.1.0を使用しています

@ snood1205同じ状況。 yarnpipを除いて、他のすべては正常に機能します

これは、私たちが依存しているrequestライブラリがどのように設計されているかによるものだと思います。

strictSSL-trueの場合、SSL証明書が有効である必要があります。 注:独自の認証局を使用するには、そのCAで作成されたエージェントをオプションとして指定する必要があります。

したがって、 .yarnrc次の構成値を設定することで、会社の証明書を明示的にホワイトリストに登録できるはずです。

  • ca
  • cafile
  • 証明書

@BYKこれは簡単な質問です、許してください。

これらの値を設定するための形式は何ですか? ca=~/Code/certs/mycert.crt

また、 .yarnrcの上部に、変更しないようにという大きな免責事項があります。 とにかくそれを変更するあなたの許可がありますか? 😀

@ao非決定論的なダウンロードをお楽しみください!

yarn config set strict-ssl falseは私のために働いた。 ありがとう@sylvesteraswin

次のコマンドは私のために働いた:
ヤーン構成セットstrict-sslfalse

@vrajpootそれは素晴らしいです! ただし、他の不注意な人々をだまして基本的なセキュリティをオフにし、コンピュータにマルウェアをダウンロードする可能性があるため、ここに投稿しないでください。

マルウェアが好きで、故意にコンピューターに感染するのはまったく問題ありませんが、それは研究トピックまたは趣味のことであり、実際に作業用のマシンで行うことではありません。

@brandonsturgeonは、対処すべき非常に有効なポイントを提起し、糸のメンテナが対応する必要があります。 疑問に思っているのは彼だけではありません。

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

興味深いことに、誰もが「strict-sslを無効にしないでください」と言っています。
しかし、誰も成功しません。

ヤーン設定セットstrict-sslfalseは私のために働いた。 ありがとう

jqueryパッケージをインストールしようとすると、このエラーが発生しました。 大量の再調査の結果、 strict-sslfalseたり、 .yarnrcファイルを編集したりしてはならないことが最終的に判明しました。 このためのクリーンで理想的なアプローチは-
$ yarn config set cafile "/physical/path/to/certificate-file.pem"そしてそれだけです。 このコマンドを実行した後、SSLをオフにせずにjqueryを正常にインストールできました。

上記のコマンドyarn config list前後で、yarnを使用して構成をいつでも確認し、上記で行った変更が行われたかどうかを確認できます。これは通常、行われます。 :)

@ sandipt27正しい方法を見つけるのに時間がかかってすみません。 おそらく次の理由でそれらが見つかりませんでした。

  1. yarnrcドキュメントには、この秘密の構成パラメーターについてはまったく触れられていません。 「文書化されていない機能は実験的です」という慣習は、Yarnには当てはまらないようです。
  2. NPMのドキュメントでさえ
  3. 実際、この号ではcafileについて何度か言及されていますが、セキュリティを考えずに「SSLを無効にしてください」とスパムを送信する人が増えています。 とにかくSSLが必要なのは誰ですか?

あなたはおそらく3を修正することはできず、2は別のスコープにありますが、誰かが出てきて1を修正することができるかもしれません。暗号化に関する知識)。ただし、私はメンテナではないため、承認することはできません。

https://github.com/yarnpkg/yarn/issues/841#issuecomment -559037850
それは私にはうまくいきません。

ローカル発行者証明書を使用してプライベートリポジトリ(Verdaccio)を設定しました
そして、チェーン証明書ファイルで同じ設定を行いました。
しかし、Yarnはパッケージのダウンロードに失敗しました。

NPMでは問題なく動作しました。

@ sandipt27正しい方法を見つけるのに時間がかかってすみません。 おそらく次の理由でそれらが見つかりませんでした。

  1. yarnrcドキュメントには、この秘密の構成パラメーターについてはまったく触れられていません。 「文書化されていない機能は実験的です」という慣習は、Yarnには当てはまらないようです。
  2. NPMのドキュメントでさえ
  3. 実際、この号ではcafileについて何度か言及されていますが、セキュリティを考えずに「SSLを無効にしてください」とスパムを送信する人が増えています。 とにかくSSLが必要なのは誰ですか?

あなたはおそらく3を修正することはできず、2は別のスコープにありますが、誰かが出てきて1を修正することができるかもしれません。暗号化に関する知識)。ただし、私はメンテナではないため、承認することはできません。

プルリクエストに移行して修正したら、必要なサポートがあれば必ずお知らせします。 :)

Nexusプロキシグループの後ろに座っているのと同じことがわかります。 この時点で、CAファイル設定はNPMとYarnの両方で設定されていますが、それでもエラーが発生します。

➜ 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、何らかの方法でcaまたはcafileを設定すると、yarnはノードにTLS構成を提供し、任意の信頼ノードがそれ自体を設定します。
代わりに、システムのCAトラストストア(#6578)と追加のCAの両方を使用できるようにするには、 yarn config list ca / cafile構成されていないことを確認し、これらを設定してみてください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
このページは役に立ちましたか?
0 / 5 - 0 評価