Site icon EfmSoft

Что означает код HRESULT 0x800B0100 (TRUST_E_NOSIGNATURE)?

 
Предыдущий Следующий
PERSIST_E_NOTSELFSIZING CERT_E_EXPIRED

TRUST_E_NOSIGNATURE

Что означает TRUST_E_NOSIGNATURE

TRUST_E_NOSIGNATURE (0x800B0100) означает, что trust provider не нашёл пригодную цифровую подпись у объекта, который ему передали на проверку. Для PE-файла это обычно означает отсутствие ожидаемой Authenticode-подписи; для другого типа субъекта причина может быть в том, что приложение проверяет не тот объект или использует неподходящее действие WinTrust.

Этот результат важно отличать от ошибок сертификатной цепочки. При CERT_E_UNTRUSTEDROOT, CERT_E_EXPIRED и похожих кодах подпись уже найдена и дальнейшая проверка дошла до сертификатов. При TRUST_E_NOSIGNATURE начинать с установки корневых сертификатов обычно бессмысленно.

Что проверить

  • Убедитесь, что именно этот файл, пакет или сообщение по правилам продукта должен быть подписан.
  • Проверьте наличие подписи средством, которое понимает формат объекта, например SignTool или свойствами цифровой подписи файла.
  • Если код вернул WinVerifyTrust, сохраните action GUID, тип субъекта и фактический путь к проверяемому файлу. Ошибка выбора объекта может выглядеть как отсутствие подписи.
  • Для Windows-пакета проверьте наличие и целостность подписи пакета; неподписанный пакет нельзя исправить изменением trust store — его требуется подписать корректным сертификатом.

Как подтвердить исправление

Повторите ту же проверку для того же объекта и policy action. Исправлением считается появление распознаваемой подписи и успешное прохождение политика доверия; замена проверки на более слабую или её отключение не подтверждает устранение причины.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version