You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e23181c
Browse filesBrowse the repository at this point in the historyBrowse files
fix(vantage): retire earlier certificates when a revoked name is re-added (#134)
Agent authorization checked only the client certificate's CommonName
against the registry. Revoke deleted the row and Register re-inserted it
without creating any credential, so after `vantage revoke X` and
`vantage add X` -- the documented way to retire a credential -- every
certificate ever issued for X (CA-signed, ten-year validity)
authenticated again.
The hub now records the serial of every certificate IssueClientCert
mints (vantage_certs, cascading from vantages) and requireAgent
authorizes a certificate only if its CN is registered and its serial
was issued for that registration. Revoke drops the recorded serials, so
a re-added name accepts only certificates issued after the re-add.
Regenerate keeps its semantics: earlier certificates for a live name
stay valid. IssueClientCert now requires a registered name
(ErrNotRegistered) and records the serial before returning the cert.
Upgrade: vantages registered before this change have no recorded
serials. legacy_certs is added with DEFAULT true (applied to existing
rows) and the default is then switched to false, all in the schema's
single implicit transaction, so pre-existing vantages keep accepting
any hub-CA certificate with their name until revoked, while vantages
registered later -- and later startups re-running the schema -- are
never flagged.
README, docs/federation.md, ROADMAP and CHANGELOG updated so the
documented retirement procedure is accurate and the upgrade behavior
is described.
0 commit comments