| Предыдущий | Следующий |
| 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». Исправление подтверждено, когда прежняя стадия проходит и следующий ожидаемый шаг получает корректное состояние.
Технические ссылки
- ITU-T X.680: CHOICE type
- ITU-T X.690: tags used to identify CHOICE alternatives
- RFC 5280: ASN.1 certificate definitions
- Портал криптографии Windows
- Microsoft: Cryptography tools
Нужно найти другой код? Найти другой код состояния или ошибки.
