Что означает код HRESULT 0x80095003 (XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH)?

 
Предыдущий Следующий
XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND XENROLL_E_RESPONSE_KA_HASH_MISMATCH

XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH

Что означает этот результат

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

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

Граница контракта

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

Для этого кода особенно полезно различать два признака из исходной документации: Inspect ArchivePrivateKey and KeyArchivalCertificate settings on the CMC request. и Ignoring the unexpected attribute can bind a certificate response to the wrong archival operation. 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.. Они задают более узкую границу, чем название facility.

Данные для диагностики

  • enrollment API и стадия request/response/install
  • provider, KeySpec и export policy без сохранения приватного ключа
  • thumbprint/issuer/subject и назначение целевого certificate store
  • полученный CA response и первый native HRESULT до UI/wrapper
  • Сопоставьте trace с исходным признаком: encrypted private-key blob and archive-key-hash attribute presence and value — Separates local key policy from certificate and trust-store decisions.
  • Сопоставьте trace с исходным признаком: In the path, CertEnroll method sequence, template or extension choices, and the store targeted during installation.
  • Сопоставьте trace с исходным признаком: Provider and nonsecret key properties captured before request initialization in an unexpected key-archival metadata investigation.

Порядок проверки

  1. Проверьте именно границу «ответ / неожиданный / key agreement / hash» и зафиксируйте объект, аргумент или состояние, которое её подтверждает.
  2. Сверьте наблюдаемое состояние с отдельным исходным признаком: 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 an unexpected key-archival metadata investigation. Rebuilding the request changes the value being bound..

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

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

Регрессионная проверка должна отдельно контролировать условие CertEnroll holds state across key creation, request encoding, submission, response parsing, and installation in an unexpected key-archival metadata investigation.. Положительный тест обязан проходить после узкого исправления, а отрицательный — по-прежнему воспроизводить ожидаемый отказ на заведомо неверном состоянии.

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


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