Commit Graph
6 Commits
Author SHA1 Message Date
riccardom dee68facfd [management] Pin the property that makes per-peer nonce state unnecessary
A nonce carries the window it was minted in, not the instant, and is accepted
for that window and the one before it. So a peer re-stamped at least once per
window can never be left holding one outside the accepted pair, whenever it was
last served and however much life its own nonce had left. That is the whole
reason management tracks nothing per peer, and it was resting on an argument
rather than a test.

The phases are part of the property, not decoration: accounts are deliberately
given a refresh phase of their own, so the guarantee has to hold off the window
boundary too. The negative case shows why that matters — a cadence of exactly
two windows lands inside the grace window when it is aligned to the boundary and
leaves a gap when it is not.
2026-10-02 16:21:04 +02:00
riccardom 0e38fcf409 [management] Make the certificate challenge window one knob to turn
Renewal was timed against the window in two different ways: the period derived
from it, the sweep interval did not. Shortening the window to watch a renewal in
an end-to-end run would have left the refresher still looking for due accounts
every quarter of an hour, so nothing would have been renewed in time and the
test would have reported the feature broken.

Derive the sweep from the period, within bounds that keep a very short window
from spinning and a normal one from checking less often than is useful, and
allow the window itself to be set through the environment so a run can take
seconds instead of half a day. A value that cannot be parsed or falls outside
the bounds keeps the default, because a window nobody intended is a security
property nobody chose, and an override is logged at warning level since it sets
how long a device keeps passing the check after its key is gone.

Every instance has to be given the same value: the window is part of the nonce,
so instances that disagree reject each other's.
2026-10-02 16:21:04 +02:00
Viktor Liu 3cfff34d2c Find a chain to each challenge's CAs through every intermediate the store holds 2026-10-01 10:06:50 +02:00
Viktor Liu 5af909b111 Sign only nonces and peer keys of the size management issues 2026-10-01 09:06:14 +02:00
pascal 24f5f2a7ec start TPM support 2026-09-16 23:00:44 +02:00
pascal 84d83fa05e implement certificate posture check 2026-08-31 13:47:55 +02:00