diff --git a/internal/lkgateway/chaintest.go b/internal/lkgateway/chaintest.go index d093085..8a60ae9 100644 --- a/internal/lkgateway/chaintest.go +++ b/internal/lkgateway/chaintest.go @@ -5,14 +5,13 @@ package lkgateway // - учёт DEPO: проверочное событие BJ_PING обработано процедурами обмена; // - QUIK МНП: объекты, инструменты, справочник получателей (только чтение); // - QUIK МНП, по желанию: пробная блокировка 1 шт. бумаги клиента («Вывод ЦБ (M2M)») и сразу снятие; -// - подпись ключом организации (Валидата); -// - НРД: запрос справочника участников уходит через шлюз и подписывается, ответ приходит во входящие. +// - НРД: запрос справочника участников уходит через шлюз — шлюз подписывает его ключом организации (ИШ — +// единственный владелец ключа для НРД), НРД принимает и отвечает, ответ приходит во входящие. // Звенья идут по очереди; упавшее не останавливает остальные — видно всю картину. import ( "context" "encoding/json" - "fmt" "net/http" "regexp" "sort" @@ -20,8 +19,6 @@ import ( "strings" "sync" "time" - - "git.zetit.ru/zuevav/Bridge-and-Join-s/internal/cryptocli" ) // ChainStep — звено проверки. @@ -69,7 +66,7 @@ func chainRun(rc *RuntimeConfig, nsdReal bool, blk *chainQuikBlock) { steps = append(steps, ChainStep{Key: "quik-block", Title: "QUIK МНП: пробная блокировка 1 бумаги и снятие"}) } } - steps = append(steps, ChainStep{Key: "sign", Title: "Подпись ключом организации"}, ChainStep{Key: "nsd", Title: "НРД: запрос через шлюз — ответ получен"}) + steps = append(steps, ChainStep{Key: "nsd", Title: "НРД: запрос через шлюз подписан ключом, доставлен, ответ получен"}) for i := range steps { steps[i].State = "wait" } @@ -126,20 +123,6 @@ func chainStepRun(rc *RuntimeConfig, s Settings, key string, nsdReal bool, blk * return "ok", "подключение, объекты M2M, инструменты и справочник получателей на месте" case "quik-block": return chainQuikBlockRun(s, blk) - case "sign": - if s.Crypto.Provider == "" || s.Crypto.Provider == "stub" { - return "err", "средство подписи не настроено" - } - cli := cryptocli.New(cryptocli.Config{Provider: cryptocli.Provider(s.Crypto.Provider), SocketPath: s.Crypto.SocketPath, ModulePath: s.Crypto.ModulePath}) - defer cli.Close() - ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) - defer cancel() - payload := []byte("") - sig, err := cli.SignXMLDSig(ctx, payload, "", s.Crypto.Profile) - if err != nil { - return "err", "подпись не получилась: " + err.Error() - } - return "ok", fmt.Sprintf("подпись получена (%d байт)", len(sig)) case "nsd": if !nsdReal { return "err", "шлюз НРД не настроен — bj работает в режиме имитации (раздел «Шлюз НРД»)" @@ -159,7 +142,7 @@ func chainStepRun(rc *RuntimeConfig, s Settings, key string, nsdReal bool, blk * return "err", "шлюз не доставил пакет в НРД: " + delErr } if reply.After(start) { - d := "НРД ответил за " + humanDur(reply.Sub(sent)) + " — подпись, шлюз, доставка и входящие работают" + d := "НРД ответил за " + humanDur(reply.Sub(sent)) + " — ключ организации, шлюз, доставка и входящие работают" if deliv.After(start) { d = "пакет доставлен в НРД, " + d } diff --git a/internal/lkgateway/web/templates/part_letters.html b/internal/lkgateway/web/templates/part_letters.html index 0a1f46c..7f20dda 100644 --- a/internal/lkgateway/web/templates/part_letters.html +++ b/internal/lkgateway/web/templates/part_letters.html @@ -16,7 +16,7 @@ {{define "chainTest"}}

Проверить всю цепочку

-

Сквозная проверка без настоящего перевода: bj по очереди проходит каждое звено и показывает, какое работает, а какое нет.{{if .DepoLicensed}} Учёт DEPO — проверочное событие, QUIK — только чтение (пробная блокировка — по желанию, ниже).{{end}} Подпись — ключом организации. НРД — запрос справочника участников через шлюз с ответом НРД.

+

Сквозная проверка без настоящего перевода: bj по очереди проходит каждое звено и показывает, какое работает, а какое нет.{{if .DepoLicensed}} Учёт DEPO — проверочное событие, QUIK — только чтение (пробная блокировка — по желанию, ниже).{{end}} НРД — запрос справочника участников через шлюз: шлюз подписывает его ключом организации, НРД отвечает.

{{if .DepoLicensed}}
Добавить пробную блокировку в QUIK (1 бумага клиента — заблокировать и сразу снять)