2016-05-25 9 views
3

Ich verwende einen Firmencomputer unter Windows. Ich habe meinen eigenen Index, der auf einer https-Website gehostet wird. Ich bin mir bewusst, dass ich die Verwendung von https mit trusted-host vermeiden kann. Aber ich wollte es benutzen.Pip Installation fehlgeschlagen SSL: CERTIFICATE_VERIFY_FAILED auf Windows

Ich versuche, Pakete zu installieren, wie folgt:

pip install -i https://pathtoindex/simple/ pkgname 

aber ich bekomme die folgende Fehlermeldung:

Could not fetch URL [...] There was a problem confirming the ssl 
certificate: [SSL: CERTIFICATE_VERIFY_FAILED] 
certificate verify failed (_ssl.c:590) - skipping 

Ich habe auch versuchen .pem Zertifizierungsdatei für meine Domain von Mozilla zum Download , ich habe versucht, den folgenden Befehl ein:

pip --cert dirtocert/cert.pem install -i https://pathtoindex/simple/ pkgname 

das funktioniert auch nicht obwohl, noch bekommen th Derselbe Fehler.

+0

Was ist die .pem-Datei, auf die Sie verweisen? Sie haben die entsprechende CA-Datei für Ihr Zertifikat heruntergeladen? – Daniel

+0

Dies ist, wo ich ein bisschen verschwommen bin, alles, was ich tat, war auf Mozilla gehen und laden Sie es von der https-Website, auf der der PIP-Index gehostet wird. – snowleopard

+0

Können Sie die URL des Index, auf den Sie sich beziehen, posten? Ist es privat? Verwenden Sie ein selbstsigniertes Zertifikat dafür? – Daniel

Antwort

1

Sie benötigen das Zertifikat der Stammzertifizierungsstelle für das von Ihrem Dienst bereitgestellte Zertifikat. Entweder ist es ein selbstsigniertes oder es wird von einem kommerziellen Anbieter bereitgestellt. In beiden Fällen sollte Ihre IT-Abteilung in der Lage sein, das Zertifikat bereitzustellen.

Sie könnten auch OpenSSL verwenden, um einen Blick auf Ihr Zertifikat haben:

openssl s_client -showcerts -connect your-domain.com:443 

(* Alternativ können Sie Ihren Browser für diese verwenden Klicken Sie auf das Schloss in der Adressleiste und wählen Sie ‚Details‘ (. oder etwas ähnliches) ..)

Unter "Serverzertifikat" sollte ein "issuer" -Abschnitt stehen. Wenn der Aussteller Ihr Unternehmen ist, verwenden Sie höchstwahrscheinlich ein selbstsigniertes Zertifikat. Wenn es sich um etwas anderes handelt (z. B. COMODO, StartCom usw.), können Sie ihre Root- oder Intermediate-CA-Zertifikate verwenden.

+0

Ich habe überprüft und der Aussteller ist meine Firma. Allerdings bin ich immer noch nicht in der Lage, es zur Arbeit zu bringen, der Prozess, den Sie beschreiben, scheint dem, was ich oben getan habe, sehr ähnlich zu sein. Gibt es eine Möglichkeit, dass Proxies hier eine Rolle spielen? Vielen Dank. – snowleopard

+0

Aber der Proxy sollte kein Problem sein, da die Website, die den Pip-Index hostet, innerhalb des Intranets liegt, richtig? – snowleopard

+0

Sie können openssl verwenden, um Ihre Verbindung zu testen 'openssl s_client -connect your-domain.tld: 443'. Und 'openssl s_client -connect -CAfile cacert.pem your-domain.tld: 443' um ein CA-Zertifikat zur Verfügung zu stellen. [Hier ist] (https://www.openssl.org/docs/manmaster/apps/s_client.html) ein Link zur vollständigen Dokumentation. – Daniel