Ich muss OpenSSL manuell aus dem Quellcode kompilieren. Ich verwende Ubuntu 18. Das mit Ubuntu 18 gelieferte OpenSSL unterstützt die von mir benötigte spezielle Verschlüsselung nicht. Es kann jedoch aktiviert werden, wenn ich OpenSSL manuell kompiliere. Ich habe Folgendes gefundenHandbuch. Wie kann ich jedoch Python-SSL verknüpfen, um das manuell installierte OpenSSL zu verwenden und nicht das des Betriebssystems?
Antwort1
Sie können die vorhandene Python-Installation nicht erneut verknüpfen und müssen eine andere Python-Distribution aus dem Quellcode erstellen. Beim Erstellen von Python müssen Sie die Variablen CPPFLAGS
, LDFLAGS
und LD_LIBRARY_PATH
env anpassen. Angenommen, Sie haben das benutzerdefinierte OpenSSL in installiert /path/to/openssl
:
$ cd /path/with/Python/sources/unpacked/
$ export LDFLAGS="-L/path/to/openssl/lib/ -L/path/to/openssl/lib64/"
$ export LD_LIBRARY_PATH="/path/to/openssl/lib/:/path/to/openssl/lib64/"
$ export CPPFLAGS="-I/path/to/openssl/include -I/path/to/openssl/include/openssl"
$ ./configure --prefix=/path/to/custom/python/
$ make
$ make install
Jetzt verwendet Python /path/to/custom/python/
das benutzerdefinierte OpenSSL:
$ /path/to/custom/python/bin/python -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.0h 27 Mar 2018