К обсуждениям

WSL показывает TRUST_E_BAD_DIGEST при установке дистрибутива: что зафиксировать

Редакция VOne Технологии

Как разобрать Wsl/InstallDistro/VerifyChecksum/TRUST_E_BAD_DIGEST без отключения проверки: фиксируем канал загрузки, версию WSL, образ GitHub-hosted runner и безопасный повтор на новой виртуальной машине.

Не превращайте проверку в препятствие, которое нужно обойти

Код появляется на этапе проверки загруженного объекта, поэтому безопасная реакция — прекратить установку и сохранить контекст, а не отключать контроль. Не редактируйте манифест, не подменяйте ожидаемый digest, не переносите случайно скачанный пакет между заданиями и не используйте неофициальное зеркало. Один повтор допустим только как диагностическое наблюдение. Если повтор прошёл, это не доказывает, что первый отказ был ложным; если снова не прошёл, это также не называет виновным сеть, WSL или GitHub. Запишите полный код ошибки и этап, но не публикуйте URL временной загрузки, идентификатор worker или данные репозитория.

Что означает код и чего он не доказывает

Microsoft определяет TRUST_E_BAD_DIGEST как результат, при котором цифровая подпись объекта не прошла проверку. В строке WSL дополнительно виден этап VerifyChecksum, но из этих двух фактов нельзя вывести конкретную причину несовпадения. Возможные объяснения должны оставаться гипотезами до данных: изменившийся объект, неполная загрузка, рассинхронизация метаданных или дефект конкретной версии. Не называйте событие атакой и не объявляйте пакет вредоносным по одному коду. Для отчёта достаточно отметить, совпадает ли формат ошибки в двух запусках; сами длинные digest лучше передавать только в предназначенный канал поддержки, если их запросили.

Матрица runner, версии и канала загрузки

В журнале Set up job зафиксируйте название и версию runner image, версию Windows и WSL, имя дистрибутива и способ установки. Документация WSL различает обычную установку и параметр web-download, поэтому это две отдельные строки матрицы, а не взаимозаменяемые «исправления». GitHub сообщает, что стандартный hosted job обычно получает новую виртуальную машину, а образы обновляются регулярно. Повтор на новой VM полезен только вместе с точным image label: иначе меняются сразу среда и время. Не добавляйте произвольные ретраи до успеха. Два контролируемых запуска дают больше информации, чем серия, скрывающая долю отказов.

Пакет для эскалации и критерий остановки

Соберите короткую таблицу: время UTC, версия runner image, Windows, WSL, дистрибутив, канал загрузки, итог и точный код. Укажите, была ли VM новой, но удалите worker ID, регион, имя организации, репозиторий, токены и временные ссылки. Приложите ссылку на официальный образ runner, а не полный лог задания. Остановитесь, если следующий шаг требует отключить проверку подписи, принять изменённый digest или раскрыть приватный workflow. Такой набор позволяет владельцам WSL и runner images сопоставить версии, не подменяя расследование догадкой и не превращая временный успех повторного запуска в доказанное исправление.

Материал подготовлен редакцией VOne с применением ИИ для структуры матрицы; значение кода, команды WSL и свойства hosted runner вручную сверены по официальным документам, issue использован только как обезличенный сигнал.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.