@cedulon/receipts 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +21 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +123 -22
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { AMOUNT_RE, hashClaimRefusal, isValidHashText } from "@cedulon/core";
|
|
2
|
+
import { type Signer } from "@cedulon/cose";
|
|
3
|
+
export { pemSigner, type Signer } from "@cedulon/cose";
|
|
1
4
|
export type ReceiptOutcome = "settled" | "aborted";
|
|
2
5
|
/** CWT private-use labels (less than -65536) for Spend Receipt claims. */
|
|
3
6
|
export declare const RECEIPT_CLAIM: {
|
|
@@ -14,11 +17,13 @@ export declare const RECEIPT_CLAIM: {
|
|
|
14
17
|
readonly prevReceiptHash: -70011;
|
|
15
18
|
readonly outcome: -70012;
|
|
16
19
|
};
|
|
17
|
-
/** CWT private-use
|
|
20
|
+
/** CWT private-use labels for a detached payee countersignature payload. */
|
|
18
21
|
export declare const COUNTERSIGN_CLAIM: {
|
|
19
22
|
readonly receiptCose: -70401;
|
|
23
|
+
/** SHA-256 of the bytes the payee says were delivered, signed with the receipt. */
|
|
24
|
+
readonly deliveredHash: -70402;
|
|
20
25
|
};
|
|
21
|
-
export
|
|
26
|
+
export { AMOUNT_RE, hashClaimRefusal, isValidHashText };
|
|
22
27
|
export declare const NONCE_MIN_BYTES = 16;
|
|
23
28
|
export type ReceiptEncoding = "cose" | "json";
|
|
24
29
|
export type SpendReceiptClaims = {
|
|
@@ -55,12 +60,18 @@ export declare function generateReceiptKeys(): {
|
|
|
55
60
|
export declare function claimsToCbor(claims: SpendReceiptClaims): Uint8Array;
|
|
56
61
|
export declare function claimsFromCbor(bytes: Uint8Array): SpendReceiptClaims;
|
|
57
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;
|
|
58
66
|
export declare function verifyReceiptJson(signed: SignedReceipt, expectedIssuerKeyPem?: string): boolean;
|
|
59
67
|
export declare function signReceiptCose(claims: SpendReceiptClaims, privateKeyPem: string, publicKeyPem: string): SignedReceipt;
|
|
68
|
+
export declare function signReceiptCose(claims: SpendReceiptClaims, signer: Signer): SignedReceipt;
|
|
60
69
|
export declare function verifyReceiptCose(signed: SignedReceipt, expectedIssuerKeyPem?: string): boolean;
|
|
61
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;
|
|
62
72
|
/** Adversary/test helper: signs claims that an issuer MUST reject. */
|
|
63
73
|
export declare function signReceiptUnchecked(claims: SpendReceiptClaims, privateKeyPem: string, publicKeyPem: string): SignedReceipt;
|
|
74
|
+
export declare function signReceiptUnchecked(claims: SpendReceiptClaims, signer: Signer): SignedReceipt;
|
|
64
75
|
/**
|
|
65
76
|
* Verifying against `signed.publicKeyPem` alone proves the receipt is internally
|
|
66
77
|
* consistent: any key can sign any body, including its own. Pass the issuer key
|
|
@@ -69,12 +80,19 @@ export declare function signReceiptUnchecked(claims: SpendReceiptClaims, private
|
|
|
69
80
|
* behaviour; an audit that omits it is told so in its report.
|
|
70
81
|
*/
|
|
71
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;
|
|
72
88
|
/**
|
|
73
89
|
* `expectedIssuerKeyPem` is the issuer key the payee holds. Without it this
|
|
74
90
|
* checks the receipt against the key it travels with, which is not the question
|
|
75
91
|
* a payee answers by putting their name on it.
|
|
76
92
|
*/
|
|
77
|
-
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;
|
|
78
96
|
export declare function verifyCounterSignature(signed: SignedReceipt, payeePublicKeyPem?: string): boolean;
|
|
79
97
|
export declare function receiptHash(signed: SignedReceipt): string;
|
|
80
98
|
export declare function publicAnchorEncoding(signed: SignedReceipt, mode: PrivacyMode): Record<string, unknown>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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,
|
|
2
|
-
import { 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,11 +17,15 @@ export const RECEIPT_CLAIM = {
|
|
|
16
17
|
prevReceiptHash: -70011,
|
|
17
18
|
outcome: -70012,
|
|
18
19
|
};
|
|
19
|
-
/** CWT private-use
|
|
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
|
|
27
|
+
// of the rule; re-exported here to keep this package's surface unchanged.
|
|
28
|
+
export { AMOUNT_RE, hashClaimRefusal, isValidHashText };
|
|
24
29
|
export const NONCE_MIN_BYTES = 16;
|
|
25
30
|
export function sha256Hex(data) {
|
|
26
31
|
return createHash("sha256").update(data).digest("hex");
|
|
@@ -110,12 +115,26 @@ function assertClaimConsistency(claims) {
|
|
|
110
115
|
if (!isValidNonce(claims.nonce)) {
|
|
111
116
|
throw new Error("nonce-too-short");
|
|
112
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);
|
|
113
127
|
}
|
|
114
|
-
export function signReceiptJson(claims,
|
|
128
|
+
export function signReceiptJson(claims, key, publicKeyPem) {
|
|
129
|
+
const signer = asSigner(key, publicKeyPem);
|
|
115
130
|
assertClaimConsistency(claims);
|
|
116
131
|
const payload = Buffer.from(canonical(claims), "utf8");
|
|
117
|
-
const signature = sign(
|
|
118
|
-
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);
|
|
119
138
|
}
|
|
120
139
|
export function verifyReceiptJson(signed, expectedIssuerKeyPem) {
|
|
121
140
|
if (expectedIssuerKeyPem !== undefined && !sameSpkiKey(signed.publicKeyPem, expectedIssuerKeyPem)) {
|
|
@@ -124,23 +143,27 @@ export function verifyReceiptJson(signed, expectedIssuerKeyPem) {
|
|
|
124
143
|
if (signed.claims.noManifest !== (signed.claims.manifestHash === null)) {
|
|
125
144
|
return false;
|
|
126
145
|
}
|
|
127
|
-
const payload = Buffer.from(canonical(signed.claims), "utf8");
|
|
128
146
|
try {
|
|
147
|
+
// Same reason the COSE sibling encodes inside its try: a claim set
|
|
148
|
+
// carrying a value RFC 8785 cannot encode is unverifiable, and this
|
|
149
|
+
// function's contract is to say so rather than to throw.
|
|
150
|
+
const payload = Buffer.from(canonical(signed.claims), "utf8");
|
|
129
151
|
return verify(null, payload, signed.publicKeyPem, Buffer.from(signed.signature, "base64"));
|
|
130
152
|
}
|
|
131
153
|
catch {
|
|
132
154
|
return false;
|
|
133
155
|
}
|
|
134
156
|
}
|
|
135
|
-
export function signReceiptCose(claims,
|
|
157
|
+
export function signReceiptCose(claims, key, publicKeyPem) {
|
|
158
|
+
const signer = asSigner(key, publicKeyPem);
|
|
136
159
|
assertClaimConsistency(claims);
|
|
137
160
|
const payload = claimsToCbor(claims);
|
|
138
|
-
const cose = signCoseSign1(payload,
|
|
161
|
+
const cose = signCoseSign1(payload, signer, CTY_RECEIPT);
|
|
139
162
|
const msg = decodeCoseSign1(cose);
|
|
140
163
|
return {
|
|
141
164
|
claims,
|
|
142
165
|
signature: Buffer.from(msg.signature).toString("base64"),
|
|
143
|
-
publicKeyPem,
|
|
166
|
+
publicKeyPem: signer.publicKeyPem,
|
|
144
167
|
encoding: "cose",
|
|
145
168
|
coseHex: Buffer.from(cose).toString("hex"),
|
|
146
169
|
};
|
|
@@ -165,23 +188,32 @@ export function verifyReceiptCose(signed, expectedIssuerKeyPem) {
|
|
|
165
188
|
return canonical(decoded) === canonical(signed.claims);
|
|
166
189
|
}
|
|
167
190
|
catch {
|
|
191
|
+
// Anything unreadable is unverified, which is fail-closed on its own.
|
|
192
|
+
// A caller that wants to say why asks coseDecodeRefusalHex; see the note
|
|
193
|
+
// on that function for why this no longer rethrows.
|
|
168
194
|
return false;
|
|
169
195
|
}
|
|
170
196
|
}
|
|
171
|
-
export function signReceipt(claims,
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
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);
|
|
175
207
|
}
|
|
176
|
-
|
|
177
|
-
|
|
208
|
+
export function signReceiptUnchecked(claims, key, publicKeyPem) {
|
|
209
|
+
const signer = asSigner(key, publicKeyPem);
|
|
178
210
|
const payload = claimsToCbor(claims);
|
|
179
|
-
const cose = signCoseSign1(payload,
|
|
211
|
+
const cose = signCoseSign1(payload, signer, CTY_RECEIPT);
|
|
180
212
|
const msg = decodeCoseSign1(cose);
|
|
181
213
|
return {
|
|
182
214
|
claims,
|
|
183
215
|
signature: Buffer.from(msg.signature).toString("base64"),
|
|
184
|
-
publicKeyPem,
|
|
216
|
+
publicKeyPem: signer.publicKeyPem,
|
|
185
217
|
encoding: "cose",
|
|
186
218
|
coseHex: Buffer.from(cose).toString("hex"),
|
|
187
219
|
};
|
|
@@ -198,6 +230,39 @@ export function verifyReceipt(signed, expectedIssuerKeyPem) {
|
|
|
198
230
|
? verifyReceiptJson(signed, expectedIssuerKeyPem)
|
|
199
231
|
: verifyReceiptCose(signed, expectedIssuerKeyPem);
|
|
200
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
|
+
}
|
|
201
266
|
function issuerCoseBytes(signed) {
|
|
202
267
|
if (!signed.coseHex) {
|
|
203
268
|
throw new Error("countersign-requires-cose");
|
|
@@ -209,11 +274,28 @@ function issuerCoseBytes(signed) {
|
|
|
209
274
|
* checks the receipt against the key it travels with, which is not the question
|
|
210
275
|
* a payee answers by putting their name on it.
|
|
211
276
|
*/
|
|
212
|
-
export function counterSign(signed, payeePrivateKeyPem, payeePublicKeyPem, expectedIssuerKeyPem) {
|
|
277
|
+
export function counterSign(signed, payeePrivateKeyPem, payeePublicKeyPem, expectedIssuerKeyPem, deliveredHash) {
|
|
213
278
|
if (!verifyReceipt(signed, expectedIssuerKeyPem)) {
|
|
214
279
|
throw new Error("countersign-unsigned-receipt");
|
|
215
280
|
}
|
|
216
|
-
const
|
|
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));
|
|
217
299
|
const cose = signCoseSign1(payload, payeePrivateKeyPem, CTY_COUNTERSIGN);
|
|
218
300
|
return {
|
|
219
301
|
...signed,
|
|
@@ -221,6 +303,25 @@ export function counterSign(signed, payeePrivateKeyPem, payeePublicKeyPem, expec
|
|
|
221
303
|
payeePublicKeyPem,
|
|
222
304
|
};
|
|
223
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
|
+
}
|
|
224
325
|
export function verifyCounterSignature(signed, payeePublicKeyPem) {
|
|
225
326
|
if (!signed.counterCoseHex) {
|
|
226
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.
|
|
3
|
+
"version": "0.8.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.
|
|
45
|
-
"@cedulon/cose": "^0.
|
|
44
|
+
"@cedulon/core": "^0.8.0",
|
|
45
|
+
"@cedulon/cose": "^0.8.0"
|
|
46
46
|
}
|
|
47
47
|
}
|