{{define "content"}}

Настройка Bridge&Join

Пошаговый мастер первого запуска — состояние сохраняется после каждого шага

{{if .Done.Postgres}}✓{{else}}1{{end}}База
{{if .Done.Crypto}}✓{{else}}2{{end}}Валидата
{{if .Done.Certs}}✓{{else}}3{{end}}Сертификаты
{{if .Done.NSD}}✓{{else}}4{{end}}Шлюз НРД
{{if .Done.TestRun}}✓{{else}}5{{end}}Проверка
{{if .Flash}}

{{.Flash}}

{{end}}
{{/* ============= ШАГ 1: PostgreSQL ============= */}} {{if eq .Step 1}}

Шаг 1. PostgreSQL

Сюда система пишет журнал сделок и принимает данные от команды Fansy.

Что выбрать? Если у вас уже есть рабочий PostgreSQL — нажмите «У меня уже есть PostgreSQL» и введите DSN. Если впервые настраиваете — выберите «Поднять автоматически», система сама развернёт контейнер с PostgreSQL и накатит миграции.
{{if not .Settings.Postgres.DSN}}

Вариант А — для тех, у кого нет своего PostgreSQL

Bridge-and-Join-s сам поднимет PostgreSQL в контейнере (podman-compose), создаст БД bj и накатит миграции. Подходит для дев-стенда. Для продакшена лучше указать свой DSN.

~10-30 сек
{{end}}
Вариант Б — у меня уже есть PostgreSQL, введу DSN сам

При сохранении выполняется тестовое подключение (Ping). Если БД недоступна — будет ошибка.

{{if .Done.Postgres}}К шагу 2 →{{else}}{{end}}
{{if not .Done.Postgres}}

Пропустить (буду работать в режиме in-memory — без сохранения сделок)

{{end}}
{{end}} {{/* ============= ШАГ 2: Крипто (Валидата) ============= */}} {{if eq .Step 2}}

Шаг 2. СКЗИ «Валидата Клиент L»

СКЗИ нужен для подписи XMLDSig и проверки квитанций НРД.

Что это? АПК «Валидата Клиент L» — российское СКЗИ с поддержкой ГОСТ Р 34.10-2012, поставляемое НРД для подключения к ЭДО. На Linux работает напрямую через PKCS#11 — отдельной лицензии и регистрационных данных не требует.
Где взять? Дистрибутив для Astra Linux SE — fs.moex.com/cdp/po/ClientL_ALSE.zip. Установка — sudo dpkg -i zpki-*.deb zsdk-*.deb (см. /admin/help/crypto).
Параметры провайдера
← К шагу 1 {{if .Done.Crypto}}К шагу 3 →{{else}}Пропустить →{{end}}
{{end}} {{/* ============= ШАГ 3: Сертификаты ============= */}} {{if eq .Step 3}}

Шаг 3. Сертификаты

Импортируйте сертификаты вашей организации и сертификаты УЦ НРД (для проверки квитанций).

Что говорят документы НРД (DOC/Инструккия M2M.pdf, стр. 11, 16-19):
  • Наши пакеты должны быть подписаны сертификатом УЦ МБ (Удостоверяющий центр Московской Биржи).
  • В режиме ИШ НРД: подписывает сам ИШ — наш ключ настраивается в ИШ, не здесь. Bj-server нужен только для проверки квитанций НРД и (опц.) расшифровки 4BROKER01.
  • В режиме прямого ONYX без ИШ: bj-server подписывает сам — нужен наш ключ с приватной частью.
Что куда загружать:
  • Корневой сертификат УЦ МБ (ca.moex.com) — для проверки цепочки нашей подписи и подписей контрагентов.
  • Корневой и подписной УЦ НРД (nsd.ru/workflow/system/cryptography/) — для проверки квитанций от НРД.
  • Наш сертификат с приватным ключом (только если без ИШ) — для подписи пакетов и расшифровки 4BROKER01.

Полный регламент PKI — в «Правилах ЭДО НРД» и «Руководстве по установке ИШ» (nsd.ru/ru/documents/workflow/) — в наших PDF этого не описано.

Авто-загрузка сертификатов УЦ НРД

Самый простой способ — добавить прямые URL .cer-файлов УЦ НРД (с nsd.ru/workflow/system/cryptography/) и включить авто-обновление. Раз в сутки система перепроверит и сохранит изменённые сертификаты в /var/lib/bj/ca-certs/.

{{if not .Settings.CACerts.LastFetch.IsZero}}Последнее обновление: {{.Settings.CACerts.LastFetch.Format "02.01.2006 15:04:05"}}{{end}}
{{if .Certs}}

Установленные сертификаты ({{len .Certs}})

{{range .Certs}} {{end}}
ВладелецИздательДействителен доИННКлюч
{{.SubjectCN}} {{.IssuerCN}} {{.NotAfter.Format "02.01.2006"}} {{if .INN}}{{.INN}}{{else}}—{{end}} {{if .HasPrivateKey}}есть{{else}}нет{{end}}
{{else}}

Пока сертификаты не импортированы.

{{end}}
← К шагу 2 К шагу 4 →
{{end}} {{/* ============= ШАГ 4: НРД ============= */}} {{if eq .Step 4}}

Шаг 4. Интеграционный шлюз НРД

Адрес web-сервиса ONYX и имя ключевого контейнера НРД.

Что это? Интеграционный шлюз (ИШ) НРД — это компонент, через который наши M2M-сообщения отправляются в НРД. У НРД есть 4 контура: GUEST (для разработки) и TEST3 (предпродакшен), каждый в варианте ГОСТ или RSA.
Где взять? Дистрибутив ИШ и инструкции — на сайте НРД nsd.ru/workflow/system/programs/. Доступ к тестовым контурам выдаётся НРД по заявке (см. DOC/instr_podkl_stend_v3.pdf).
← К шагу 3 {{if .Done.NSD}}К шагу 5 →{{else}}Пропустить (mock-режим) →{{end}}
{{end}} {{/* ============= ШАГ 5: Тест-ран ============= */}} {{if eq .Step 5}}

Шаг 5. Тестовая заявка

Прогон полного цикла: создание заявки → валидация → подпись → отправка в НРД (или mock) → ожидание Decision → подтверждение.

Что произойдёт? Система создаст тестовую M2M-сделку, проведёт её через всю стейт-машину, и покажет результат каждого этапа. Если ИШ НРД не настроен — сработает mock (синтетический Decision через 3 секунды).
{{if .Settings.LastTest}}

Последний прогон: {{.Settings.LastTest.StartedAt.Format "02.01.2006 15:04:05"}}

{{if .Settings.LastTest.Message}}{{end}}
Заявка{{.Settings.LastTest.ClaimID}}
Финальное состояние{{ruState .Settings.LastTest.FinalStatus}}
Результат{{if .Settings.LastTest.OK}}успех{{else}}ошибка{{end}}
Сообщение{{.Settings.LastTest.Message}}
{{end}}

Итоговая сводка

PostgreSQL{{if .Done.Postgres}}настроен{{else}}in-memory{{end}}
Крипто-провайдер{{if .Done.Crypto}}{{.Settings.Crypto.Provider}}{{else}}не настроен{{end}}
Сертификатов установлено{{len .Certs}}
ИШ НРД{{if .Done.NSD}}{{.Settings.NSD.Profile}}{{else}}mock-режим{{end}}
Тестовый прогон{{if .Done.TestRun}}пройден{{else}}не запускался{{end}}
← К шагу 4 Перейти к дашборду
{{end}}
{{end}}