Что означает код HRESULT 0x8009000B (NTE_BAD_KEY_STATE)?

 
Предыдущий Следующий
NTE_BAD_TYPE NTE_BAD_HASH_STATE

NTE_BAD_KEY_STATE

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

NTE_BAD_KEY_STATE означает, что криптографический ключ найден, но в его текущем состоянии запрошенная операция недопустима. Причина обычно связана с жизненным циклом ключа, его назначением или политикой экспорта, а не с отсутствием самого ключа.

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

  • Зафиксируйте KSP/CSP, имя ключа и точную функцию, вернувшую HRESULT.
  • Проверьте назначение ключа, export policy и момент финализации относительно проблемной операции.
  • Для аппаратного поставщика сохраните его дополнительный status: он часто точнее указывает ограничение.
  • Если ключ используется несколькими компонентами, проверьте, не закрывает и не финализирует ли один из них объект раньше остальных.

Как подтвердить исправление

Откройте либо создайте ключ с требуемыми свойствами и повторите ту же криптографическую операцию. Успех после исправления состояния или свойств ключа подтверждает причину.

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


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