@e-sig/uaid-exch 0.1.0-preview.0 → 0.1.0-preview.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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 VMVTech, Ltd.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -82,6 +82,46 @@ Per [UAP-EXCH-1 § 4](https://github.com/uuaid/spec/blob/main/docs/profiles/UAP-
82
82
 
83
83
  Counterparties enforce a minimum level; this SDK renders it into the Signing Credential and Exchange so verification is one JSON check.
84
84
 
85
+ ## Revocation
86
+
87
+ Status-list style revocation for Signing Credentials (UAP-EXCH-1 § 9, draft). An issuer publishes an append-only `RevocationList` — `{ id, issuer, issued, revoked: [{ credentialId, revokedAt, reason? }], digest }` — whose `digest` is `sha256:<hex>` over the JCS (RFC 8785) canonicalization of the list body. Any mutation (removing an entry, backdating, issuer swap) fails integrity verification, and verifiers **fail closed**: a list that doesn't verify blocks the credential rather than silently allowing it.
88
+
89
+ ```ts
90
+ import {
91
+ createRevocationList,
92
+ revokeCredential,
93
+ isRevoked,
94
+ verifyRevocationListIntegrity,
95
+ assertCredentialUsable,
96
+ CredentialRevokedError,
97
+ CredentialExpiredError,
98
+ } from "@e-sig/uaid-exch";
99
+
100
+ // Issuer side: cut a list, revoke a credential. Every call returns a NEW,
101
+ // re-digested list — the input is never mutated, and double-revoking the
102
+ // same id is idempotent.
103
+ let list = await createRevocationList({ issuer: certifierUuaid });
104
+ list = await revokeCredential(list, signingCredentialId, "key compromise");
105
+
106
+ // Verifier side: gate every use of a Signing Credential.
107
+ await isRevoked(list, signingCredentialId); // → true; THROWS
108
+ // RevocationListIntegrityError on a tampered list (fail-closed — a lookup
109
+ // against an unverified list could be silently un-revoked by an attacker)
110
+ await verifyRevocationListIntegrity(list); // → true (false on ANY tamper)
111
+
112
+ try {
113
+ await assertCredentialUsable(signingCredential, list); // checks validFrom,
114
+ // validUntil (malformed dates fail closed), AND the revocation list —
115
+ // throws typed errors: CredentialExpiredError | CredentialNotYetValidError |
116
+ // CredentialMalformedValidityError | CredentialRevokedError |
117
+ // RevocationListIntegrityError
118
+ } catch (e) {
119
+ if (e instanceof CredentialRevokedError) console.error(e.entry.reason);
120
+ }
121
+ ```
122
+
123
+ **Note:** this module has no exchange-verification path to hook into (verification is network-side per § 8), so `assertCredentialUsable()` is exported standalone — call it before acting on a credential, i.e. before `createExchange()` / `UaidNetworkClient.submit()`.
124
+
85
125
  ## Strictly opt-in
86
126
 
87
127
  Absent `UUAID_API_KEY`, the package is a pure library — no network calls. `UaidNetworkClient.submit()` throws early rather than dropping data into a silent no-op. Reads (`get`, `getReceipt`) are unauthenticated per the spec.
package/dist/index.d.ts CHANGED
@@ -7,8 +7,10 @@
7
7
  *
8
8
  * See docs/profiles/UAP-EXCH-1/v0.1.md in the uuaid repo for the normative
9
9
  * profile. This module implements the § 5 (Signing Credential), § 6 (Exchange),
10
- * and § 7 (Receipt) shapes plus the § 8 submission API.
10
+ * and § 7 (Receipt) shapes plus the § 8 submission API. § 9 (Revocation,
11
+ * draft) lives in ./revocation.ts and is re-exported below.
11
12
  */
13
+ export * from "./revocation.js";
12
14
  export type AssuranceLevel = "L0" | "L1" | "L2" | "L3" | "L4" | "L5";
13
15
  export interface UaidSigningCredential {
14
16
  "@context": string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,9 +7,19 @@
7
7
  *
8
8
  * See docs/profiles/UAP-EXCH-1/v0.1.md in the uuaid repo for the normative
9
9
  * profile. This module implements the § 5 (Signing Credential), § 6 (Exchange),
10
- * and § 7 (Receipt) shapes plus the § 8 submission API.
10
+ * and § 7 (Receipt) shapes plus the § 8 submission API. § 9 (Revocation,
11
+ * draft) lives in ./revocation.ts and is re-exported below.
11
12
  */
12
13
  // ============================================================================
14
+ // Revocation (§ 9, draft) — status-list style credential revocation
15
+ // ============================================================================
16
+ //
17
+ // There is no verify entry point in this module to wire into, so the
18
+ // usability gate is exported standalone: call assertCredentialUsable()
19
+ // before acting on a Signing Credential (e.g. before createExchange /
20
+ // UaidNetworkClient.submit).
21
+ export * from "./revocation.js";
22
+ // ============================================================================
13
23
  // Exchange creation
14
24
  // ============================================================================
15
25
  const CONTEXT = [
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @e-sig/uaid-exch — UAP-EXCH-1 § 9 (Revocation, draft) — status-list style
3
+ * credential revocation.
4
+ *
5
+ * A RevocationList is an append-only, issuer-published list of revoked
6
+ * Signing Credential ids. Integrity is a sha256 digest over the JCS
7
+ * (RFC 8785) canonicalization of the list body (everything except the
8
+ * `digest` field itself), so any mutation — reordering, backdating, entry
9
+ * removal — is detectable offline. Verifiers MUST fail closed: a list whose
10
+ * digest does not verify is treated as unusable, not as "nothing revoked".
11
+ *
12
+ * Like § 5–§ 8 in ./index.ts this is a preview shape; it will be re-cut to
13
+ * the accepted IAASO ADR-006 schemas when the doctrine lands.
14
+ */
15
+ import { type UaidSigningCredential } from "./index.js";
16
+ export interface RevocationEntry {
17
+ credentialId: string;
18
+ revokedAt: string;
19
+ reason?: string;
20
+ }
21
+ export interface RevocationList {
22
+ id: string;
23
+ issuer: string;
24
+ issued: string;
25
+ revoked: RevocationEntry[];
26
+ digest: string;
27
+ }
28
+ /**
29
+ * The minimal credential surface needed for a usability check. Structural
30
+ * (Pick-style) so any § 5 UaidSigningCredential — or anything with the same
31
+ * id + validity window — is accepted without a hard dependency.
32
+ */
33
+ export type RevocableCredential = Pick<UaidSigningCredential, "id" | "validFrom" | "validUntil">;
34
+ export interface CreateRevocationListInput {
35
+ issuer: string;
36
+ now?: () => Date;
37
+ idFactory?: () => string;
38
+ }
39
+ export type CredentialUsabilityErrorCode = "CREDENTIAL_EXPIRED" | "CREDENTIAL_NOT_YET_VALID" | "CREDENTIAL_REVOKED" | "CREDENTIAL_MALFORMED_VALIDITY" | "REVOCATION_LIST_INTEGRITY";
40
+ export declare class CredentialUsabilityError extends Error {
41
+ readonly code: CredentialUsabilityErrorCode;
42
+ constructor(code: CredentialUsabilityErrorCode, message: string);
43
+ }
44
+ export declare class CredentialExpiredError extends CredentialUsabilityError {
45
+ constructor(credentialId: string, validUntil: string, now: Date);
46
+ }
47
+ export declare class CredentialNotYetValidError extends CredentialUsabilityError {
48
+ constructor(credentialId: string, validFrom: string, now: Date);
49
+ }
50
+ export declare class CredentialRevokedError extends CredentialUsabilityError {
51
+ readonly entry: RevocationEntry;
52
+ constructor(entry: RevocationEntry);
53
+ }
54
+ export declare class CredentialMalformedValidityError extends CredentialUsabilityError {
55
+ constructor(credentialId: string, field: "validFrom" | "validUntil", value: string);
56
+ }
57
+ export declare class RevocationListIntegrityError extends CredentialUsabilityError {
58
+ constructor(listId: string);
59
+ }
60
+ /** Create an empty, digested revocation list for an issuer. */
61
+ export declare function createRevocationList(input: CreateRevocationListInput): Promise<RevocationList>;
62
+ /**
63
+ * Revoke a credential id. Returns a NEW list — the input is never mutated —
64
+ * with the entry appended and the digest recomputed. Revoking an id that is
65
+ * already revoked is idempotent: the input list is returned unchanged (the
66
+ * original entry, including its `revokedAt` and `reason`, is authoritative).
67
+ *
68
+ * Fails closed: refuses to append to a list that does not verify.
69
+ */
70
+ export declare function revokeCredential(list: RevocationList, credentialId: string, reason?: string, opts?: {
71
+ now?: () => Date;
72
+ }): Promise<RevocationList>;
73
+ /**
74
+ * True if `credentialId` appears in the list's revoked entries.
75
+ *
76
+ * Verifies list integrity first and throws {@link RevocationListIntegrityError}
77
+ * on any tampered/malformed list — a lookup against an unverified list would
78
+ * fail open (an attacker who can strip an entry could un-revoke a credential).
79
+ */
80
+ export declare function isRevoked(list: RevocationList, credentialId: string): Promise<boolean>;
81
+ /**
82
+ * Look up the revocation entry for a credential id, if any. Same fail-closed
83
+ * integrity gate as {@link isRevoked}.
84
+ */
85
+ export declare function getRevocationEntry(list: RevocationList, credentialId: string): Promise<RevocationEntry | undefined>;
86
+ /**
87
+ * Recompute the JCS + sha256 digest over the list body and compare against
88
+ * `list.digest`. Fail-closed: any structural anomaly, canonicalization error,
89
+ * or digest mismatch returns false — it never throws.
90
+ */
91
+ export declare function verifyRevocationListIntegrity(list: RevocationList): Promise<boolean>;
92
+ /**
93
+ * Assert a Signing Credential is currently usable: the revocation list
94
+ * verifies, the credential's § 5 validity window (validFrom/validUntil)
95
+ * covers `now`, and the credential id is not revoked.
96
+ *
97
+ * Throws a typed CredentialUsabilityError subclass on the first failure;
98
+ * resolves (void) on the happy path. Standalone by design — ./index.ts has
99
+ * no verify entry point to wire into, so call this before acting on a
100
+ * credential (e.g. before createExchange / UaidNetworkClient.submit).
101
+ */
102
+ export declare function assertCredentialUsable(credential: RevocableCredential, list: RevocationList, now?: Date): Promise<void>;
103
+ //# sourceMappingURL=revocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revocation.d.ts","sourceRoot":"","sources":["../src/revocation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAM1E,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,qBAAqB,EACrB,IAAI,GAAG,WAAW,GAAG,YAAY,CAClC,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;CAC1B;AAMD,MAAM,MAAM,4BAA4B,GACpC,oBAAoB,GACpB,0BAA0B,GAC1B,oBAAoB,GACpB,+BAA+B,GAC/B,2BAA2B,CAAC;AAEhC,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;gBAEhC,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM;CAKhE;AAED,qBAAa,sBAAuB,SAAQ,wBAAwB;gBACtD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;CAOhE;AAED,qBAAa,0BAA2B,SAAQ,wBAAwB;gBAC1D,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;CAO/D;AAED,qBAAa,sBAAuB,SAAQ,wBAAwB;IAClE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;gBAEpB,KAAK,EAAE,eAAe;CASnC;AAED,qBAAa,gCAAiC,SAAQ,wBAAwB;gBAChE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,YAAY,EAAE,KAAK,EAAE,MAAM;CAOnF;AAED,qBAAa,4BAA6B,SAAQ,wBAAwB;gBAC5D,MAAM,EAAE,MAAM;CAO3B;AAMD,+DAA+D;AAC/D,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,cAAc,CAAC,CASzB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,GAC1B,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAWD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAKtC;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAMD;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,cAAc,EACpB,GAAG,CAAC,EAAE,IAAI,GACT,OAAO,CAAC,IAAI,CAAC,CAwBf"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * @e-sig/uaid-exch — UAP-EXCH-1 § 9 (Revocation, draft) — status-list style
3
+ * credential revocation.
4
+ *
5
+ * A RevocationList is an append-only, issuer-published list of revoked
6
+ * Signing Credential ids. Integrity is a sha256 digest over the JCS
7
+ * (RFC 8785) canonicalization of the list body (everything except the
8
+ * `digest` field itself), so any mutation — reordering, backdating, entry
9
+ * removal — is detectable offline. Verifiers MUST fail closed: a list whose
10
+ * digest does not verify is treated as unusable, not as "nothing revoked".
11
+ *
12
+ * Like § 5–§ 8 in ./index.ts this is a preview shape; it will be re-cut to
13
+ * the accepted IAASO ADR-006 schemas when the doctrine lands.
14
+ */
15
+ import { jcsBytes, uuidv7 } from "./index.js";
16
+ export class CredentialUsabilityError extends Error {
17
+ code;
18
+ constructor(code, message) {
19
+ super(message);
20
+ this.name = "CredentialUsabilityError";
21
+ this.code = code;
22
+ }
23
+ }
24
+ export class CredentialExpiredError extends CredentialUsabilityError {
25
+ constructor(credentialId, validUntil, now) {
26
+ super("CREDENTIAL_EXPIRED", `credential ${credentialId} expired at ${validUntil} (now ${now.toISOString()})`);
27
+ this.name = "CredentialExpiredError";
28
+ }
29
+ }
30
+ export class CredentialNotYetValidError extends CredentialUsabilityError {
31
+ constructor(credentialId, validFrom, now) {
32
+ super("CREDENTIAL_NOT_YET_VALID", `credential ${credentialId} is not valid until ${validFrom} (now ${now.toISOString()})`);
33
+ this.name = "CredentialNotYetValidError";
34
+ }
35
+ }
36
+ export class CredentialRevokedError extends CredentialUsabilityError {
37
+ entry;
38
+ constructor(entry) {
39
+ super("CREDENTIAL_REVOKED", `credential ${entry.credentialId} was revoked at ${entry.revokedAt}` +
40
+ (entry.reason ? ` (${entry.reason})` : ""));
41
+ this.name = "CredentialRevokedError";
42
+ this.entry = entry;
43
+ }
44
+ }
45
+ export class CredentialMalformedValidityError extends CredentialUsabilityError {
46
+ constructor(credentialId, field, value) {
47
+ super("CREDENTIAL_MALFORMED_VALIDITY", `credential ${credentialId} has unparseable ${field} ${JSON.stringify(value)}; failing closed`);
48
+ this.name = "CredentialMalformedValidityError";
49
+ }
50
+ }
51
+ export class RevocationListIntegrityError extends CredentialUsabilityError {
52
+ constructor(listId) {
53
+ super("REVOCATION_LIST_INTEGRITY", `revocation list ${listId} failed integrity verification; failing closed`);
54
+ this.name = "RevocationListIntegrityError";
55
+ }
56
+ }
57
+ // ============================================================================
58
+ // List construction + mutation (append-only, always re-digested)
59
+ // ============================================================================
60
+ /** Create an empty, digested revocation list for an issuer. */
61
+ export async function createRevocationList(input) {
62
+ const now = (input.now ?? (() => new Date()))();
63
+ const body = {
64
+ id: `uuaid:foundation:revocation-list:${(input.idFactory ?? uuidv7)()}`,
65
+ issuer: input.issuer,
66
+ issued: now.toISOString(),
67
+ revoked: [],
68
+ };
69
+ return { ...body, digest: await computeListDigest(body) };
70
+ }
71
+ /**
72
+ * Revoke a credential id. Returns a NEW list — the input is never mutated —
73
+ * with the entry appended and the digest recomputed. Revoking an id that is
74
+ * already revoked is idempotent: the input list is returned unchanged (the
75
+ * original entry, including its `revokedAt` and `reason`, is authoritative).
76
+ *
77
+ * Fails closed: refuses to append to a list that does not verify.
78
+ */
79
+ export async function revokeCredential(list, credentialId, reason, opts) {
80
+ if (!(await verifyRevocationListIntegrity(list))) {
81
+ throw new RevocationListIntegrityError(list.id);
82
+ }
83
+ // Integrity verified above — the unverified lookup is safe here.
84
+ if (findRevocationEntry(list, credentialId)) {
85
+ return list;
86
+ }
87
+ const now = (opts?.now ?? (() => new Date()))();
88
+ const entry = {
89
+ credentialId,
90
+ revokedAt: now.toISOString(),
91
+ ...(reason !== undefined ? { reason } : {}),
92
+ };
93
+ const body = {
94
+ id: list.id,
95
+ issuer: list.issuer,
96
+ issued: now.toISOString(),
97
+ revoked: [...list.revoked, entry],
98
+ };
99
+ return { ...body, digest: await computeListDigest(body) };
100
+ }
101
+ /** Entry lookup WITHOUT integrity verification — internal use only, after
102
+ * the caller has already verified the list digest. */
103
+ function findRevocationEntry(list, credentialId) {
104
+ return list.revoked.find((e) => e.credentialId === credentialId);
105
+ }
106
+ /**
107
+ * True if `credentialId` appears in the list's revoked entries.
108
+ *
109
+ * Verifies list integrity first and throws {@link RevocationListIntegrityError}
110
+ * on any tampered/malformed list — a lookup against an unverified list would
111
+ * fail open (an attacker who can strip an entry could un-revoke a credential).
112
+ */
113
+ export async function isRevoked(list, credentialId) {
114
+ if (!(await verifyRevocationListIntegrity(list))) {
115
+ throw new RevocationListIntegrityError(list.id);
116
+ }
117
+ return findRevocationEntry(list, credentialId) !== undefined;
118
+ }
119
+ /**
120
+ * Look up the revocation entry for a credential id, if any. Same fail-closed
121
+ * integrity gate as {@link isRevoked}.
122
+ */
123
+ export async function getRevocationEntry(list, credentialId) {
124
+ if (!(await verifyRevocationListIntegrity(list))) {
125
+ throw new RevocationListIntegrityError(list.id);
126
+ }
127
+ return findRevocationEntry(list, credentialId);
128
+ }
129
+ /**
130
+ * Recompute the JCS + sha256 digest over the list body and compare against
131
+ * `list.digest`. Fail-closed: any structural anomaly, canonicalization error,
132
+ * or digest mismatch returns false — it never throws.
133
+ */
134
+ export async function verifyRevocationListIntegrity(list) {
135
+ try {
136
+ if (typeof list !== "object" ||
137
+ list === null ||
138
+ typeof list.id !== "string" ||
139
+ typeof list.issuer !== "string" ||
140
+ typeof list.issued !== "string" ||
141
+ typeof list.digest !== "string" ||
142
+ !Array.isArray(list.revoked)) {
143
+ return false;
144
+ }
145
+ const body = {
146
+ id: list.id,
147
+ issuer: list.issuer,
148
+ issued: list.issued,
149
+ revoked: list.revoked,
150
+ };
151
+ return (await computeListDigest(body)) === list.digest;
152
+ }
153
+ catch {
154
+ return false;
155
+ }
156
+ }
157
+ // ============================================================================
158
+ // Usability gate
159
+ // ============================================================================
160
+ /**
161
+ * Assert a Signing Credential is currently usable: the revocation list
162
+ * verifies, the credential's § 5 validity window (validFrom/validUntil)
163
+ * covers `now`, and the credential id is not revoked.
164
+ *
165
+ * Throws a typed CredentialUsabilityError subclass on the first failure;
166
+ * resolves (void) on the happy path. Standalone by design — ./index.ts has
167
+ * no verify entry point to wire into, so call this before acting on a
168
+ * credential (e.g. before createExchange / UaidNetworkClient.submit).
169
+ */
170
+ export async function assertCredentialUsable(credential, list, now) {
171
+ if (!(await verifyRevocationListIntegrity(list))) {
172
+ throw new RevocationListIntegrityError(list.id);
173
+ }
174
+ const at = now ?? new Date();
175
+ const from = Date.parse(credential.validFrom);
176
+ const until = Date.parse(credential.validUntil);
177
+ if (!Number.isFinite(from)) {
178
+ throw new CredentialMalformedValidityError(credential.id, "validFrom", credential.validFrom);
179
+ }
180
+ if (!Number.isFinite(until)) {
181
+ throw new CredentialMalformedValidityError(credential.id, "validUntil", credential.validUntil);
182
+ }
183
+ if (at.getTime() < from) {
184
+ throw new CredentialNotYetValidError(credential.id, credential.validFrom, at);
185
+ }
186
+ if (at.getTime() > until) {
187
+ throw new CredentialExpiredError(credential.id, credential.validUntil, at);
188
+ }
189
+ // List integrity was verified above — the unverified lookup is safe here.
190
+ const entry = findRevocationEntry(list, credential.id);
191
+ if (entry) {
192
+ throw new CredentialRevokedError(entry);
193
+ }
194
+ }
195
+ // ============================================================================
196
+ // Digest — JCS (RFC 8785) canonical body → sha256:<hex>
197
+ // ============================================================================
198
+ async function computeListDigest(body) {
199
+ return `sha256:${await sha256Hex(jcsBytes(body))}`;
200
+ }
201
+ async function sha256Hex(bytes) {
202
+ const subtle = globalThis.crypto?.subtle;
203
+ if (!subtle) {
204
+ // Node >= 20 and all modern browsers expose WebCrypto; integrity cannot
205
+ // be computed without it, so refuse rather than degrade.
206
+ throw new Error("WebCrypto subtle digest unavailable (requires Node >= 20)");
207
+ }
208
+ const digest = await subtle.digest("SHA-256", bytes);
209
+ return Array.from(new Uint8Array(digest))
210
+ .map((b) => b.toString(16).padStart(2, "0"))
211
+ .join("");
212
+ }
213
+ //# sourceMappingURL=revocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revocation.js","sourceRoot":"","sources":["../src/revocation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e-sig/uaid-exch",
3
- "version": "0.1.0-preview.0",
3
+ "version": "0.1.0-preview.1",
4
4
  "description": "Preview implementation of the IAASO Exchange Profile (ADR-006, under review). Wraps @e-sig/core envelopes as per-transaction signed authorizations on the UUAID Network with subject + issuer proofs and Polygon-anchored batch receipts. Wire format will be finalized when ADR-006 is Accepted.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -53,16 +53,17 @@
53
53
  "@uuaid/sdk": "^0.1.0"
54
54
  },
55
55
  "peerDependencies": {
56
- "@e-sig/core": "^0.5.0"
56
+ "@e-sig/core": "^0.5.0 || ^0.6.0 || ^0.7.0"
57
57
  },
58
58
  "devDependencies": {
59
- "@e-sig/core": "^0.5.0",
59
+ "@e-sig/core": "^0.7.0",
60
60
  "@types/node": "^22.0.0",
61
61
  "typescript": "^5.4.0",
62
- "vitest": "^2.1.9"
62
+ "vitest": "^4.1.10"
63
63
  },
64
64
  "publishConfig": {
65
65
  "registry": "https://registry.npmjs.org",
66
- "access": "public"
66
+ "access": "public",
67
+ "tag": "preview"
67
68
  }
68
69
  }