| Предыдущий | Следующий |
| CRYPT_E_RECIPIENT_NOT_FOUND | CRYPT_E_ISSUER_SERIALNUMBER |
CRYPT_E_CONTROL_TYPE
Что означает CRYPT_E_CONTROL_TYPE
CRYPT_E_CONTROL_TYPE (0X8009100C) означает, что CryptMsgControl получил недопустимое значение dwCtrlType для выполняемой операции над криптографическим сообщением. Это ошибка выбора control operation, а не доказательство повреждения сертификата или содержимого CMS/PKCS#7.
Наиболее полезная граница диагностики — соответствие пары «тип CMS-сообщения → управляющая операция». Например, операции расшифрования, проверки подписи и изменения списка сертификатов имеют разные допустимые control-коды и разные структуры параметров.
Что проверить
- Запишите точное значение
dwCtrlTypeи тип сообщения, открытого черезCryptMsgOpenToDecode. - Проверьте, что control применяется после завершающего
CryptMsgUpdateи поддерживается для данного вида сообщения: decrypt, signature verification, certificate/CRL modification и другие операции имеют разные допустимые значения. - Сверьте тип структуры в
pvCtrlParaс выбраннымdwCtrlType; передача параметров от другого control-кода является отдельной ошибкой вызова. - Не подменяйте этот HRESULT соседними
CRYPT_E_INVALID_MSG_TYPEилиCRYPT_E_INVALID_INDEX: сначала подтвердите именно корректность control type.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.