Что означает код HRESULT 0x80093109 (CRYPT_E_ASN1_BADARGS)?

 
Предыдущий Следующий
CRYPT_E_ASN1_BADPDU CRYPT_E_ASN1_BADREAL

CRYPT_E_ASN1_BADARGS

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

CRYPT_E_ASN1_BADARGS: ASN.1 encoder/decoder отверг параметры самого вызова: флаги, указатели, selector структуры, размер буфера или callback не согласованы с выбранной операцией.

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

  • Запишите API, lpszStructType/OID, dwCertEncodingType и все flags до изменения входных данных.
  • Проверьте обязательные указатели и соответствие пары buffer/length; нулевой размер допустим не для каждого режима.
  • Для custom OID codec убедитесь, что callback и зарегистрированный function set соответствуют encode или decode операции.

Что делать

Не лечите BADARGS заменой DER-данных наугад. Сначала приведите контракт вызова к документации конкретного CryptoAPI API; только после этого имеет смысл исследовать содержимое ASN.1 объекта.

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


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