Как добавить поддержку шифрования по ГОСТ Р 34.10-2012 в OpenSSL 1.1.1d на Debian 9 Stretch

В работе имеется веб-сайт на котором реализована авторизация посредством ЕСИА (Единая система идентификации и аутентификации). До недавнего времени можно было использовать самоподписной RSA сертификат, но с 1 апреля 2020 года, для взаимодействия с ЕСИА необходимо использовать сертификат с алгоритмом шифрования по ГОСТ Р 34.10-2012.

 

В связи с этим мне необходимо было реализовать возможность работы с алгоритмом ГОСТ Р 34.11-2012 в OpenSSL на Debian 9 Stretch.

 

Путем перелопачивания множества информации по этому вопросу и проб использования движка GOST-Engine с различными версиями OpenSSL, для себя определил рабочую связку OpenSSL 1.1.1d + GOST-Engine.

 

В качестве памятки опишу действия для реализации связки OpenSSL 1.1.1d + GOST-Engine на Debian 9 Stretch.

 

Устанавливаем необходимые пакеты:

 

Выполняем сборку OpenSSL 1.1.1d, выполняем команды:

 

Выполняем сборку GOST Engine, выполняем команды:

 

Выполняем настройку OpenSSL для работы с GOST Engine. В файле конфигурации (/usr/ssl/openssl.cnf) добавляем следующие параметры (обращаем внимание на #комментарии):

 

Для проверки готовности OpenSSL к работе с GOST Engine, выполним команды (подсвеченные):

ИНФОРМАЦИЯ. Если вывод такой же как у меня, то значит все собрано и настроено правильно.

 

Для проверки сгенерируем сертификат по алгоритму GOST2012, для удобства просмотра переведем его в формат *.crt и скачиваем любым удобным способом на Windows машину:

 

В полученном сертификате смотрим алгоритм подписи, если он 1.2.643.7.1.1.3.2, то сертификат сгенерирован по ГОСТ Р 34.10-2012. Если на ПК установлен КриптоПро, то в Алгоритме подписи будет отображаться ГОСТ Р 34.11-2012/34.10-2012 256 бит.

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Только один комментарий Комментировать

  1. Raynor /

    Спасибо, для Debian 10 установка аналогична, разве что пакеты поновее.
    1) OpenSSL достаточно использовать системный, не собирать свой.
    2) Из необходимых зависимостей — OpenSSL development files:
    sudo apt-get install libssl-dev
    3) gost-engine можно взять актуальную ветку для OpenSSL 1.1 (master переключился на 3.0)
    git clone https://github.com/gost-engine/engine.git gost-engine
    cd gost-engine
    git checkout openssl_1_1_0
    далее собираем по REAME

Оставить ответ

2 × один =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика