@cedulon/checkpoint 0.2.0 → 0.3.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.
@@ -14,7 +14,12 @@ export type CheckpointClaims = {
14
14
  endMs: number;
15
15
  receiptCount: number;
16
16
  chainHeadHash: string | null;
17
- totals: Record<string, string>;
17
+ /**
18
+ * Per-currency settled totals for the window. `null` means the issuer published
19
+ * the checkpoint with its totals withheld. The distinction is inside the signature:
20
+ * an empty object is an honest zero, `null` is a redaction the issuer signed for.
21
+ */
22
+ totals: Record<string, string> | null;
18
23
  prevCheckpointHash: string | null;
19
24
  };
20
25
  export type SignedCheckpoint = {
@@ -29,16 +34,31 @@ export declare function buildCheckpointClaims(epoch: number, receipts: SignedRec
29
34
  export declare function checkpointToCbor(claims: CheckpointClaims): Uint8Array;
30
35
  export declare function checkpointFromCbor(bytes: Uint8Array): CheckpointClaims;
31
36
  export declare function signCheckpoint(claims: CheckpointClaims, privateKeyPem: string, publicKeyPem: string): SignedCheckpoint;
32
- export declare function verifyCheckpoint(signed: SignedCheckpoint): boolean;
37
+ /**
38
+ * Publish a checkpoint with its totals withheld. The redaction is part of what
39
+ * gets signed, so it cannot be asserted — or undone — after the fact.
40
+ */
41
+ export declare function redactCheckpointTotals(claims: CheckpointClaims): CheckpointClaims;
42
+ /**
43
+ * `expectedIssuerKeyPem` is the key the verifier holds out of band. Without it
44
+ * the checkpoint is checked against the key it carries, which proves internal
45
+ * consistency and nothing about who published the epoch.
46
+ */
47
+ export declare function verifyCheckpoint(signed: SignedCheckpoint, expectedIssuerKeyPem?: string): boolean;
33
48
  export declare function checkpointHash(signed: SignedCheckpoint): string;
34
49
  export type ChainBreak = {
35
50
  index: number;
36
51
  reason: string;
37
52
  };
38
- export declare function findCheckpointChainBreak(chain: SignedCheckpoint[]): ChainBreak | null;
53
+ export declare function findCheckpointChainBreak(chain: SignedCheckpoint[], expectedIssuerKeyPem?: string): ChainBreak | null;
39
54
  export type Equivocation = {
40
55
  epoch: number;
41
56
  hashes: string[];
42
57
  };
43
- export declare function findEquivocation(checkpoints: SignedCheckpoint[]): Equivocation | null;
58
+ /**
59
+ * `expectedIssuerKeyPem` names whose epochs these are. Two issuers signing one
60
+ * epoch number is not one issuer equivocating, and without the key this cannot
61
+ * tell those apart.
62
+ */
63
+ export declare function findEquivocation(checkpoints: SignedCheckpoint[], expectedIssuerKeyPem?: string): Equivocation | null;
44
64
  //# sourceMappingURL=checkpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAeA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpE,eAAO,MAAM,gBAAgB;;;;;;;;CAQnB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcpF;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,gBAAgB,CAUlB;AAkBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAYrE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAwBtE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,gBAAgB,CAQlB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAYlE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAE/D;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,UAAU,GAAG,IAAI,CAWrF;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE/D,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,YAAY,GAAG,IAAI,CAiBrF"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpE,eAAO,MAAM,gBAAgB;;;;;;;;CAQnB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACtC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcpF;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,gBAAgB,CAUlB;AAkBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAYrE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAwBtE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,gBAAgB,CAQlB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAejG;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAE/D;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,EAAE,EACzB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,UAAU,GAAG,IAAI,CAWnB;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,YAAY,GAAG,IAAI,CAiBrB"}
@@ -1,6 +1,6 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { canonical } from "@cedulon/core";
3
- import { CTY_CHECKPOINT, asMap, cborMap, decodeCbor, decodeCoseSign1, encodeCbor, mapGet, signCoseSign1, verifyCoseSign1, } from "@cedulon/cose";
3
+ import { CTY_CHECKPOINT, asMap, cborMap, decodeCbor, decodeCoseSign1, encodeCbor, mapGet, sameSpkiKey, signCoseSign1, verifyCoseSign1, } from "@cedulon/cose";
4
4
  import { receiptHash } from "@cedulon/receipts";
5
5
  export const CHECKPOINT_CLAIM = {
6
6
  epoch: -70101,
@@ -61,7 +61,7 @@ export function checkpointToCbor(claims) {
61
61
  [CHECKPOINT_CLAIM.endMs, claims.endMs],
62
62
  [CHECKPOINT_CLAIM.receiptCount, claims.receiptCount],
63
63
  [CHECKPOINT_CLAIM.chainHeadHash, claims.chainHeadHash],
64
- [CHECKPOINT_CLAIM.totals, totalsToCbor(claims.totals)],
64
+ [CHECKPOINT_CLAIM.totals, claims.totals === null ? null : totalsToCbor(claims.totals)],
65
65
  [CHECKPOINT_CLAIM.prevCheckpointHash, claims.prevCheckpointHash],
66
66
  ]));
67
67
  }
@@ -90,7 +90,7 @@ export function checkpointFromCbor(bytes) {
90
90
  endMs: num(CHECKPOINT_CLAIM.endMs),
91
91
  receiptCount: num(CHECKPOINT_CLAIM.receiptCount),
92
92
  chainHeadHash: textOrNull(CHECKPOINT_CLAIM.chainHeadHash),
93
- totals: totalsFromCbor(totalsVal),
93
+ totals: totalsVal === null ? null : totalsFromCbor(totalsVal),
94
94
  prevCheckpointHash: textOrNull(CHECKPOINT_CLAIM.prevCheckpointHash),
95
95
  };
96
96
  }
@@ -103,7 +103,22 @@ export function signCheckpoint(claims, privateKeyPem, publicKeyPem) {
103
103
  coseHex: Buffer.from(cose).toString("hex"),
104
104
  };
105
105
  }
106
- export function verifyCheckpoint(signed) {
106
+ /**
107
+ * Publish a checkpoint with its totals withheld. The redaction is part of what
108
+ * gets signed, so it cannot be asserted — or undone — after the fact.
109
+ */
110
+ export function redactCheckpointTotals(claims) {
111
+ return { ...claims, totals: null };
112
+ }
113
+ /**
114
+ * `expectedIssuerKeyPem` is the key the verifier holds out of band. Without it
115
+ * the checkpoint is checked against the key it carries, which proves internal
116
+ * consistency and nothing about who published the epoch.
117
+ */
118
+ export function verifyCheckpoint(signed, expectedIssuerKeyPem) {
119
+ if (expectedIssuerKeyPem !== undefined && !sameSpkiKey(signed.publicKeyPem, expectedIssuerKeyPem)) {
120
+ return false;
121
+ }
107
122
  const bytes = Buffer.from(signed.coseHex, "hex");
108
123
  if (!verifyCoseSign1(bytes, signed.publicKeyPem, CTY_CHECKPOINT)) {
109
124
  return false;
@@ -120,9 +135,9 @@ export function verifyCheckpoint(signed) {
120
135
  export function checkpointHash(signed) {
121
136
  return sha256Hex(Buffer.from(signed.coseHex, "hex"));
122
137
  }
123
- export function findCheckpointChainBreak(chain) {
138
+ export function findCheckpointChainBreak(chain, expectedIssuerKeyPem) {
124
139
  for (let i = 0; i < chain.length; i += 1) {
125
- if (!verifyCheckpoint(chain[i])) {
140
+ if (!verifyCheckpoint(chain[i], expectedIssuerKeyPem)) {
126
141
  return { index: i, reason: "bad-signature" };
127
142
  }
128
143
  const expectedPrev = i === 0 ? null : checkpointHash(chain[i - 1]);
@@ -132,10 +147,15 @@ export function findCheckpointChainBreak(chain) {
132
147
  }
133
148
  return null;
134
149
  }
135
- export function findEquivocation(checkpoints) {
150
+ /**
151
+ * `expectedIssuerKeyPem` names whose epochs these are. Two issuers signing one
152
+ * epoch number is not one issuer equivocating, and without the key this cannot
153
+ * tell those apart.
154
+ */
155
+ export function findEquivocation(checkpoints, expectedIssuerKeyPem) {
136
156
  const byEpoch = new Map();
137
157
  for (const cp of checkpoints) {
138
- if (!verifyCheckpoint(cp)) {
158
+ if (!verifyCheckpoint(cp, expectedIssuerKeyPem)) {
139
159
  continue;
140
160
  }
141
161
  const h = checkpointHash(cp);
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { CHECKPOINT_CLAIM, buildCheckpointClaims, checkpointFromCbor, checkpointHash, checkpointToCbor, findCheckpointChainBreak, findEquivocation, signCheckpoint, totalsFromReceipts, verifyCheckpoint, type ChainBreak, type CheckpointClaims, type Equivocation, type SignedCheckpoint, } from "./checkpoint.ts";
2
- export { MemoryTransparencyService, anchorCheckpoint, anchorReceipt, decodeInclusionPayload, statementHashOfCheckpoint, statementHashOfReceipt, type InclusionReceipt, } from "./transparency.ts";
1
+ export { CHECKPOINT_CLAIM, buildCheckpointClaims, checkpointFromCbor, checkpointHash, checkpointToCbor, findCheckpointChainBreak, findEquivocation, redactCheckpointTotals, signCheckpoint, totalsFromReceipts, verifyCheckpoint, type ChainBreak, type CheckpointClaims, type Equivocation, type SignedCheckpoint, } from "./checkpoint.ts";
2
+ export { MemoryTransparencyService, anchorCheckpoint, anchorReceipt, decodeInclusionPayload, statementHashOfCheckpoint, statementHashOfReceipt, verifyInclusionReceipt, type InclusionReceipt, } from "./transparency.ts";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { CHECKPOINT_CLAIM, buildCheckpointClaims, checkpointFromCbor, checkpointHash, checkpointToCbor, findCheckpointChainBreak, findEquivocation, signCheckpoint, totalsFromReceipts, verifyCheckpoint, } from "./checkpoint.js";
2
- export { MemoryTransparencyService, anchorCheckpoint, anchorReceipt, decodeInclusionPayload, statementHashOfCheckpoint, statementHashOfReceipt, } from "./transparency.js";
1
+ export { CHECKPOINT_CLAIM, buildCheckpointClaims, checkpointFromCbor, checkpointHash, checkpointToCbor, findCheckpointChainBreak, findEquivocation, redactCheckpointTotals, signCheckpoint, totalsFromReceipts, verifyCheckpoint, } from "./checkpoint.js";
2
+ export { MemoryTransparencyService, anchorCheckpoint, anchorReceipt, decodeInclusionPayload, statementHashOfCheckpoint, statementHashOfReceipt, verifyInclusionReceipt, } from "./transparency.js";
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GAKjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,GAEvB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GAKjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,GAEvB,MAAM,mBAAmB,CAAC"}
@@ -6,6 +6,8 @@ export type InclusionReceipt = {
6
6
  treeHead: string;
7
7
  issuerPublicKeyPem: string;
8
8
  coseHex: string;
9
+ /** Statement body when the caller still holds it. Not part of the inclusion COSE. */
10
+ checkpoint?: SignedCheckpoint;
9
11
  };
10
12
  /** In-process append-only log. No network. SCITT/RFC 9943 spirit, not SCRAPI. */
11
13
  export declare class MemoryTransparencyService {
@@ -18,10 +20,21 @@ export declare class MemoryTransparencyService {
18
20
  privateKeyPem: string;
19
21
  });
20
22
  register(statementHex: string): InclusionReceipt;
23
+ /** The log answering about its own receipt: checked against this log's key. */
21
24
  verifyInclusion(receipt: InclusionReceipt): boolean;
22
25
  size(): number;
23
26
  }
24
27
  export declare function anchorReceipt(ts: MemoryTransparencyService, signed: SignedReceipt): InclusionReceipt;
28
+ /**
29
+ * `expectedWitnessKeyPem` is the log's key, held out of band. Without it this
30
+ * checks the receipt against the key it carries, so anyone able to mint a
31
+ * keypair can assert that a statement is in a log they invented.
32
+ *
33
+ * The signed payload carries `index` and `treeHead` as well; comparing only
34
+ * `statementHash` would let the envelope claim a position in the log that its
35
+ * own signature does not support.
36
+ */
37
+ export declare function verifyInclusionReceipt(receipt: InclusionReceipt, expectedWitnessKeyPem?: string): boolean;
25
38
  export declare function anchorCheckpoint(ts: MemoryTransparencyService, signed: SignedCheckpoint): InclusionReceipt;
26
39
  export declare function statementHashOfReceipt(signed: SignedReceipt): string;
27
40
  export declare function statementHashOfCheckpoint(signed: SignedCheckpoint): string;
@@ -1 +1 @@
1
- {"version":3,"file":"transparency.d.ts","sourceRoot":"","sources":["../src/transparency.ts"],"names":[],"mappings":"AAYA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,iFAAiF;AACjF,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAkB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAKjE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB;IAwBhD,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAOnD,IAAI,IAAI,MAAM;CAGf;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,yBAAyB,EAAE,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAKpG;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,yBAAyB,EAC7B,MAAM,EAAE,gBAAgB,GACvB,gBAAgB,CAElB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEpE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAUA"}
1
+ {"version":3,"file":"transparency.d.ts","sourceRoot":"","sources":["../src/transparency.ts"],"names":[],"mappings":"AAaA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,iFAAiF;AACjF,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAkB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAKjE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB;IAwBhD,+EAA+E;IAC/E,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAOnD,IAAI,IAAI,MAAM;CAGf;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,yBAAyB,EAAE,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAKpG;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAoBT;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,yBAAyB,EAC7B,MAAM,EAAE,gBAAgB,GACvB,gBAAgB,CAElB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEpE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAUA"}
@@ -1,5 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
- import { CTY_INCLUSION, asMap, cborMap, decodeCbor, decodeCoseSign1, encodeCbor, mapGet, signCoseSign1, verifyCoseSign1, } from "@cedulon/cose";
2
+ import { CTY_INCLUSION, asMap, cborMap, decodeCbor, decodeCoseSign1, encodeCbor, mapGet, sameSpkiKey, signCoseSign1, verifyCoseSign1, } from "@cedulon/cose";
3
3
  import { receiptHash } from "@cedulon/receipts";
4
4
  import { checkpointHash } from "./checkpoint.js";
5
5
  /** In-process append-only log. No network. SCITT/RFC 9943 spirit, not SCRAPI. */
@@ -33,11 +33,12 @@ export class MemoryTransparencyService {
33
33
  coseHex: Buffer.from(cose).toString("hex"),
34
34
  };
35
35
  }
36
+ /** The log answering about its own receipt: checked against this log's key. */
36
37
  verifyInclusion(receipt) {
37
38
  if (this.leaves[receipt.index] !== receipt.statementHash) {
38
39
  return false;
39
40
  }
40
- return verifyCoseSign1(Buffer.from(receipt.coseHex, "hex"), receipt.issuerPublicKeyPem, CTY_INCLUSION);
41
+ return verifyInclusionReceipt(receipt, this.publicKeyPem);
41
42
  }
42
43
  size() {
43
44
  return this.leaves.length;
@@ -49,8 +50,35 @@ export function anchorReceipt(ts, signed) {
49
50
  }
50
51
  return ts.register(signed.coseHex);
51
52
  }
53
+ /**
54
+ * `expectedWitnessKeyPem` is the log's key, held out of band. Without it this
55
+ * checks the receipt against the key it carries, so anyone able to mint a
56
+ * keypair can assert that a statement is in a log they invented.
57
+ *
58
+ * The signed payload carries `index` and `treeHead` as well; comparing only
59
+ * `statementHash` would let the envelope claim a position in the log that its
60
+ * own signature does not support.
61
+ */
62
+ export function verifyInclusionReceipt(receipt, expectedWitnessKeyPem) {
63
+ if (expectedWitnessKeyPem !== undefined &&
64
+ !sameSpkiKey(receipt.issuerPublicKeyPem, expectedWitnessKeyPem)) {
65
+ return false;
66
+ }
67
+ if (!verifyCoseSign1(Buffer.from(receipt.coseHex, "hex"), receipt.issuerPublicKeyPem, CTY_INCLUSION)) {
68
+ return false;
69
+ }
70
+ try {
71
+ const signed = decodeInclusionPayload(receipt.coseHex);
72
+ return (signed.statementHash === receipt.statementHash &&
73
+ signed.index === receipt.index &&
74
+ signed.treeHead === receipt.treeHead);
75
+ }
76
+ catch {
77
+ return false;
78
+ }
79
+ }
52
80
  export function anchorCheckpoint(ts, signed) {
53
- return ts.register(signed.coseHex);
81
+ return { ...ts.register(signed.coseHex), checkpoint: signed };
54
82
  }
55
83
  export function statementHashOfReceipt(signed) {
56
84
  return receiptHash(signed);
@@ -1 +1 @@
1
- {"version":3,"file":"transparency.js","sourceRoot":"","sources":["../src/transparency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transparency.js","sourceRoot":"","sources":["../src/transparency.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,47 +1,47 @@
1
- {
2
- "name": "@cedulon/checkpoint",
3
- "version": "0.2.0",
4
- "description": "Epoch checkpoints and an in-process transparency log for Cedulon.",
5
- "license": "Apache-2.0",
6
- "type": "module",
7
- "engines": {
8
- "node": ">=20"
9
- },
10
- "repository": {
11
- "type": "git",
12
- "url": "git+https://github.com/dogrucanemek-alt/cedulon.git",
13
- "directory": "packages/checkpoint"
14
- },
15
- "homepage": "https://github.com/dogrucanemek-alt/cedulon/tree/master/packages/checkpoint",
16
- "bugs": {
17
- "url": "https://github.com/dogrucanemek-alt/cedulon/issues"
18
- },
19
- "keywords": [
20
- "cedulon",
21
- "checkpoint"
22
- ],
23
- "scripts": {
24
- "build": "tsc -p tsconfig.build.json"
25
- },
26
- "main": "./dist/index.js",
27
- "types": "./dist/index.d.ts",
28
- "exports": {
29
- ".": {
30
- "types": "./dist/index.d.ts",
31
- "import": "./dist/index.js"
32
- }
33
- },
34
- "files": [
35
- "dist",
36
- "README.md",
37
- "LICENSE"
38
- ],
39
- "publishConfig": {
40
- "access": "public"
41
- },
42
- "dependencies": {
43
- "@cedulon/core": "^0.2.0",
44
- "@cedulon/cose": "^0.2.0",
45
- "@cedulon/receipts": "^0.2.0"
46
- }
47
- }
1
+ {
2
+ "name": "@cedulon/checkpoint",
3
+ "version": "0.3.0",
4
+ "description": "Epoch checkpoints and an in-process transparency log for Cedulon.",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "engines": {
8
+ "node": ">=20"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/dogrucanemek-alt/cedulon.git",
13
+ "directory": "packages/checkpoint"
14
+ },
15
+ "homepage": "https://github.com/dogrucanemek-alt/cedulon/tree/master/packages/checkpoint",
16
+ "bugs": {
17
+ "url": "https://github.com/dogrucanemek-alt/cedulon/issues"
18
+ },
19
+ "keywords": [
20
+ "cedulon",
21
+ "checkpoint"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc -p tsconfig.build.json"
25
+ },
26
+ "main": "./dist/index.js",
27
+ "types": "./dist/index.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.js"
32
+ }
33
+ },
34
+ "files": [
35
+ "dist",
36
+ "README.md",
37
+ "LICENSE"
38
+ ],
39
+ "publishConfig": {
40
+ "access": "public"
41
+ },
42
+ "dependencies": {
43
+ "@cedulon/core": "^0.3.0",
44
+ "@cedulon/cose": "^0.3.0",
45
+ "@cedulon/receipts": "^0.3.0"
46
+ }
47
+ }