Yarn: kesalahan tidak bisa mendapatkan sertifikat penerbit lokal

Dibuat pada 12 Okt 2016  ·  42Komentar  ·  Sumber: yarnpkg/yarn

Hai

Apakah Anda ingin meminta _fitur_ atau melaporkan _bug_?
Bug

Jika perilaku saat ini adalah bug, berikan langkah-langkah untuk mereproduksi.

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

Apa perilaku yang diharapkan?
Saya ingin menginstal dependensi saya.
Apakah saya melewatkan sesuatu (mungkin)?
Terima kasih

Sebutkan versi node.js, benang, dan sistem operasi Anda.

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

Komentar yang paling membantu

Saya memiliki masalah yang sama dalam situasi yang sama tetapi saya menjalankan perintah ini yarn config set strict-ssl false dan berhasil.

Semua 42 komentar

Saya memiliki masalah yang sama karena kami berada di belakang proxy yang menambahkan ssl yang ditandatangani sendiri.

Masalah yang sama terjadi ketika strict-ssl diaktifkan tetapi CA ditentukan secara manual di .npmrc . Benang tampaknya mengabaikan semua konfigurasi SSL (Atau memerlukan yang berbeda tetapi saya tidak dapat menemukannya di konfigurasi)

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

Memiliki masalah yang sama di sini di tempat kerja!

memiliki masalah yang sama, (saya menggunakan sertifikat mandiri.)

Masalah yang sama, juga mengatur registri ke varian non-ssl atau registry.npmjs.org non-ssl asli tidak membantu.

Di belakang proxy perusahaan jadi mengalami masalah ini juga.

Saya mengalami kesalahan yang sama persis di belakang proxy perusahaan :) . Tidak sabar menunggu perbaikan :)

Saya memiliki masalah yang sama, jaringan di belakang proxy, atur strict-ssl ke false dan juga konfigurasikan registri sebagai non-ssl, masih tidak berfungsi. Lebih baik memperbaikinya sesegera mungkin. Tidak bisa menunggu.

Saya yakin @TAGraves sedang mengerjakan ini di #1025. Saya benar-benar ingin melihatnya mendarat! 👍

PR #736 akan menambahkan dukungan untuk cafile, yang merupakan cara lain untuk mengatasi masalah ini, dan tidak seperti menonaktifkan strict-ssl, Anda tidak akan rentan terhadap serangan MITM.

Kami telah menggabungkan dukungan untuk cafile dan strict-ssl sehingga masalah ini harus diselesaikan.

Saya masih mengalami masalah ini dengan benang v0.21.3

Pembaruan: Juga pada build malam 0.22.0-20170303.1013

Saya menemukan bahwa jika saya menggandakan strict-ssl dan konfigurasi lainnya dari .npmrc ke .yarnrc maka semuanya mulai berfungsi (atau gunakan yarn config set untuk menambahkan setiap bagian). Saya tidak yakin mengapa itu tidak mengambilnya dari .npmrc.

Saya memiliki masalah yang sama dalam situasi yang sama tetapi saya menjalankan perintah ini yarn config set strict-ssl false dan berhasil.

Ya, itu juga yang berhasil untuk saya.

@sylvesteraswin melakukan hal yang sama dan berhasil, thx 👍

semua rusak di 0.23.1, mengatur registri ke http dan strict-ssl ke false berfungsi tetapi sekarang tidak. Saya juga memiliki masalah dengan sertifikat yang dicegat dan itulah sebabnya saya membutuhkan http.

Saya mencoba yarn config set strict-ssl false , tetapi sekarang saya mendapatkan "404 Not Found". Mac Sierra, Node 8.1.2, benang 0.27.5.

@JesterXL Ini berhasil untuk saya. Menggunakan versi yang sama v0.27.5

yarn config set strict-ssl false berhasil untuk saya!

npm config set ketat-ssl

bekerja untuk saya

Hanya memastikan orang tidak membabi buta menyalin kode tempel di sini: JANGAN NONAKTIFKAN PEMERIKSAAN SSL KETAT.

Oke sekarang saya mendapat perhatian Anda, jika Anda _tahu_ apa sebenarnya yang Anda lakukan dan risiko apa yang Anda ambil dengan ini, Anda boleh melakukannya. Jika tidak, jangan.

Apakah ada solusi yang tidak melibatkan mengekspos diri Anda pada bahaya menggunakan HTTP? Saya sangat ingin dapat memperbaikinya tanpa harus menonaktifkan SSL yang ketat.

Akan sangat bagus untuk menggunakan SSL STRICT tetapi masalahnya adalah perusahaan yang menukar sertifikat, mereka sebenarnya mempersulit untuk tidak menggunakan http hanya agar mereka dapat memata-matai lalu lintas kami untuk memastikan kami tidak melakukan sesuatu yang buruk. Pada dasarnya mereka mempercayai masyarakat umum lebih dari karyawan mereka. Namun ada alternatif, Anda perlu mendapatkan salinan sertifikat yang ditukar perusahaan dan mengatur cafile ke jalur sertifikat. Ini bukan proses yang sederhana seperti yang seharusnya tetapi berhasil dan aman. Jika itu tidak berhasil untuk Anda, maka Anda perlu memutakhirkan versi benang Anda ...

@damiandennis Perusahaan saya baru saja menerapkan sertifikat baru, jadi saya mendaftarkannya dengan komputer saya dan itu baik-baik saja untuk hampir semua hal selain benang cukup aneh. saya di 1.1.0

@ snood1205 Situasi yang sama. Semua yang lain berfungsi dengan baik kecuali untuk yarn dan pip

Saya pikir ini karena bagaimana perpustakaan request kami andalkan dirancang:

strictSSL - jika benar, memerlukan sertifikat SSL agar valid. Catatan: untuk menggunakan otoritas sertifikat Anda sendiri, Anda perlu menentukan agen yang dibuat dengan CA tersebut sebagai opsi.

Jadi, Anda harus dapat secara eksplisit memasukkan sertifikat perusahaan Anda ke daftar putih dengan menetapkan nilai konfigurasi berikut di .yarnrc :

  • ca
  • kafe
  • sertifikat
  • kunci

@BYK Ini adalah pertanyaan sederhana, maafkan saya.

Apa format untuk menetapkan nilai-nilai ini? ca=~/Code/certs/mycert.crt ?

Juga, ada penafian besar di bagian atas .yarnrc memberi tahu saya untuk tidak mengubahnya. apakah saya memiliki izin Anda untuk mengubahnya? 😀

@ao Nikmati

yarn config set strict-ssl false bekerja untuk saya. Terima kasih @sylvesteraswin

perintah berikut bekerja untuk saya:
konfigurasi benang set strict-ssl false

@vrajpoot Itu bagus! Tapi tolong jangan posting di sini karena dapat mengelabui orang lain yang tidak berhati-hati untuk juga mematikan keamanan dasar dan berpotensi mengunduh malware di komputer mereka.

Tidak apa-apa untuk menyukai malware dan dengan sengaja menginfeksi komputer Anda dengannya.... tetapi itu harus tetap sebagai topik penelitian atau hobi, bukan hal yang sebenarnya akan dilakukan pada mesin kerja mereka.

@brandonsturgeon telah mengemukakan poin yang sangat valid yang harus ditangani dan pengelola benang harus merespons. Dia bukan satu-satunya yang bertanya-tanya.

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

Menarik, semua orang mengatakan "jangan nonaktifkan strict-ssl".
Tapi tidak ada yang pernah berhasil.

yarn config set strict-ssl false bekerja untuk saya. Terima kasih

Saya mendapatkan kesalahan ini ketika saya mencoba menginstal paket jquery. Setelah banyak pencarian ulang akhirnya menemukan bahwa Tidak ada yang harus mengatur strict-ssl ke false atau mengedit file .yarnrc . Pendekatan bersih dan ideal untuk ini adalah -
$ yarn config set cafile "/physical/path/to/certificate-file.pem" dan hanya itu. Saya berhasil menginstal jquery tanpa mematikan SSL setelah menjalankan perintah ini.

Seseorang selalu dapat memeriksa konfigurasi dengan benang sebelum dan sesudah perintah di atas yarn config list dan memastikan apakah perubahan yang kita buat di atas telah terjadi atau tidak, yang umumnya memang demikian. :)

@sandipt27 Maaf Anda butuh waktu lama untuk menemukan cara yang benar. Anda tidak menemukannya mungkin karena:

  1. Dokumentasi yarnrc tidak menyebutkan parameter konfigurasi rahasia ini sama sekali. Konvensi "fitur tidak berdokumen adalah eksperimental" tampaknya tidak berlaku untuk Benang.
  2. Bahkan dokumentasi NPM terlalu singkat untuk berguna. Misalnya, itu tidak menentukan jenis ekspansi apa yang dilakukan, yang mungkin bergantung pada platform. Sekali lagi, orang-orang telah lama menggunakan fitur tidak berdokumen.
  3. Sebenarnya cafile telah disebutkan beberapa kali dalam masalah ini, tetapi lebih banyak orang hanya mengirim spam "hei nonaktifkan SSL berfungsi untuk saya" tanpa memikirkan keamanan karena mereka ingin pekerjaan mereka cepat selesai. Siapa yang membutuhkan SSL?

Anda mungkin tidak dapat memperbaiki 3, dan 2 dalam lingkup lain, tetapi mungkin seseorang dapat keluar dan memperbaiki 1. Jika Anda membuat Permintaan Tarik dan menginginkan sepasang mata kedua, saya mungkin dapat membantu (saya memiliki beberapa pengetahuan tentang kriptografi), meskipun saya tidak dapat menyetujuinya karena saya bukan pengelola.

https://github.com/yarnpkg/yarn/issues/841#issuecomment -559037850
Ini tidak bekerja untuk saya.

Saya menyiapkan repositori pribadi (Verdaccio) dengan sertifikat penerbit lokal
Dan membuat pengaturan yang sama dengan file sertifikat yang dirantai.
Tetapi Benang gagal mengunduh paket.

Ini bekerja di NPM tanpa masalah.

@sandipt27 Maaf Anda butuh waktu lama untuk menemukan cara yang benar. Anda tidak menemukannya mungkin karena:

  1. Dokumentasi yarnrc tidak menyebutkan parameter konfigurasi rahasia ini sama sekali. Konvensi "fitur tidak berdokumen adalah eksperimental" tampaknya tidak berlaku untuk Benang.
  2. Bahkan dokumentasi NPM terlalu singkat untuk berguna. Misalnya, itu tidak menentukan jenis ekspansi apa yang dilakukan, yang mungkin bergantung pada platform. Sekali lagi, orang-orang telah lama menggunakan fitur tidak berdokumen.
  3. Sebenarnya cafile telah disebutkan beberapa kali dalam masalah ini, tetapi lebih banyak orang hanya mengirim spam "hei nonaktifkan SSL berfungsi untuk saya" tanpa memikirkan keamanan karena mereka ingin pekerjaan mereka cepat selesai. Siapa yang membutuhkan SSL?

Anda mungkin tidak dapat memperbaiki 3, dan 2 dalam lingkup lain, tetapi mungkin seseorang dapat keluar dan memperbaiki 1. Jika Anda membuat Permintaan Tarik dan menginginkan sepasang mata kedua, saya mungkin dapat membantu (saya memiliki beberapa pengetahuan tentang kriptografi), meskipun saya tidak dapat menyetujuinya karena saya bukan pengelola.

Pasti akan memberi tahu Anda untuk bantuan yang Anda butuhkan setelah saya beralih ke Pull Request untuk memperbaikinya. :)

Saya melihat hal yang sama juga duduk di belakang grup proxy Nexus. Pengaturan file CA diatur dengan NPM dan Benang pada saat ini, tetapi saya masih mendapatkan kesalahan.

➜ 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, setelah Anda menetapkan ca atau cafile dengan cara apa pun, yarn menyediakan konfigurasi TLS ke Node, _replaceing_ kepercayaan apa pun yang akan ditetapkan oleh Node sendiri.
Sebagai gantinya, untuk dapat menggunakan CA trust store kedua sistem (#6578) DAN CA tambahan, pastikan yarn config list tidak menunjukkan ca / cafile dikonfigurasi, dan coba atur ini 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
Apakah halaman ini membantu?
0 / 5 - 0 peringkat