-
Notifications
You must be signed in to change notification settings - Fork 1
Attestation Notes
github-actions[bot] edited this page Jun 11, 2026
·
2 revisions
wolfSPDM supports SPDM attestation through both measurement retrieval and challenge authentication.
Primary API:
int wolfSPDM_GetMeasurements(WOLFSPDM_CTX* ctx, byte measOperation,
int requestSignature);Behavior:
-
requestSignature=1: requests signed measurements; verifies signature when verification support is compiled in -
requestSignature=0: retrieves unsigned measurements (informational)
Signature verification (measurements and CHALLENGE_AUTH) uses whichever
asymmetric algorithm was negotiated — ECDSA P-384 or, on SPDM 1.4 with ML-DSA
built in, ML-DSA-44/65/87. See Post-Quantum ML-DSA.
Result access:
wolfSPDM_GetMeasurementCountwolfSPDM_GetMeasurementBlock
Relevant return codes:
WOLFSPDM_SUCCESSWOLFSPDM_E_MEAS_NOT_VERIFIEDWOLFSPDM_E_MEAS_SIG_FAILWOLFSPDM_E_MEASUREMENT
Primary API:
int wolfSPDM_Challenge(WOLFSPDM_CTX* ctx, int slotId, byte measHashType);Typical prerequisite state:
- Version/capabilities/algorithms negotiated
- Digest and cert chain retrieved
Load trusted CA material with:
int wolfSPDM_SetTrustedCAs(WOLFSPDM_CTX* ctx, const byte* derCerts,
word32 derCertsSz);wolfSPDM_SetTrustedCAs currently accepts a single DER certificate buffer for root-hash matching.
-
NO_WOLFSPDM_MEASdisables measurements -
NO_WOLFSPDM_MEAS_VERIFYdisables measurement signature verification -
NO_WOLFSPDM_CHALLENGEdisables challenge API
For deeper measurement details and test examples, see docs/ATTESTATION.md.