Добавляем поддержку ГОСТ для openssl в Fedora

Одним из самых популярных вопросов среди пользователей Fedora, использующих данный дистрибутив в организациях, является добавление поддержки российской криптографии в библиотеку openssl.

Введение

Начиная с openssl версии 1.1 пользователи могут загружать не входящие в поставку данной библиотеки криптографические модули. Для поддержки российской криптографии был реализован gost-engine.

В настоящее время gost-engine распространяется под модифицированной лицензией BSD  и уже доступен в основном репозитории Fedora, внутри пакета openssl-gost-engine.

Шаг 1. Установка пакета

Установим openssl-gost-engine из репозиториев:

sudo dnf install openssl-gost-engine

Шаг 2. Настройка OpenSSL

OpenSSL с настройках по умолчанию не загружает нестандартные модули, поэтому нам необходимо вручную отредактировать его главный файл конфигурации /etc/pki/tls/openssl.cnf и внести соответствующие правки:

sudoedit /etc/pki/tls/openssl.cnf

Найдём в данном файле строку:

ssl_conf = ssl_module

После неё добавим следующее:

engines = custom_engines

[ custom_engines ]

gost = gost_module

[ gost_module ]

engine_id = gost
dynamic_path = /usr/lib64/engines-1.1/gost.so
default_algorithms = ALL
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet

Здесь /usr/lib64/engines-1.1/gost.so — полный путь к установленному модулю ГОСТ. Для 32-битных систем он будет иным — /usr/lib/engines-1.1/gost.so.

Изменения вступают в силу после перезапуска всех приложений, использующих OpenSSL.

Шаг 3. Проверка работы

Проверим работу OpenSSL с поддержкой ГОСТ посредством запуска теста производительности симметричного алгоритма шифрования ГОСТ-89:

openssl speed -evp gost89

Если всё было сделано верно, мы увидим результат его работы.

1 комментарий к записи

  1. Пакет openssl-gost-engine был добавлен в репозитории Fedora, поэтому статья обновлена. Удалена необходимость ручной сборки.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *