| Предыдущий | Следующий |
| CERT_E_UNTRUSTEDROOT | TRUST_E_FAIL |
CERT_E_CHAINING
Контекст возврата
Если получен CERT_E_CHAINING, непосредственно известно следующее: Не удалось построить цепочку сертификатов до доверенного корневого центра сертификации. Для построение и policy-проверка цепочки X.509 это достаточно конкретный сигнал, поэтому важно сохранить входы первого отказавшего вызова.
Данные первого неуспешного вызова
- Зафиксируйте полную выбранную цепочку, trust status каждого элемента, verification time, EKU/policy/name и revocation evidence; для этого результата эти данные должны относиться к первому неуспешному вызову, а не к последующей очистке.
- Отдельно проверьте отсутствующий intermediate и точку, на которой path builder перестал находить issuer. Это проверяет условие «Не удалось построить цепочку сертификатов до доверенного корневого центра сертификации» по фактическим параметрам, а не по имени константы.
Последовательность локализации
Воспроизведение считается диагностическим, если удаётся сравнить тот же сертификат при одной изменённой policy/chain предпосылке и повторить проверку, сохранив прочие условия без изменений.
Избегайте недоказанного workaround: не добавлять корень в Trusted Root только ради исчезновения HRESULT. После исправления должен проходить тот же контракт, который раньше возвращал HRESULT.
Различающий тест для построения пути
Здесь ключевой вопрос — существует ли вообще непрерывный путь от конечного сертификата к доверенному корню. Экспортируйте цепочку, которую реально выбрал Windows, и найдите первый сертификат без подходящего issuer. Затем предоставьте только правильный intermediate и повторите построение. Если путь достигает того же корня и policy-проверка продолжается, причиной была именно неполная цепочка, а не ограничение длины или назначения.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
