Fix R3: permanent revoke clears key; reinstate requires rekey #7

Merged
leora merged 1 commits from leora/fix-r3-reinstate-requires-rekey into sigil-initial 2026-10-06 06:13:25 +08:00
Contributor

Summary

R3 (Medium): reinstate after permanent revoke restored the compromised key; DESIGN overclaimed “dead until re-enrol”.

Changes

  • Permanent revoke clears pubkey/fingerprint; timed suspend keeps the key
  • has_live_key; challenge/verify refuse without a live key
  • Bootstrap+rekey allowed while permanently revoked (recovery); timed suspend still blocks rekey
  • DESIGN.md aligned; regression tests

Test plan

  • 140 tests pass
## Summary **R3 (Medium)**: reinstate after permanent revoke restored the compromised key; DESIGN overclaimed “dead until re-enrol”. ## Changes - Permanent revoke clears pubkey/fingerprint; timed suspend keeps the key - `has_live_key`; challenge/verify refuse without a live key - Bootstrap+rekey allowed while permanently revoked (recovery); timed suspend still blocks rekey - DESIGN.md aligned; regression tests ## Test plan - [x] 140 tests pass
leora added 1 commit 2026-10-06 06:13:24 +08:00
DESIGN claimed permanent revoke meant dead until re-enrol, but reinstate
restored the same compromised public key. Permanent revoke now wipes
pubkey/fingerprint; reinstate lifts ban flags only. Timed suspend keeps
the key. Compromise recovery may bootstrap+rekey while still revoked,
then reinstate. Regression tests cover reinstate-alone and timed path.
leora merged commit f39946a983 into sigil-initial 2026-10-06 06:13:25 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bigpickle/sigil#7
No description provided.