Шифрование OpenSSL по ГОСТ (GOST) в Debian 12
GOST-engine – это модуль для OpenSSL, реализующий поддержку российских криптографических алгоритмов в соответствии с ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 и другими стандартами. Он позволяет использовать ГОСТ-алгоритмы для цифровых подписей, хэширования, симметричного и асимметричного шифрования.
JUQwJTlFJUQxJTgxJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUIyJUQwJUJFJUQwJUI3JUQwJUJDJUQwJUJFJUQwJUI2JUQwJUJEJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI4JTNB
- Поддержка алгоритмов электронной подписи (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
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQwJUI4JUMyJUEwR09TVC1lbmdpbmUlQzIlQTAlRDAlQkQlRDElODMlRDAlQjYlRDAlQkQlRDAlQjAlMjAlRDAlQjIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDElOEYlQzIlQTBDTWFrZSVDMiVBMDMuMCUyMCVEMCVCOCVEMCVCQiVEMCVCOCUyMCVEMCVCRCVEMCVCRSVEMCVCMiVEMCVCNSVEMCVCNS4lMjAlRDAlOTIlRDElOEIlRDAlQkYlRDAlQkUlRDAlQkIlRDAlQkQlRDAlQjglRDAlQkMlMjAlRDElODMlRDElODElRDElODIlRDAlQjAlRDAlQkQlRDAlQkUlRDAlQjIlRDAlQkElRDElODMlMjAlRDAlQjAlRDAlQkElRDElODIlRDElODMlRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDAlQkUlRDAlQjMlRDAlQkUlMjAlRDElODAlRDAlQjUlRDAlQkIlRDAlQjglRDAlQjclRDAlQjAuJTIw
JUQwJTlBJUQwJUJCJUQwJUJFJUQwJUJEJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI5JTIwQ01ha2UlMjAlRDElODElMjBHaXRIdWIlMjAlRDAlQjglMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjUlRDElODUlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlMjAlRDAlQjIlMjAlRDAlQkElRDAlQkIlRDAlQkUlRDAlQkQlRDAlQjglRDElODAlRDAlQkUlRDAlQjIlRDAlQjAlRDAlQkQlRDAlQkQlRDElOEIlRDAlQjklMjAlRDElODAlRDAlQjUlRDAlQkYlRDAlQkUlRDAlQjclRDAlQjglRDElODIlRDAlQkUlRDElODAlRDAlQjglRDAlQjklM0E=
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJUQxJTgxJUQxJThGJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUIwJUQwJUJBJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTgwJUQwJUI1JUQwJUJCJUQwJUI4JUQwJUI3JTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUIyJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJTgzJTNB
Выполняем сборку CMake
:
Для проверки, выведем информация об установленной версии:
OpenSSL
Проверяем установленную версию OpenSSL, она должна быть выше 3.0:
Установка GOST-engine
JUQwJTlBJUQwJUJCJUQwJUJFJUQwJUJEJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI5JTIwR09TVC1lbmdpbmUlMjAlRDElODElMjBHaXRIdWIlMjAlRDAlQjglMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjUlRDElODUlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlMjAlRDAlQjIlMjAlRDAlQkElRDAlQkIlRDAlQkUlRDAlQkQlRDAlQjglRDElODAlRDAlQkUlRDAlQjIlRDAlQjAlRDAlQkQlRDAlQkQlRDElOEIlRDAlQjklMjAlRDElODAlRDAlQjUlRDAlQkYlRDAlQkUlRDAlQjclRDAlQjglRDElODIlRDAlQkUlRDElODAlRDAlQjglRDAlQjklM0E=
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJUQxJTgxJUQxJThGJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUIwJUQwJUJBJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTgwJUQwJUI1JUQwJUJCJUQwJUI4JUQwJUI3JTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUIyJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJTgzJTNB
Сборка
JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQxJTgzJTIwJUQwJUI4JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJBJUQxJTgzJTIwZ29zdC1lbmdpbmUlM0E=
Настройка
JUQwJTlEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI4JUQwJUJDJTIwb3BlbnNzbCUyMCVEMCVCRCVEMCVCMCUyMCVEMSU4MCVEMCVCMCVEMCVCMSVEMCVCRSVEMSU4MiVEMSU4MyUyMCVEMSU4MSUyMGdvc3QtZW5naW5lJTJDJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQxJThEJUQxJTgyJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUIyJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUJFJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJTJGZXRjJTJGc3NsJTJGb3BlbnNzbC5jbmYlMjAlRDAlQjIlMjAlRDAlQjMlRDAlQkIlRDAlQkUlRDAlQjElRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDAlQkUlRDAlQkMlMjAlRDElODAlRDAlQjAlRDAlQjclRDAlQjQlRDAlQjUlRDAlQkIlRDAlQjUlMkMlMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjUlRDAlQjQlMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjIlRDElOEIlRDAlQkMlMjAlRDAlQjclRDAlQjAlRDAlQjMlRDAlQkUlRDAlQkIlRDAlQkUlRDAlQjIlRDAlQkElRDAlQkUlRDAlQkMlMjAlRDElODAlRDAlQjAlRDAlQjclRDAlQjQlRDAlQjUlRDAlQkIlRDAlQjAlMjAlRDAlQjclRDAlQjAlRDAlQkElRDAlQkIlRDElOEUlRDElODclRDAlQjUlRDAlQkQlRDAlQkQlRDElOEIlRDAlQkMlMjAlRDAlQjIlMjAlRDAlQkElRDAlQjIlRDAlQjAlRDAlQjQlRDElODAlRDAlQjAlRDElODIlRDAlQkQlRDElOEIlRDAlQjUlMjAlRDElODElRDAlQkElRDAlQkUlRDAlQjElRDAlQkElRDAlQjglMkMlMjAlRDAlQjQlRDAlQkUlRDAlQjElRDAlQjAlRDAlQjIlRDAlQkIlRDElOEYlRDAlQjUlRDAlQkMlM0E=
b3BlbnNzbF9jb25mJTNEb3BlbnNzbF9kZWY=
JUQwJTkyJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQwJUI1JUQxJTg2JTIwJUQxJTgyJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUI2JUQwJUI1JTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUIwJTIwJUQwJUI0JUQwJUJFJUQwJUIxJUQwJUIwJUQwJUIyJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJCJUQwJUI1JUQwJUI0JUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTNB
JTVCb3BlbnNzbF9kZWYlNUQ=
ZW5naW5lcyUyMCUzRCUyMGVuZ2luZV9zZWN0aW9u
JTVCZW5naW5lX3NlY3Rpb24lNUQ=
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:
JUQwJTkyJUQxJThCJUQwJUIyJUQwJUI1JUQwJUI0JUQwJUI1JUQwJUJDJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQxJThCJUQwJUI1JTIwR09TVCUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCOSVEMCVCNCVEMCVCNSVEMSU4MCVEMSU4QiUzQQ==
Выпуск сертификата 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 версии ниже требуемой.