Что означает код HRESULT 0x800B0006 (DIGSIG_E_DECODE)?

 
Предыдущий Следующий
DIGSIG_E_ENCODE DIGSIG_E_EXTENSIBILITY

DIGSIG_E_DECODE

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

DIGSIG_E_DECODE (0x800B0006) — Ошибка декодирования ASN.1.

Код 0x800B0006 относится не ко всему компоненту «цифровые подписи», а к операции в области «кодирование, декодирование и криптографическую проверку подписи». Сообщение «ошибка декодирования asn.1» позволяет начать с темы «decode».

Что проверить и как подтвердить исправление

Не начинайте с общего сброса компонента: сопоставьте первый отказ с фактическими параметрами операции. При 0x800B0006 и условии «ошибка декодирования asn.1» сохраните исходные байты и проверьте формат, размер, подпись или checksum до любых преобразований; сравните с заведомо исправным образцом.

Чтобы локализовать 0x800B0006, соберите формат контейнера, алгоритм и provider, сертификат, цепочку доверия и точный этап encode/decode/verify; отдельно запишите OID, HRESULT, ITU. Затем для 0x800B0006 сравните исправный и неуспешный запуск в части «decode», меняя одно условие за раз.

После локализации 0x800B0006 действуйте по контракту подсистемы: проверяйте исходные байты и параметры алгоритма; не пересоздавайте подпись поверх повреждённого или непроверенного контейнера. Для 0x800B0006 и условия «ошибка декодирования asn.1» неизменённый повтор без нового состояния не считается исправлением.

Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0x800B0006 и без обхода штатных проверок.

Документация для результата 0x800B0006: Microsoft Open Specifications: HRESULT values · ITU-T X.690: BER, CER and DER · RFC 5652: Cryptographic Message Syntax.


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