What does HRESULT 0x802800A7 (TPM_20_E_ECC_POINT) mean?

 
Previous Next
TPM_20_E_CURVE TPM_20_E_INITIALIZE

TPM_20_E_ECC_POINT

A TPM ECC public point is represented by two coordinate buffers in TPMS_ECC_POINT. The TPM validates those coordinates against the selected curve; merely having correctly sized data is insufficient. A point from another curve, a corrupted coordinate, or an incorrectly marshaled TPM structure can produce this status.

Separate this from a curve-capability failure

TPM_20_E_CURVE concerns the curve identifier itself. TPM_20_E_ECC_POINT means the TPM reached point validation for the selected curve and rejected the supplied coordinates. The two errors therefore lead to different evidence and different fixes.

  • Record the selected curveID and both coordinates before the command is sent.
  • Verify that the imported public key was decoded into the TPM two-coordinate representation rather than passed as an unrelated certificate or generic key blob.
  • Validate the point with a library configured for the same named curve before retrying, then investigate transport or serialization corruption if it changes in transit.

TCG: TPMS_ECC_POINT structure · tpm2-tools: ECC object algorithm syntax · Microsoft: TPM HRESULT mapping


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