| Предыдущий | Следующий |
| CERT_E_CRITICAL | CERT_E_ISSUERCHAINING |
CERT_E_PURPOSE
Как локализовать первичный отказ
CERT_E_PURPOSE — не общий признак «что-то сломалось», а состояние Сертификат используется не по назначению, разрешённому центром сертификации. Первичный эксперимент должен воспроизводить именно построение и policy-проверка цепочки X.509.
Что нужно для воспроизведения
- Зафиксируйте полную выбранную цепочку, trust status каждого элемента, verification time, EKU/policy/name и revocation evidence; для этого результата эти данные должны относиться к первому неуспешному вызову, а не к последующей очистке.
- Отдельно сравните требуемый usage с EKU/Key Usage и application policy цепочки. Это проверяет условие «Сертификат используется не по назначению, разрешённому центром сертификации» по фактическим параметрам, а не по имени константы.
Последовательность локализации
Сначала сравнить тот же сертификат при одной изменённой policy/chain предпосылке и повторить проверку; затем верните остальные параметры исходного случая. Причина подтверждается, если результат меняется вместе с проверяемой предпосылкой.
Избегайте недоказанного workaround: не добавлять корень в Trusted Root только ради исчезновения HRESULT. После исправления должен проходить тот же контракт, который раньше возвращал HRESULT.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
