Шифрование OpenSSL по ГОСТ (GOST) в Debian 12
GOST-engine – это модуль для OpenSSL, реализующий поддержку российских криптографических алгоритмов в соответствии с ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 и другими стандартами. Он позволяет использовать ГОСТ-алгоритмы для цифровых подписей, хэширования, симметричного и асимметричного шифрования.
Основные возможности:
- Поддержка алгоритмов электронной подписи (GOST R 34.10-2001, GOST R 34.10-2012).
- Реализация хэш-функций (GOST R 34.11-94, GOST R 34.11-2012).
- Симметричное шифрование (GOST 28147-89, Кузнечик, Магма).
- Использование ГОСТ-алгоритмов в TLS-соединениях.
Ниже пошагово разберем как собрать и установить GOST-engine самой актуальной версии на Debian 12 и выпустим тестовый сертификат по ГОСТ.
Установка зависимостей
Устанавливаем необходимые пакеты зависимостей:
Установка CMake
Для сборки GOST-engine
нужна версия CMake
3.0 или новее. Выполним установку актуального релиза.
Клонируем репозиторий CMake с GitHub и переходим в клонированный репозиторий:
Переключаемся на актуальный релиз выполнив команду:
Выполняем сборку CMake
:
Для проверки, выведем информация об установленной версии:
OpenSSL
Проверяем установленную версию OpenSSL, она должна быть выше 3.0:
Установка GOST-engine
Клонируем репозиторий GOST-engine с GitHub и переходим в клонированный репозиторий:
Переключаемся на актуальный релиз выполнив команду:
Сборка
Выполняем сборку и установку gost-engine:
Настройка
Настроим openssl на работу с gost-engine, для этого в конфигурационный файл /etc/ssl/openssl.cnf
в глобальном разделе, перед первым заголовком раздела заключенным в квадратные скобки, добавляем:
openssl_conf=openssl_def
В конец того же файла добавляем следующие параметры:
[openssl_def]
engines = engine_section
[engine_section]
gost = gost_section
[gost_section]
engine_id = gost
dynamic_path = /usr/lib/x86_64-linux-gnu/engines-3/gost.so
default_algorithms = ALL
Проверка
Выведем список доступных криптографических движков, в выводе должен присутствовать GOST:
Выведем список доступных шифров GOST:
Выведем доступные GOST провайдеры:
Выпуск сертификата GOST
Сгенерируем закрытый ключ и создадим сертификат с подписью ГОСТ следующей командой:
Выведем информацию о выпущенном сертификате:
Вывод:
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Сегодня, попробовал по инструкции установить.
При выполнении сборки и установке gost-engine выдало ошибку:
CMake Error at libprov/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument value. Or, use the … syntax
to tell CMake that the project requires at least but has been updated
to work with policies introduced by or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
Там же в статье есть как установить CMake последней версии, нужно выполнить. Ошибка у вас на то что CMake версии ниже требуемой.