Что означает код HRESULT 0x800B0103 (CERT_E_ROLE)?

 
Предыдущий Следующий
CERT_E_VALIDITYPERIODNESTING CERT_E_PATHLENCONST

CERT_E_ROLE

Практический смысл результата

Результат CERT_E_ROLE фиксирует условие: Сертификат конечного субъекта используется как сертификат центра сертификации или наоборот. Оно сужает расследование до построение и policy-проверка цепочки X.509 и позволяет проверить одну предпосылку, не меняя остальные части сценария.

Что сохранить до изменений

  • Зафиксируйте полную выбранную цепочку, trust status каждого элемента, verification time, EKU/policy/name и revocation evidence; для этого результата эти данные должны относиться к первому неуспешному вызову, а не к cleanup после него.
  • Отдельно сопоставьте Basic Constraints CA flag и роль сертификата как issuer либо end entity. Это проверяет условие «Сертификат конечного субъекта используется как сертификат центра сертификации или наоборот» по фактическим параметрам, а не по имени константы.
  • Сохраните технические маркеры построение и policy-проверка цепочки X.509 и один исправный запуск с теми же входными данными.

Проверка гипотезы

Проведите A/B-проверку: сравнить тот же сертификат при одной изменённой policy/chain предпосылке и повторить проверку. Сравнивайте первую точку расхождения, а не только финальное сообщение приложения.

Практическое правило здесь — не добавлять корень в Trusted Root только ради исчезновения HRESULT; изменение соседней подсистемы не считается подтверждением причины.

Ближайший по прежнему шаблону результат CERT_E_CN_NO_MATCH не следует считать эквивалентным: сравнивайте точное условие, указанное здесь, и первую различающуюся операцию.

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


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