,  Linux

Создание ГОСТ-контейнера и подписи для ЕГИСЗ на Linux

Author

NMitin

Date Published

crypto

Инструкция: Создание ГОСТ-контейнера и подписи для ЕГИСЗ на Linux (MX Linux 23.5)

Удаление старых контейнеров (если были)

Крипто-Про устанавливается в /opt/cprocsp

Прверяем наличие контейнеров :

1/opt/cprocsp/bin/amd64/csptestf -keyset -enum_containers

Если нужно удалить, удаляем командой:

1/opt/cprocsp/bin/amd64/csptestf -keyset -deletekeyset -container <Имя>

Создание контейнера с ключом (ОБЯЗАТЕЛЬНО ОТ ПОЛЬЗОВАТЕЛЯ, не sudo!)


1/opt/cprocsp/bin/amd64/csptestf -keyset -newkeyset \
2-container MyEGISZKey \
3-provtype 80 \
4-provname "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" \
5-keytype signature


Создание самоподписанного сертификата


1/opt/cprocsp/bin/amd64/csptestf -keyset -makecert \
2-container MyEGISZKey \
3-provtype 80 \
4-provname "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider"

Привязка сертификата к хранилищу

ШАГ 1. Экспорт сертификата из контейнера в файл:


1/opt/cprocsp/bin/amd64/csptestf -keyset -expcert MyEGISZKey.cer \
2-container MyEGISZKey \
3-keytype signature


ШАГ 2. Привязка через GUI:

Открыть "КриптоПро CSP" → Контейнеры → MyEGISZKey → кнопка "Установить сертификат"

Сертификат сразу будет установлен в хранилище пользователя (uMy). Выбор вручную не

требуется.

ИЛИ (если без GUI не работает):


1/opt/cprocsp/bin/amd64/certmgr -install -store uMy -file MyEGISZKey.cer
2/opt/cprocsp/bin/amd64/csptestf -keyset -impcert MyEGISZKey.cer \
3-container MyEGISZKey -keytype signature


Проверка


1/opt/cprocsp/bin/amd64/certmgr -list -store uMy

→ Должна появиться строка: "Ссылка на ключ: ...MyEGISZKey"


Подписание файла


1/opt/cprocsp/bin/amd64/cryptcp -sign -uMy -dn "MyEGISZKey" \
2-pin 12345678 -detached -fext .sig /путь/к/файлу.cda


Кодировка подписи в base64


1base64 -w 0 /путь/к/файлу.cda.sig > /путь/к/файлу.cda.sig.b64


Готово. Подпись соответствует требованиям ЕГИСЗ.