Decoded it and completed the request.
The client did what the clause requires.
What was measured
- Client
- picoquic — picoquic + picotls, 8162550
- Test
- Spontaneous 1-RTT key update —
q-key-update - Clause
- RFC 9001 §6.2 (MUST)
- Class
- interoperability — Correctly decoded something valid but demanding.
- Required behaviour
- Update to the next key phase and carry on. Once a packet protected with the next phase is processed, §6.2 is a MUST — "The endpoint MUST update its send keys to the corresponding key phase in response" — so the response written after the update has to be read with the new keys and the request completed.
- Measured
- 2026-09-18
Reproduce it
The suite is the judge, so the reproduction is to point the same client at the same test and let the server report what it saw.
SESSION=$(curl -sX POST https://conformance.pqcrypta.com/session | jq -r .id)
# then drive picoquic at the test URL and read the verdict:
curl -s https://conformance.pqcrypta.com/report/$SESSION.json | jq '.results["q-key-update"]'
What this suite is · The full grid · All clients · All tests · Findings