Так как у меня нет никакого полезного ответа, чтобы решить эту проблему, я хотел бы поделиться тем, что я сделал по этому вопросу.
Сначала вы должны получить инструменты для сборки программного обеспечения и зависимостей для OpenSSL (например, на Debian-подобных дистрибутивах).
apt install build-essential make zlib1g-dev libxml2-dev
Затем получите последний выпуск OpenSSL, проверьте подпись и скомпилируйте ее с опцией enable-weak-ssl-ciphers
, если вы хотите восстановить поддержку устаревшего SSLv3 для GOD D ** N Microsoft IE6, enable-ssl3
и enable-ssl3-method
также должен быть добавлен к опции компиляции.
Не забывайте shared
флаг или libssl.so
и libcrypto.so
не будут собраны , и используйте -Wl,-rpath=
чтобы указать компоновщику (ld
) связать совместно используемые библиотеки с каким каталогом.
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
sha256sum openssl-1.0.2o.tar.gz
curl https://www.openssl.org/source/openssl-1.0.2o.tar.gz.sha256
tar -zxvf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o/
./config --prefix=/opt/openssl-1.0.2 \
--openssldir=/etc/ssl \
shared enable-weak-ssl-ciphers \
-Wl,-rpath=/opt/openssl-1.0.2/lib
make
make install
После этого ваша пользовательская версия OpenSSL будет установлена в /opt/openssl-1.0.2
(а не на версию, поставляемую с вашей ОС).
Ваши приложения также могут быть перекомпилированы, с этими параметрами, чтобы заставить компоновщик связать вашу пользовательскую версию библиотек OpenSSL (переопределите конфигурацию из /etc/ld.so.conf
или переменной PKGCONFIG
)
LDFLAGS="-L/opt/openssl-1.0.2/lib -lssl -lcrypto -Wl,-rpath=/opt/openssl-1.0.2/lib"
Вы также можете попробовать OpenSSL 1.1.0, так как большинство приложений теперь поддерживают его API.