Что означает код HRESULT 0x80095002 (XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND)?

 
Предыдущий Следующий
XENROLL_E_CANNOT_ADD_ROOT_CERT XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH

XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND

Диагностический смысл

XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND — код ошибки из области certificate enrollment / XEnroll. Короткий ориентир по имени: ответ / key agreement / hash / не / найден. Для диагностики важнее определить первый API и состояние объекта в момент возврата, чем переводить символическое имя как общее сообщение.

Исходное условие в техническом описании сформулировано так: key-archival response binding.. Эту формулировку следует сопоставлять с фактическим параметром, handle, файлом или state transition в trace.

Объект и состояние

Разделяйте создание ключа, выбор KeySpec/провайдера, проверку ответа CA и установку сертификата. Ошибка одного шага не доказывает, что ключ, цепочка или хранилище повреждены целиком.

Для этого кода особенно полезно различать два признака из исходной документации: The certificate may be otherwise parseable, but the client cannot prove that the response corresponds to the archived private key. Do not disable key archival or ignore the response attribute merely to obtain a certificate; that can issue a certificate whose private key was not recoverably archived as policy requires. и Encrypted private-key blob and archive-key-hash attribute presence and value Inspect the CMC controls and authenticated attributes in both request and response. Separates local key policy from certificate and trust-store decisions.. Они задают более узкую границу, чем название facility.

Сведения для воспроизведения

  • enrollment API и стадия request/response/install
  • provider, KeySpec и export policy без сохранения приватного ключа
  • thumbprint/issuer/subject и назначение целевого certificate store
  • полученный CA response и первый native HRESULT до UI/wrapper
  • Сопоставьте trace с исходным признаком: In the path, CertEnroll method sequence, template or extension choices, and the store targeted during installation.
  • Сопоставьте trace с исходным признаком: In the path, CertEnroll holds state across key creation, request encoding, submission, response parsing, and installation.
  • Сопоставьте trace с исходным признаком: In the path, CMC key archival binds encrypted private-key material in the request to metadata returned by the CA. Preserve the original request, encrypted-key blob, archive-key hash attribute, response, and request identity as one transaction in a key-archival response binding investigation. Rebuilding the request changes the value being bound.

Последовательность действий

  1. Проверьте именно границу «ответ / key agreement / hash / не / найден» и зафиксируйте объект, аргумент или состояние, которое её подтверждает.
  2. Сверьте наблюдаемое состояние с отдельным исходным признаком: CA configuration, archival certificate, hash algorithm, and client object state Verify that no proxy or conversion step replaced the original enrollment response. In the path, protects private-key and archival evidence while testing configuration..

Что считать исправлением

Меняйте только подтверждённый enrollment prerequisite: provider/KeySpec, свойства ключа, CA response или права на store. Не пересоздавайте ключ и не импортируйте root вручную без доказательства соответствующей причины.

Регрессионная проверка должна отдельно контролировать условие this result identifies a failure in key-archival response binding .. Положительный тест обязан проходить после узкого исправления, а отрицательный — по-прежнему воспроизводить ожидаемый отказ на заведомо неверном состоянии.

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


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