| Предыдущий | Следующий |
| NTE_BUFFER_TOO_SMALL | NTE_NO_MORE_ITEMS |
NTE_NOT_SUPPORTED
NTE_NOT_SUPPORTED следует интерпретировать на границе возможностей поставщика. Для запрошенного сочетания поставщика, алгоритма, типа ключа, свойства, режима padding или версии платформы нет поддерживаемой реализации. Полезный диагностический вопрос — какой конкретный объект и операция заставили Windows выбрать именно этот HRESULT, а не работает ли в целом некий ключ, сертификат, учётная запись, файл или устройство.
Начните с API, вернувшего результат
Для этого результата возможность определяется выбранным поставщиком, типом ключа, реализацией алгоритма, режимом операции и политикой использования ключа. Наличие имени алгоритма в Windows не гарантирует, что каждый CSP, KSP, аппаратный токен или сохранённый ключ поддерживает все связанные операции.
Проверки, специфичные для кода:
- Перечислите алгоритмы и возможности поставщика вместо вывода о поддержке только по имени алгоритма.
- Проверьте ограничения использования ключа, границы legacy CSP/CNG API и перечни функций аппаратного поставщика.
- Повторите тест с документированным программным поставщиком, чтобы определить, специфично ли ограничение для выбранного поставщика.
Минимальная последовательность теста
Проверьте примитив с документированным программным поставщиком и временным ключом того же алгоритма и размера, затем выполните минимальную поддерживаемую операцию у производственного поставщика. Эти два контроля отделяют отсутствие функции платформы от ограничения конкретного ключа или устройства.
Границы этого HRESULT
NTE_HMAC_NOT_SUPPORTED указывает на один конкретный отсутствующий примитив; более общий результат возможностей. Переход на другой алгоритм только ради исчезновения ошибки может нарушить требования протокола, шаблона сертификата или совместимости. Сначала установите, какая именно обязательная возможность отсутствует и где.
Критерии закрытия проблемы
Для этого результата предназначенные поставщик и ключ должны выполнять требуемый примитив с нужными параметрами; резервный алгоритм или другой ключ не подтверждают исходный проект.
Технические ссылки
Эти источники определяют HRESULT и соответствующий интерфейс, протокол или формат данных возможностей поставщика.
Нужно найти другой код? Найти другой код состояния или ошибки.
