PQ Crypta Logo

quico — 0-RTT rejected after the client sends early data

The client did what the clause requires.

PQ CRYPTA PLATFORM

🏠 Main

📰 News

👤 Account

⟨ QUANTUM ERROR PORTAL ⟩

Navigate the Error Dimensions

Jump to an anomaly59

Every one of these is a page: what the server emits, the clause it is judged against, and how each client answered. The full list carries the verdict tallies too.

Pass

Recovered and completed the follow-up request.

The client did what the clause requires.

What was measured

Client
quico — quico + lemon-tls, 0.7.0 (npm)
Test
0-RTT rejected after the client sends early data — q-zero-rtt-reject
Clause
RFC 9001 §4.6.2 (MUST)
Class
resilience — Recovered rather than giving up.
Required behaviour
Reset the state of every stream, including application state bound to them. Section 4.6.2 requires the reset because a rejected 0-RTT means every assumed connection characteristic may have been wrong. It does not require retransmission, which is the application concern, not QUIC's. This port issues tickets that advertise early data and then declines every offer, so a resuming client sends 0-RTT and always has it refused. The handshake itself completes normally.
Measured
2026-10-15

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 quico at the test URL and read the verdict:
curl -s https://conformance.pqcrypta.com/report/$SESSION.json | jq '.results["q-zero-rtt-reject"]'