Одним из самых популярных вопросов среди пользователей 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
Если всё было сделано верно, мы увидим результат его работы.