Всем привет
Установил вручную методом make install в систему openssl.
как правильно указать системе месторасположение новоустановленной openssl в каталоге /usr/local/ssl?
В системе по умолчанию была установлена штатная openssl и базируется она в /usr/lib/ssl
в результате система использует штатную, а новую нет.
спасибо.
> Установил вручную методом make install в систему openssl.В какую "систему"? Нахрена?
> Всем привет
> Установил вручную методом make install в систему openssl.
> как правильно указать системеПравильно + системе = не использовать "метод make install"
> Всем привет
> Установил вручную методом make install в систему openssl.
> как правильно указать системе месторасположение новоустановленной openssl в каталоге
> /usr/local/ssl?
> В системе по умолчанию была установлена штатная openssl и базируется она в
> /usr/lib/ssl
> в результате система использует штатную, а новую нет.
> спасибо.для того чтобы заставить систему использовать новые библиотеки(не факт что системные собранные пакеты будут правильно работать с новой библиотекой), вам нужно просто сделать ссылку /usr/lib/ssl на /usr/local/ssl или же при компиляции openssl и установки указывать --prefix (не желательно чтобы не переписывать системную openssl)
Здравствуйте Эрик.
спасибо за адекватную реакцию. отвечаю сразу на все вопросы в ветке:
1. система debian 8
2. Да согласен, можно конечно собрать deb пакет, в продакшине я так и поступлю, но на суть проблемы это не повлияет.
3. openssl ставлю патченую т.к. потребовалась поддержка шифрования dstu4145
4. --prefix прописывать при установке думаю не нужно, т.к. оно при ручной установке и так ставится в каталог /usr/local/ssl, а штатная живет в /usr/lib/ssl
5. По поводу ссылки, Вы предлагаете переименовать каталог /usr/lib/ssl в что-то другое а вместо него разместить ссылку на /usr/local/ssl?
6. Скажите, а в таком случае выходит что обновлять штатную уже не получится? ведь думаю при обновления из репозитория затрется та что в */local.... мне интересно, можно ли иметь в системе несколько версий openssl и использовать любую по необходимости? чтоб в штатном режиме работала системная, а в случае необходимости использовать с нужным мне алгоритмом шифрования?
Заранее спасибо за ответ.
> 5. По поводу ссылки, Вы предлагаете переименовать каталог /usr/lib/ssl в что-то другое
> а вместо него разместить ссылку на /usr/local/ssl?можно и так, с плеча рубить, но как говорил ранее некоторые системные пакеты собранные старой версией возможно не смогут работать с новой
> 6. Скажите, а в таком случае выходит что обновлять штатную уже не
> получится? ведь думаю при обновления из репозитория затрется та что в
> */local.... мне интересно, можно ли иметь в системе несколько версий openssl
> и использовать любую по необходимости? чтоб в штатном режиме работала системная,
> а в случае необходимости использовать с нужным мне алгоритмом шифрования?можно иметь несколько версией OpenSSL в системе, в вашем случае будет идеальным оставить штатную системную в покое в /usr/lib/ssl и для работы новой OpenSSL указывать /usr/local/ssl. к примеру если вы собираетесь компилировать некое приложение с OpenSSL библиотеками, указывайте на новый путь или собираетесь вызывать openssl утилиты, то вызывайте из новой папки
>> 6. Скажите, а в таком случае выходит что обновлять штатную уже не
>> получится? ведь думаю при обновления из репозитория затрется та что в//Если не смог -- значит, не получилось!
> можно иметь несколько версией OpenSSL в системе, в вашем случае будет идеальным
https://duckduckgo.com/?q=%D1%80%D0%B0...
> оставить штатную системную в покое в /usr/lib/ssl и для работы новой
> утилиты, то вызывайте из новой папки
Всем спасибо за ответы, все изучить не успел, но информация полезная по ссылкам.1. Мой проект - это cgi приложение, поэтому его компилировать не нужно, и соответственно нет возможности прописать путь к нужной версии openssl (либо я просто не знаю как), тем более что обращения к шифрованию будут инициироваться каким-то модулем perl(как раз подыскиваю подходящий).
2. посмотрел кратко об альтернативах, но насколько понял эта технология позволяет лишь назначить приложение по умолчанию из некоторого числа имеющихся, и чтоб использовать альтернативное - его следует назначить основным. Думаю если я правильно понял суть, то для меня это будет затруднительно каждый раз при запуске приложения менять основное на альтернативу и потом обратно.
Получается что если это будет выделенный сервер специально под одно приложение то целесообразнее удалить штатную openssl и заменить на нужную. Жаль, я планировал использовать сервер под иные приложения тоже. Да и как вы правильно заметили некоторые приложения возможно не смогут работать.
3. Работа будет организована так:
на сервере будет вращаться apache и обслуживать приложение использующее openssl для шифрования документов, неплохо было бы не вмешиваться в работу остальных системных задач заменяя библиотеки на свои во избежании сбоев, а использовать нужное по требованию приложения. Поэтому и вопрос, можно ли сделать чтоб система использовала штатную версию, а программа патченую?
значит идет речь больше о самих динамических библиотек libssl и libcrypto, кратко (libssl*), нежели бинарных интерфейсов (openssl)какую именно версию хотите поставить?
выполняя apt-get install libssl1.0.0 (ставится для 1.0.1k версии, если libssl0.9.8 то 0.9.8k кажись)
в вашем случае для Ukrainian ECC DSTU-4145(не включен в mainline OpenSSL) из исходников собирать через ./config shared
Java и C# реализации есть, а вот в perl может ли с Ukrainian ECC DSTU-4145 работать, уже другая головоломка :)
Совершенно согласен насчет перл, но это отдельный вопрос. :)
В данный момент мучаю https://github.com/crypto-org-ua/openssl-ua
ставится ормально, именно ее я и описывал в постах выше.
устанавливал как рекомендуется в centos (там все учтено, в самом пакете про shared скромно умолчали, либо забыли)
$ ./config --prefix=/usr --openssldir=/usr/ssl
$ make
$ make test
# make install
$ ./config shared --prefix=/usr --openssldir=/usr/ssl
$ make clean
$ make
# make installесть правдо загвоздка, там устанавливали используя --prefix, но меня устроил путь по умолчанию поэтому конфигурировал без этого параметра, и вот такое окончание:
Если вы установили в другую директорию, добавьте например свой путь
/usr/local/ssl/lib в /etc/ld.so.conf и введите
# ldconfigНа этом все, проверим какая версия установлена в системе:
# openssl version
OpenSSL 1.0.0d 8 Feb 2011
здесь они вроде заменяют штатную версию новой, мне же нужно параллельно.файла /etc/ld.so.conf я не нашел...
> файла /etc/ld.so.conf я не нашел...но нашли папку /etc/ld.so.conf.d с файлами где прописаны пути до библиотек куда можете добавить свой путь
так же переменную LD_LIBRARY_PATH никто не отменял :)
:)
Да, есть такое, но опять же, прописав путь к новой ssl я заставлю систему пользоваться новыми библиотеками всегда, а нужно лишь по требованию.
> :)
> Да, есть такое, но опять же, прописав путь к новой ssl я
> заставлю систему пользоваться новыми библиотеками всегда, а нужно лишь по требованию.если в /etc/ld.so.conf.d то возможно да, так как это типа PATH для динамических библиотек, где программы должны сперва искать им нужное
тогда только присваивать свой PATH и LD_LIBRARY_PATH для пользователя, от имени которого будет работать ваш perl (в .profile, .bash_profile, .bashrc и т.д. и т.п.), где будет фигурировать библиотеки вашей OpenSSL
Попробуйте man alternatives
В дебиане оно должно быть. Примеры использования - жава одновременно опен и оракль.
> Попробуйте man alternatives
> В дебиане оно должно быть. Примеры использования - жава одновременно опен и
> оракль.ответил в ветке выше... :) буду рад если прочтете.