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

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

CRYPT_E_ASN1_CHOICE

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

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

Минимальные свидетельства

  • запишите AlgorithmIdentifier/OID и параметры ключа и ожидаемый ASN.1 type, фактические tag/length octets и byte offset до очистки состояния; для условия «Недопустимое значение варианта ASN.1 CHOICE» эти данные позволяют воспроизвести исходную точку отказа.
  • сопоставьте альтернативу CHOICE, которую должен был выбрать decoder, поскольку именно это отличает «Недопустимое значение варианта ASN.1 CHOICE» от соседних HRESULT того же семейства.
  • зафиксируйте certificate/store context и scope: CHOICE, ASN.1, X.509, der. Если параметр меняется между попытками, сравнение результата «Недопустимое значение варианта ASN.1 CHOICE» теряет диагностическую ценность. В исходной документации этой страницы встречаются технические маркеры CHOICE, ASN.1, X.509, der, ber; их фактические значения полезно приложить к трассировке.

Контроль исправления

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

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

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


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