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

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

DIGSIG_E_DECODE

Что означает результат

DIGSIG_E_DECODE означает, что компонент цифровой подписи не смог разобрать входное ASN.1-представление. Ошибка возникает на чтении уже закодированных данных, поэтому в первую очередь исследуется сам контейнер, а не закрытый ключ или операция создания подписи.

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

  • Сохраните исходные байты до любых преобразований Base64, Unicode или копирования через текстовые API.
  • Проверьте ASN.1 tag/length/value на месте, где декодер останавливается: неверная длина, усечённый блок или неожиданный тег делают последующие поля недостоверными.
  • Уточните, ожидает ли вызываемый код DER, BER или конкретную структуру CMS/PKCS, а не просто «любые ASN.1-данные».
  • Если данные пришли из файла или сети, сравните размер и хеш с источником, чтобы отделить повреждение транспорта от ошибки формата.

Диагностика и исправление

Исправляйте источник закодированного объекта либо выбирайте декодер для фактической структуры. Перегенерация сертификата или подписи не требуется, если проблема вызвана усечённым или неправильно обёрнутым ASN.1-контейнером.

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


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