Как включить функции EVP в openssl?

Я пытаюсь обновить свой веб-сервер до последней версии openssl с патчем heartbleed ( 1.0.1g). Я взял тарбол с openssl.org. Сказал обычный ./configure; make; make install, Должен был сказать config shared чтобы получить.so файл (по умолчанию он генерирует только.a). Обновлена ​​ссылка в /usr/lib64, чтобы указывать на новый.so -

Теперь httpd не запускается со следующей жалобой:

/usr/sbin/httpd: symbol lookup error: /usr/lib64/libssl.so.1: undefined symbol: EVP_idea_cbc

nm -g | grep idea говорит: U EVP_idea_cbc

... так что он знает о символе, но символ не определен.

Документация Openssl говорит, что они отключают IDEA по умолчанию из-за патента (срок действия которого истек в 2012 году). Они подробно рассказывают о том, как его отключить, а не о том, как его включить. Кроме того, они говорят, что он отключен по умолчанию.

Apache httpd требует символ и не запустится без него.

Я попытался сказать "config shared enable-idea", и скрипт config доволен, но после сборки символ все еще не определен. Я передал результаты сборки в файл, и файлы крипто / идеи компилируются.

КАЖДЫЙ символ, начинающийся с EVP_* не определено... Они также не определены в libssl.a... Так, может, я лаю не на том дереве ИДЕИ?

Так что мой вопрос становится - как мне включить эти EVP_* символы?

1 ответ

Я решил это. Проблема была проста. Эти символы действительно не определены в libssl.so (или же .a). Они на самом деле определены в libcrypto.so, Я не получал новый libcrypto.so так как....

... Новый архив openssl устанавливает свои выходные данные по умолчанию в /usr/local/ssl, Это настраивается, но он действительно хочет установить ВСЕ вещи ssl (включая библиотеки) в /something/something/ssl, Так что у тебя есть /something/something/ssl/lib, /something/something/ssl/bin и т.п.

Итак, когда я сказал make install, он создал /usr/local/ssl со всеми хорошими вещами в этом. Я сделал символическую ссылку в /usr/lib64 from openssl.so.1.0.0 -> /usr/local/etc/ssl/lib/openssl.so.1.0.0. Но я не понимал, что мне нужно сделать то же самое для libcrypto.so, так что еще остались старые вещи.

Так что я использовал новый libssl.soи старый libcrypto.so, Плохой моджо

Другие вопросы по тегам