Como ligar o python ao OpenSSL compilado manualmente em vez do sistema

2

Eu 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 codificação específica que eu preciso. Mas pode ser ativado se eu compilar o OpenSSL manualmente. Eu encontrei este manual . No entanto, como posso vincular o python ssl para obter o OpenSSL instalado manualmente e não o SO?

    
por user9371654 04.08.2018 / 17:48

1 resposta

1

Você não pode revincular a instalação existente do Python e precisar construir outra distribuição do Python a partir do código-fonte. Ao construir o Python, você precisa adaptar as variáveis CPPFLAGS , 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 em /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
    
por 05.08.2018 / 16:20