Инфраструктура M2M (живой обмен с НРД через ИШ):
- обработка M2MTransferResponse: ERROR(M2Mxx) → заявка Отклонена, сохранение
ответа; INFO → ждём Decision; идемпотентность поллера
- fallback-корреляция ответов с нулевым GUID (M2M14/M2M17) по FIFO
- сырой XML ответа НРД в карточке заявки (для пересылки в ТП)
- тестовый пакет роботу приведён к эталону m2m_robot_samples (CostInfo=Yes,
4 бумаги, IsolationStatus, DocumentSeries=сценарий); override паспорта
- редирект из теста сразу в карточку заявки
Мастер установки ключа Валидаты на флешку (admin/setup/keywizard):
- пошаговый: загрузка .7z+пароль → выбор флешки → запись → справочник
сертификатов (CRL) → перезапуск+проверка ИШ → готово
- привилегированный воркер (bj-keymedia) в host-namespace через файл-обмен,
bj-server остаётся в песочнице
- сохранение структуры профиля архива (spr<N>), перечисление съёмных USB
Прочее:
- пакет-доказательство для ТП НРД + форма регистрации участника M2M
- эталонные образцы робота (DOC/m2m_robot_samples)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
После реальной установки КриптоПро CSP добавлены следующие
функциональности:
cryptocli/client.go:
- FindCertificates() — перечисляет CKO_CERTIFICATE объекты на всех
подключенных слотах через PKCS#11, парсит X.509, извлекает CN, ИНН
(OID 1.2.643.3.131.1.1), серийник, срок действия. Для каждого
сертификата проверяет наличие парного приватного ключа (CKO_PRIVATE_KEY
с тем же CKA_ID).
- Тип Certificate с полями: SubjectCN, IssuerCN, INN, Serial, NotBefore,
NotAfter, DER, HasPrivateKey, TokenLabel, SlotID.
internal/lkgateway/setup.go:
- handler importCertificate (POST /admin/setup/crypto/import-cert,
multipart). Принимает .pfx/.p12 (с PIN) или .cer/.crt. Запускает
certmgr -inst -pfx или -inst с выбором хранилища (uMy/mroot/uRoot).
- listCertsForUI() — вспомогательный метод renderSetup для подгрузки
актуального списка сертификатов с подключенных токенов при каждом
открытии страницы.
internal/lkgateway/web/templates/admin_setup.html:
- секция «Сертификаты на токенах» с таблицей (Кому/Кем выдан/ИНН/срок/
токен/есть-ли-приватный-ключ).
- форма «Импорт сертификата (.pfx/.cer/.crt)» с полями для PIN и
выбора хранилища.
- блок «Интеграционный шлюз НРД»: добавлен JS автозаполнения URL ONYX
и контейнера по выбору профиля (guest/test3/prod × gost/rsa) —
значения из DOC/Ссылки для доступа в тестовые контуры.pdf.
internal/lkgateway/web/templates/admin_help_systems.html:
- секция «Интеграционный шлюз НРД и контуры тестирования» дополнена
полной таблицей URL-ов сервисов GUEST/TEST3 (ONYX, Agate, DCS,
Единый кабинет, Корпоративные действия). IP gost.nsd.ru для
настройки межсетевого экрана.
- новая секция «Сертификаты УЦ НРД (для проверки квитанций)» с
пошаговой инструкцией: куда импортировать корневой сертификат УЦ
НРД, куда промежуточные, куда наши сертификаты из стороннего УЦ.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
В admin-панели lk-gateway добавлен раздел /admin/help — справка по
основным интеграциям, читается прямо на сервере, без выхода во
внешнюю документацию.
Состав /admin/help:
- /admin/help — hub-страница с 4 карточками-ссылками
- /admin/help/database — подключение PostgreSQL, схемы fansy/fansy_staging/m2m_core,
что подгружается через ETL Fansy и что пишет сама система, роли,
миграции, полезные запросы
- /admin/help/lk-api — REST-контракт ESIA Finance V1: аутентификация,
POST/GET/PATCH/list, формат callback'ов и ошибок, эмулятор для тестов,
примеры curl
- /admin/help/cryptopro — установка КриптоПро CSP на РЕД ОС и Ubuntu,
ввод серийного номера лицензии (cpconfig), путь к PKCS#11 модулю
libcppkcs11.so, подключение Рутокен ЭЦП 2.0 для подписи оператора,
тестирование подписи через csptest и cryptcp
- /admin/help/systems — Интеграционный шлюз НРД (профили guest/test3/prod),
команда Fansy (порядок согласования контракта), уведомления
(SMTP/Yandex Messenger/Telegram), контакты команд
Русификация статусов:
- Добавлены template-функции ruState и ruOutcome (в lkgateway и lkemulator)
- "draft" → "Черновик", "confirmed" → "Подтверждена", "rejected" → "Отклонена" и т.д.
- CSS-классы бейджей сохраняются (по исходному state), меняется только
отображаемый текст. Технические термины (PostgreSQL, ИНН, GUID, REST)
остаются как есть — они являются именами программного обеспечения.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>