Site icon EfmSoft

Что означает код HRESULT 0x8009310C (CRYPT_E_ASN1_CHOICE)?

 
Предыдущий Следующий
CRYPT_E_ASN1_BADTAG CRYPT_E_ASN1_RULE

CRYPT_E_ASN1_CHOICE

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

CRYPT_E_ASN1_CHOICE: Значение не удалось сопоставить ни с одной альтернативой ASN.1 CHOICE либо discriminator native-структуры не соответствует выбранной альтернативе.

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

  • Сохраните tag, который должен выбирать ветвь CHOICE, и surrounding bytes.
  • При encoding проверьте discriminator/union field в структуре до вызова CryptoAPI.
  • При decoding сравните неизвестный tag со схемой и версией протокола: новая альтернатива может быть не известна старому codec.

Что делать

Не подставляйте произвольную ветвь CHOICE только ради успешного декодирования. Выбранная альтернатива определяет семантику данных, поэтому исправлять нужно schema compatibility или исходный discriminator/tag.

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


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

Exit mobile version