{{define "content"}}

← все инструкции

КриптоПро и Рутокен

Bridge-and-Join-s использует ГОСТ Р 34.10-2012 для подписи и проверки XMLDSig. Серверная криптография — КриптоПро CSP. Подпись оператора в admin-ui — Рутокен ЭЦП 2.0 (опционально). Оба продукта говорят со стандартным интерфейсом PKCS#11, поэтому Go-клиент общается с ними одинаково.

1. Что и зачем нужно

СценарийСКЗИЦена (ориентир)
Проверка XMLDSig входящих от НРД и брокеровКриптоПро CSP «Сервер»~30-50к ₽ (один раз)
Подпись пакетов в НРД (резервный канал WS ONYX)КриптоПро CSP «Сервер»включено
Подпись действий оператора в admin-uiРутокен ЭЦП 2.0 + лицензия CSP «Рабочее место»~3-5к ₽ железо + ~2-3к ₽ лицензия
Проверка XMLDSig заявлений от ЛККриптоПро CSP «Сервер»включено

Если используется Интеграционный шлюз НРД (ИШ), он сам подписывает пакеты — наша серверная подпись нужна только для резервного канала ONYX и подписи действий оператора. Можно начать с минимума: только Рутокен оператора и отложить серверную лицензию.

2. Установка КриптоПро CSP на РЕД ОС

Скачать дистрибутив с www.cryptopro.ru (Linux x86_64).

sudo rpm -i cprocsp-rdr-gui-gtk-64-5.0.*.rpm \
            cprocsp-rdr-64-5.0.*.rpm \
            cprocsp-ca-certs-64-5.0.*.rpm \
            lsb-cprocsp-base-5.0.*.rpm \
            lsb-cprocsp-rdr-64-5.0.*.rpm

Активация лицензии:

sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set XXXX-XXXXX-XXXXX-XXXXX-XXXXX

Проверка:

/opt/cprocsp/sbin/amd64/cpconfig -license -view
/opt/cprocsp/bin/amd64/csptest -keyset -enum -unique

3. Установка на Ubuntu / Debian

sudo dpkg -i cprocsp-rdr-gui-gtk-64_5.0.*_amd64.deb \
             cprocsp-rdr-64_5.0.*_amd64.deb \
             lsb-cprocsp-base_5.0.*_all.deb \
             lsb-cprocsp-rdr-64_5.0.*_amd64.deb
sudo apt-get install -f
sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set XXXX-XXXXX-XXXXX-XXXXX-XXXXX

4. PKCS#11 модуль

Путь к библиотеке после установки:

/opt/cprocsp/lib/amd64/libcppkcs11.so

Эта же библиотека работает и с CSP-ключами (контейнеры на диске или в реестре), и с Рутокен ЭЦП 2.0 (подключённым по USB или в виде smart-card reader).

На странице «Настройка» в карточке «Криптография» укажите:

5. Подключение Рутокен ЭЦП 2.0

Подключите Рутокен в USB. Драйверы КриптоПро CSP уже включают поддержку Рутокен:

# увидеть подключённые токены
/opt/cprocsp/bin/amd64/csptest -card -enum

# увидеть ключевые контейнеры на токене
/opt/cprocsp/bin/amd64/csptest -keyset -enum -unique

Для подписи действий оператора в admin-ui:

  1. Запросить сертификат на физлицо у УЦ (через личный кабинет КриптоПро или через АРМ оператора УЦ).
  2. Записать сертификат и контейнер на Рутокен.
  3. На странице «Настройка» в карточке «Криптография» выбрать провайдер cryptopro и указать слот Рутокен.

6. Импорт сертификата

# сертификат корневого УЦ (если ещё нет в системе)
/opt/cprocsp/bin/amd64/certmgr -inst -store mroot -file /path/to/root-ca.cer

# сертификат подписанта (контейнер на токене)
/opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont '\\.\HDIMAGE\my-keys' \
    -file /path/to/operator.cer

# проверить установленные сертификаты
/opt/cprocsp/bin/amd64/certmgr -list -store uMy

7. Тестирование подписи

Через CLI КриптоПро (быстрая проверка что криптография работает):

# подписать произвольный файл
/opt/cprocsp/bin/amd64/cryptcp -signf -dn 'CN=Иванов И.И.' \
    -det -strict /tmp/test.txt

# проверить подпись
/opt/cprocsp/bin/amd64/cryptcp -vsignf -det /tmp/test.txt /tmp/test.txt.sgn

Через нашу систему — раздел Настройка → кнопка «Запустить тестовую заявку». На странице «Заявка» появится результат и расшифровка проверки подписи.

8. Поддержка

При проблемах с лицензией сначала проверьте cpconfig -license -view — лицензия должна быть валидна и не просрочена. Срок действия КриптоПро лицензии — обычно 1 год.

{{end}}