Как добавить поддержку шифрования по ГОСТ Р 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.
Устанавливаем необходимые пакеты:
apt-get install build-essential wget git cmake unzip gcc -y
Выполняем сборку OpenSSL 1.1.1d
, выполняем команды:
cd /opt wget "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.zip" -O "OpenSSL_1_1_1d.zip" unzip OpenSSL_1_1_1d.zip && cd openssl-OpenSSL_1_1_1d ./config shared -d --prefix=/usr/ssl --openssldir=/usr/ssl make all && make install rm /usr/bin/openssl ln -s /usr/ssl/bin/openssl /usr/bin/openssl echo "/usr/ssl/lib" >> /etc/ld.so.conf.d/ssl.conf && ldconfig