@kya-os/mcp 1.13.0 → 1.14.2

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.
Files changed (62) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +12 -0
  3. package/dist/card/delegation.d.ts +4 -4
  4. package/dist/card/delegation.d.ts.map +1 -1
  5. package/dist/card/delegation.js +2 -2
  6. package/dist/card/delegation.js.map +1 -1
  7. package/dist/card/revocation.d.ts +9 -3
  8. package/dist/card/revocation.d.ts.map +1 -1
  9. package/dist/card/revocation.js +6 -53
  10. package/dist/card/revocation.js.map +1 -1
  11. package/dist/card/verify.d.ts +2 -2
  12. package/dist/card/verify.d.ts.map +1 -1
  13. package/dist/card/verify.js.map +1 -1
  14. package/dist/delegation/bitstring.d.ts +6 -0
  15. package/dist/delegation/bitstring.d.ts.map +1 -1
  16. package/dist/delegation/bitstring.js +8 -48
  17. package/dist/delegation/bitstring.js.map +1 -1
  18. package/dist/delegation/did-key-resolver.d.ts +4 -0
  19. package/dist/delegation/did-key-resolver.d.ts.map +1 -1
  20. package/dist/delegation/did-key-resolver.js +2 -2
  21. package/dist/delegation/did-key-resolver.js.map +1 -1
  22. package/dist/delegation/index.d.ts +1 -0
  23. package/dist/delegation/index.d.ts.map +1 -1
  24. package/dist/delegation/index.js +1 -0
  25. package/dist/delegation/index.js.map +1 -1
  26. package/dist/delegation/statuslist-manager.d.ts.map +1 -1
  27. package/dist/delegation/statuslist-manager.js +4 -11
  28. package/dist/delegation/statuslist-manager.js.map +1 -1
  29. package/dist/delegation/vc-jwt-verify.d.ts.map +1 -1
  30. package/dist/delegation/vc-jwt-verify.js +5 -3
  31. package/dist/delegation/vc-jwt-verify.js.map +1 -1
  32. package/dist/delegation/vc-verification-checks.d.ts.map +1 -1
  33. package/dist/delegation/vc-verification-checks.js +3 -2
  34. package/dist/delegation/vc-verification-checks.js.map +1 -1
  35. package/dist/delegation/verification-method-key.d.ts +15 -0
  36. package/dist/delegation/verification-method-key.d.ts.map +1 -0
  37. package/dist/delegation/verification-method-key.js +56 -0
  38. package/dist/delegation/verification-method-key.js.map +1 -0
  39. package/dist/integrations/cheqd/dlr.d.ts +9 -1
  40. package/dist/integrations/cheqd/dlr.d.ts.map +1 -1
  41. package/dist/integrations/cheqd/dlr.js +25 -0
  42. package/dist/integrations/cheqd/dlr.js.map +1 -1
  43. package/dist/integrations/cheqd/index.d.ts +1 -0
  44. package/dist/integrations/cheqd/index.d.ts.map +1 -1
  45. package/dist/integrations/cheqd/index.js +1 -0
  46. package/dist/integrations/cheqd/index.js.map +1 -1
  47. package/dist/integrations/cheqd/statuslist-resolver.d.ts +74 -0
  48. package/dist/integrations/cheqd/statuslist-resolver.d.ts.map +1 -0
  49. package/dist/integrations/cheqd/statuslist-resolver.js +138 -0
  50. package/dist/integrations/cheqd/statuslist-resolver.js.map +1 -0
  51. package/dist/middleware/with-kya-os.delegation-gate.d.ts.map +1 -1
  52. package/dist/middleware/with-kya-os.delegation-gate.js +13 -53
  53. package/dist/middleware/with-kya-os.delegation-gate.js.map +1 -1
  54. package/dist/middleware/with-kya-os.delegation-verify.d.ts +23 -10
  55. package/dist/middleware/with-kya-os.delegation-verify.d.ts.map +1 -1
  56. package/dist/middleware/with-kya-os.delegation-verify.js +68 -2
  57. package/dist/middleware/with-kya-os.delegation-verify.js.map +1 -1
  58. package/dist/utils/statuslist-bits.d.ts +51 -0
  59. package/dist/utils/statuslist-bits.d.ts.map +1 -0
  60. package/dist/utils/statuslist-bits.js +106 -0
  61. package/dist/utils/statuslist-bits.js.map +1 -0
  62. package/package.json +13 -13
package/CHANGELOG.md CHANGED
@@ -7,6 +7,77 @@ Versioning: https://semver.org/spec/v2.0.0.html
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.14.2] - 2026-08-19
11
+
12
+ ### Fixed
13
+
14
+ - VC-JWT (string) delegations are now verified by their envelope signature in
15
+ the delegation gate before authorization, matching the embedded-proof (object)
16
+ path. Existing object and signed `did:key` VC-JWT flows are unaffected.
17
+
18
+ ## [1.14.1] - 2026-08-15
19
+
20
+ ### Fixed
21
+
22
+ - **Fresh installs no longer break on `json-canonicalize`.** The dependency is
23
+ now pinned to `2.0.0` exactly. The upstream `2.0.1` publish ships raw
24
+ TypeScript sources with no compiled JavaScript (its `main` points at a
25
+ nonexistent path), so any install resolving `^2.0.0` without a lockfile -
26
+ every new adopter - got a package that cannot be imported. Pinning restores
27
+ installability for `@kya-os/mcp` and everything downstream of it. The pin
28
+ can be relaxed once upstream publishes a corrected release.
29
+
30
+ ## [1.14.0] - 2026-08-13
31
+
32
+ ### Added
33
+
34
+ - **`CheqdStatusListResolver`** (`@kya-os/mcp/cheqd`) — on-chain StatusList2021
35
+ revocation checks against a cheqd DID-Linked Resource, upstreamed from the
36
+ DEF CON 34 "REVOKED" demo as a thin consumer of the shared primitives. The
37
+ only status-list reader that verifies the LIST itself: issuer pinned to
38
+ `expectedIssuerDid` and the Ed25519Signature2020 proof checked against the
39
+ issuer's on-chain DID document ("the resolver returned it" is never
40
+ sufficient). Fail-closed on every unprovable path (the delegation verifier
41
+ denies as `status_unresolvable`); internal verified-document `TtlCache`
42
+ (default 10 s, `invalidateCache()` busts upstream HTTP caches) composable
43
+ with `withStatusCache` for per-bit staleness SLAs; version-independent
44
+ resolver URLs with header-only cache-busting (the cheqd resolver 400s on
45
+ query params — verified live).
46
+ - **Multibase verification-method keys.** Both delegation signature paths
47
+ (Data Integrity and VC-JWT) now accept verification methods that publish
48
+ `publicKeyMultibase` (base58btc Ed25519, with or without the 0xed01
49
+ multicodec prefix) or legacy `publicKeyBase58`, synthesizing the OKP JWK at
50
+ the point of use — did:cheqd issuers verify end-to-end without a
51
+ JWK-rewriting resolver. Fail-closed: anything not provably a 32-byte
52
+ Ed25519 key still denies.
53
+ - **`StatusListCredential` DLR artifact type.** `prepareCheqdDlrResource`
54
+ now anchors status lists: the artifact's `content` is the WHOLE SIGNED
55
+ StatusList2021 credential (hash-what-you-publish — the canonical bytes
56
+ anchored on-chain are exactly the credential a verifier fetches), so
57
+ content hashes remain byte-compatible with resources already anchored via
58
+ the DEF CON demo's vendored publisher. Anchor-fitness is enforced by the
59
+ new method-agnostic `assertAnchorableStatusListCredential` guard in
60
+ `utils/statuslist-bits` (refuses unsigned or bitstring-less lists).
61
+
62
+ ### Changed
63
+
64
+ - **Status-list reading mechanics consolidated into `utils/statuslist-bits`.**
65
+ Canonical index parsing, the 16 MiB inflation cap, multibase/base64url
66
+ payload decoding, and the MSB-first bit read previously existed as separate
67
+ copies in the delegation readers (`bitstring.ts`, `statuslist-manager.ts`)
68
+ and the card revocation reader (`card/revocation.ts`) — held in sync only by
69
+ source comments. One shared implementation now serves both seams; each
70
+ seam's policy (throw → `status_unresolvable` vs `FAIL_CLOSED`, freshness)
71
+ is unchanged. Behavior-preserving: every existing test passes unmodified.
72
+
73
+ ### Deprecated
74
+
75
+ - **`RevocationChecker` (card module).** Renamed to
76
+ `BitstringRevocationChecker` — the old name collided with the
77
+ delegation-side `RevocationChecker` interface (`chain-enforcement.ts`), two
78
+ identically named exports answering different questions. The old name
79
+ remains as a deprecated alias until 2.0.
80
+
10
81
  ## [1.13.0] - 2026-08-12
11
82
 
12
83
  ### Security
package/README.md CHANGED
@@ -188,6 +188,18 @@ Miss the proof, replay a nonce, or tamper the body and `requireProof` fails clos
188
188
 
189
189
  ## See it in action
190
190
 
191
+ ### REVOKED: an on-chain kill switch for AI agents with wallet access
192
+
193
+ [![Watch the 3-minute demo: a live agent gets its spending authority revoked on-chain](./examples/revoked/docs/screenshots/revoked-page-killed.png)](https://www.loom.com/share/f32b82a292f14a6c952dba3a0a246e45)
194
+
195
+ A live agent (Claude Desktop) pays invoices from a testnet wallet under a signed, scoped, revocable credential. When it goes rogue, a FIDO2 hardware touch revokes that credential on a public chain: the StatusList2021 bit flips in a cheqd DID-Linked Resource, and the agent's next transaction is refused in about half a second. Funds never move.
196
+
197
+ Built in a weekend on this package (2nd place, DEF CON 34 Cryptocurrency Village), and everything the demo had to invent now ships here: the on-chain resolver, the always-fresh revocation checks, the DLR artifact type ([#165](https://github.com/decentralized-identity/kya-os-mcp/pull/165) through [#169](https://github.com/decentralized-identity/kya-os-mcp/pull/169)).
198
+
199
+ Start with the 60-second path: verify a genuinely revoked credential against the live testnet, zero configuration. **[examples/revoked](./examples/revoked/)**
200
+
201
+ ### Run the example servers
202
+
191
203
  ```bash
192
204
  git clone https://github.com/decentralized-identity/kya-os-mcp.git
193
205
  cd kya-os-mcp && npm install
@@ -14,13 +14,13 @@
14
14
  * {@link MAX_DELEGATION_DEPTH}; ROOT `parentCapability` = the resource, `issuer`/`invocationTarget`
15
15
  * = (optional) resource owner / resource. THE JOIN (recomputed, asserted nowhere):
16
16
  * {@link responsiblePartyOf} = `issuer(rootVC)`, {@link leafInvokerOf} = the leaf delegate a verifier
17
- * asserts equals `proof.did`. Revocation reuses the injected {@link RevocationChecker} seam from
17
+ * asserts equals `proof.did`. Revocation reuses the injected {@link BitstringRevocationChecker} seam from
18
18
  * `./revocation` (no status-list churn reaches callers; NO `mcp-i-core` runtime dep). Per-hop
19
19
  * signature verification is a SEPARATE injected concern; this module owns the CRISP + continuity recompute.
20
20
  */
21
21
  import { z } from 'zod';
22
22
  import { type BitstringStatusListEntry } from './schema.js';
23
- import { type RevocationChecker } from './revocation.js';
23
+ import { type BitstringRevocationChecker } from './revocation.js';
24
24
  export declare const DELEGATION_CONTEXT_V2 = "https://www.w3.org/ns/credentials/v2";
25
25
  export declare const ZCAP_CONTEXT = "https://w3id.org/security/zcap/v1";
26
26
  export declare const KYA_OS_DELEGATION_CONTEXT = "https://kya-os.org/ns/delegation/v1";
@@ -139,7 +139,7 @@ export interface DelegationChainEvaluation extends DelegationChainResult {
139
139
  fresh: boolean;
140
140
  }
141
141
  /** Validate structure AND revocation: run {@link validateDelegationChain}, then (only if it passes —
142
- * fail-closed) cascade the injected {@link RevocationChecker} root→leaf via
142
+ * fail-closed) cascade the injected {@link BitstringRevocationChecker} root→leaf via
143
143
  * {@link evaluateRevocationChain}. A revoked ancestor invalidates the subtree. */
144
- export declare function evaluateDelegationChain(chain: DelegationChain, check: RevocationChecker, ctx?: DelegationChainContext): Promise<DelegationChainEvaluation>;
144
+ export declare function evaluateDelegationChain(chain: DelegationChain, check: BitstringRevocationChecker, ctx?: DelegationChainContext): Promise<DelegationChainEvaluation>;
145
145
  //# sourceMappingURL=delegation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../src/card/delegation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../src/card/delegation.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * {@link MAX_DELEGATION_DEPTH}; ROOT `parentCapability` = the resource, `issuer`/`invocationTarget`
15
15
  * = (optional) resource owner / resource. THE JOIN (recomputed, asserted nowhere):
16
16
  * {@link responsiblePartyOf} = `issuer(rootVC)`, {@link leafInvokerOf} = the leaf delegate a verifier
17
- * asserts equals `proof.did`. Revocation reuses the injected {@link RevocationChecker} seam from
17
+ * asserts equals `proof.did`. Revocation reuses the injected {@link BitstringRevocationChecker} seam from
18
18
  * `./revocation` (no status-list churn reaches callers; NO `mcp-i-core` runtime dep). Per-hop
19
19
  * signature verification is a SEPARATE injected concern; this module owns the CRISP + continuity recompute.
20
20
  */
@@ -273,7 +273,7 @@ export function validateDelegationChain(chain, ctx = {}) {
273
273
  };
274
274
  }
275
275
  /** Validate structure AND revocation: run {@link validateDelegationChain}, then (only if it passes —
276
- * fail-closed) cascade the injected {@link RevocationChecker} root→leaf via
276
+ * fail-closed) cascade the injected {@link BitstringRevocationChecker} root→leaf via
277
277
  * {@link evaluateRevocationChain}. A revoked ancestor invalidates the subtree. */
278
278
  export async function evaluateDelegationChain(chain, check, ctx = {}) {
279
279
  const structural = validateDelegationChain(chain, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"delegation.js","sourceRoot":"","sources":["../../src/card/delegation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegation.js","sourceRoot":"","sources":["../../src/card/delegation.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,13 @@ export interface RevocationStatus {
48
48
  * A runtime supplies an implementation (the default is {@link createRevocationChecker}); a
49
49
  * caller may inject a cache-backed or offline variant. Implementations MUST fail closed.
50
50
  */
51
- export type RevocationChecker = (entry: BitstringStatusListEntry) => Promise<RevocationStatus>;
51
+ export type BitstringRevocationChecker = (entry: BitstringStatusListEntry) => Promise<RevocationStatus>;
52
+ /**
53
+ * @deprecated Use {@link BitstringRevocationChecker}. This alias collided with the
54
+ * delegation-side `RevocationChecker` interface (`delegation/chain-enforcement.ts`) — two
55
+ * identically named exports answering different questions. Alias removed at 2.0.
56
+ */
57
+ export type RevocationChecker = BitstringRevocationChecker;
52
58
  /** Result of a cascading root→leaf chain walk. */
53
59
  export interface RevocationChainResult {
54
60
  /** True iff EVERY hop is non-revoked (fail-closed: any revoked/unresolvable hop ⇒ false). */
@@ -81,7 +87,7 @@ export interface RevocationCheckerDeps {
81
87
  * request rides the injected {@link SafeFetch}; any failure on the path (unreachable, non-2xx,
82
88
  * malformed, wrong purpose, out-of-range index) resolves {@link FAIL_CLOSED}.
83
89
  */
84
- export declare function createRevocationChecker(deps: RevocationCheckerDeps): RevocationChecker;
90
+ export declare function createRevocationChecker(deps: RevocationCheckerDeps): BitstringRevocationChecker;
85
91
  /**
86
92
  * Walk a delegation/capability chain root→leaf and fail-close on the first revoked or
87
93
  * unresolvable hop (cascading — a revoked ancestor invalidates the subtree, so the walk
@@ -92,5 +98,5 @@ export declare function createRevocationChecker(deps: RevocationCheckerDeps): Re
92
98
  * signal. An L3 liveness gate that requires `fresh` therefore cannot be satisfied by a chain that
93
99
  * simply omits all `credentialStatus` entries — it must consult at least one live status list.
94
100
  */
95
- export declare function evaluateRevocationChain(entries: readonly BitstringStatusListEntry[], check: RevocationChecker): Promise<RevocationChainResult>;
101
+ export declare function evaluateRevocationChain(entries: readonly BitstringStatusListEntry[], check: BitstringRevocationChecker): Promise<RevocationChainResult>;
96
102
  //# sourceMappingURL=revocation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"revocation.d.ts","sourceRoot":"","sources":["../../src/card/revocation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,0FAA0F;AAC1F,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAcjF,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,OAAO,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/F,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,6FAA6F;IAC7F,EAAE,EAAE,OAAO,CAAC;IACZ,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;IACf,wCAAwC;IACxC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,KAAK,EAAE,SAAS,CAAC;IACjB,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAKD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,CAetF;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,SAAS,wBAAwB,EAAE,EAC5C,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,qBAAqB,CAAC,CAiBhC"}
1
+ {"version":3,"file":"revocation.d.ts","sourceRoot":"","sources":["../../src/card/revocation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAUH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,0FAA0F;AAC1F,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AASjF,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,OAAO,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,KAAK,EAAE,wBAAwB,KAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAE3D,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,6FAA6F;IAC7F,EAAE,EAAE,OAAO,CAAC;IACZ,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;IACf,wCAAwC;IACxC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,KAAK,EAAE,SAAS,CAAC;IACjB,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAKD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,qBAAqB,GAC1B,0BAA0B,CAe5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,SAAS,wBAAwB,EAAE,EAC5C,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,qBAAqB,CAAC,CAiBhC"}
@@ -25,21 +25,11 @@
25
25
  * L2 accepts a non-revoked chain (cached / offline-verifiable); L3 additionally requires
26
26
  * `fresh` (a live status check). NOT wired into `verifyCard` here — a later step injects it.
27
27
  */
28
- import { base64urlDecodeToBytes } from '../utils/base64.js';
29
28
  import { isRecord } from '../utils/guards.js';
30
29
  import { assertStatusPurpose } from '../utils/statuslist-purpose.js';
30
+ import { MAX_STATUS_LIST_BYTES, decodeStatusListPayload, parseStatusListIndex, readStatusBit, } from '../utils/statuslist-bits.js';
31
31
  /** The `statusPurpose` this checker evaluates by default (revocation, not suspension). */
32
32
  export const STATUS_PURPOSE_REVOCATION = 'revocation';
33
- /** Multibase prefix for an unpadded base64url payload (W3C Bitstring Status List `encodedList`). */
34
- const MULTIBASE_BASE64URL = 'u';
35
- /**
36
- * Hard ceiling on the INFLATED status bitstring (16 MiB ⇒ ~134M entries — far beyond any
37
- * herd-privacy list). A status bitstring is fixed-size, so a generous fixed cap costs nothing
38
- * legitimate while stopping a decompression bomb: without it, the ~786 KB of GZIP that fits
39
- * inside SafeFetch's 1 MiB body cap inflates to ~800 MB, blocking the event loop on a synchronous
40
- * `gunzipSync`. Exceeding the cap makes `gunzipSync` throw, which the checker converts to
41
- * FAIL_CLOSED — preserving the module's uniform fail-closed posture. */
42
- const MAX_STATUS_LIST_BYTES = 16 * 1024 * 1024;
43
33
  /** Fail-closed verdict: status indeterminate ⇒ treat as revoked AND not fresh. */
44
34
  const FAIL_CLOSED = { revoked: true, fresh: false };
45
35
  /**
@@ -56,7 +46,7 @@ export function createRevocationChecker(deps) {
56
46
  const credential = await fetchStatusList(entry.statusListCredential, deps.fetch);
57
47
  assertStatusPurpose(statusListSubject(credential).statusPurpose, wantedPurpose);
58
48
  const bits = await decodeStatusList(credential, decompress);
59
- const revoked = readBit(bits, parseIndex(entry.statusListIndex));
49
+ const revoked = readStatusBit(bits, parseStatusListIndex(entry.statusListIndex));
60
50
  return { revoked, fresh: isLive(credential, clock()) };
61
51
  }
62
52
  catch {
@@ -121,9 +111,9 @@ async function defaultNodeGunzip(bytes) {
121
111
  return new Uint8Array(gunzipSync(bytes, { maxOutputLength: MAX_STATUS_LIST_BYTES }));
122
112
  }
123
113
  /**
124
- * Inflate the multibase / GZIP `encodedList` into the raw status bitstring bytes through the
125
- * injected {@link Decompress} seam. The 16 MiB cap is re-checked here as a POST-inflation backstop:
126
- * the default gunzip caps mid-stream, but an injected (edge) decompressor that does not bound its
114
+ * Inflate the multibase / GZIP `encodedList` into the raw status bitstring bytes via the shared
115
+ * `decodeStatusListPayload` primitive (strip + decode + POST-inflation 16 MiB backstop): the
116
+ * default gunzip caps mid-stream, but an injected (edge) decompressor that does not bound its
127
117
  * own output is still fail-closed against an oversized bitstring at this seam.
128
118
  */
129
119
  async function decodeStatusList(credential, decompress) {
@@ -131,44 +121,7 @@ async function decodeStatusList(credential, decompress) {
131
121
  if (typeof encoded !== 'string' || encoded.length === 0) {
132
122
  throw new Error('revocation: status-list has no encodedList');
133
123
  }
134
- const base64url = encoded[0] === MULTIBASE_BASE64URL ? encoded.slice(1) : encoded;
135
- const inflated = await decompress(base64urlDecodeToBytes(base64url));
136
- if (inflated.length > MAX_STATUS_LIST_BYTES) {
137
- throw new Error(`revocation: status list too large: ${inflated.length} bytes exceeds ${MAX_STATUS_LIST_BYTES}`);
138
- }
139
- return inflated instanceof Uint8Array ? inflated : new Uint8Array(inflated);
140
- }
141
- /**
142
- * Parse the decimal `statusListIndex` (a non-negative integer expressed as a string), fail-closed.
143
- * MUST be canonical decimal only: `Number()` alone would coerce whitespace (`" "` → 0), hex
144
- * (`"0x2A"` → 42), octal, `"+42"`, and `"1e1"` → 10 — silently reading a DIFFERENT (often clear) bit
145
- * than the credential names, so a revoked credential could read as live. Reject anything that is not
146
- * `[0-9]+`.
147
- */
148
- function parseIndex(raw) {
149
- if (!/^[0-9]+$/.test(raw)) {
150
- throw new Error(`revocation: statusListIndex must be a canonical non-negative decimal (got "${raw}")`);
151
- }
152
- const index = Number(raw);
153
- if (!Number.isSafeInteger(index) || index < 0) {
154
- throw new Error(`revocation: statusListIndex out of range "${raw}"`);
155
- }
156
- return index;
157
- }
158
- /**
159
- * Read the status bit at `index` — MSB-first within each byte (W3C Bitstring encoding).
160
- * Uses FULL-PRECISION arithmetic (`Math.floor(index / 8)`, `index % 8`) rather than the 32-bit
161
- * bitwise ops `>>>`/`&`, which coerce their operand to uint32 first: an index ≥ 2^32 would
162
- * silently wrap onto a low byte (e.g. 2^32+5 ⇒ byte 0, bit 5) and read the WRONG — often clear —
163
- * bit, turning an out-of-range index that MUST fail-closed into a fail-OPEN "not revoked". With
164
- * full-precision arithmetic an out-of-range byte offset indexes past the bitstring, yielding
165
- * `undefined` ⇒ throw ⇒ FAIL_CLOSED. */
166
- function readBit(bits, index) {
167
- const byte = bits[Math.floor(index / 8)];
168
- if (byte === undefined) {
169
- throw new Error(`revocation: statusListIndex ${index} is out of range for the status list`);
170
- }
171
- return (byte & (0x80 >> (index % 8))) !== 0;
124
+ return decodeStatusListPayload(encoded, decompress);
172
125
  }
173
126
  /** True iff `nowMs` falls inside the credential's `[validFrom, validUntil]` window (if declared). */
174
127
  function isLive(credential, nowMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"revocation.js","sourceRoot":"","sources":["../../src/card/revocation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"revocation.js","sourceRoot":"","sources":["../../src/card/revocation.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * errors open; an unreachable/stale status list OR stale delegation chain demotes L3→L2.
16
16
  */
17
17
  import { type EntityCard, type EntityType, type ConformanceLevel, type Capability, type Attestation } from './schema.js';
18
- import type { RevocationChecker } from './revocation.js';
18
+ import type { BitstringRevocationChecker } from './revocation.js';
19
19
  import type { ProofAssurance, ProofVerifyResult } from './proof/index.js';
20
20
  import type { ToolRequest } from '../proof/generator.js';
21
21
  export declare const ENTITY_TYPES: readonly EntityType[];
@@ -86,7 +86,7 @@ export interface VerifyCardDeps {
86
86
  /** Recomputes `proof` against `request` (pre-bound ./proof `verifyCardProof`). Lifts L2 → L3. */
87
87
  proofVerifier?: CardProofVerifier;
88
88
  /** Live W3C Bitstring Status List v1.0 check for `card.revocation` (fail-closed). */
89
- statusListChecker?: RevocationChecker;
89
+ statusListChecker?: BitstringRevocationChecker;
90
90
  /** True iff the caller independently proved CIMD L1 key possession (private_key_jwt ↔ jwks_uri). */
91
91
  cimdKeyProven?: boolean;
92
92
  /** Trusted issuer allowlist. Default: `DEFAULT_TRUSTED_ISSUERS`. */
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/card/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/card/verify.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/card/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/card/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,GAMhB,MAAM,aAAa,CAAC;AAKrB,MAAM,CAAC,MAAM,YAAY,GAA0B,gBAAgB,CAAC,OAAO,CAAC;AAE5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,qBAAqB,CAAU,CAAC;AAuGxE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAgB,EAAE,IAAoB;IACrE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,uBAAuB,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE3E,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACrF,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE7D,OAAO;QACL,EAAE,EAAE,gBAAgB,IAAI,cAAc,IAAI,CAAC,UAAU,CAAC,OAAO;QAC7D,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,gBAAgB,EAAE,sBAAsB,CACtC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAC7C,KAAK,EAAE,EAAE,IAAI,KAAK,EAClB,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CACtG;QACD,oBAAoB,EAAE,KAAK,CAAC,QAAQ;QACpC,cAAc;QACd,YAAY;QACZ,KAAK,EAAE,KAAK;YACV,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;YACpF,CAAC,CAAC,SAAS;QACb,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;QACrG,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAA4B,EAC5B,OAAgB,EAChB,eAAe,GAAG,IAAI;IAEtB,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;IAC/E,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,kFAAkF;AAElF,4FAA4F;AAC5F,KAAK,UAAU,iBAAiB,CAC9B,IAAgB,EAChB,IAAoB,EACpB,cAAiC;IAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7C,OAAO,IAAI,CAAC,kBAAkB;QAC5B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC;QAChF,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAChC,IAAgB,EAChB,IAAoB,EACpB,cAAiC,EACjC,QAA4B;IAE5B,IAAI,CAAC,IAAI,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB;QACrC,CAAC,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;QACvE,CAAC,CAAC,KAAK,CAAC;IACV,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACjG,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACjG,CAAC;AAED,iGAAiG;AACjG,KAAK,UAAU,iBAAiB,CAC9B,IAAgB,EAChB,IAAoB,EACpB,cAAiC;IAEjC,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,IAAI,CAAC,mBAAmB;YAChC,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC;YACzF,CAAC,CAAC,KAAK;KACV,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAAC,IAAoB;IAChD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACpG,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;IAC1D,CAAC;AACH,CAAC;AAUD,+FAA+F;AAC/F,KAAK,UAAU,mBAAmB,CAChC,IAAgB,EAChB,OAA+C;IAE/C,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAA4B,EAAE,OAAgB;IACxE,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;AAChF,CAAC"}
@@ -35,5 +35,11 @@ export declare class BitstringManager {
35
35
  private bytesToBase64;
36
36
  static fromSetBits(size: number, setBits: number[], compressor: CompressionFunction, decompressor: DecompressionFunction): BitstringManager;
37
37
  }
38
+ /**
39
+ * Read one status bit straight off an `encodedList` (decode + bounded inflate +
40
+ * MSB-first read via `utils/statuslist-bits`). Fail-CLOSED: an out-of-range or
41
+ * NaN index cannot be proven clear, so `readStatusBit` throws rather than
42
+ * reading as "not set".
43
+ */
38
44
  export declare function isIndexSet(encodedList: string, index: number, decompressor: DecompressionFunction): Promise<boolean>;
39
45
  //# sourceMappingURL=bitstring.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitstring.d.ts","sourceRoot":"","sources":["../../src/delegation/bitstring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACnD;AAaD,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAS;gBAGnB,IAAI,EAAE,MAAM,EACJ,UAAU,EAAE,mBAAmB,EAIvC,aAAa,EAAE,qBAAqB;IAOtC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAiB3C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAa9B,UAAU,IAAI,MAAM,EAAE;IAUhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;WAKlB,MAAM,CACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,mBAAmB,EAC/B,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,gBAAgB,CAAC;IAS5B,UAAU,IAAI,UAAU;IAIxB,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,aAAa;IAOrB,MAAM,CAAC,WAAW,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,mBAAmB,EAC/B,YAAY,EAAE,qBAAqB,GAClC,gBAAgB;CAOpB;AAmCD,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,OAAO,CAAC,CAelB"}
1
+ {"version":3,"file":"bitstring.d.ts","sourceRoot":"","sources":["../../src/delegation/bitstring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACnD;AAED,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAS;gBAGnB,IAAI,EAAE,MAAM,EACJ,UAAU,EAAE,mBAAmB,EAIvC,aAAa,EAAE,qBAAqB;IAOtC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAiB3C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAa9B,UAAU,IAAI,MAAM,EAAE;IAUhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;WAKlB,MAAM,CACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,mBAAmB,EAC/B,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,gBAAgB,CAAC;IAW5B,UAAU,IAAI,UAAU;IAIxB,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,aAAa;IAOrB,MAAM,CAAC,WAAW,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,mBAAmB,EAC/B,YAAY,EAAE,qBAAqB,GAClC,gBAAgB;CAOpB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,OAAO,CAAC,CAKlB"}
@@ -13,15 +13,7 @@
13
13
  *
14
14
  * Related Spec: W3C Bitstring Status List v1.0 (successor to StatusList2021)
15
15
  */
16
- /** Fixed ceiling on an inflated status bitstring (16 MiB ≈ 134M entries) — fail-closed against a
17
- * decompression bomb. Mirrors the cap in the card revocation reader (src/card/revocation.ts). */
18
- const MAX_STATUS_LIST_BYTES = 16 * 1024 * 1024;
19
- /** The W3C Bitstring Status List `encodedList` multibase prefix (base64url, no padding). `encode`
20
- * emits it and `base64urlDecode` strips it, so this reader is interoperable with the card
21
- * revocation reader (src/card/revocation.ts) and any conformant issuer. A gzip stream's fixed
22
- * magic byte (0x1f) makes its base64url start with `H`, never `u`, so a leading `u` is
23
- * unambiguously the multibase code rather than payload. */
24
- const MULTIBASE_BASE64URL = 'u';
16
+ import { MULTIBASE_BASE64URL, decodeStatusListPayload, readStatusBit, } from '../utils/statuslist-bits.js';
25
17
  export class BitstringManager {
26
18
  compressor;
27
19
  bits;
@@ -75,7 +67,7 @@ export class BitstringManager {
75
67
  return MULTIBASE_BASE64URL + this.base64urlEncode(compressed);
76
68
  }
77
69
  static async decode(encodedList, compressor, decompressor) {
78
- const decompressed = await inflateStatusList(encodedList, decompressor);
70
+ const decompressed = await decodeStatusListPayload(encodedList, (bytes) => decompressor.decompress(bytes));
79
71
  const size = decompressed.length * 8;
80
72
  const manager = new BitstringManager(size, compressor, decompressor);
81
73
  manager.bits = decompressed;
@@ -106,45 +98,13 @@ export class BitstringManager {
106
98
  }
107
99
  }
108
100
  /**
109
- * Decode a base64url `encodedList`, stripping an optional leading W3C multibase `u` prefix so this
110
- * module's own `encode` output and a conformant issuer's `encodedList` decode identically (matches
111
- * src/card/revocation.ts). Standalone so both {@link BitstringManager.decode} and {@link isIndexSet}
112
- * share ONE reader (no private-visibility casts).
101
+ * Read one status bit straight off an `encodedList` (decode + bounded inflate +
102
+ * MSB-first read via `utils/statuslist-bits`). Fail-CLOSED: an out-of-range or
103
+ * NaN index cannot be proven clear, so `readStatusBit` throws rather than
104
+ * reading as "not set".
113
105
  */
114
- function decodeBase64urlMultibase(encoded) {
115
- const payload = encoded[0] === MULTIBASE_BASE64URL ? encoded.slice(1) : encoded;
116
- let standard = payload.replace(/-/g, '+').replace(/_/g, '/');
117
- standard += '='.repeat((4 - (standard.length % 4)) % 4);
118
- const binary = atob(standard);
119
- const bytes = new Uint8Array(binary.length);
120
- for (let i = 0; i < binary.length; i++)
121
- bytes[i] = binary.charCodeAt(i);
122
- return bytes;
123
- }
124
- /**
125
- * Decode + decompress a status-list `encodedList`, FAIL-CLOSED against a decompression bomb via a
126
- * post-inflation size cap. The single reader path shared by {@link BitstringManager.decode} and
127
- * {@link isIndexSet}, so both bound inflation identically. (Production decompressors SHOULD also
128
- * bound output DURING inflation.)
129
- */
130
- async function inflateStatusList(encodedList, decompressor) {
131
- const decompressed = await decompressor.decompress(decodeBase64urlMultibase(encodedList));
132
- if (decompressed.length > MAX_STATUS_LIST_BYTES) {
133
- throw new Error(`Status list too large: ${decompressed.length} bytes exceeds ${MAX_STATUS_LIST_BYTES}`);
134
- }
135
- return decompressed;
136
- }
137
106
  export async function isIndexSet(encodedList, index, decompressor) {
138
- const decompressed = await inflateStatusList(encodedList, decompressor);
139
- const byteIndex = Math.floor(index / 8);
140
- const bitIndex = index % 8;
141
- if (!Number.isInteger(index) || index < 0 || byteIndex >= decompressed.length) {
142
- // Fail-CLOSED: an out-of-range/NaN index cannot be proven clear, so it must NOT read as "not
143
- // set". `!Number.isInteger` is required because `byteIndex >= length` is FALSE for a NaN index
144
- // (any comparison with NaN is false), which would otherwise slip past and read bits[NaN] =
145
- // undefined = live (the fail-open getBit already rejects, but this standalone reader did not).
146
- throw new Error(`Bit index ${index} out of range for the status list`);
147
- }
148
- return (decompressed[byteIndex] & (0x80 >> bitIndex)) !== 0; // MSB-first (W3C)
107
+ const decompressed = await decodeStatusListPayload(encodedList, (bytes) => decompressor.decompress(bytes));
108
+ return readStatusBit(decompressed, index);
149
109
  }
150
110
  //# sourceMappingURL=bitstring.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitstring.js","sourceRoot":"","sources":["../../src/delegation/bitstring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitstring.js","sourceRoot":"","sources":["../../src/delegation/bitstring.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@
14
14
  * @see https://w3c-ccg.github.io/did-method-key/
15
15
  */
16
16
  import type { DIDResolver, DIDDocument } from './vc-verifier.js';
17
+ /** Ed25519 multicodec prefix (0xed 0x01) */
18
+ export declare const ED25519_MULTICODEC_PREFIX: Uint8Array<ArrayBuffer>;
19
+ /** Ed25519 public key length */
20
+ export declare const ED25519_PUBLIC_KEY_LENGTH = 32;
17
21
  /**
18
22
  * Check if a DID is a valid did:key with Ed25519 key
19
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"did-key-resolver.d.ts","sourceRoot":"","sources":["../../src/delegation/did-key-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AASrF;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA8BzE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,UAAU,GAAG;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;CACX,CAMA;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,CAwClD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA6BjE"}
1
+ {"version":3,"file":"did-key-resolver.d.ts","sourceRoot":"","sources":["../../src/delegation/did-key-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAGrF,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,yBAA+B,CAAC;AAEtE,gCAAgC;AAChC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA8BzE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,UAAU,GAAG;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;CACX,CAMA;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,CAwClD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA6BjE"}
@@ -18,9 +18,9 @@ import { didKeyFragment } from '../utils/did-helpers.js';
18
18
  import { base64urlEncodeFromBytes } from '../utils/base64.js';
19
19
  import { logger } from '../logging/index.js';
20
20
  /** Ed25519 multicodec prefix (0xed 0x01) */
21
- const ED25519_MULTICODEC_PREFIX = new Uint8Array([0xed, 0x01]);
21
+ export const ED25519_MULTICODEC_PREFIX = new Uint8Array([0xed, 0x01]);
22
22
  /** Ed25519 public key length */
23
- const ED25519_PUBLIC_KEY_LENGTH = 32;
23
+ export const ED25519_PUBLIC_KEY_LENGTH = 32;
24
24
  /**
25
25
  * Check if a DID is a valid did:key with Ed25519 key
26
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"did-key-resolver.js","sourceRoot":"","sources":["../../src/delegation/did-key-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"did-key-resolver.js","sourceRoot":"","sources":["../../src/delegation/did-key-resolver.ts"],"names":[],"mappings":"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"}