Что означает код HRESULT 0x8009310B (CRYPT_E_ASN1_BADTAG)?

 
Предыдущий Следующий
CRYPT_E_ASN1_BADREAL CRYPT_E_ASN1_CHOICE

CRYPT_E_ASN1_BADTAG

Контекст результата

Результат CRYPT_E_ASN1_BADTAG фиксирует условие Обнаружено недопустимое значение тега ASN.1. Его нужно связывать с поиск сертификата или ключа, а не считать общим отказом всей подсистемы CryptoAPI.

Что сохранить

  • оставьте в отчёте signer/recipient index и message type и ожидаемый ASN.1 type, фактические tag/length octets и byte offset до очистки состояния; для условия «Обнаружено недопустимое значение тега ASN.1» эти данные позволяют воспроизвести исходную точку отказа.
  • проверьте на контрольном случае explicit/implicit tagging и вложенный wrapper в позиции неверного тега, поскольку именно это отличает «Обнаружено недопустимое значение тега ASN.1» от соседних HRESULT того же семейства.
  • запишите исходный DER/BER или CMS blob: ASN.1, der, ber. Если параметр меняется между попытками, сравнение результата «Обнаружено недопустимое значение тега ASN.1» теряет диагностическую ценность. В исходной документации этой страницы встречаются технические маркеры ASN.1, der, ber; их фактические значения полезно приложить к трассировке.

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

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

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

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


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