Python referenziert alte SSL-Version

8

Ich habe ein Dropbox-Upload-Skript auf einer alten NAS-Box, die ich habe, vor kurzem habe ich den folgenden Fehler bekommen

  

SSL-Zertifikatfehler: [Errno 1] _ssl.c: 504: Fehler: 0D0890A1: asn1-Kodierroutinen: ASN1_verify: unbekannter Nachrichtenauszugsalgorithmus

Ich denke, das liegt daran, dass openssl auf der Box nicht mehr aktuell ist

Also lade ich openssl herunter, erstelle es aus der Quelle und installiere es, jetzt, wenn ich folgendes ausführe, scheint es korrekt zu sein.

%Vor%

Aber es scheint, dass Python immer noch auf eine alte Version verweist, wie würde ich das aktualisieren?

%Vor%     
mburns02 20.06.2014, 09:17
quelle

5 Antworten

5

Siehe Ссылка

Ich habe das gleiche Problem wie Ihres, und deshalb habe ich mehrere Antworten gesucht, aber es hat mir nicht geholfen;

1) Aktualisierung von openssl in Python 2.7

2) Aktualisieren Sie OpenSSL auf OS X mit Homebrew

3) Ссылка

Nach dem Upgrade von openssl auf 1.0.1j durch Homebrew auf MAC, aber System Python bezieht sich immer noch auf die alte Version 0.9.8. Es stellte sich heraus, dass sich die Python auf openssl bezieht. Also ich habe neues python mit gebrautem openssl installiert und dieses problem auf Mac, noch nicht Ubuntu beendet.

Unter Mac OS X Version 10.10 und System Python Version 2.7.6 ist meine Vorgehensweise wie folgt:

  1. $ brew update
  2. $ brew install openssl. Dann können Sie openssl Version 1.0.1j sehen.
  3. $ brew link openssl --force
  4. $ brew install python --mit-gebraut-openssl. Sie müssen neue Python mit gebrühten Openssl installieren. Dann können Sie /usr/local/Cellar/python/2.7.8_2/bin/python sehen.
  5. $ sudo ln -s /usr/local/Cellar/python/2.7.8_2/bin/python/usr/lokal/ bin / python. Natürlich sollte / usr / local / * im Besitz von $ USER sein, nicht root, was von Ryan erzählt wird, aber ich habe 'sudo' benutzt. Und vor dieser Anweisung hatte ich / usr / local / bin / python nicht. Nach dieser Anweisung können Sie Python-Version 2.7.8 nicht 2.7.6.
  6. verwenden

Schließlich können Sie als Unterseiten sehen;

$ python --version

Python 2.7.8

$ python -c "import ssl; drucken ssl.OPENSSL_VERSION"

OpenSSL 1.0.1j 15. Oktober 2014

Bis jetzt arbeite ich daran auf Ubuntu 12.04. Wenn ich eine Lösung für Ubuntu 12.04 habe, werde ich meine Antwort aktualisieren. Ich hoffe dieses Verfahren hilft dir.

    
user2434741 01.12.2014 14:03
quelle
5

Das funktioniert nach einigen Tagen. MAC OS X El Captian oder höher

%Vor%

Installieren Sie nun python und openssl erneut mit brauen.

%Vor%

Fügen Sie dem Pfad in ~ / .bash_profile auf Ihrem MAC Folgendes hinzu:

%Vor%

Starten Sie das Terminal neu

%Vor%

sollte Ihnen die neueste Version der OPEN SSL Version geben

    
Arun Ganesan 19.09.2017 19:38
quelle
1

Ich habe alle obigen Schritte gemacht und immer noch das gleiche Problem bekommen. Ich habe mein Problem gelöst und den folgenden Befehl nach allen in den vorherigen Antworten aufgelisteten hinzugefügt:

%Vor%

Ich hoffe, es hilft jedem:)

    
greenFedoraHat 10.07.2016 20:18
quelle
1

Das hat für mich funktioniert.

%Vor%     
Shafi Ulla 16.06.2016 16:59
quelle
0

2018 auf MacOS
Ich habe es mit den anderen Antworten ohne Erfolg versucht:

  • Die Option --with-brewed-openssl gibt Warning: python: this formula has no --with-brewed-openssl option so it will be ignored!
  • an
  • und der Befehl brew link openssl --force gibt Warning: Refusing to link: openssl

Ich habe es mit

arbeiten lassen %Vor%

Dann

%Vor%

und

%Vor%

gab mir die gleiche OpenSSL-Version.

    
Guglie 24.03.2018 15:44
quelle

Tags und Links