시스템의 OpenSSL이 아닌 수동으로 컴파일된 OpenSSL에 Python을 연결하는 방법

시스템의 OpenSSL이 아닌 수동으로 컴파일된 OpenSSL에 Python을 연결하는 방법

소스에서 OpenSSL을 수동으로 컴파일해야 합니다. Ubuntu 18을 사용합니다. Ubuntu 18과 함께 제공되는 OpenSSL은 필요한 특정 암호를 지원하지 않습니다. 하지만 OpenSSL을 수동으로 컴파일하면 활성화될 수 있습니다. 나는 이것을 찾았다수동. 그러나 Python SSL을 연결하여 OS가 아닌 수동으로 설치된 OpenSSL을 가져오려면 어떻게 해야 합니까?

답변1

기존 Python 설치를 다시 연결할 수 없으며 소스에서 다른 Python 배포판을 빌드해야 합니다. Python을 빌드할 때 CPPFLAGS, LDFLAGSLD_LIBRARY_PATHenv 변수를 조정해야 합니다 . 다음 위치에 사용자 정의 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

관련 정보