8.47. OpenSSL-3.1.2

Пакет OpenSSL содержит инструменты управления и библиотеки, относящиеся к криптографии. Они полезны для предоставления криптографических функций другим пакетам, таким как OpenSSH, приложениям электронной почты и веб-браузерам (для доступа к сайтам по HTTPS).

Приблизительное время сборки: 3.0 SBU
Требуемое дисковое пространство: 587 MB

8.47.1. Установка пакета OpenSSL

Подготовьте OpenSSL к компиляции:

./config --prefix=/usr         \
         --openssldir=/etc/ssl \
         --libdir=lib          \
         shared                \
         zlib-dynamic

Скомпилируйте пакет:

make

Чтобы протестировать пакет, выполните:

make test

Известно, что один тест, 30-test_afalg.t, завершится ошибкой, если в ядре хоста не включен параметр CONFIG_CRYPTO_USER_API_SKCIPHER или отсутствуют какие-либо опции, обеспечивающих реализацию AES с CBC (например, комбинация CONFIG_CRYPTO_AES и CONFIG_CRYPTO_CBC или CONFIG_CRYPTO_AES_NI_INTEL, если процессор поддерживает AES-NI). В случае неудачи его можно смело игнорировать.

Установите пакет:

sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
make MANSUFFIX=ssl install

Добавьте версию к имени каталога документации, чтобы структура соответствовала другим пакетам:

mv -v /usr/share/doc/openssl /usr/share/doc/openssl-3.1.2

По желанию, установите дополнительную документацию:

cp -vfr doc/* /usr/share/doc/openssl-3.1.2
[Примечание]

Примечание

Вы должны обновить OpenSSL, когда будет выпущена новая версия, исправляющая уязвимости. Начиная с OpenSSL 3.0.0, схема управления версиями OpenSSL следует формату MAJOR.MINOR.PATCH. Совместимость API/ABI гарантируется для одной и той же ОСНОВНОЙ (MAJOR) версии. Поскольку LFS устанавливает только общие библиотеки, нет необходимости перекомпилировать пакеты, которые ссылаются на libcrypto.so или libssl.so, при обновлении до версии с тем же ОСНОВНЫМ номером версии.

Если установлен OpenSSH, это будет исключением из общего правила, указанного выше. Он содержит чрезмерно ограничительную проверку версии OpenSSL, поэтому и SSH-клиент, и SSH-сервер откажутся запускаться, если OpenSSL обновлен с прежним номером MAJOR версии, но с другим номером MINOR версии. После такого обновления вам необходимо пересобрать OpenSSH. Если OpenSSH используется для доступа к системе, вам необходимо пересобрать и переустановить его после обновления OpenSSL до новой MINOR версии перед выходом из системы, иначе вы не сможете больше войти в систему через SSH.

Все запущенные программы, связанные с этими библиотеками, после обновления необходимо остановить и перезапустить. Для получения более подробной информации ознакомьтесь с соответствующей записью в Раздел 8.2.1, «Проблемы с обновлением».

8.47.2. Содержимое пакета OpenSSL

Установленные программы: c_rehash и openssl
Установленные библиотеки: libcrypto.so и libssl.so
Созданные каталоги: /etc/ssl, /usr/include/openssl, /usr/lib/engines и /usr/share/doc/openssl-3.1.2

Краткое описание

c_rehash

это Perl скрипт, который сканирует все файлы в каталоге и добавляет символические ссылки к их хеш-значениям. Использование c_rehash считается устаревшим и должно быть заменено командой openssl rehash

openssl

это инструмент командной строки для использования различных криптографических функций библиотеки OpenSSL из оболочки. Его можно использовать для различных функций, которые задокументированы в man 1 openssl

libcrypto.so

реализует широкий спектр криптографических алгоритмов, используемых в различных интернет-стандартах. Услуги, предоставляемые этой библиотекой, используют OpenSSL-реализацию SSL, TLS и S/MIME, а также для реализации OpenSSH, OpenPGP и других криптографических стандартов.

libssl.so

реализует протокол безопасности транспортного уровня (TLS v1). Он предоставляет богатый API, документацию по которому можно найти, выполнив команду: man 7 ssl