Expand description
Keyless-signed bodies, consumer side (RFC-ACDP-0021 §8, §11; 0.5.0 Draft).
KeylessPolicy says which registries this consumer accepts as
attesters (§11). It exists in every build so that
VerificationPolicy has one shape; the
default accepts none, and without the keyless feature it is not
consulted at all: a keyless key id then fails closed in
VerifiedContext::fetch like any key
the DID document does not list.
With the keyless feature, VerifiedContext runs §8.1 in place of
RFC-ACDP-0001 §5.11 for a keyless key id, in this order (the first
failure decides, and its reason token rides on the error, see
KeylessReason::of):
- the attestation, fetched from the serving registry by
key_attestation.ctx_id, matcheskey_attestation.content_hash, is signed under its registry’s DID, carries a valid receipt and meets §5.3 (attestation_invalid); - the attesting registry is accepted (
untrusted_attester); agent_id,key_idandalgorithmmatch it (attestation_mismatch);- the body’s receipt verifies, comes from the attester and names the
attested fingerprint (
unplaceable) — the receipt is required whateverReceiptPolicysays, because it is the only time that places a keyless signature; - its
created_atlies in the window (outside_attestation_window); - the signature verifies under the attested key
(
invalid_signature); - the attestation is not retracted (
attestation_withdrawn); - RFC-ACDP-0014 revocations of the attested fingerprint, gathered by
agent_idunderRevocationPolicy(revoked, or pre-compromise); - the controller’s current DID document lists the identity
(currently authorized), does not (historically authorized), or
cannot be fetched (
controller_unreachable, transient).
The outcome is one of the three existing
KeyAuthorization values or an error.
Keyless-signed revocations (§9.3). Revocation discovery sets a
candidate signed by a keyless key aside and verifies its signer by
§8.1 steps 1–7 under this same KeylessPolicy. One under an
org_wide attestation is producer-signed and applies; one under a
non-org-wide attestation is only a hint (kl-005 G). One that cannot
be evaluated (no keyless feature, an unaccepted attester, an
attestation that does not verify) makes the verdict for the key it
names unknown, never not-revoked.
Structs§
- Keyless
Policy - Which registries a consumer accepts as keyless attesters (§11).
- Keyless
Trust - The RFC-ACDP-0020 inputs for §11 trust-list acceptance: the pins’
§5.4 state at
t(fromTrustLists::select) and, when fetched, the attesting registry’s advertised profiles (C).