What does HRESULT 0x80094802 (CERTSRV_E_TEMPLATE_CONFLICT) mean?

 
Previous Next
CERTSRV_E_NO_CERT_TYPE CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED

CERTSRV_E_TEMPLATE_CONFLICT

CERTSRV_E_TEMPLATE_CONFLICT The request contains conflicting certificate-template information, so the CA cannot decide which template should govern issuance.

What to check for CERTSRV_E_TEMPLATE_CONFLICT

  • Inspect the request attributes and remove conflicting template names or OIDs.
  • Regenerate the request from one known template instead of combining settings copied from several enrollment methods.
  • For custom clients, ensure that template identity is submitted once and that policy modules do not inject a second conflicting template reference.

Microsoft: Certificate template concepts

Microsoft: Manage certificate templates

Microsoft: Certutil

Diagnostic interpretation of CERTSRV_E_TEMPLATE_CONFLICT

CERTSRV_E_TEMPLATE_CONFLICT has the HRESULT value 0x80094802. AllStat records the condition as “The request contains conflicting template information.”. For CERTSRV_E_TEMPLATE_CONFLICT, in practice, interpret that wording at the boundary owned by Active Directory Certificate Services enrollment and CA policy, rather than treating the value as a generic Windows message.

Evidence to capture for CERTSRV_E_TEMPLATE_CONFLICT

  • Record the exact COM method or Windows API, its input object, the calling thread, and the full 0x80094802 value before a wrapper converts it to an exception or Boolean result.
  • Capture any IErrorInfo text, activity identifier, event-log entry, and subsystem trace that mentions CERTSRV_E_TEMPLATE_CONFLICT or the certsrv / template / conflict operation.
  • Reproduce CERTSRV_E_TEMPLATE_CONFLICT with the smallest valid input and note whether the result changes with identity, architecture, service state, or target object.

Retry and recovery for CERTSRV_E_TEMPLATE_CONFLICT

Retry CERTSRV_E_TEMPLATE_CONFLICT only when the owning API documents a transient state or after the condition described as “The request contains conflicting template information.” has changed. For CERTSRV_E_TEMPLATE_CONFLICT, configuration, policy, format, and authorization failures normally require correction first; an immediate loop can hide the original call site and add secondary errors.


Looking for a different code? Search another status or error code.