Cómo vincular Python al OpenSSL compilado manualmente en lugar del del sistema

Cómo vincular Python al OpenSSL compilado manualmente en lugar del del sistema

Necesito compilar OpenSSL manualmente desde la fuente. Utilizo Ubuntu 18. OpenSSL incluido con Ubuntu 18 no admite el cifrado específico que necesito. Pero se puede habilitar si compilo OpenSSL manualmente. encontré estomanual. Sin embargo, ¿cómo puedo vincular Python SSL para tomar el OpenSSL instalado manualmente y no el del sistema operativo?

Respuesta1

No puede volver a vincular la instalación de Python existente y necesita crear otra distribución de Python desde el código fuente. Al construir Python, necesita adaptar CPPFLAGSy env variables. Suponiendo que instaló el OpenSSL personalizado en :LDFLAGSLD_LIBRARY_PATH/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

Ahora Python /path/to/custom/python/utilizará el OpenSSL personalizado:

$ /path/to/custom/python/bin/python -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.0h  27 Mar 2018

información relacionada