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:
fontvielle
2026-05-14 17:28:59 +03:00
parent de41aea00c
commit 7a7aa0cf6c
12 changed files with 271 additions and 24 deletions
+6
View File
@@ -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
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+49 -21
View File
@@ -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=?), параметры ключевого хранилища ИШ, порт по умолчанию — оттуда.
### Внутренние задачи (можем делать параллельно) ### Внутренние задачи (можем делать параллельно)
| Задача | Приоритет | Эффект | | Задача | Приоритет | Эффект |
+62
View File
@@ -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
+8 -2
View File
@@ -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}}