kesalahan sertifikat pip dan SSL

4

Saya mencoba menginstal perpustakaan melalui pip. Saya memiliki masalah dengan sertifikat SSL, bahkan ketika menggunakan --cert. Mencoba ini di windows (pip versi 1.5.4, python versi 2.7.6):

pip --cert C:\tmp\cacert.pem install robotframework-archivelibrary --proxy http://myproxy

Mendapatkan halaman https://pypi.python.org/simple/robotframework-archivelibrary/ Bisa   tidak mengambil URL https://pypi.python.org/simple/robotframework-archivelibrary/ :   koneksi error: [Kesalahan 1] _ssl.c: 507: error: 14090086: SSL   rutinitas: SSL3_GET_SERVER_CERTIFICATE: verifikasi sertifikat gagal

Ada ide?

empiret
sumber

Jawaban:

7

Saya memiliki pesan kesalahan yang sama karena firewall perusahaan kami mencegat SSL (yaitu proxy SSL transparan). Saya mengekspor root CA cert yang menandatangani sertifikat firewall dalam format .pem dan menambahkannya ke file berikut:

C:\Python27\Lib\site-packages\pip\_vendor\requests\cacert.pem

Itu menyelesaikan masalah saya. Masalah Anda mungkin tidak persis sama, tetapi jika Anda mendapatkan sertifikat CA yang tepat ke cacert.pem di atas, saya yakin Anda dapat melewati kegagalan verifikasi sertifikat SSL.

Craig
sumber
4
Bisakah Anda menguraikan bagaimana cara ekspor CA root?
Eran
Ya, saya tidak jelas di mana root CA diekspor ke mana - apakah kita mengambil CA sumber root repo dan meneruskannya di baris perintah, serta mengekspor ke firewall melalui file cacert.pem di paket situs Python ?
rholmes
Saya mencoba 5 file cacert.pem berbeda di folder python tetapi akhirnya salah satu dari mereka berhasil: C:\Python27\Lib\site-packages\certifi\cacert.pem Salah satu dari mereka juga mendapat kontrak untuk bekerja
endolith
2

Sejak --cert tidak berfungsi untuk Anda, mungkin Anda menggunakan file sertifikat yang salah.

Kemungkinan besar Anda berada di belakang beberapa proksi perusahaan, jadi Anda harus mengekspor sertifikat root dengan membuka URL yang gagal (mis. https://pypi.python.org/simple/robotframework-archivelibrary/, Lihat: Bagaimana cara menyimpan sertifikat server jauh SSL secara lokal sebagai file ).

Jika ada Format CER, ubah menjadi PEM .

Kemudian gunakan file PEM itu, mis.

pip --cert root-cert.pem install robotframework-archivelibrary

Lihat juga: pemasangan pip gagal dengan "kesalahan koneksi: [SSL: CERTIFICATE_VERIFY_FAILED]" .

kenorb
sumber
0

Tambahkan ini ke pip config Anda, yang ada di Windows C:\Users\<user>\pip\pip.ini.

[global]
  trusted-host = pypi.python.org
  proxy = <proxy>:<port>

Temukan proxy Anda dengan mengikuti ini arah.

cmo
sumber