@cedulon/receipts 0.7.0 → 0.9.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/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- import { AMOUNT_RE } from "@cedulon/core";
1
+ import { AMOUNT_RE, hashClaimRefusal, isValidHashText } from "@cedulon/core";
2
+ import { type Signer } from "@cedulon/cose";
3
+ export { pemSigner, type Signer } from "@cedulon/cose";
2
4
  export type ReceiptOutcome = "settled" | "aborted";
3
5
  /** CWT private-use labels (less than -65536) for Spend Receipt claims. */
4
6
  export declare const RECEIPT_CLAIM: {
@@ -15,11 +17,13 @@ export declare const RECEIPT_CLAIM: {
15
17
  readonly prevReceiptHash: -70011;
16
18
  readonly outcome: -70012;
17
19
  };
18
- /** CWT private-use label for a detached payee countersignature payload. */
20
+ /** CWT private-use labels for a detached payee countersignature payload. */
19
21
  export declare const COUNTERSIGN_CLAIM: {
20
22
  readonly receiptCose: -70401;
23
+ /** SHA-256 of the bytes the payee says were delivered, signed with the receipt. */
24
+ readonly deliveredHash: -70402;
21
25
  };
22
- export { AMOUNT_RE };
26
+ export { AMOUNT_RE, hashClaimRefusal, isValidHashText };
23
27
  export declare const NONCE_MIN_BYTES = 16;
24
28
  export type ReceiptEncoding = "cose" | "json";
25
29
  export type SpendReceiptClaims = {
@@ -56,12 +60,18 @@ export declare function generateReceiptKeys(): {
56
60
  export declare function claimsToCbor(claims: SpendReceiptClaims): Uint8Array;
57
61
  export declare function claimsFromCbor(bytes: Uint8Array): SpendReceiptClaims;
58
62
  export declare function signReceiptJson(claims: SpendReceiptClaims, privateKeyPem: string, publicKeyPem: string): SignedReceipt;
63
+ export declare function signReceiptJson(claims: SpendReceiptClaims, signer: Signer): SignedReceipt;
64
+ /** Why encoding this receipt's claims would refuse, or null when it would not. */
65
+ export declare function receiptEncodeRefusal(signed: SignedReceipt): string | null;
59
66
  export declare function verifyReceiptJson(signed: SignedReceipt, expectedIssuerKeyPem?: string): boolean;
60
67
  export declare function signReceiptCose(claims: SpendReceiptClaims, privateKeyPem: string, publicKeyPem: string): SignedReceipt;
68
+ export declare function signReceiptCose(claims: SpendReceiptClaims, signer: Signer): SignedReceipt;
61
69
  export declare function verifyReceiptCose(signed: SignedReceipt, expectedIssuerKeyPem?: string): boolean;
62
70
  export declare function signReceipt(claims: SpendReceiptClaims, privateKeyPem: string, publicKeyPem: string, encoding?: ReceiptEncoding): SignedReceipt;
71
+ export declare function signReceipt(claims: SpendReceiptClaims, signer: Signer, encoding?: ReceiptEncoding): SignedReceipt;
63
72
  /** Adversary/test helper: signs claims that an issuer MUST reject. */
64
73
  export declare function signReceiptUnchecked(claims: SpendReceiptClaims, privateKeyPem: string, publicKeyPem: string): SignedReceipt;
74
+ export declare function signReceiptUnchecked(claims: SpendReceiptClaims, signer: Signer): SignedReceipt;
65
75
  /**
66
76
  * Verifying against `signed.publicKeyPem` alone proves the receipt is internally
67
77
  * consistent: any key can sign any body, including its own. Pass the issuer key
@@ -70,12 +80,19 @@ export declare function signReceiptUnchecked(claims: SpendReceiptClaims, private
70
80
  * behaviour; an audit that omits it is told so in its report.
71
81
  */
72
82
  export declare function verifyReceipt(signed: SignedReceipt, expectedIssuerKeyPem?: string): boolean;
83
+ /**
84
+ * Whether the signature verifies under this pin, ignoring the carried PEM.
85
+ * Attestation follows this question, not the unsigned `publicKeyPem` field.
86
+ */
87
+ export declare function verifyReceiptUnderPin(signed: SignedReceipt, pinPem: string): boolean;
73
88
  /**
74
89
  * `expectedIssuerKeyPem` is the issuer key the payee holds. Without it this
75
90
  * checks the receipt against the key it travels with, which is not the question
76
91
  * a payee answers by putting their name on it.
77
92
  */
78
- export declare function counterSign(signed: SignedReceipt, payeePrivateKeyPem: string, payeePublicKeyPem: string, expectedIssuerKeyPem?: string): SignedReceipt;
93
+ export declare function counterSign(signed: SignedReceipt, payeePrivateKeyPem: string, payeePublicKeyPem: string, expectedIssuerKeyPem?: string, deliveredHash?: string | Uint8Array): SignedReceipt;
94
+ /** Hex SHA-256 of `-70402` when the countersignature carries it; otherwise null. */
95
+ export declare function countersignDeliveredHashHex(signed: SignedReceipt): string | null;
79
96
  export declare function verifyCounterSignature(signed: SignedReceipt, payeePublicKeyPem?: string): boolean;
80
97
  export declare function receiptHash(signed: SignedReceipt): string;
81
98
  export declare function publicAnchorEncoding(signed: SignedReceipt, mode: PrivacyMode): Record<string, unknown>;
@@ -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
@@ -1,6 +1,7 @@
1
- import { createHash, generateKeyPairSync, sign, verify } from "node:crypto";
2
- import { AMOUNT_RE, canonical } from "@cedulon/core";
3
- import { CTY_COUNTERSIGN, CTY_RECEIPT, asMap, cborMap, decodeCbor, decodeCoseSign1, encodeCbor, mapGet, sameSpkiKey, signCoseSign1, verifyCoseSign1, } from "@cedulon/cose";
1
+ import { createHash, generateKeyPairSync, verify } from "node:crypto";
2
+ import { AMOUNT_RE, canonical, hashClaimRefusal, isValidHashText, jcsEncodeRefusal } from "@cedulon/core";
3
+ import { CTY_COUNTERSIGN, CTY_RECEIPT, asMap, asSigner, cborMap, decodeCbor, decodeCoseSign1, encodeCbor, mapGet, sameSpkiKey, signCoseSign1, verifyCoseSign1, } from "@cedulon/cose";
4
+ export { pemSigner } from "@cedulon/cose";
4
5
  /** CWT private-use labels (less than -65536) for Spend Receipt claims. */
5
6
  export const RECEIPT_CLAIM = {
6
7
  payer: -70001,
@@ -16,13 +17,15 @@ export const RECEIPT_CLAIM = {
16
17
  prevReceiptHash: -70011,
17
18
  outcome: -70012,
18
19
  };
19
- /** CWT private-use label for a detached payee countersignature payload. */
20
+ /** CWT private-use labels for a detached payee countersignature payload. */
20
21
  export const COUNTERSIGN_CLAIM = {
21
22
  receiptCose: -70401,
23
+ /** SHA-256 of the bytes the payee says were delivered, signed with the receipt. */
24
+ deliveredHash: -70402,
22
25
  };
23
26
  // The grammar lives in @cedulon/core so every boundary checks one spelling
24
27
  // of the rule; re-exported here to keep this package's surface unchanged.
25
- export { AMOUNT_RE };
28
+ export { AMOUNT_RE, hashClaimRefusal, isValidHashText };
26
29
  export const NONCE_MIN_BYTES = 16;
27
30
  export function sha256Hex(data) {
28
31
  return createHash("sha256").update(data).digest("hex");
@@ -112,12 +115,26 @@ function assertClaimConsistency(claims) {
112
115
  if (!isValidNonce(claims.nonce)) {
113
116
  throw new Error("nonce-too-short");
114
117
  }
118
+ const policy = hashClaimRefusal("policyHash", claims.policyHash);
119
+ if (policy)
120
+ throw new Error(policy);
121
+ const manifest = hashClaimRefusal("manifestHash", claims.manifestHash, true);
122
+ if (manifest)
123
+ throw new Error(manifest);
124
+ const prev = hashClaimRefusal("prevReceiptHash", claims.prevReceiptHash, true);
125
+ if (prev)
126
+ throw new Error(prev);
115
127
  }
116
- export function signReceiptJson(claims, privateKeyPem, publicKeyPem) {
128
+ export function signReceiptJson(claims, key, publicKeyPem) {
129
+ const signer = asSigner(key, publicKeyPem);
117
130
  assertClaimConsistency(claims);
118
131
  const payload = Buffer.from(canonical(claims), "utf8");
119
- const signature = sign(null, payload, privateKeyPem).toString("base64");
120
- return { claims, signature, publicKeyPem, encoding: "json" };
132
+ const signature = Buffer.from(signer.sign(payload)).toString("base64");
133
+ return { claims, signature, publicKeyPem: signer.publicKeyPem, encoding: "json" };
134
+ }
135
+ /** Why encoding this receipt's claims would refuse, or null when it would not. */
136
+ export function receiptEncodeRefusal(signed) {
137
+ return jcsEncodeRefusal(signed.claims);
121
138
  }
122
139
  export function verifyReceiptJson(signed, expectedIssuerKeyPem) {
123
140
  if (expectedIssuerKeyPem !== undefined && !sameSpkiKey(signed.publicKeyPem, expectedIssuerKeyPem)) {
@@ -137,15 +154,16 @@ export function verifyReceiptJson(signed, expectedIssuerKeyPem) {
137
154
  return false;
138
155
  }
139
156
  }
140
- export function signReceiptCose(claims, privateKeyPem, publicKeyPem) {
157
+ export function signReceiptCose(claims, key, publicKeyPem) {
158
+ const signer = asSigner(key, publicKeyPem);
141
159
  assertClaimConsistency(claims);
142
160
  const payload = claimsToCbor(claims);
143
- const cose = signCoseSign1(payload, privateKeyPem, CTY_RECEIPT);
161
+ const cose = signCoseSign1(payload, signer, CTY_RECEIPT);
144
162
  const msg = decodeCoseSign1(cose);
145
163
  return {
146
164
  claims,
147
165
  signature: Buffer.from(msg.signature).toString("base64"),
148
- publicKeyPem,
166
+ publicKeyPem: signer.publicKeyPem,
149
167
  encoding: "cose",
150
168
  coseHex: Buffer.from(cose).toString("hex"),
151
169
  };
@@ -176,20 +194,26 @@ export function verifyReceiptCose(signed, expectedIssuerKeyPem) {
176
194
  return false;
177
195
  }
178
196
  }
179
- export function signReceipt(claims, privateKeyPem, publicKeyPem, encoding = "cose") {
180
- return encoding === "json"
181
- ? signReceiptJson(claims, privateKeyPem, publicKeyPem)
182
- : signReceiptCose(claims, privateKeyPem, publicKeyPem);
197
+ export function signReceipt(claims, key, publicKeyOrEncoding, encoding = "cose") {
198
+ if (typeof key === "string") {
199
+ return encoding === "json"
200
+ ? signReceiptJson(claims, key, publicKeyOrEncoding)
201
+ : signReceiptCose(claims, key, publicKeyOrEncoding);
202
+ }
203
+ const enc = publicKeyOrEncoding === "json" || publicKeyOrEncoding === "cose"
204
+ ? publicKeyOrEncoding
205
+ : "cose";
206
+ return enc === "json" ? signReceiptJson(claims, key) : signReceiptCose(claims, key);
183
207
  }
184
- /** Adversary/test helper: signs claims that an issuer MUST reject. */
185
- export function signReceiptUnchecked(claims, privateKeyPem, publicKeyPem) {
208
+ export function signReceiptUnchecked(claims, key, publicKeyPem) {
209
+ const signer = asSigner(key, publicKeyPem);
186
210
  const payload = claimsToCbor(claims);
187
- const cose = signCoseSign1(payload, privateKeyPem, CTY_RECEIPT);
211
+ const cose = signCoseSign1(payload, signer, CTY_RECEIPT);
188
212
  const msg = decodeCoseSign1(cose);
189
213
  return {
190
214
  claims,
191
215
  signature: Buffer.from(msg.signature).toString("base64"),
192
- publicKeyPem,
216
+ publicKeyPem: signer.publicKeyPem,
193
217
  encoding: "cose",
194
218
  coseHex: Buffer.from(cose).toString("hex"),
195
219
  };
@@ -206,6 +230,39 @@ export function verifyReceipt(signed, expectedIssuerKeyPem) {
206
230
  ? verifyReceiptJson(signed, expectedIssuerKeyPem)
207
231
  : verifyReceiptCose(signed, expectedIssuerKeyPem);
208
232
  }
233
+ /**
234
+ * Whether the signature verifies under this pin, ignoring the carried PEM.
235
+ * Attestation follows this question, not the unsigned `publicKeyPem` field.
236
+ */
237
+ export function verifyReceiptUnderPin(signed, pinPem) {
238
+ if (signed.claims.noManifest !== (signed.claims.manifestHash === null)) {
239
+ return false;
240
+ }
241
+ if (signed.encoding === "json") {
242
+ try {
243
+ const payload = Buffer.from(canonical(signed.claims), "utf8");
244
+ return verify(null, payload, pinPem, Buffer.from(signed.signature, "base64"));
245
+ }
246
+ catch {
247
+ return false;
248
+ }
249
+ }
250
+ if (!signed.coseHex) {
251
+ return false;
252
+ }
253
+ const bytes = Buffer.from(signed.coseHex, "hex");
254
+ if (!verifyCoseSign1(bytes, pinPem, CTY_RECEIPT)) {
255
+ return false;
256
+ }
257
+ try {
258
+ const msg = decodeCoseSign1(bytes);
259
+ const decoded = claimsFromCbor(msg.payload);
260
+ return canonical(decoded) === canonical(signed.claims);
261
+ }
262
+ catch {
263
+ return false;
264
+ }
265
+ }
209
266
  function issuerCoseBytes(signed) {
210
267
  if (!signed.coseHex) {
211
268
  throw new Error("countersign-requires-cose");
@@ -217,11 +274,28 @@ function issuerCoseBytes(signed) {
217
274
  * checks the receipt against the key it travels with, which is not the question
218
275
  * a payee answers by putting their name on it.
219
276
  */
220
- export function counterSign(signed, payeePrivateKeyPem, payeePublicKeyPem, expectedIssuerKeyPem) {
277
+ export function counterSign(signed, payeePrivateKeyPem, payeePublicKeyPem, expectedIssuerKeyPem, deliveredHash) {
221
278
  if (!verifyReceipt(signed, expectedIssuerKeyPem)) {
222
279
  throw new Error("countersign-unsigned-receipt");
223
280
  }
224
- const payload = encodeCbor(cborMap([[COUNTERSIGN_CLAIM.receiptCose, issuerCoseBytes(signed)]]));
281
+ const entries = [
282
+ [COUNTERSIGN_CLAIM.receiptCose, issuerCoseBytes(signed)],
283
+ ];
284
+ if (deliveredHash !== undefined) {
285
+ const bytes = typeof deliveredHash === "string"
286
+ ? Buffer.from(deliveredHash, "hex")
287
+ : Buffer.from(deliveredHash);
288
+ if (typeof deliveredHash === "string") {
289
+ const refused = hashClaimRefusal("deliveredHash", deliveredHash);
290
+ if (refused)
291
+ throw new Error(refused);
292
+ }
293
+ else if (bytes.length !== 32) {
294
+ throw new Error("malformed-delivered-hash");
295
+ }
296
+ entries.push([COUNTERSIGN_CLAIM.deliveredHash, new Uint8Array(bytes)]);
297
+ }
298
+ const payload = encodeCbor(cborMap(entries));
225
299
  const cose = signCoseSign1(payload, payeePrivateKeyPem, CTY_COUNTERSIGN);
226
300
  return {
227
301
  ...signed,
@@ -229,6 +303,25 @@ export function counterSign(signed, payeePrivateKeyPem, payeePublicKeyPem, expec
229
303
  payeePublicKeyPem,
230
304
  };
231
305
  }
306
+ /** Hex SHA-256 of `-70402` when the countersignature carries it; otherwise null. */
307
+ export function countersignDeliveredHashHex(signed) {
308
+ if (!signed.counterCoseHex) {
309
+ return null;
310
+ }
311
+ try {
312
+ const msg = decodeCoseSign1(Buffer.from(signed.counterCoseHex, "hex"));
313
+ const map = asMap(decodeCbor(msg.payload));
314
+ const raw = mapGet(map, COUNTERSIGN_CLAIM.deliveredHash);
315
+ if (!(raw instanceof Uint8Array)) {
316
+ return null;
317
+ }
318
+ const hex = Buffer.from(raw).toString("hex");
319
+ return isValidHashText(hex) ? hex : null;
320
+ }
321
+ catch {
322
+ return null;
323
+ }
324
+ }
232
325
  export function verifyCounterSignature(signed, payeePublicKeyPem) {
233
326
  if (!signed.counterCoseHex) {
234
327
  return false;
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cedulon/receipts",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "Signed spend receipts (COSE_Sign1, Ed25519) for Cedulon.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "@cedulon/core": "^0.7.0",
45
- "@cedulon/cose": "^0.7.0"
44
+ "@cedulon/core": "^0.9.0",
45
+ "@cedulon/cose": "^0.9.0"
46
46
  }
47
47
  }