Что означает код HRESULT 0x8009202B (CRYPT_E_NO_TRUSTED_SIGNER)?

 
Предыдущий Следующий
CRYPT_E_NOT_IN_CTL CRYPT_E_MISSING_PUBKEY_PARA

CRYPT_E_NO_TRUSTED_SIGNER

Граница отказа

CRYPT_E_NO_TRUSTED_SIGNER означает: Ни один подписант криптографического сообщения или списка доверия сертификатов не является доверенным. В CryptoAPI это локализует поиск сертификата или ключа, поэтому сначала проверяйте состояние именно на этой границе.

Что нужно для воспроизведения

  • снимите в журнал AlgorithmIdentifier/OID и параметры ключа и signer index, signer certificate и идентификатор, которым caller выбирает подписанта до очистки состояния; для условия «Ни один подписант криптографического сообщения или списка доверия сертификатов не является доверенным» эти данные позволяют воспроизвести исходную точку отказа.
  • проверьте на контрольном случае signer/recipient index и message type, поскольку именно это отличает «Ни один подписант криптографического сообщения или списка доверия сертификатов не является доверенным» от соседних HRESULT того же семейства.
  • запишите signer/recipient index и message type: signer/recipient index и message type. Если параметр меняется между попытками, сравнение результата «Ни один подписант криптографического сообщения или списка доверия сертификатов не является доверенным» теряет диагностическую ценность.

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

проведите контрольный вызов поиск сертификата или ключа, изменяя только предварительное условие, связанное с «Ни один подписант криптографического сообщения или списка доверия сертификатов не является доверенным»; остальные входные данные и объект оставьте прежними.

сопоставьте успешный и неуспешный случаи по признаку «Ни один подписант криптографического сообщения или списка доверия сертификатов не является доверенным». Исправление подтверждено, когда прежняя стадия проходит и следующий ожидаемый шаг получает корректное состояние.

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


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