9737c787f9
Инфраструктура 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>
137 lines
11 KiB
HTML
137 lines
11 KiB
HTML
{{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) │ │
|
||
│ └──────┬───────────┘ │
|
||
│ │ │
|
||
│ АПК «Валидата Клиент L» │ АПК «Валидата │
|
||
│ (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>Astra Linux SE 1.7 / Linux</td>
|
||
<td>АПК «Валидата Клиент L» (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</td>
|
||
<td>АПК «Валидата Клиент 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, и ИШ работают на Astra Linux SE 1.6/1.7 и используют одно и то же СКЗИ — АПК «Валидата Клиент L». Можно собрать всё на одной ВМ или разнести по отдельным.</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: Где брать Валидату?</h3>
|
||
<p>Дистрибутив для Astra Linux SE опубликован на сайте Московской Биржи: <a href="https://fs.moex.com/cdp/po/ClientL_ALSE.zip" target="_blank" rel="noopener">fs.moex.com/cdp/po/ClientL_ALSE.zip</a>. На Linux отдельной лицензии и регистрационных данных не требует — пакеты <code>zpki</code>/<code>zsdk</code> ставятся через <code>dpkg -i</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}}
|