{{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 на РЕД ОС (проверено)

Способ 1 — через веб-интерфейс (рекомендуется): /admin/setup → «СКЗИ» → «Установка КриптоПро CSP» → выбрать linux-amd64.tar с cryptopro.ru → «Загрузить и установить».

Способ 2 — вручную из терминала. Скачать linux-amd64.tgz с www.cryptopro.ru/products/csp/downloads (доступ через личный кабинет), распаковать на ВМ и установить минимальный набор:

tar -xzf linux-amd64.tgz
cd linux-amd64
sudo rpm -Uvh --replacepkgs --nodeps \
    lsb-cprocsp-base-5.0.*.noarch.rpm \
    lsb-cprocsp-ca-certs-5.0.*.noarch.rpm \
    lsb-cprocsp-rdr-64-5.0.*.x86_64.rpm \
    lsb-cprocsp-capilite-64-5.0.*.x86_64.rpm \
    lsb-cprocsp-kc1-64-5.0.*.x86_64.rpm \
    lsb-cprocsp-pkcs11-64-5.0.*.x86_64.rpm \
    cprocsp-curl-64-5.0.*.x86_64.rpm \
    cprocsp-rdr-gui-gtk-64-5.0.*.x86_64.rpm

Ключевые пакеты:

Демо-лицензия на 3 месяца встроена в дистрибутив, отдельная активация не требуется. Проверка:

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

Важно — LD_LIBRARY_PATH. КриптоПро CSP кладёт .so в /opt/cprocsp/lib/amd64 без записи в /etc/ld.so.conf.d. Bj-server при запуске должен иметь:

Environment=LD_LIBRARY_PATH=/opt/cprocsp/lib/amd64

В systemd-юните это уже прописано (deploy/systemd/bj-server.service). При ручном запуске из shell — LD_LIBRARY_PATH=/opt/cprocsp/lib/amd64 ./bin/bj-server.

Активация коммерческой лицензии. После того как демо истечёт, серийник вводится через UI на /admin/setup → «Активация лицензии», или вручную:

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

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}}