Ключ: если ИШ не нашёл ключ на флешке — флешка монтируется напрямую и проверка повторяется; в ошибке — что видит шлюз
На .29 ключ с флешки не подписывал (E0700009 «Не найден ключ ЭП»): ИШ не видел флешку. Если автомонтирование ключевой флешки не сработало, установщик монтирует её напрямую (только чтение, под igate) и проверяет подпись ещё раз. Не помогло — в ошибке: смонтирована ли флешка в /var/lib/igate/keymedia и какие ключи (*.vdk) видит ИШ. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -663,7 +663,8 @@ func keyInstallProblem(res map[string]any) string {
|
||||
case igate != "connected" && igate != "pending-channel":
|
||||
return "профиль ИШ не сформирован — " + strings.TrimSuffix(igateRu(igate), ":")
|
||||
case strings.HasPrefix(check, "fail"):
|
||||
return "ключ не подписывает: " + strings.TrimPrefix(check, "fail: ") + " — вставлена ли флешка с ключом?"
|
||||
diag, _ := res["keydiag"].(string)
|
||||
return "ключ не подписывает: " + strings.TrimPrefix(check, "fail: ") + prefixed(". Что видит шлюз — ", diag)
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
@@ -802,7 +802,7 @@ func TestKeyInstallProblem(t *testing.T) {
|
||||
{map[string]any{"rebuild": "as-is", "igate": "pending-channel", "keycheck": "ok"}, ""},
|
||||
{map[string]any{"rebuild": "fail: crestor: Ошибка загрузки ключа ЭП", "igate": "skip"}, "справочник"},
|
||||
{map[string]any{"rebuild": "ok", "igate": "skip"}, "профиль ИШ"},
|
||||
{map[string]any{"rebuild": "ok", "igate": "connected", "keycheck": "fail: E0D5"}, "не подписывает"},
|
||||
{map[string]any{"rebuild": "ok", "igate": "connected", "keycheck": "fail: E0D5", "keydiag": "флешка в /var/lib/igate/keymedia: не смонтирована; ключи, видимые ИШ: нет"}, "не смонтирована"},
|
||||
} {
|
||||
got := keyInstallProblem(c.res)
|
||||
if (c.want == "") != (got == "") || !strings.Contains(got, c.want) {
|
||||
|
||||
Reference in New Issue
Block a user