Homebrew - Probleme beim Upgrade von openssl?

Ich habe OSX 10.11.

(Hintergrund: Ich habe Probleme, das System mit Python zu installieren, um TLS 1.1 zu verwenden.)

Nach dem, was ich gelesen habe, muss ich Brew verwenden, um Python zu verwalten. Aber ich möchte zuerst openssl aktualisieren, damit Python die richtige Version aufnimmt?

Ich habe Brau-Update, Brau-Upgrade, Brau-Doktor durchgeführt (keine Probleme)

Dann habe ich versucht:

$ brew install openssl
Warning: openssl-1.0.2h_1 already installed
$ brew link openssl --force
Linking /usr/local/Cellar/openssl/1.0.2h_1... 
Error: Could not symlink ../../../opt/openssl/include/openssl/aes.h
/opt/openssl/include/openssl is not writable.
$ brew link --force openssl
Linking /usr/local/Cellar/openssl/1.0.2h_1... 1601 symlinks created

Ich bin mir nicht sicher, ob diese nicht funktioniert haben, aber hier bin ich jetzt:

$ openssl version
OpenSSL 0.9.8zg 14 July 2015
$ which openssl
/usr/local/bin/openssl
$ ls -l /usr/local/bin/openssl
lrwxr-xr-x  1 greg  admin  46 Jun 27 15:23 /usr/local/bin/openssl -> /usr/local/Cellar/openssl/1.0.2h_1/bin/openssl
$ /usr/local/Cellar/openssl/1.0.2h_1/bin/openssl version
OpenSSL 1.0.2h  3 May 2016

Es scheint also, als hätte ich die aktualisierte Openssl-Version installiert, aber bin ich bereit, Python zu brauen, zu installieren, und es wird die richtige Openssl-Version erhalten und mich TLS 1.1 verwenden lassen? (Ist das überhaupt der richtige Ansatz, um TLS 1.1-Unterstützung für Python zu erhalten?)

Etwas ist eindeutig falsch, Sie sollten OpenSSL 1.0.2h 3 May 2016für bekommen openssl version. Was ist die Ausgabe von command -V openssl?
Hmm, nach einem Neustart scheint alles richtig zu funktionieren. Vielleicht deutete irgendetwas auf die alte hin. Ich denke darüber nach, Python manuell zu installieren, anstatt Brew zu verwenden.

Antworten (2)

Lösung, um von der Quelle zu installieren und den Homebrew-Fehler zu umgehen

brew install openssl

-> Warnung: openssl-1.0.2j bereits installiert, es ist nur nicht verlinkt.

brew link openssl

->Warnung: Verknüpfung verweigern: openssl Das Verknüpfen von nur-Keg-openssl bedeutet, dass Sie möglicherweise mit dem unsicheren, veralteten System OpenSSL verknüpfen, während Sie die Header von Homebrews openssl verwenden. Übergeben Sie stattdessen die vollständigen Include-/Bibliothekspfade an Ihren Compiler, z. B.: -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

cd ~/scratch
git clone git@github.com:openssl/openssl.git
cd openssl
sudo mkdir /usr/local/ssl
sudo chmod 777 /usr/local/ssl
./config -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
make
make test
make install

Jetzt werden Sie denken, dass Sie versagt haben. Da OpenSSL jedoch nicht mit Homebrew auf El Capitan 10.11.6 verknüpft wird, müssen Sie Ihr Terminal schließen und es jetzt erneut öffnen

openssl version -a

zeigt an, dass Sie die neue Version verwenden.

Das Ausführen hash -r(oder das Öffnen eines neuen Tabs) funktioniert möglicherweise besser als das Neustarten von Terminal.app
Die makeAusführung der Befehle hat eine Weile gedauert, aber am Ende hat alles wunderbar funktioniert.

Verwendung: git clone git@github.com:openssl/openssl.gitführte zu

Permission denied (publickey).
fatal: Could not read from remote repository.

Ich habe im Internet gestöbert und dann versucht:

git clone git://git.openssl.org/openssl.git

und das hat funktioniert.