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

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

CRYPT_E_ASN1_BADTAG

Что означает CRYPT_E_ASN1_BADTAG

CRYPT_E_ASN1_BADTAG: Декодер ожидал один ASN.1 tag, но получил другой; различаться могут class, constructed bit или номер тега.

Что проверить

  • Зафиксируйте byte offset первого несовпадения и ожидаемый/фактический tag.
  • Проверьте, соответствует ли выбранный structure selector реальному объекту и не потеряна ли EXPLICIT wrapper вокруг поля.
  • Для CHOICE или OPTIONAL полей проверьте schema/version производителя сообщения, а не только длину внешнего контейнера.

Что делать

BADTAG полезно расследовать от первого несовпадения наружу: именно там чаще всего находится неверный selector, пропущенный wrapper или ошибочная версия структуры. Последующие ошибки вложенных полей уже вторичны.

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


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