@atrib/verify 0.7.10 → 0.8.0
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.
- package/README.md +58 -5
- package/dist/anchor-plurality.d.ts +142 -0
- package/dist/anchor-plurality.d.ts.map +1 -0
- package/dist/anchor-plurality.js +473 -0
- package/dist/anchor-plurality.js.map +1 -0
- package/dist/authorization-evidence.d.ts +6 -2
- package/dist/authorization-evidence.d.ts.map +1 -1
- package/dist/authorization-evidence.js +21 -0
- package/dist/authorization-evidence.js.map +1 -1
- package/dist/delegation.d.ts +186 -0
- package/dist/delegation.d.ts.map +1 -0
- package/dist/delegation.js +319 -0
- package/dist/delegation.js.map +1 -0
- package/dist/evidence-envelope.d.ts +205 -0
- package/dist/evidence-envelope.d.ts.map +1 -0
- package/dist/evidence-envelope.js +378 -0
- package/dist/evidence-envelope.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/session-checkpoint.d.ts +200 -0
- package/dist/session-checkpoint.d.ts.map +1 -0
- package/dist/session-checkpoint.js +421 -0
- package/dist/session-checkpoint.js.map +1 -0
- package/dist/verify-record.d.ts +43 -0
- package/dist/verify-record.d.ts.map +1 -1
- package/dist/verify-record.js +25 -1
- package/dist/verify-record.js.map +1 -1
- package/dist/x401-evidence.d.ts +94 -0
- package/dist/x401-evidence.d.ts.map +1 -0
- package/dist/x401-evidence.js +560 -0
- package/dist/x401-evidence.js.map +1 -0
- package/package.json +3 -3
|
@@ -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":"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"}
|
|
@@ -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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"}
|