Preciso compilar manualmente o OpenSSL a partir do código-fonte. Eu uso o Ubuntu 18. O OpenSSL fornecido com o Ubuntu 18 não suporta a cifra específica que preciso. Mas pode ser habilitado se eu compilar o OpenSSL manualmente. Eu achei istomanual. No entanto, como posso vincular o python ssl para usar o OpenSSL instalado manualmente e não o sistema operacional?
Responder1
Você não pode vincular novamente a instalação existente do Python e precisa construir outra distribuição do Python a partir do código-fonte. Ao construir Python, você precisa adaptar CPPFLAGS
variáveis LDFLAGS
e LD_LIBRARY_PATH
env. Supondo que você instalou o OpenSSL personalizado em /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
Agora o Python /path/to/custom/python/
usará o OpenSSL personalizado:
$ /path/to/custom/python/bin/python -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.0h 27 Mar 2018