Что означает код HRESULT 0x8009200D (CRYPT_E_BAD_MSG)?

 
Предыдущий Следующий
CRYPT_E_NO_DECRYPT_CERT CRYPT_E_NO_SIGNER

CRYPT_E_BAD_MSG

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

CRYPT_E_BAD_MSG: Входные данные не являются корректно сформированным криптографическим сообщением ожидаемого типа: это может быть повреждённый CMS/PKCS#7, посторонний файл или сообщение другого формата.

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

  • Проверьте первые байты и полный размер исходного blob, не преобразуя его через текстовые редакторы.
  • Определите, действительно ли вызываемый API ожидает CMS/PKCS#7 и не передаётся ли сертификат, PEM container или произвольный payload.
  • Если сообщение пришло по сети, сравните content length/framing с фактически сохранёнными байтами.

Что делать

Сначала восстановите корректный контейнер и только затем проверяйте signer, chain или recipient. Ошибки доверия возникают после успешного разбора сообщения; CRYPT_E_BAD_MSG относится к более ранней стадии.

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


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