Мне нужно вручную скомпилировать OpenSSL из исходного кода. Я использую Ubuntu 18. OpenSSL, поставляемый с Ubuntu 18, не поддерживает нужный мне шифр. Но это может быть включено, если я скомпилирую OpenSSL вручную. Я нашел это руководство. Однако, как я могу связать Python SSL, чтобы взять установленный вручную OpenSSL, а не ОС?
1 ответ
1
Вы не можете связать существующую установку Python, и вам нужно собрать еще один дистрибутив Python из исходного кода. При сборке Python вам необходимо адаптировать переменные env CPPFLAGS
, LDFLAGS
и LD_LIBRARY_PATH
. Предполагая, что вы установили пользовательский OpenSSL в /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
Теперь Python в /path/to/custom/python/
будет использовать пользовательский OpenSSL:
$ /path/to/custom/python/bin/python -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.0h 27 Mar 2018