@atrib/verify 0.7.10 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"authorization-evidence.js","sourceRoot":"","sources":["../src/authorization-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorization-evidence.js","sourceRoot":"","sources":["../src/authorization-evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ import { type AtribRecord } from '@atrib/mcp';
2
+ /** §6.7.1 capability envelope schema, reused verbatim as the cert scope (§1.11.1). */
3
+ export interface DelegationScope {
4
+ tool_names?: string[];
5
+ event_types?: string[];
6
+ max_amount?: {
7
+ currency: string;
8
+ value: number;
9
+ };
10
+ counterparties?: string[];
11
+ expires_at?: number;
12
+ }
13
+ /**
14
+ * A delegation certificate per §1.11.1. Optional fields are omitted, not
15
+ * null, when absent — presence/absence changes the JCS canonical form and
16
+ * therefore the principal signature and the cert hash.
17
+ */
18
+ export interface DelegationCertificate {
19
+ cert_type: string;
20
+ context_id?: string;
21
+ not_after: number;
22
+ not_before?: number;
23
+ principal_key: string;
24
+ run_pubkey: string;
25
+ scope?: DelegationScope;
26
+ signature: string;
27
+ }
28
+ /** A record that may carry the OPTIONAL §1.11.3 genesis field. */
29
+ export type DelegatedRecord = AtribRecord & {
30
+ delegation_cert_hash?: string;
31
+ };
32
+ /** A §1.9.1 key_revocation record possibly carrying the §1.11.5 field. */
33
+ export type KeyRevocationRecordLike = AtribRecord & {
34
+ revoked_key: string;
35
+ revocation_reason: string;
36
+ delegation_cert_hash?: string;
37
+ };
38
+ /** §6.7.2-style scope check output. Signals only (§6.7.3). */
39
+ export interface DelegationScopeCheck {
40
+ in_scope: boolean;
41
+ /**
42
+ * Whether the certificate scope is a subset of the principal's
43
+ * directory-published envelope. `null` when no directory envelope was
44
+ * supplied to the walk (the current library posture; see §1.11.4 step 5).
45
+ */
46
+ attenuation_ok: boolean | null;
47
+ /** Failed constraint names, e.g. 'tool_names', 'event_types'. */
48
+ mismatches: string[];
49
+ }
50
+ /**
51
+ * Per-certificate facts surfaced when the §1.11.4 ambiguity rule fires.
52
+ * Same fact set as a depth-1 outcome, scoped to one candidate.
53
+ */
54
+ export interface DelegationCandidate {
55
+ principal_key: string;
56
+ cert_hash: string;
57
+ in_window: boolean;
58
+ context_bound: boolean | null;
59
+ cert_bound: boolean | null;
60
+ scope_check: DelegationScopeCheck | null;
61
+ }
62
+ /**
63
+ * The §1.11.4 verifier output block. At depth 0 every certificate-derived
64
+ * field is null and `errors` is empty — unless a covering-but-invalid
65
+ * certificate was rejected as evidence, in which case its `cert_hash`,
66
+ * `cert_valid: false`, and the rejection error are reported while the
67
+ * walk still resolves to depth 0. No field in this block affects record
68
+ * validity.
69
+ */
70
+ export interface DelegationOutcome {
71
+ depth: 0 | 1;
72
+ principal_key: string | null;
73
+ cert_hash: string | null;
74
+ cert_valid: boolean | null;
75
+ in_window: boolean | null;
76
+ context_bound: boolean | null;
77
+ cert_bound: boolean | null;
78
+ scope_check: DelegationScopeCheck | null;
79
+ revoked: boolean | null;
80
+ /**
81
+ * Rejection errors for a covering-but-invalid certificate:
82
+ * 'principal_key_malformed', 'run_pubkey_malformed', 'self_certificate',
83
+ * 'principal_signature_invalid', 'delegation_depth_exceeded'.
84
+ */
85
+ errors: string[];
86
+ /**
87
+ * §1.11.4 step 2: present (true) ONLY when the context genesis signed
88
+ * by the record's own creator_key commits to a certificate through
89
+ * `delegation_cert_hash` but no valid covering certificate resolved.
90
+ * Signal, not invalidation (D113 posture).
91
+ */
92
+ delegation_unresolved?: boolean;
93
+ /**
94
+ * §1.11.4 ambiguity rule: two valid certificates from DIFFERENT
95
+ * principals cover the same run key in overlapping windows. The
96
+ * verifier MUST surface both (in `candidates`) rather than choosing.
97
+ */
98
+ delegation_ambiguous?: boolean;
99
+ /** Present only alongside `delegation_ambiguous: true`. */
100
+ candidates?: DelegationCandidate[];
101
+ }
102
+ export interface EvaluateDelegationOptions {
103
+ /**
104
+ * Keys the caller has resolved as revoked at the record's log position
105
+ * (per §1.9.3 / §1.11.5 — the caller applies the log_index cutoff, this
106
+ * module has no log access). When supplied, `revoked` is true iff the
107
+ * run key or the resolved principal key is in the set; when omitted,
108
+ * `revoked` stays `false` at depth 1 (the walk carries no revocation
109
+ * log) and `null` at depth 0.
110
+ */
111
+ revokedKeys?: ReadonlySet<string>;
112
+ }
113
+ /** §1.9.2 revoker-authorization outcome (including §1.11.5 rule 3). */
114
+ export interface RevokerAuthorization {
115
+ authorized: boolean;
116
+ /** 'retired_key' (rule 1) or 'principal_via_delegation_certificate' (rule 3). */
117
+ rule?: string;
118
+ /**
119
+ * Rejection reason: 'certificate_not_resolved', 'certificate_invalid',
120
+ * 'certificate_does_not_cover_revoked_key',
121
+ * 'signer_is_not_certificate_principal', 'no_authorization_path'.
122
+ */
123
+ reason?: string;
124
+ }
125
+ /**
126
+ * The certificate signing input (§1.11.2): UTF-8 bytes of
127
+ * JCS(cert with signature omitted).
128
+ */
129
+ export declare function delegationCertSigningInput(cert: DelegationCertificate): Uint8Array;
130
+ /** cert_hash = "sha256:" + hex(SHA-256(UTF-8(JCS(full signed cert)))) (§1.11.2). */
131
+ export declare function delegationCertHash(cert: DelegationCertificate): string;
132
+ /** Ed25519 verification of the certificate under its declared principal_key. Never throws. */
133
+ export declare function delegationCertSignatureVerifies(cert: DelegationCertificate): Promise<boolean>;
134
+ /**
135
+ * Certificate validity AS DELEGATION EVIDENCE per §1.11.2: both keys
136
+ * well-formed per §1.4.1, `run_pubkey !== principal_key` (a
137
+ * self-certificate is rejected with 'self_certificate' even when its
138
+ * signature verifies), and the principal signature verifies. Returns the
139
+ * error list (empty = valid). Never throws.
140
+ *
141
+ * The §1.11.2 depth rule ('delegation_depth_exceeded') needs the full
142
+ * certificate set and is applied by `evaluateDelegation`, not here.
143
+ */
144
+ export declare function delegationCertErrors(cert: DelegationCertificate): Promise<string[]>;
145
+ /**
146
+ * §6.7.1 envelope check against the certificate scope (§1.11.4 step 5).
147
+ * Signals only, never invalidation (§6.7.3).
148
+ *
149
+ * Checks the constraints resolvable from the record alone: `tool_names`
150
+ * (when the record discloses §8.2 `tool_name`) and `event_types`.
151
+ * `max_amount` / `counterparties` require protocol-event facts the
152
+ * compact signed record does not carry; they produce no mismatch here
153
+ * (same posture the conformance corpus pins). `attenuation_ok` is `null`
154
+ * until a caller supplies the principal's directory envelope.
155
+ */
156
+ export declare function checkDelegationScope(record: DelegatedRecord, scope: DelegationScope): DelegationScopeCheck;
157
+ /**
158
+ * The §1.11.4 verifier walk, offline and deterministic: record → run key
159
+ * → certificate → principal. `genesis` is the context genesis record when
160
+ * available (it may be the record itself). Every output is a fact/signal;
161
+ * nothing here alters record validity, and the record's own signature is
162
+ * checked by the UNCHANGED §1.4.3 procedure elsewhere (step 1 belongs to
163
+ * `verifyRecord`, not this walk).
164
+ *
165
+ * Never throws: malformed certificates degrade to rejection errors, and
166
+ * two implementations given the same record and certificate set MUST
167
+ * produce identical outcomes (§1.11.11).
168
+ */
169
+ export declare function evaluateDelegation(record: DelegatedRecord, genesis: DelegatedRecord | null, certs: DelegationCertificate[], options?: EvaluateDelegationOptions): Promise<DelegationOutcome>;
170
+ /**
171
+ * §1.9.2 revoker authorization including the §1.11.5 rule 3: a
172
+ * key_revocation MAY be signed by the principal key of a valid delegation
173
+ * certificate covering `revoked_key`, referenced through the record's
174
+ * `delegation_cert_hash` field. Verifiers MUST resolve that certificate —
175
+ * valid per §1.11.2, `run_pubkey === revoked_key`, `principal_key ===
176
+ * creator_key` — before accepting the principal as an authorized revoker.
177
+ *
178
+ * Rule 1 (signed by the key being retired) is handled here; rule 2
179
+ * (pre-registered emergency key) requires a directory consultation this
180
+ * module does not perform — callers with directory access apply it
181
+ * upstream. The revocation record's OWN Ed25519 signature is the
182
+ * caller's job (`verifyRecord` per §1.4.3); this function decides only
183
+ * whether the signer is an authorized revoker.
184
+ */
185
+ export declare function evaluateRevokerAuthorization(revocation: KeyRevocationRecordLike, certs: DelegationCertificate[]): Promise<RevokerAuthorization>;
186
+ //# sourceMappingURL=delegation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AASjF,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7E,0EAA0E;AAC1E,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,cAAc,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9B,iEAAiE;IACjE,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAA;CACzC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IACZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;IACzB,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACxC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB;;;;OAIG;IACH,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAA;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAClC;AAED,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,OAAO,CAAA;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,UAAU,CAOlF;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAMtE;AAED,8FAA8F;AAC9F,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAUlB;AAWD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYzF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,GACrB,oBAAoB,CAatB;AAmCD;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,eAAe,GAAG,IAAI,EAC/B,KAAK,EAAE,qBAAqB,EAAE,EAC9B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,iBAAiB,CAAC,CAgH5B;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,uBAAuB,EACnC,KAAK,EAAE,qBAAqB,EAAE,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAuB/B"}
@@ -0,0 +1,319 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * Delegation-certificate evaluation per spec §1.11 (D140).
4
+ *
5
+ * Promoted from the reference implementation in
6
+ * `test/conformance-delegation-certificates.test.ts`: the §1.11.4
7
+ * verifier walk (record → run key → certificate → principal), offline and
8
+ * deterministic, plus the §1.9.2 signing-rule-3 revoker authorization for
9
+ * principal-signed run-key revocations (§1.11.5).
10
+ *
11
+ * Every output of this module is a fact/signal in the §6.7.3 posture:
12
+ * NOTHING here alters record validity. A record signed directly by a
13
+ * principal is delegation depth 0 — no certificate exists or is needed,
14
+ * and verification is byte-for-byte the §1.4.3 procedure. An invalid,
15
+ * expired, out-of-scope, or ambiguous certificate never invalidates any
16
+ * record; at worst the record falls back to plain attribution to its
17
+ * signing key.
18
+ *
19
+ * Design note on dependencies: like `ResolvedIdentityClaim` in
20
+ * verify-record.ts, the certificate shape is declared here structurally
21
+ * rather than imported from a producer package's non-exported module —
22
+ * callers pass either `@atrib/mcp`'s `DelegationCertificate` (structurally
23
+ * identical) or a hand-parsed object from a sidecar / archive / evidence
24
+ * envelope carrier (§1.11.8). The caller supplies the certificate set;
25
+ * this module never fetches.
26
+ */
27
+ import * as ed from '@noble/ed25519';
28
+ import { sha512 } from '@noble/hashes/sha2.js';
29
+ import canonicalize from 'canonicalize';
30
+ import { base64urlDecode, hexEncode, sha256 } from '@atrib/mcp';
31
+ // @noble/ed25519 v3 needs sha512 wired (idempotent; @atrib/mcp wires the
32
+ // same instance at import time — kept here so this module stands alone).
33
+ ed.hashes.sha512 = sha512;
34
+ ed.hashes.sha512Async = (m) => Promise.resolve(sha512(m));
35
+ const encoder = new TextEncoder();
36
+ /**
37
+ * The certificate signing input (§1.11.2): UTF-8 bytes of
38
+ * JCS(cert with signature omitted).
39
+ */
40
+ export function delegationCertSigningInput(cert) {
41
+ const { signature: _, ...unsigned } = cert;
42
+ const json = canonicalize(unsigned);
43
+ if (json === undefined) {
44
+ throw new Error('atrib: delegation certificate canonicalization produced undefined');
45
+ }
46
+ return encoder.encode(json);
47
+ }
48
+ /** cert_hash = "sha256:" + hex(SHA-256(UTF-8(JCS(full signed cert)))) (§1.11.2). */
49
+ export function delegationCertHash(cert) {
50
+ const json = canonicalize(cert);
51
+ if (json === undefined) {
52
+ throw new Error('atrib: delegation certificate canonicalization produced undefined');
53
+ }
54
+ return `sha256:${hexEncode(sha256(encoder.encode(json)))}`;
55
+ }
56
+ /** Ed25519 verification of the certificate under its declared principal_key. Never throws. */
57
+ export async function delegationCertSignatureVerifies(cert) {
58
+ try {
59
+ const pub = base64urlDecode(cert.principal_key);
60
+ if (pub.length !== 32)
61
+ return false;
62
+ const sig = base64urlDecode(cert.signature);
63
+ if (sig.length !== 64)
64
+ return false;
65
+ return await ed.verifyAsync(sig, delegationCertSigningInput(cert), pub);
66
+ }
67
+ catch {
68
+ return false;
69
+ }
70
+ }
71
+ function isWellFormedKey(value) {
72
+ if (typeof value !== 'string' || value.length === 0)
73
+ return false;
74
+ try {
75
+ return base64urlDecode(value).length === 32;
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }
81
+ /**
82
+ * Certificate validity AS DELEGATION EVIDENCE per §1.11.2: both keys
83
+ * well-formed per §1.4.1, `run_pubkey !== principal_key` (a
84
+ * self-certificate is rejected with 'self_certificate' even when its
85
+ * signature verifies), and the principal signature verifies. Returns the
86
+ * error list (empty = valid). Never throws.
87
+ *
88
+ * The §1.11.2 depth rule ('delegation_depth_exceeded') needs the full
89
+ * certificate set and is applied by `evaluateDelegation`, not here.
90
+ */
91
+ export async function delegationCertErrors(cert) {
92
+ const errors = [];
93
+ if (!isWellFormedKey(cert.principal_key))
94
+ errors.push('principal_key_malformed');
95
+ if (!isWellFormedKey(cert.run_pubkey))
96
+ errors.push('run_pubkey_malformed');
97
+ if (errors.length > 0)
98
+ return errors;
99
+ if (cert.run_pubkey === cert.principal_key) {
100
+ return ['self_certificate'];
101
+ }
102
+ if (!(await delegationCertSignatureVerifies(cert))) {
103
+ errors.push('principal_signature_invalid');
104
+ }
105
+ return errors;
106
+ }
107
+ /**
108
+ * §6.7.1 envelope check against the certificate scope (§1.11.4 step 5).
109
+ * Signals only, never invalidation (§6.7.3).
110
+ *
111
+ * Checks the constraints resolvable from the record alone: `tool_names`
112
+ * (when the record discloses §8.2 `tool_name`) and `event_types`.
113
+ * `max_amount` / `counterparties` require protocol-event facts the
114
+ * compact signed record does not carry; they produce no mismatch here
115
+ * (same posture the conformance corpus pins). `attenuation_ok` is `null`
116
+ * until a caller supplies the principal's directory envelope.
117
+ */
118
+ export function checkDelegationScope(record, scope) {
119
+ const mismatches = [];
120
+ if (scope.tool_names &&
121
+ record.tool_name !== undefined &&
122
+ !scope.tool_names.includes(record.tool_name)) {
123
+ mismatches.push('tool_names');
124
+ }
125
+ if (scope.event_types && !scope.event_types.includes(record.event_type)) {
126
+ mismatches.push('event_types');
127
+ }
128
+ return { in_scope: mismatches.length === 0, attenuation_ok: null, mismatches };
129
+ }
130
+ function certWindow(cert) {
131
+ return { from: cert.not_before ?? 0, to: cert.not_after };
132
+ }
133
+ function windowsOverlap(a, b) {
134
+ const wa = certWindow(a);
135
+ const wb = certWindow(b);
136
+ return wa.from <= wb.to && wb.from <= wa.to;
137
+ }
138
+ function candidateFacts(record, cert, hash, genesisCommits, genesis) {
139
+ const { from, to } = certWindow(cert);
140
+ return {
141
+ principal_key: cert.principal_key,
142
+ cert_hash: hash,
143
+ in_window: from <= record.timestamp && record.timestamp <= to,
144
+ context_bound: cert.context_id === undefined ? null : cert.context_id === record.context_id,
145
+ // Binding scope per §1.11.3: cert_bound is evaluable only when the
146
+ // context genesis was signed by the record's OWN creator_key AND
147
+ // carries the field — the verifier-pass fix to the signed-by
148
+ // qualifier. Another producer's genesis commitment says nothing about
149
+ // this record's signer (D067 / §1.11.6: cert_bound stays null).
150
+ cert_bound: genesisCommits && genesis !== null ? genesis.delegation_cert_hash === hash : null,
151
+ scope_check: cert.scope ? checkDelegationScope(record, cert.scope) : null,
152
+ };
153
+ }
154
+ /**
155
+ * The §1.11.4 verifier walk, offline and deterministic: record → run key
156
+ * → certificate → principal. `genesis` is the context genesis record when
157
+ * available (it may be the record itself). Every output is a fact/signal;
158
+ * nothing here alters record validity, and the record's own signature is
159
+ * checked by the UNCHANGED §1.4.3 procedure elsewhere (step 1 belongs to
160
+ * `verifyRecord`, not this walk).
161
+ *
162
+ * Never throws: malformed certificates degrade to rejection errors, and
163
+ * two implementations given the same record and certificate set MUST
164
+ * produce identical outcomes (§1.11.11).
165
+ */
166
+ export async function evaluateDelegation(record, genesis, certs, options = {}) {
167
+ const depth0 = {
168
+ depth: 0,
169
+ principal_key: null,
170
+ cert_hash: null,
171
+ cert_valid: null,
172
+ in_window: null,
173
+ context_bound: null,
174
+ cert_bound: null,
175
+ scope_check: null,
176
+ revoked: null,
177
+ errors: [],
178
+ };
179
+ try {
180
+ // §1.11.4 step 2: delegation_unresolved only applies when the context
181
+ // genesis was signed by R.creator_key (the field commits the genesis
182
+ // signer's OWN run key; another producer's genesis commitment says
183
+ // nothing about this record's signer).
184
+ const genesisCommits = genesis !== null &&
185
+ genesis.creator_key === record.creator_key &&
186
+ typeof genesis.delegation_cert_hash === 'string';
187
+ // Step 2: select certificates covering the record's signing key.
188
+ const candidates = certs.filter((c) => c.run_pubkey === record.creator_key);
189
+ if (candidates.length === 0) {
190
+ if (genesisCommits)
191
+ return { ...depth0, delegation_unresolved: true };
192
+ return depth0;
193
+ }
194
+ // Evaluate each covering certificate's validity as evidence,
195
+ // including the §1.11.2 depth rule: principal_key MUST NOT itself be
196
+ // a run key under another VALID certificate known to the verifier.
197
+ const evaluated = [];
198
+ for (const cert of candidates) {
199
+ let errors = await delegationCertErrors(cert);
200
+ if (errors.length === 0) {
201
+ for (const other of certs) {
202
+ if (other === cert)
203
+ continue;
204
+ if (other.run_pubkey !== cert.principal_key)
205
+ continue;
206
+ if ((await delegationCertErrors(other)).length === 0) {
207
+ errors = ['delegation_depth_exceeded'];
208
+ break;
209
+ }
210
+ }
211
+ }
212
+ evaluated.push({ cert, hash: safeCertHash(cert), errors });
213
+ }
214
+ const valid = evaluated.filter((e) => e.errors.length === 0);
215
+ if (valid.length === 0) {
216
+ // Rejected as delegation evidence: fall back to plain attribution.
217
+ // The walk reports the (first) covering certificate's hash, its
218
+ // cert_valid: false, and the rejection errors (§1.11.4 step 2).
219
+ const first = evaluated[0];
220
+ if (first === undefined)
221
+ return depth0;
222
+ return { ...depth0, cert_hash: first.hash, cert_valid: false, errors: first.errors };
223
+ }
224
+ // Ambiguity rule (§1.11.4): two valid certificates from DIFFERENT
225
+ // principals covering the same run key in overlapping windows —
226
+ // surface both rather than choosing. Choosing would be
227
+ // interpretation; surfacing is fact.
228
+ for (let i = 0; i < valid.length; i++) {
229
+ for (let j = i + 1; j < valid.length; j++) {
230
+ const a = valid[i];
231
+ const b = valid[j];
232
+ if (a.cert.principal_key !== b.cert.principal_key && windowsOverlap(a.cert, b.cert)) {
233
+ return {
234
+ ...depth0,
235
+ delegation_ambiguous: true,
236
+ candidates: valid.map((e) => candidateFacts(record, e.cert, e.hash, genesisCommits, genesis)),
237
+ };
238
+ }
239
+ }
240
+ }
241
+ // Unambiguous selection: prefer the valid certificate whose window
242
+ // covers the record's timestamp; otherwise the first valid one in
243
+ // caller order (deterministic for a given ordered certificate set).
244
+ const selected = valid.find((e) => {
245
+ const { from, to } = certWindow(e.cert);
246
+ return from <= record.timestamp && record.timestamp <= to;
247
+ }) ?? valid[0];
248
+ const facts = candidateFacts(record, selected.cert, selected.hash, genesisCommits, genesis);
249
+ const revoked = options.revokedKeys
250
+ ? options.revokedKeys.has(record.creator_key) ||
251
+ options.revokedKeys.has(selected.cert.principal_key)
252
+ : false;
253
+ return {
254
+ depth: 1,
255
+ principal_key: facts.principal_key,
256
+ cert_hash: facts.cert_hash,
257
+ cert_valid: true,
258
+ in_window: facts.in_window,
259
+ context_bound: facts.context_bound,
260
+ cert_bound: facts.cert_bound,
261
+ scope_check: facts.scope_check,
262
+ revoked,
263
+ errors: [],
264
+ };
265
+ }
266
+ catch {
267
+ // §5.8-aligned posture for a signal surface: never throw out of the
268
+ // walk; an unevaluable input degrades to the depth-0 identity case.
269
+ return depth0;
270
+ }
271
+ }
272
+ function safeCertHash(cert) {
273
+ try {
274
+ return delegationCertHash(cert);
275
+ }
276
+ catch {
277
+ return '';
278
+ }
279
+ }
280
+ /**
281
+ * §1.9.2 revoker authorization including the §1.11.5 rule 3: a
282
+ * key_revocation MAY be signed by the principal key of a valid delegation
283
+ * certificate covering `revoked_key`, referenced through the record's
284
+ * `delegation_cert_hash` field. Verifiers MUST resolve that certificate —
285
+ * valid per §1.11.2, `run_pubkey === revoked_key`, `principal_key ===
286
+ * creator_key` — before accepting the principal as an authorized revoker.
287
+ *
288
+ * Rule 1 (signed by the key being retired) is handled here; rule 2
289
+ * (pre-registered emergency key) requires a directory consultation this
290
+ * module does not perform — callers with directory access apply it
291
+ * upstream. The revocation record's OWN Ed25519 signature is the
292
+ * caller's job (`verifyRecord` per §1.4.3); this function decides only
293
+ * whether the signer is an authorized revoker.
294
+ */
295
+ export async function evaluateRevokerAuthorization(revocation, certs) {
296
+ // Rule 1: signed by the key being retired.
297
+ if (revocation.creator_key === revocation.revoked_key) {
298
+ return { authorized: true, rule: 'retired_key' };
299
+ }
300
+ // Rule 3: principal via delegation certificate.
301
+ if (typeof revocation.delegation_cert_hash === 'string') {
302
+ const cert = certs.find((c) => safeCertHash(c) === revocation.delegation_cert_hash);
303
+ if (cert === undefined) {
304
+ return { authorized: false, reason: 'certificate_not_resolved' };
305
+ }
306
+ if ((await delegationCertErrors(cert)).length > 0) {
307
+ return { authorized: false, reason: 'certificate_invalid' };
308
+ }
309
+ if (cert.run_pubkey !== revocation.revoked_key) {
310
+ return { authorized: false, reason: 'certificate_does_not_cover_revoked_key' };
311
+ }
312
+ if (cert.principal_key !== revocation.creator_key) {
313
+ return { authorized: false, reason: 'signer_is_not_certificate_principal' };
314
+ }
315
+ return { authorized: true, rule: 'principal_via_delegation_certificate' };
316
+ }
317
+ return { authorized: false, reason: 'no_authorization_path' };
318
+ }
319
+ //# sourceMappingURL=delegation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation.js","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"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"}