{{define "content"}}

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

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

{{if .Done.License}}✓{{else}}1{{end}}Лицензия
{{if .Done.Postgres}}✓{{else}}2{{end}}База bj
{{if .Done.Depo}}✓{{else}}3{{end}}Учёт DEPO
{{if .Done.Crypto}}✓{{else}}4{{end}}Валидата
{{if .Done.Certs}}✓{{else}}5{{end}}Сертификаты
{{if .Done.NSD}}✓{{else}}6{{end}}Шлюз НРД
{{if .Done.TestRun}}✓{{else}}7{{end}}Проверка

Пропустить мастер и перейти в систему → — вернуться к нему можно из «Настройка → Мастер настройки»

{{if .Flash}}

{{.Flash}}

{{end}}
{{if .AutoDone}}

Уже готово — эти шаги пропущены, делать там ничего не нужно:

{{range .AutoDone}}

✓ {{.}}

{{end}}

Открыть любой шаг можно кнопками «← К шагу» внизу.

{{end}} {{/* ============= ШАГ 1: Лицензия ============= */}} {{if eq .Step 1}}

Шаг 1. Лицензия

Что это. Ключ продукта (BJ-XXXX-XXXX-XXXX) привязывает этот сервер к вашей лицензии.
Зачем. От лицензии зависят модули (обмен с DEPO и QUIK, личный кабинет, НПР/УДС) и получение обновлений: bj скачает и поставит модули, входящие в лицензию, автоматически.
Где взять. Портал клиента lic.zetit.ru/portal или письмо от ZETIT.
{{if .Done.License}}

✓ Лицензия активна: {{.Lic.Tenant}}, план {{.Lic.Plan}}, модули: {{if .Lic.Features}}{{range $i, $f := .Lic.Features}}{{if $i}}, {{end}}{{$f}}{{end}}{{else}}только ядро{{end}}; {{.Lic.Message}}

{{end}}
{{if .Done.License}}К шагу 2 →{{else}}Пропустить (ввести позже) →{{end}}
{{end}} {{/* ============= ШАГ 3: Учёт DEPO (Fancy) ============= */}} {{if eq .Step 3}}

Шаг 3. Учётная система DEPO (Fancy)

Что это. Подключение к базе депозитарного учёта DEPO (MS SQL / PostgreSQL).
Зачем. bj сверяет с DEPO каждый перевод (клиент, счёт, остаток, квалификация) и передаёт в DEPO поручения и их исполнение — документы создаются в учёте автоматически. Отсюда же bj возьмёт ваши реквизиты в НРД (шаг 6), чтобы не вводить их вручную.
Что нужно. Адрес сервера БД и логин с правами чтения DEPO и записи в трансферные таблицы FTV_M2M (выдаёт администратор СУБД).
{{if not .DepoLicensed}}

Модуль обмена с DEPO и QUIK не входит в текущую лицензию — шаг пропускается. После добавления модуля в лицензию он станет доступен здесь и в «Настройка → Обмен Fancy».

{{else}} {{if .Done.Depo}}

✓ Подключение сохранено: {{.Settings.Fancy.Server}}, база {{.DepoDB}}. {{if .Settings.Fancy.DepoTablesCheckOK}}Трансферные таблицы на месте.{{else}}Трансферные таблицы ещё не проверены — «Настройка → Обмен Fancy → Трансферные таблицы DEPO».{{end}}

{{end}}
{{if .Settings.Fancy.Server}}{{end}}
{{end}}
← К шагу 2 {{if .Done.Depo}}К шагу 4 →{{else}}Пропустить →{{end}}
{{end}} {{/* ============= ШАГ 1: PostgreSQL ============= */}} {{if eq .Step 2}}

Шаг 2. PostgreSQL

База самого bj: журнал заявок и поручений, история обмена с НРД и DEPO, пользователи.

{{if .Done.Postgres}}

✓ База готова{{if .PGSummary}}: {{.PGSummary}}{{end}}. Её создал установщик — ничего делать не нужно, переходите к следующему шагу.

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

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

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

~10-30 сек
{{end}}
{{if .Settings.Postgres.DSN}}Подключить другую базу (обычно не нужно){{else}}Вариант Б — у меня уже есть PostgreSQL, введу DSN сам{{end}}

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

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

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

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

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

СКЗИ «Валидата Клиент L» проверяет подписи НРД на квитанциях и сообщениях и нужно для работы с ключами и сертификатами (шаг 5).

{{if .ValidataVer}}

✓ Валидата установлена вместе с bj: версия {{.ValidataVer}}, каталог /opt/Validata/VDCSP. Ничего настраивать на этом шаге не нужно.

bj работает с Валидатой через свою службу криптографии bj-crypto{{if eq .CryptoSvc "active"}} — она запущена{{else}} — она запустится, когда на шаге 5 будут загружены ключи и сертификаты{{end}}.

{{else}}

Валидата на этом сервере не найдена.

Как поставить. С образа Bridge&Join она ставится сама. Если bj ставили на готовую систему: пакеты zpki и zsdk из дистрибутива НРД (ClientL_Other.zip для Ubuntu 22.04, ClientL_ALSE.zip для Astra Linux) — sudo apt install ./zpki_*.deb ./zsdk_*.deb, подробнее — справка. После установки обновите эту страницу.
{{if devOn}}
{{end}} {{end}}
← К шагу 3 {{if .Done.Crypto}}К шагу 5 →{{else}}Пропустить →{{end}}
{{end}} {{/* ============= ШАГ 3: Сертификаты ============= */}} {{if eq .Step 5}}

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

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

Что говорят документы НРД (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}}
← К шагу 4 К шагу 6 →
{{end}} {{/* ============= ШАГ 4: НРД ============= */}} {{if eq .Step 6}}

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

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

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

Депозитарные реквизиты организации в НРД. {{if .Settings.Fancy.Server}}Их можно взять из базы DEPO (Fancy): кнопка «Определить из DEPO» подставит найденное в пустые поля — проверьте и сохраните.{{else}}Если учёт ведётся в Fancy DEPO — сначала настройте подключение к базе в разделе Обмен Fancy, тогда реквизиты подставятся из DEPO автоматически; иначе введите их из договора с НРД.{{end}}

{{if .Settings.Fancy.Server}}{{end}} {{if .Suggest}}{{if .Suggest.AccountID}}
Найдено в DEPO: счёт {{.Suggest.AccountID}}, код {{.Suggest.DeponentCode}}, раздел {{.Suggest.SectionID}}{{if .Suggest.OrgName}}; организация {{.Suggest.OrgName}}, ИНН {{.Suggest.OrgINN}}{{end}}.{{range .Suggest.Notes}}
⚠ {{.}}{{end}}
{{end}}{{end}}
{{if .Suggest}}{{if .Suggest.OrgName}}

Организация (из DEPO — проверьте): код участника, ИНН, наименование.

{{end}}{{end}}
← К шагу 5 {{if .Done.NSD}}К шагу 7 →{{else}}Пропустить ({{if devOn}}mock-режим{{else}}обмен с НРД не настроен{{end}}) →{{end}}
{{end}} {{/* ============= ШАГ 5: Тест-ран (режим разработки) / проверка подключений ============= */}} {{if eq .Step 7}}
{{if devOn}}

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

Прогон полного цикла: создание заявки → валидация → подпись → отправка в НРД (или 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}} {{else}}

Шаг 7. Проверка подключений

Проверьте, что база данных, СКЗИ и шлюз НРД доступны: на странице «Статус» bj проверяет каждое подключение и показывает, что нужно исправить.

Открыть проверку подключений → {{end}}

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

{{if devOn}}{{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}}{{if devOn}}mock-режим{{else}}не настроен{{end}}{{end}}
Тестовый прогон{{if .Done.TestRun}}пройден{{else}}не запускался{{end}}
← К шагу 6 Перейти к дашборду
{{end}}
{{end}}