pub struct StandingVerifier<Rd> { /* private fields */ }Expand description
The edge facade for standing node bindings: trust, revocation replica and
supersession ledger for one issuer. Like EdgeVerifier it holds no minter.
Implementations§
Source§impl<Rd> StandingVerifier<Rd>where
Rd: RevocationReader,
impl<Rd> StandingVerifier<Rd>where
Rd: RevocationReader,
Sourcepub fn new(trust: IssuerTrust, revoked: Rd) -> StandingVerifier<Rd>
pub fn new(trust: IssuerTrust, revoked: Rd) -> StandingVerifier<Rd>
pub fn trust(&self) -> &IssuerTrust
pub fn revocations(&self) -> &Rd
pub fn ledger(&self) -> &BindingLedger
Sourcepub async fn adopt(&self, token: &str) -> Result<StandingBinding, VerifyError>
pub async fn adopt(&self, token: &str) -> Result<StandingBinding, VerifyError>
Verify a binding that arrived without a peer — by gossip, or the edge’s
own persisted one at boot — and record its seq, so it supersedes
older bindings for its device. Checks the signature only: whether the
binding is revoked or names this peer does not change that the issuer
minted it.
Sourcepub async fn verify_standing_at(
&self,
token: &str,
presented: &PeerKey,
now: i64,
) -> Result<VerifiedStanding, StandingError>
pub async fn verify_standing_at( &self, token: &str, presented: &PeerKey, now: i64, ) -> Result<VerifiedStanding, StandingError>
Admit token as a standing binding for the peer that proved
presented in its handshake.
In order, cheapest and most local first: signature (recording the
binding’s seq in the ledger), peer key, supersession, then the
revocation reads (jti, then device) — the only I/O. now decides
VerifiedStanding::lease and nothing else: there is no expiry.