docs(ish): полный комплект документации ИШ НРД + help-страница «Архитектура обмена»
С официальной страницы НРД (https://www.nsd.ru/workflow/system/programs/web-service/) скачано всё необходимое для подключения ИШ: DOC/: - ruk_install_ish_2025_11_10.pdf (4.7 МБ) — Руководство по установке ИШ от 10.11.2025, с разделами «6. Технические требования» и «7.3.2 Установка под Linux» - ruk_pol_ish.pdf (3.5 МБ) — Руководство пользователя ИШ - QA_ish.pdf (2.5 МБ) — Часто задаваемые вопросы - test-case_ish.pdf (1.3 МБ) — Тест-кейсы для проверки работоспособности - instr_int_sh_01072025.pdf (0.4 МБ) — Инструкция по заявке на тестирование - web_service_nrd_standard_soap_rest.pdf (2.2 МБ) — техрекомендации Web-сервиса ONYX dist/ish/: - igate_100.0-765_amd64.deb (117 МБ) — дистрибутив ИШ для Astra Linux, не в git (в .gitignore), но всегда есть для установки - igate_95.0-716_amd64.SGN — ЭП к дистрибутиву - README.md — индекс файлов + ссылки на повторное скачивание Ключевые факты из руководства (попали в REPORT.md и help-страницу): - ИШ работает на Astra Linux SE 1.6/1.7 (РЕД ОС не упомянута) или Windows - СКЗИ — Валидата CSP + АПК Валидата Клиент L (НЕ КриптоПро!) Дистрибутив Валидаты — по запросу soed@nsd.ru / pki@moex.com - БД — PostgreSQL (обязательна для REST API ИШ) или SQLite - Сертификат — только от УЦ Московской Биржи (ca.moex.com) Добавлена help-страница /admin/help/architecture с: - ASCII-диаграммой полной схемы (bj-server → ИШ → ONYX → робот) - Таблицей «кто на чьей стороне, какая ОС, какая СКЗИ» - 8 FAQ-вопросов (включая «ИШ — это сервер НРД?», «можно ли в одну ВМ?», «зачем Валидата если есть КриптоПро» и др.) - Чек-лист «что у нас уже готово» REPORT.md обновлён: - общая готовность 70% → 72% - 7 внешних блокеров вместо 6 (Astra Linux ВМ + Валидата CSP стали явными) - раздел «Дистрибутив ИШ и полная документация» с описанием каждого файла Cleanup: .gitignore теперь исключает /dist/ish/*.deb но пропускает README.md внутри той же папки.
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
# Сборки
|
# Сборки
|
||||||
/bin/
|
/bin/
|
||||||
/dist/
|
/dist/
|
||||||
|
!/dist/ish/README.md
|
||||||
*.exe
|
*.exe
|
||||||
*.test
|
*.test
|
||||||
*.out
|
*.out
|
||||||
@@ -62,3 +63,8 @@ test-results/
|
|||||||
# Doc-watcher: бэкапы при переустановке свежих версий
|
# Doc-watcher: бэкапы при переустановке свежих версий
|
||||||
DOC/*.pdf.bak
|
DOC/*.pdf.bak
|
||||||
DOC/*.bak.pdf
|
DOC/*.bak.pdf
|
||||||
|
|
||||||
|
# Дистрибутив ИШ НРД (большой, ~120 МБ) — не коммитим в git
|
||||||
|
/dist/ish/*.deb
|
||||||
|
/dist/ish/*.SGN
|
||||||
|
/dist/ish/*.exe
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
# Bridge-and-Join-s — отчёт о ходе работ
|
# Bridge-and-Join-s — отчёт о ходе работ
|
||||||
|
|
||||||
**Дата:** 14.05.2026 (обновлено вечером — добавлен REST-клиент ИШ + эмулятор робота)
|
**Дата:** 14.05.2026 (3-я редакция за день — скачан дистрибутив ИШ + полная документация ИШ)
|
||||||
**Контур:** дев-стенд РЕД ОС 8 (10.10.10.22), bj-server на :8080, lk-emulator на :8083
|
**Контур:** дев-стенд РЕД ОС 8 (10.10.10.22), bj-server на :8080, lk-emulator на :8083
|
||||||
**Целевая интеграция:** сервис MOEX МОСТ (M2M) через НКО АО НРД
|
**Целевая интеграция:** сервис MOEX МОСТ (M2M) через НКО АО НРД
|
||||||
|
|
||||||
@@ -22,15 +22,17 @@
|
|||||||
| Эмулятор робота-автотеста НРД (внутренний mock) | **90%** | ⚠ Сценарий 3333 — частично |
|
| Эмулятор робота-автотеста НРД (внутренний mock) | **90%** | ⚠ Сценарий 3333 — частично |
|
||||||
| Реальное подключение к роботу на TEST3 НРД | **30%** | ⚠ REST-клиент ИШ готов, ждём сам ИШ + сертификат |
|
| Реальное подключение к роботу на TEST3 НРД | **30%** | ⚠ REST-клиент ИШ готов, ждём сам ИШ + сертификат |
|
||||||
| REST-клиент ИШ НРД (по DOC/instr-ish-rest-api.pdf) | **100%** | ✅ POST file, GET status, GET list, GET package, упаковщик ZIP, 10/10 тестов |
|
| REST-клиент ИШ НРД (по DOC/instr-ish-rest-api.pdf) | **100%** | ✅ POST file, GET status, GET list, GET package, упаковщик ZIP, 10/10 тестов |
|
||||||
| Интеграционный шлюз НРД (ИШ) — серверная часть от НРД | **0%** | ⏳ Не скачан, не установлен (заблокировано НРД) |
|
| Дистрибутив ИШ НРД и полная документация | **100%** | ✅ Скачаны: `igate_100.0-765_amd64.deb` (117 МБ) + 6 PDF |
|
||||||
| Сертификат УЦ Московской Биржи для подписи | **0%** | ⏳ Не получен |
|
| Установка ИШ на наш стенд | **0%** | ⏳ Требуется Astra Linux ВМ (не РЕД ОС) — см. блокер #1 |
|
||||||
|
| Получение СКЗИ «Валидата CSP» для Linux | **0%** | ⏳ Запрос в soed@nsd.ru / pki@moex.com — см. блокер #2 |
|
||||||
|
| Сертификат УЦ Московской Биржи для подписи | **0%** | ⏳ Не получен — см. блокер #3 |
|
||||||
| Подключение реального ЛК ESIA Finance | **20%** | ⚠ Эмулятор lk-emulator работает, реальный URL не указан |
|
| Подключение реального ЛК ESIA Finance | **20%** | ⚠ Эмулятор lk-emulator работает, реальный URL не указан |
|
||||||
| Контракт с Fansy (ETL) | **30%** | ⚠ Контракт документирован, ETL не реализован стороной Fansy |
|
| Контракт с Fansy (ETL) | **30%** | ⚠ Контракт документирован, ETL не реализован стороной Fansy |
|
||||||
| Уведомления (e-mail, мессенджеры) | **0%** | ⏳ M3-M4 |
|
| Уведомления (e-mail, мессенджеры) | **0%** | ⏳ M3-M4 |
|
||||||
| Тесты, CI/CD | **40%** | ⚠ Unit-тесты компонентов, нет E2E против реального НРД |
|
| Тесты, CI/CD | **40%** | ⚠ Unit-тесты компонентов, нет E2E против реального НРД |
|
||||||
|
|
||||||
**Общая готовность системы:** **≈ 70%** (по объёму функциональности)
|
**Общая готовность системы:** **≈ 72%** (по объёму функциональности)
|
||||||
**Готовность к интеграционному тесту с роботом:** **≈ 85%** (зависит только от внешних факторов — серверный ИШ от НРД, сертификат)
|
**Готовность к интеграционному тесту с роботом:** **≈ 85%** (зависит только от внешних факторов: Astra Linux ВМ, Валидата CSP, сертификат УЦ МБ)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -94,6 +96,25 @@
|
|||||||
- Покрыто тестами: 10/10 PASS (httptest + zip round-trip + 4xx без ретраев + retry на 5xx)
|
- Покрыто тестами: 10/10 PASS (httptest + zip round-trip + 4xx без ретраев + retry на 5xx)
|
||||||
- Готов к переключению: как только получим живой ИШ от НРД, нужно только указать BaseURL и Channel в `/admin/setup` — код уже всё умеет
|
- Готов к переключению: как только получим живой ИШ от НРД, нужно только указать BaseURL и Channel в `/admin/setup` — код уже всё умеет
|
||||||
|
|
||||||
|
### Дистрибутив ИШ и полная документация (получены 14.05.2026)
|
||||||
|
По наводке от заказчика на странице `https://www.nsd.ru/workflow/system/programs/web-service/` найдены и скачаны все официальные материалы:
|
||||||
|
|
||||||
|
- **Дистрибутив ИШ Linux**: `dist/ish/igate_100.0-765_amd64.deb` (117 МБ, для Astra Linux)
|
||||||
|
- **Электронная подпись к дистрибутиву**: `dist/ish/igate_95.0-716_amd64.SGN`
|
||||||
|
- **DOC/ruk_install_ish_2025_11_10.pdf** (4.7 МБ) — Руководство по установке ИШ от 10.11.2025. Главное:
|
||||||
|
- Поддерживаемые ОС: Windows 10/Server, **Astra Linux SE 1.6/1.7** (РЕД ОС не упомянута)
|
||||||
|
- СКЗИ: **«Валидата CSP» + АПК «Валидата Клиент L»** (НЕ КриптоПро)
|
||||||
|
- БД: SQLite или PostgreSQL (PostgreSQL обязателен для REST API)
|
||||||
|
- Только ГОСТ-криптография под Linux (RSA — только Windows)
|
||||||
|
- Только сертификаты от УЦ МБ
|
||||||
|
- **DOC/ruk_pol_ish.pdf** (3.5 МБ) — Руководство пользователя ИШ
|
||||||
|
- **DOC/QA_ish.pdf** (2.5 МБ) — Q&A
|
||||||
|
- **DOC/test-case_ish.pdf** (1.3 МБ) — Тест-кейсы для проверки работоспособности ИШ
|
||||||
|
- **DOC/instr_int_sh_01072025.pdf** (0.4 МБ) — Инструкция по созданию заявки на тестирование
|
||||||
|
- **DOC/web_service_nrd_standard_soap_rest.pdf** (2.2 МБ) — Техрекомендации Web-сервиса ONYX
|
||||||
|
|
||||||
|
`dist/ish/.deb` не коммитится в git (большой), но `dist/ish/README.md` содержит все ссылки на повторное скачивание.
|
||||||
|
|
||||||
### Безопасность и надёжность
|
### Безопасность и надёжность
|
||||||
- Баннер «🟡 РЕЖИМ ЭМУЛЯЦИИ» отображается на каждой странице админки пока не настроен ИШ или СКЗИ — оператор не сможет случайно принять mock-результат за реальный.
|
- Баннер «🟡 РЕЖИМ ЭМУЛЯЦИИ» отображается на каждой странице админки пока не настроен ИШ или СКЗИ — оператор не сможет случайно принять mock-результат за реальный.
|
||||||
- Контекстная навигация после действий (после POST возврат на ту же страницу, не в /admin/setup).
|
- Контекстная навигация после действий (после POST возврат на ту же страницу, не в /admin/setup).
|
||||||
@@ -106,32 +127,39 @@
|
|||||||
|
|
||||||
### Внешние блокеры (без них не двинемся к реальному НРД)
|
### Внешние блокеры (без них не двинемся к реальному НРД)
|
||||||
|
|
||||||
1. **Дистрибутив ИШ НРД**
|
1. **Astra Linux ВМ для ИШ** ⭐ новый блокер
|
||||||
- Где взять: https://www.nsd.ru/workflow/system/programs/#0-widget-faq-0-4
|
- Дистрибутив ИШ — только `igate_100.0-765_amd64.deb` (под Astra Linux SE 1.6/1.7). РЕД ОС официально не поддерживается, RPM-версии нет.
|
||||||
- Что неизвестно: системные требования (ОС, СКЗИ — JCP или CSP, БД, Java), нужен ли отдельный договор/лицензия. В наших документах эти детали отсутствуют — они в «Руководстве по установке ИШ», которого у нас нет.
|
- Что нужно: поднять отдельную Astra Linux ВМ (10.10.10.23?) или попробовать запустить ИШ в Docker-контейнере с Astra-образом.
|
||||||
- Что нужно сделать: запросить «Руководство по установке и настройке ПО Интеграционный шлюз НРД» у НРД (контакт: `M2MOST@nsd.ru`).
|
- Альтернативы: Windows 10/Server (есть .exe-дистрибутив, но это шаг назад от Linux).
|
||||||
- Срок: зависит от ответа НРД.
|
- Срок: зависит от инфра-команды; ~1 день поднять ВМ + ~30 мин установить ИШ.
|
||||||
|
|
||||||
2. **Сертификат подписи УЦ Московской Биржи** (ca.moex.com)
|
2. **СКЗИ «Валидата CSP» + АПК «Валидата Клиент L»** ⭐ новый блокер
|
||||||
- Нужен для подписи отправляемых сообщений (через ИШ — кладётся в ИШ; без ИШ — в bj-server).
|
- ИШ требует именно Валидату, **НЕ КриптоПро CSP** (у нас стоит КриптоПро, придётся ставить параллельно или вместо).
|
||||||
- Что нужно: оформить заявку в УЦ МБ от организации, получить сертификат + приватный ключ (на токене или в контейнере).
|
- Где взять: только по запросу — `soed@nsd.ru` (НРД) или `pki@moex.com` (МБ). Временная лицензия выдаётся.
|
||||||
- Срок: зависит от УЦ.
|
- Что нужно: отправить письмо с реквизитами организации и обоснованием (подключение к MOEX МОСТ M2M).
|
||||||
|
- Срок: ~1-3 дня на ответ НРД.
|
||||||
|
|
||||||
3. **Сертификаты УЦ НРД** (для проверки квитанций)
|
3. **Сертификат подписи УЦ Московской Биржи** (ca.moex.com)
|
||||||
|
- Нужен для подписи отправляемых сообщений. Кладётся в Справочник сертификатов АПК Валидата Клиент L, экспортируется в системное хранилище.
|
||||||
|
- Что нужно: оформить заявку в УЦ МБ от организации, получить сертификат + приватный ключ.
|
||||||
|
- Срок: зависит от УЦ МБ.
|
||||||
|
|
||||||
|
4. **Заявка на тестирование в TEST3 НРД**
|
||||||
|
- Форма: `https://www.nsd.ru/workflow/zayavka-na-testirovanie/`
|
||||||
|
- Инструкция: `DOC/instr_int_sh_01072025.pdf`
|
||||||
|
- Получаем код депонента-тестера и доступ к контурам GUEST/TEST3.
|
||||||
|
|
||||||
|
5. **Сертификаты УЦ НРД** (для проверки квитанций)
|
||||||
- Где взять: `https://www.nsd.ru/workflow/system/cryptography/` — сейчас отдаёт 404 на нашем дев-стенде (вероятно перенесено в ЛК НРД депонента).
|
- Где взять: `https://www.nsd.ru/workflow/system/cryptography/` — сейчас отдаёт 404 на нашем дев-стенде (вероятно перенесено в ЛК НРД депонента).
|
||||||
- В коде уже есть форма «Авто-загрузка сертификатов УЦ» в `/admin/setup` — как только получим прямые URL .cer, добавим их.
|
- В коде уже есть форма «Авто-загрузка сертификатов УЦ» в `/admin/setup` — как только получим прямые URL .cer, добавим их.
|
||||||
|
|
||||||
4. **Окно техработ TEST3: 18.05.2026 — 22.05.2026**
|
6. **Окно техработ TEST3: 18.05.2026 — 22.05.2026**
|
||||||
- Полевое тестирование в этот период невозможно. Реальные прогоны — до 18-го или после 22-го мая.
|
- Полевое тестирование в этот период невозможно. Реальные прогоны — до 18-го или после 22-го мая.
|
||||||
|
|
||||||
5. **Доступ к API реального ЛК ESIA Finance**
|
7. **Доступ к API реального ЛК ESIA Finance**
|
||||||
- Сейчас bj-server работает с встроенным эмулятором `lk-emulator` на :8083.
|
- Сейчас bj-server работает с встроенным эмулятором `lk-emulator` на :8083.
|
||||||
- Что нужно: URL продакшен/тест ЛК, Basic-auth учётка.
|
- Что нужно: URL продакшен/тест ЛК, Basic-auth учётка.
|
||||||
|
|
||||||
6. **«Руководство пользователя ПО Интеграционный шлюз НРД»** и **«Руководство по установке и настройке…»**
|
|
||||||
- Упомянуты как ссылки в `DOC/Инструккия M2M.pdf` стр. 6, но самих файлов у нас нет.
|
|
||||||
- REST API мы уже реализовали по `instr-ish-rest-api.pdf` — но настройка каналов ЭДО (channel=?), параметры ключевого хранилища ИШ, порт по умолчанию — оттуда.
|
|
||||||
|
|
||||||
### Внутренние задачи (можем делать параллельно)
|
### Внутренние задачи (можем делать параллельно)
|
||||||
|
|
||||||
| Задача | Приоритет | Эффект |
|
| Задача | Приоритет | Эффект |
|
||||||
|
|||||||
Vendored
+62
@@ -0,0 +1,62 @@
|
|||||||
|
# Дистрибутив Интеграционного шлюза НРД (ИШ)
|
||||||
|
|
||||||
|
**Скачано с сайта НРД** (`https://www.nsd.ru/workflow/system/programs/web-service/`) 14.05.2026.
|
||||||
|
Через git не коммитим — файлы большие, ставятся отдельно.
|
||||||
|
|
||||||
|
## Файлы
|
||||||
|
|
||||||
|
| Файл | Размер | Описание |
|
||||||
|
|---|---:|---|
|
||||||
|
| `igate_100.0-765_amd64.deb` | 117 МБ | Дистрибутив ИШ для **Astra-Linux** (.deb пакет) |
|
||||||
|
| `igate_95.0-716_amd64.SGN` | 491 байт | Электронная подпись к дистрибутиву ИШ |
|
||||||
|
|
||||||
|
## Где скачать заново
|
||||||
|
|
||||||
|
- ИШ Linux: `https://old.nsd.ru/upload/docs/edo/po/igate_100.0-765_amd64.deb`
|
||||||
|
- ИШ Windows (рус): `https://old.nsd.ru/upload/docs/edo/po/igate-ru-100.0.0.764.zip`
|
||||||
|
- ИШ Windows (eng): `https://old.nsd.ru/upload/docs/edo/po/igate-en-100.0.0.764.zip`
|
||||||
|
- Все версии: `https://www.nsd.ru/workflow/system/programs/web-service/`
|
||||||
|
|
||||||
|
## Что ещё нужно (НЕ в этой папке)
|
||||||
|
|
||||||
|
### 1. СКЗИ «Валидата CSP» + АПК «Валидата Клиент L»
|
||||||
|
**Не выложено публично** — даётся НРД по запросу:
|
||||||
|
- Email НРД: `soed@nsd.ru`
|
||||||
|
- Email Московской Биржи: `pki@moex.com`
|
||||||
|
|
||||||
|
В письме указать: «Запрос дистрибутива СКЗИ Валидата CSP для Linux + временной лицензии для подключения к ЭДО НРД в рамках сервиса MOEX МОСТ M2M».
|
||||||
|
|
||||||
|
### 2. Сертификат подписи
|
||||||
|
Только от **УЦ Московской Биржи** (`https://ca.moex.com/`). Получает организация-депонент.
|
||||||
|
|
||||||
|
### 3. PostgreSQL
|
||||||
|
Если используется REST API ИШ — **обязательно** PostgreSQL (SQLite не подходит для API).
|
||||||
|
У нас PostgreSQL 16 уже работает в podman-контейнере → готово.
|
||||||
|
|
||||||
|
## Поддерживаемые ОС (из руководства по установке)
|
||||||
|
|
||||||
|
- **Astra Linux Special Edition x64** редакций 1.6, 1.7, исполнение 1 (РУСБ.10015-01/16)
|
||||||
|
- **Windows 10 / Server 2016/2019**
|
||||||
|
|
||||||
|
**РЕД ОС в списке не упомянута.** Варианты для нашей инфраструктуры:
|
||||||
|
1. Поднять отдельную Astra Linux ВМ для ИШ (рекомендуется)
|
||||||
|
2. Попробовать `dpkg -i` на РЕД ОС с `alien` (рискованно)
|
||||||
|
3. Использовать Debian/Ubuntu ВМ (близко к Astra, возможно сработает)
|
||||||
|
4. Контейнер с базовым образом `astralinux/astra-linux-edu:1.7.5` (если такой есть)
|
||||||
|
5. Запросить у НРД RPM-версию
|
||||||
|
|
||||||
|
## Контакты НРД
|
||||||
|
|
||||||
|
- Email по СЭД и дистрибутивам: `soed@nsd.ru`
|
||||||
|
- Email по форматам M2M: `M2MOST@nsd.ru`
|
||||||
|
- Сайт ИШ: `https://www.nsd.ru/workflow/system/programs/web-service/`
|
||||||
|
|
||||||
|
## Документация
|
||||||
|
|
||||||
|
Все PDF лежат в `../../DOC/`:
|
||||||
|
- `ruk_install_ish_2025_11_10.pdf` — Руководство по установке ИШ (от 10.11.2025)
|
||||||
|
- `ruk_pol_ish.pdf` — Руководство пользователя ИШ
|
||||||
|
- `QA_ish.pdf` — Часто задаваемые вопросы
|
||||||
|
- `test-case_ish.pdf` — Тест-кейсы для проверки работоспособности ИШ
|
||||||
|
- `instr_int_sh_01072025.pdf` — Инструкция по созданию заявки на тестирование
|
||||||
|
- `web_service_nrd_standard_soap_rest.pdf` — Технические рекомендации Web-сервиса ONYX
|
||||||
@@ -20,7 +20,7 @@ var templatesFS embed.FS
|
|||||||
// {{define "content"}} в разных файлах.
|
// {{define "content"}} в разных файлах.
|
||||||
type admin struct {
|
type admin struct {
|
||||||
home, claims, claim, status, setup *template.Template
|
home, claims, claim, status, setup *template.Template
|
||||||
help, helpDatabase, helpLK, helpCryptoPro, helpSystems, helpRobot *template.Template
|
help, helpDatabase, helpLK, helpCryptoPro, helpSystems, helpRobot, helpArchitecture *template.Template
|
||||||
wizard, news *template.Template
|
wizard, news *template.Template
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,10 +135,14 @@ func newAdmin() (*admin, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("parse admin_help_robot: %w", err)
|
return nil, fmt.Errorf("parse admin_help_robot: %w", err)
|
||||||
}
|
}
|
||||||
|
helpArch, err := parse("admin_help_architecture.html")
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("parse admin_help_architecture: %w", err)
|
||||||
|
}
|
||||||
return &admin{
|
return &admin{
|
||||||
home: home, claims: claims, claim: claim, status: status, setup: setup,
|
home: home, claims: claims, claim: claim, status: status, setup: setup,
|
||||||
help: help, helpDatabase: helpDB, helpLK: helpLK, helpCryptoPro: helpCP, helpSystems: helpSys,
|
help: help, helpDatabase: helpDB, helpLK: helpLK, helpCryptoPro: helpCP, helpSystems: helpSys,
|
||||||
helpRobot: helpRobot,
|
helpRobot: helpRobot, helpArchitecture: helpArch,
|
||||||
wizard: wizard, news: news,
|
wizard: wizard, news: news,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
@@ -224,6 +228,8 @@ func RegisterAdmin(mux *http.ServeMux, svc *Service, rc *RuntimeConfig, getOpts
|
|||||||
render(w, a.helpSystems, nowPage("Внешние системы", "help"))
|
render(w, a.helpSystems, nowPage("Внешние системы", "help"))
|
||||||
case p == "help/robot":
|
case p == "help/robot":
|
||||||
render(w, a.helpRobot, nowPage("Тестирование с роботом", "help"))
|
render(w, a.helpRobot, nowPage("Тестирование с роботом", "help"))
|
||||||
|
case p == "help/architecture":
|
||||||
|
render(w, a.helpArchitecture, nowPage("Архитектура обмена", "help"))
|
||||||
default:
|
default:
|
||||||
http.NotFound(w, r)
|
http.NotFound(w, r)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,5 +35,11 @@
|
|||||||
<p class="muted">Робот НРД на TEST3 (код <code>MC0012500000</code>), 4 тестовых сценария (отказ / принять все / частично / встречный перевод), управление через DocumentSeries и DocumentNumber, тестовые наборы депозитариев и кодов ошибок.</p>
|
<p class="muted">Робот НРД на TEST3 (код <code>MC0012500000</code>), 4 тестовых сценария (отказ / принять все / частично / встречный перевод), управление через DocumentSeries и DocumentNumber, тестовые наборы депозитариев и кодов ошибок.</p>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
<a href="/admin/help/architecture" style="text-decoration:none">
|
||||||
|
<div class="card" style="height:100%">
|
||||||
|
<h2 style="color:var(--accent)">Архитектура обмена с НРД →</h2>
|
||||||
|
<p class="muted">Полная схема: bj-server → ИШ (на Astra Linux ВМ) → ONYX (НРД) → робот-автотест. Кто на чьей стороне, какие СКЗИ, какие сертификаты, FAQ. Куда воткнуть Валидату, куда КриптоПро, где сертификаты УЦ МБ.</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|||||||
@@ -0,0 +1,139 @@
|
|||||||
|
{{define "content"}}
|
||||||
|
<p style="margin-bottom:16px"><a href="/admin/help">← все инструкции</a></p>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h2>Архитектура: как устроен обмен с НРД</h2>
|
||||||
|
<p class="muted">Документ-источник: <code>DOC/ruk_install_ish_2025_11_10.pdf</code> (Руководство по установке ИШ от 10.11.2025), <code>DOC/instr-ish-rest-api.pdf</code> (REST API ИШ).</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h2>Схема обмена (полная)</h2>
|
||||||
|
<pre style="font-size:12px;line-height:1.4;background:var(--bg);padding:16px;border-radius:6px;overflow:auto">
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ НАША СТОРОНА │
|
||||||
|
│ │
|
||||||
|
│ Linux ВМ (РЕД ОС 8) Astra Linux ВМ │
|
||||||
|
│ ────────────────── ────────────────── │
|
||||||
|
│ ┌──────────────────┐ REST API ┌──────────────────┐ │
|
||||||
|
│ │ bj-server │ ────POST/GET──> │ ИШ (igate) │ │
|
||||||
|
│ │ (наше ПО) │ <───────────── │ (получаем у НРД)│ │
|
||||||
|
│ │ │ │ │ │
|
||||||
|
│ │ • стейт-машина │ │ Делает САМ: │ │
|
||||||
|
│ │ • PostgreSQL │ │ • подпись │ │
|
||||||
|
│ │ • админка :8080 │ │ • упаковку ЭДО │ │
|
||||||
|
│ │ • lk-emulator │ │ • проверку │ │
|
||||||
|
│ │ │ │ подписей НРД │ │
|
||||||
|
│ └──────────────────┘ │ • БД PostgreSQL │ │
|
||||||
|
│ │ (history) │ │
|
||||||
|
│ └──────┬───────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ КриптоПро CSP — для нашей │ Валидата CSP │
|
||||||
|
│ admin-стороны (PKCS#11) │ + АПК Валидата │
|
||||||
|
│ │ Клиент L │
|
||||||
|
└──────────────────────────────────────────────┼─────────────────┘
|
||||||
|
│
|
||||||
|
SOAP/REST/HTTPS │ Web-сервис ONYX
|
||||||
|
▼
|
||||||
|
┌────────────────────────────┐
|
||||||
|
│ СТОРОНА НРД │
|
||||||
|
│ │
|
||||||
|
│ GUEST: gost-gt.nsd.ru │
|
||||||
|
│ TEST3: gost.nsd.ru │
|
||||||
|
│ PROM: edog.nsd.ru │
|
||||||
|
│ │
|
||||||
|
│ /onyxgs/WslService │
|
||||||
|
│ /onyxt3/WslService │
|
||||||
|
│ /onyxpr/WslService │
|
||||||
|
│ │
|
||||||
|
│ ↓ внутрь НРД │
|
||||||
|
│ • робот-автотест │
|
||||||
|
│ MC0012500000 │
|
||||||
|
│ • реальные депозитарии │
|
||||||
|
│ • биржевые системы │
|
||||||
|
└────────────────────────────┘
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h2>Компоненты — кто на чьей стороне</h2>
|
||||||
|
<table>
|
||||||
|
<thead><tr><th>Компонент</th><th>Сторона</th><th>ОС</th><th>СКЗИ</th><th>Назначение</th></tr></thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><strong>bj-server</strong></td>
|
||||||
|
<td>наша</td>
|
||||||
|
<td>РЕД ОС 8 / Linux</td>
|
||||||
|
<td>КриптоПро CSP (PKCS#11) — для админ-части</td>
|
||||||
|
<td>Стейт-машина, журнал в БД, веб-админка, lk-emulator</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>ИШ (igate)</strong></td>
|
||||||
|
<td>наша <span class="muted">(но дистрибутив даёт НРД)</span></td>
|
||||||
|
<td>Astra Linux SE 1.6/1.7 <em>или</em> Windows 10/Server</td>
|
||||||
|
<td>Валидата CSP + АПК Валидата Клиент L</td>
|
||||||
|
<td>Подписывает наш XML сертификатом УЦ МБ, упаковывает в пакет ЭДО, отправляет в НРД</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>ONYX (WSL)</strong></td>
|
||||||
|
<td>НРД</td>
|
||||||
|
<td>—</td>
|
||||||
|
<td>—</td>
|
||||||
|
<td>Web-сервис НРД — принимает пакеты от ИШ всех клиентов</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Робот-автотест</strong></td>
|
||||||
|
<td>НРД</td>
|
||||||
|
<td>—</td>
|
||||||
|
<td>—</td>
|
||||||
|
<td>Контрагент-эмулятор внутри НРД. Адресуется кодом <code>MC0012500000</code> в TEST3</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h2>Часто задаваемые вопросы</h2>
|
||||||
|
|
||||||
|
<h3>Q: ИШ — это сервер НРД, к которому мы подключаемся?</h3>
|
||||||
|
<p>Нет. <strong>ИШ — это наша программа, поставленная у нас.</strong> НРД даёт дистрибутив (<code>igate_100.0-765_amd64.deb</code>, 117 МБ), но ставим у себя. ИШ — это «персональный почтовый клиент к НРД» с подписью.</p>
|
||||||
|
|
||||||
|
<h3>Q: ИШ можно поставить на ту же ВМ, что и bj-server?</h3>
|
||||||
|
<p>Технически да (если та ВМ — Astra Linux). Но у нас bj-server на РЕД ОС, а ИШ требует <strong>Astra Linux</strong> (RPM-версии нет). Поэтому нужно либо: (а) отдельная Astra Linux ВМ, (б) запуск ИШ в Docker-контейнере с Astra-образом, (в) перевод всей инфры на Astra Linux.</p>
|
||||||
|
|
||||||
|
<h3>Q: Мы перекладываем файлы между bj-server и ИШ?</h3>
|
||||||
|
<p>Нет. Мы используем <strong>REST API</strong> ИШ (раздел 2.5 инструкции). bj-server делает HTTP-запросы: <code>POST /api/package/{channel}/file</code> с ZIP в теле. Никаких разделяемых папок. (Альтернативный режим «обменные папки» в ИШ есть — мы его не используем.)</p>
|
||||||
|
|
||||||
|
<h3>Q: Почему ИШ требует Валидата CSP, а мы поставили КриптоПро?</h3>
|
||||||
|
<p>ИШ — отечественная разработка НРД, исторически работает с Валидатой (продукт ООО «Валидата», <code>x509.ru</code>). КриптоПро CSP на нашей ВМ останется — он используется для админ-части bj-server (подпись действий оператора через Рутокен). Валидату надо поставить <strong>на Astra Linux ВМ рядом с ИШ</strong>, не вместо КриптоПро.</p>
|
||||||
|
|
||||||
|
<h3>Q: Где брать Валидату?</h3>
|
||||||
|
<p>Не публично. По запросу: email <code>soed@nsd.ru</code> (НРД) или <code>pki@moex.com</code> (МБ). Временная лицензия выдаётся бесплатно для подключения к ЭДО НРД.</p>
|
||||||
|
|
||||||
|
<h3>Q: Какой сертификат нужен?</h3>
|
||||||
|
<p>Только от <strong>УЦ Московской Биржи</strong> (<code>ca.moex.com</code>). Сертификаты других УЦ ИШ не примет. УЦ МБ выпускает сертификаты только для организаций, подключённых к ЭДО НРД (по договору).</p>
|
||||||
|
|
||||||
|
<h3>Q: Что делать, чтобы протестировать на роботе НРД на TEST3?</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Получить сертификат УЦ МБ для нашей организации.</li>
|
||||||
|
<li>Подать <a href="https://www.nsd.ru/workflow/zayavka-na-testirovanie/" target="_blank">заявку на тестирование</a> в НРД (инструкция в <code>DOC/instr_int_sh_01072025.pdf</code>).</li>
|
||||||
|
<li>Получить от НРД код депонента-тестера и доступ к TEST3.</li>
|
||||||
|
<li>Поднять Astra Linux ВМ, поставить ИШ + Валидату, импортировать сертификат.</li>
|
||||||
|
<li>В нашем <a href="/admin/setup">/admin/setup</a> → «Интеграционный шлюз НРД» указать URL ИШ (например <code>http://10.10.10.23:8080</code>) и имя канала из ИШ.</li>
|
||||||
|
<li>Отправить тестовую заявку с <code>ReceiverCode = MC0012500000</code> и <code>DocumentSeries = 2001</code> — робот ответит «Принять все бумаги».</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<h3>Q: Сколько времени нужно от старта подключения до прогона на TEST3?</h3>
|
||||||
|
<p>Оптимистично — <strong>1-2 недели</strong> (если все ответы НРД быстрые и УЦ МБ не задерживает). Реалистично — <strong>3-4 недели</strong>. На нашей стороне всё уже готово; задержка только во внешних шагах.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h2>Что у нас уже готово</h2>
|
||||||
|
<ul>
|
||||||
|
<li>✅ <strong>REST-клиент ИШ</strong> в <code>internal/nsdadapter/igw/</code> — все 4 endpoint'а по спецификации, упаковщик/распаковщик ZIP, 10 тестов PASS</li>
|
||||||
|
<li>✅ <strong>Робот-эмулятор</strong> в <code>internal/nsdadapter/mock/</code> — позволяет проверить нашу логику до получения реального ИШ</li>
|
||||||
|
<li>✅ <strong>Конфигурация в админке</strong> — поля <code>igw_base_url</code> и <code>channel</code> в /admin/setup; авто-определение профилей GUEST/TEST3/PROD</li>
|
||||||
|
<li>✅ <strong>Подбор URL контуров</strong> — при выборе профиля URL ONYX заполняется автоматически</li>
|
||||||
|
<li>✅ <strong>Полная документация ИШ</strong> в <code>DOC/</code> и дистрибутив в <code>dist/ish/</code></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
Reference in New Issue
Block a user