Коды ошибок статуса сертификата _CERT_TRUST_STATUS

Информация об ошибках сертификатов при попытке доступа пользователя на шлюз NGate с использованием сертификата содержится в системных журналах. Структура кодов ошибок статуса сертификата CERT_TRUST_STATUS содержит информацию о доверии сертификата в цепочке сертификатов, сводную информацию доверия к простой цепочке сертификатов или сводную информацию о массиве простых цепочек сертификатов.

В таблице Расшифровка кодов ошибок _CERT_TRUST_STATUS указаны коды состояния ошибок в поле dwErrorStatus структуры CERT_TRUST_STATUS, которые определены для процедуры проверки сертификатов и цепочек сертификатов (англ. версия):

Табл. 1. Расшифровка кодов ошибок _CERT_TRUST_STATUS
Код ошибки Значение
CERT_TRUST_NO_ERROR
0x00000000
Ошибок не обнаружено для сертификата или сертификатов в цепочке сертификатов
CERT_TRUST_IS_NOT_TIME_VALID
0x00000001
Сертификат или один из сертификатов в цепочке сертификатов недействителен
CERT_TRUST_IS_REVOKED
0x00000004
Доверенность на этот сертификат или один из сертификатов в цепочке сертификатов отменена
CERT_TRUST_IS_NOT_SIGNATURE_VALID
0x00000008
Сертификат или один из сертификатов в цепочке сертификатов не имеет действительной подписи
CERT_TRUST_IS_NOT_VALID_FOR_USAGE
0x00000010
Сертификат или цепочка сертификатов недействительны для предполагаемого использования
CERT_TRUST_IS_UNTRUSTED_ROOT
0x00000020
Сертификат или цепочка сертификатов основана на ненадежном корневом сертификате
CERT_TRUST_REVOCATION_STATUS_UNKNOWN
0x00000040
Статус отзыва сертификата или одного из сертификатов в цепочке сертификатов неизвестен
CERT_TRUST_IS_CYCLIC
0x00000080
Один из сертификатов в цепочке был выдан Центром сертификации, который сертифицированным исходным сертификатом (цикличность)
CERT_TRUST_INVALID_EXTENSION
0x00000100
Один из сертификатов имеет недопустимое расширение
CERT_TRUST_INVALID_POLICY_CONSTRAINTS
0x00000200
Сертификат или один из сертификатов в цепочке сертификатов имеет расширение ограничения политик, и один из изданных сертификатов имеет недопустимое расширение отображения политик или не имеет требуемого расширения политики, получаемой при издании сертификата
CERT_TRUST_INVALID_BASIC_CONSTRAINTS
0x00000400
Сертификат или один из сертификатов в цепочке сертификатов имеет базовое ограничение расширений, и либо сертификат не может использоваться для выдачи дополнительных сертификатов, либо длина пути цепочки сертификатов превышена
CERT_TRUST_INVALID_NAME_CONSTRAINTS
0x00000800
Сертификат или один из сертификатов в цепочке сертификатов имеет недопустимое расширение ограничения имени
CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT
0x00001000
Сертификат или один из сертификатов в цепочке сертификатов имеет расширение ограничения имени, которое содержит неподдерживаемые поля. Минимальное и максимальное поля не поддерживаются. Таким образом, минимум всегда должен быть равен нулю, а максимум всегда должен отсутствовать. Для другого имени поддерживается только UPN. Следующие альтернативные варианты имени не поддерживаются:
  • X400 адрес
  • имя адресата ЭОД
  • зарегистрированный ID
CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT
0x00002000
Сертификат или один из сертификатов в цепочке сертификатов имеет расширение ограничений имён, но ограничение имени отсутствует для одного из вариантов имени в сертификате, который последний в цепочке
CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT
0x00004000
Сертификат или один из сертификатов в цепочке сертификатов имеет расширение ограничений имён, но отсутствует допустимое ограничение имени для одного из вариантов имени в сертификате, который последний в цепочке
CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT
0x00008000
Сертификат или один из сертификатов в цепочке сертификатов имеет расширение ограничений имен, и один из вариантов имени в последнем в цепочке сертификате однозначно исключено
CERT_TRUST_IS_OFFLINE_REVOCATION
0x01000000
Статус отзыва сертификата или одного из сертификатов в цепочке сертификатов оффлайн или устаревший
CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY
0x02000000
Конечный сертификат не имеет результирующих политик выдачи, а один из сертификатов УЦ имеет расширение ограничений политики, которое требует результирующие политики выдачи
CERT_TRUST_IS_EXPLICIT_DISTRUST
0x04000000
Сертификат однозначно не доверен
CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT
0x08000000
Сертификат не поддерживает критическое расширение
CERT_TRUST_HAS_WEAK_SIGNATURE
0x00100000
Сертификат не был подписан, подписью с сильной криптографической характеристикой. Обычно это указывает на то, что алгоритмы хеширования MD2 или MD5 использовались для создания хэша сертификата