neozipkit 0.8.0 → 1.0.5
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/NEOZIP_APPNOTE.md +527 -0
- package/README.md +57 -21
- package/WHATS_NEW.md +146 -0
- package/dist/browser/ZipkitBrowser.d.ts.map +1 -1
- package/dist/browser/ZipkitBrowser.js +4 -6
- package/dist/browser/ZipkitBrowser.js.map +1 -1
- package/dist/browser/zstd-browser-shim.d.ts +28 -0
- package/dist/browser/zstd-browser-shim.d.ts.map +1 -0
- package/dist/browser/zstd-browser-shim.js +66 -0
- package/dist/browser/zstd-browser-shim.js.map +1 -0
- package/dist/browser-esm/index.js +2110 -41755
- package/dist/browser-esm/index.js.map +4 -4
- package/dist/browser-umd/index.js +2110 -41755
- package/dist/browser-umd/index.js.map +4 -4
- package/dist/browser-umd/index.min.js +3 -21
- package/dist/core/ZipCompress.d.ts +2 -7
- package/dist/core/ZipCompress.d.ts.map +1 -1
- package/dist/core/ZipCompress.js +57 -33
- package/dist/core/ZipCompress.js.map +1 -1
- package/dist/core/ZipDecompress.d.ts +1 -3
- package/dist/core/ZipDecompress.d.ts.map +1 -1
- package/dist/core/ZipDecompress.js +27 -17
- package/dist/core/ZipDecompress.js.map +1 -1
- package/dist/core/ZipEntry.d.ts +6 -0
- package/dist/core/ZipEntry.d.ts.map +1 -1
- package/dist/core/ZipEntry.js +7 -1
- package/dist/core/ZipEntry.js.map +1 -1
- package/dist/core/Zipkit.d.ts +43 -11
- package/dist/core/Zipkit.d.ts.map +1 -1
- package/dist/core/Zipkit.js +106 -63
- package/dist/core/Zipkit.js.map +1 -1
- package/dist/core/components/HashCalculator.d.ts +22 -1
- package/dist/core/components/HashCalculator.d.ts.map +1 -1
- package/dist/core/components/HashCalculator.js +49 -6
- package/dist/core/components/HashCalculator.js.map +1 -1
- package/dist/core/components/Util.d.ts +3 -4
- package/dist/core/components/Util.d.ts.map +1 -1
- package/dist/core/components/Util.js +10 -8
- package/dist/core/components/Util.js.map +1 -1
- package/dist/core/constants/Headers.d.ts +1 -3
- package/dist/core/constants/Headers.d.ts.map +1 -1
- package/dist/core/constants/Headers.js +14 -5
- package/dist/core/constants/Headers.js.map +1 -1
- package/dist/core/constants/MetaPaths.d.ts +38 -0
- package/dist/core/constants/MetaPaths.d.ts.map +1 -0
- package/dist/core/constants/MetaPaths.js +79 -0
- package/dist/core/constants/MetaPaths.js.map +1 -0
- package/dist/core/encryption/AesCrypto.d.ts +55 -11
- package/dist/core/encryption/AesCrypto.d.ts.map +1 -1
- package/dist/core/encryption/AesCrypto.js +223 -68
- package/dist/core/encryption/AesCrypto.js.map +1 -1
- package/dist/core/encryption/index.d.ts +1 -1
- package/dist/core/encryption/index.d.ts.map +1 -1
- package/dist/core/encryption/index.js +3 -1
- package/dist/core/encryption/index.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +14 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/merkle/MerkleRoot.d.ts +109 -0
- package/dist/core/merkle/MerkleRoot.d.ts.map +1 -0
- package/dist/core/merkle/MerkleRoot.js +275 -0
- package/dist/core/merkle/MerkleRoot.js.map +1 -0
- package/dist/core/version.js +1 -1
- package/dist/node/LegacyZstd.d.ts +67 -0
- package/dist/node/LegacyZstd.d.ts.map +1 -0
- package/dist/node/LegacyZstd.js +209 -0
- package/dist/node/LegacyZstd.js.map +1 -0
- package/dist/node/ZipCompressNode.d.ts +9 -7
- package/dist/node/ZipCompressNode.d.ts.map +1 -1
- package/dist/node/ZipCompressNode.js +105 -75
- package/dist/node/ZipCompressNode.js.map +1 -1
- package/dist/node/ZipDecompressNode.d.ts +7 -3
- package/dist/node/ZipDecompressNode.d.ts.map +1 -1
- package/dist/node/ZipDecompressNode.js +68 -56
- package/dist/node/ZipDecompressNode.js.map +1 -1
- package/dist/node/ZipkitNode.d.ts +23 -0
- package/dist/node/ZipkitNode.d.ts.map +1 -1
- package/dist/node/ZipkitNode.js +195 -41
- package/dist/node/ZipkitNode.js.map +1 -1
- package/dist/node/ZstdNode.d.ts +39 -0
- package/dist/node/ZstdNode.d.ts.map +1 -0
- package/dist/node/ZstdNode.js +171 -0
- package/dist/node/ZstdNode.js.map +1 -0
- package/dist/node/index.d.ts +3 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +11 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +4 -3
- package/src/browser/ZipkitBrowser.ts +4 -6
- package/src/browser/zstd-browser-shim.ts +76 -0
- package/src/core/ZipCompress.ts +71 -42
- package/src/core/ZipDecompress.ts +35 -18
- package/src/core/ZipEntry.ts +8 -1
- package/src/core/Zipkit.ts +149 -76
- package/src/core/components/HashCalculator.ts +58 -6
- package/src/core/components/Util.ts +16 -7
- package/src/core/constants/Headers.ts +14 -4
- package/src/core/constants/MetaPaths.ts +86 -0
- package/src/core/encryption/AesCrypto.ts +265 -86
- package/src/core/encryption/index.ts +1 -1
- package/src/core/index.ts +14 -0
- package/src/core/merkle/MerkleRoot.ts +312 -0
- package/src/core/version.ts +1 -1
- package/src/node/LegacyZstd.ts +270 -0
- package/src/node/ZipCompressNode.ts +127 -84
- package/src/node/ZipDecompressNode.ts +93 -67
- package/src/node/ZipkitNode.ts +230 -42
- package/src/node/ZstdNode.ts +155 -0
- package/src/node/index.ts +10 -0
- package/dist/core/ZstdManager.d.ts +0 -56
- package/dist/core/ZstdManager.d.ts.map +0 -1
- package/dist/core/ZstdManager.js +0 -144
- package/dist/core/ZstdManager.js.map +0 -1
- package/src/core/ZstdManager.ts +0 -165
package/dist/core/Zipkit.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ZipEntry from './ZipEntry';
|
|
2
2
|
import Errors from './constants/Errors';
|
|
3
3
|
import { CompressOptions } from './ZipCompress';
|
|
4
|
+
import { type MerkleAlgorithm } from './merkle/MerkleRoot';
|
|
4
5
|
import { LOCAL_HDR, ENCRYPT_HDR_SIZE, CMP_METHOD, CENTRAL_END, CENTRAL_DIR, ZIP64_CENTRAL_END, ZIP64_CENTRAL_DIR, GP_FLAG, TIMESTAMP_SUBMITTED, TIMESTAMP_METADATA, TOKENIZED_METADATA, LOCAL_FILE_HEADER, CENTRAL_FILE_HEADER, CENTRAL_DIRECTORY_END, HDR_ID } from './constants/Headers';
|
|
5
6
|
/**
|
|
6
7
|
* Streaming file handle interface
|
|
@@ -211,7 +212,9 @@ export default class Zipkit {
|
|
|
211
212
|
*/
|
|
212
213
|
getDirectory(debug?: boolean): ZipEntry[];
|
|
213
214
|
/**
|
|
214
|
-
* Get specific ZIP entry by filename from zipEntries[] array
|
|
215
|
+
* Get specific ZIP entry by filename from zipEntries[] array.
|
|
216
|
+
* Reserved META-INF paths (APPNOTE §2.3) also match ASCII case-insensitively
|
|
217
|
+
* when an exact spelling is not found.
|
|
215
218
|
*
|
|
216
219
|
* @param filename - The name/path of the file/directory to find
|
|
217
220
|
* @returns ZipEntry object if found, null if not found
|
|
@@ -294,22 +297,51 @@ export default class Zipkit {
|
|
|
294
297
|
*/
|
|
295
298
|
private centralEndHdrMethod;
|
|
296
299
|
/**
|
|
297
|
-
* Calculate Merkle
|
|
300
|
+
* Calculate Merkle root of archive content (non-META-INF entries).
|
|
298
301
|
*
|
|
299
|
-
*
|
|
300
|
-
*
|
|
302
|
+
* Per NEOZIP_APPNOTE.md §6:
|
|
303
|
+
* - Default **v1**: domain-separated leaves SHA-256(0x00 ‖ uncompressed bytes) and
|
|
304
|
+
* SHA-256(0x01 ‖ left ‖ right) parents; paths NFC-normalized before sort.
|
|
305
|
+
* - Legacy **v0**: bare 0x014E digests as leaves, duplicate-odd pairing, path as stored.
|
|
301
306
|
*
|
|
302
|
-
*
|
|
307
|
+
* When only Extra Field digests are available (typical after open), **v1 requires
|
|
308
|
+
* payload bytes**. This sync method therefore returns null for v1; use
|
|
309
|
+
* {@link getMerkleRootAsync} (extracts content) or `{ algorithm: 'v0' }`.
|
|
310
|
+
* When you already hold payloads, use {@link merkleRootFromEntries}.
|
|
311
|
+
*
|
|
312
|
+
* @param options.algorithm - `v1` (default) or legacy `v0`
|
|
313
|
+
* @returns Lowercase hex Merkle root, or null if calculation fails
|
|
303
314
|
*/
|
|
304
|
-
getMerkleRoot(
|
|
315
|
+
getMerkleRoot(options?: {
|
|
316
|
+
algorithm?: MerkleAlgorithm;
|
|
317
|
+
}): string | null;
|
|
305
318
|
/**
|
|
306
|
-
* Calculate Merkle
|
|
319
|
+
* Calculate Merkle root (preferred for v1 / new archives).
|
|
320
|
+
*
|
|
321
|
+
* **v1 (default):** uses precomputed stream leaves when available; otherwise extracts
|
|
322
|
+
* each content entry once and folds APPNOTE §6.3 root (no second content hash pass
|
|
323
|
+
* when extract captures merkleLeafV1).
|
|
324
|
+
* **v0:** uses Extra Field digests only (no extract), APPNOTE §6.2.
|
|
307
325
|
*
|
|
308
|
-
*
|
|
309
|
-
*
|
|
326
|
+
* META-INF/** is excluded. File-streaming mode: use ZipkitNode override (testEntry
|
|
327
|
+
* pipeline) rather than buffering the whole archive.
|
|
310
328
|
*
|
|
311
|
-
* @
|
|
329
|
+
* @param options.algorithm - `v1` (default) or legacy `v0`
|
|
330
|
+
* @returns Promise resolving to lowercase hex root, or null
|
|
331
|
+
*/
|
|
332
|
+
getMerkleRootAsync(options?: {
|
|
333
|
+
algorithm?: MerkleAlgorithm;
|
|
334
|
+
}): Promise<string | null>;
|
|
335
|
+
/**
|
|
336
|
+
* Compute Merkle root from known digests and/or payloads (APPNOTE §6).
|
|
337
|
+
* Prefer this during create when uncompressed bytes are still in hand, or when
|
|
338
|
+
* stream leaves (`merkleLeafV1`) were already produced.
|
|
312
339
|
*/
|
|
313
|
-
|
|
340
|
+
static merkleRootFromEntries(entries: Array<{
|
|
341
|
+
path: string;
|
|
342
|
+
content?: Buffer;
|
|
343
|
+
contentSha256?: string;
|
|
344
|
+
merkleLeafV1?: string;
|
|
345
|
+
}>, algorithm?: MerkleAlgorithm): string | null;
|
|
314
346
|
}
|
|
315
347
|
//# sourceMappingURL=Zipkit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Zipkit.d.ts","sourceRoot":"","sources":["../../src/core/Zipkit.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAGxC,OAAO,EAAe,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Zipkit.d.ts","sourceRoot":"","sources":["../../src/core/Zipkit.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAGxC,OAAO,EAAe,eAAe,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,EACP,MAAM,qBAAqB,CAAC;AAO7B;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxF,IAAI,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAGD,OAAO,EACL,QAAQ,EACR,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,EACP,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,SAA0B;IACjD,MAAM,CAAC,QAAQ,CAAC,WAAW,SAA8B;IAGzD,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,QAAQ,CAAuB;IACvC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAM;IACtC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,gBAAgB,CAAa;IAGrC,OAAO,CAAC,UAAU,CAAuB;IAGzC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAA8B;IAElD;;;;;;;;;OASG;gBACS,MAAM,GAAE,YAAiB;IAerC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAOtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;OAGG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,WAAW,IAAI,OAAO;IAStB;;;;;;;;;OASG;IACG,YAAY,CAChB,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,eAAe,EACzB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;;;OAUG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;QAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,EAClI,OAAO,CAAC,EAAE,eAAe,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,QAAQ,EAChB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM;IAIzD;;;;;;;;;;;;;OAaG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,EAC5F,OAAO,CAAC,EAAE,eAAe,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,QAAQ,EAChB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;;OAQG;IACG,kBAAkB,CACtB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,MAAM,CAAC;IAQlB;;;;;;;;OAQG;IACG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS/E;;;;;OAKG;IAEH;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAYlC;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;;;;;;;OAUG;IACH,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE;IAKzC;;;;;;;OAOG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAc9C;;OAEG;IACI,YAAY,IAAI,MAAM;IAO7B;;OAEG;IACI,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAkChE;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IASxD;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAUzD;;;;OAIG;IACH,cAAc,IAAI;QAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAoB/F;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,QAAQ;IAwBxE;;;OAGG;IACG,SAAS,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAWvD;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,KAAK,MAAM,CAMhF;IAED;;;;OAIG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAQ9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgD1B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;;OAGG;IACH,OAAO,CAAC,KAAK;IAKb;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,MAAM,GAAG,IAAI;IA0CvE;;;;;;;;;;;;;OAaG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+E3F;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAC1B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACjG,SAAS,GAAE,eAAsB,GAChC,MAAM,GAAG,IAAI;CAIjB"}
|
package/dist/core/Zipkit.js
CHANGED
|
@@ -17,7 +17,7 @@ const types_1 = require("../types");
|
|
|
17
17
|
const ZipCompress_1 = require("./ZipCompress");
|
|
18
18
|
const ZipDecompress_1 = __importDefault(require("./ZipDecompress"));
|
|
19
19
|
const ZipCrypto_1 = require("./encryption/ZipCrypto");
|
|
20
|
-
const
|
|
20
|
+
const MerkleRoot_1 = require("./merkle/MerkleRoot");
|
|
21
21
|
const Headers_1 = require("./constants/Headers");
|
|
22
22
|
Object.defineProperty(exports, "LOCAL_HDR", { enumerable: true, get: function () { return Headers_1.LOCAL_HDR; } });
|
|
23
23
|
Object.defineProperty(exports, "ENCRYPT_HDR_SIZE", { enumerable: true, get: function () { return Headers_1.ENCRYPT_HDR_SIZE; } });
|
|
@@ -34,6 +34,7 @@ Object.defineProperty(exports, "LOCAL_FILE_HEADER", { enumerable: true, get: fun
|
|
|
34
34
|
Object.defineProperty(exports, "CENTRAL_FILE_HEADER", { enumerable: true, get: function () { return Headers_1.CENTRAL_FILE_HEADER; } });
|
|
35
35
|
Object.defineProperty(exports, "CENTRAL_DIRECTORY_END", { enumerable: true, get: function () { return Headers_1.CENTRAL_DIRECTORY_END; } });
|
|
36
36
|
Object.defineProperty(exports, "HDR_ID", { enumerable: true, get: function () { return Headers_1.HDR_ID; } });
|
|
37
|
+
const MetaPaths_1 = require("./constants/MetaPaths");
|
|
37
38
|
/**
|
|
38
39
|
* Zipkit - Enhanced ZIP File Processing Library with Dual Mode Support
|
|
39
40
|
*
|
|
@@ -266,7 +267,9 @@ class Zipkit {
|
|
|
266
267
|
return this.zipEntries;
|
|
267
268
|
}
|
|
268
269
|
/**
|
|
269
|
-
* Get specific ZIP entry by filename from zipEntries[] array
|
|
270
|
+
* Get specific ZIP entry by filename from zipEntries[] array.
|
|
271
|
+
* Reserved META-INF paths (APPNOTE §2.3) also match ASCII case-insensitively
|
|
272
|
+
* when an exact spelling is not found.
|
|
270
273
|
*
|
|
271
274
|
* @param filename - The name/path of the file/directory to find
|
|
272
275
|
* @returns ZipEntry object if found, null if not found
|
|
@@ -274,7 +277,13 @@ class Zipkit {
|
|
|
274
277
|
getZipEntry(filename) {
|
|
275
278
|
try {
|
|
276
279
|
const centralDir = this.getDirectory();
|
|
277
|
-
|
|
280
|
+
const exact = centralDir.find((entry) => entry.filename === filename);
|
|
281
|
+
if (exact)
|
|
282
|
+
return exact;
|
|
283
|
+
if ((0, MetaPaths_1.isReservedMetaPath)(filename)) {
|
|
284
|
+
return (0, MetaPaths_1.findReservedMetaEntry)(centralDir, filename);
|
|
285
|
+
}
|
|
286
|
+
return null;
|
|
278
287
|
}
|
|
279
288
|
catch (error) {
|
|
280
289
|
return null;
|
|
@@ -546,22 +555,28 @@ class Zipkit {
|
|
|
546
555
|
return ceBuf;
|
|
547
556
|
}
|
|
548
557
|
/**
|
|
549
|
-
* Calculate Merkle
|
|
558
|
+
* Calculate Merkle root of archive content (non-META-INF entries).
|
|
559
|
+
*
|
|
560
|
+
* Per NEOZIP_APPNOTE.md §6:
|
|
561
|
+
* - Default **v1**: domain-separated leaves SHA-256(0x00 ‖ uncompressed bytes) and
|
|
562
|
+
* SHA-256(0x01 ‖ left ‖ right) parents; paths NFC-normalized before sort.
|
|
563
|
+
* - Legacy **v0**: bare 0x014E digests as leaves, duplicate-odd pairing, path as stored.
|
|
550
564
|
*
|
|
551
|
-
*
|
|
552
|
-
*
|
|
565
|
+
* When only Extra Field digests are available (typical after open), **v1 requires
|
|
566
|
+
* payload bytes**. This sync method therefore returns null for v1; use
|
|
567
|
+
* {@link getMerkleRootAsync} (extracts content) or `{ algorithm: 'v0' }`.
|
|
568
|
+
* When you already hold payloads, use {@link merkleRootFromEntries}.
|
|
553
569
|
*
|
|
554
|
-
* @
|
|
570
|
+
* @param options.algorithm - `v1` (default) or legacy `v0`
|
|
571
|
+
* @returns Lowercase hex Merkle root, or null if calculation fails
|
|
555
572
|
*/
|
|
556
|
-
getMerkleRoot() {
|
|
557
|
-
|
|
573
|
+
getMerkleRoot(options) {
|
|
574
|
+
const algorithm = options?.algorithm ?? 'v1';
|
|
558
575
|
let zipEntries;
|
|
559
576
|
try {
|
|
560
577
|
zipEntries = this.getDirectory();
|
|
561
578
|
}
|
|
562
579
|
catch (error) {
|
|
563
|
-
// Catch any errors from getDirectory() - this should never happen
|
|
564
|
-
// but if it does, log it and return null
|
|
565
580
|
Logger_1.Logger.error(`getMerkleRoot(): Error calling getDirectory(): ${error instanceof Error ? error.message : String(error)}`);
|
|
566
581
|
Logger_1.Logger.error(`getMerkleRoot(): Stack trace: ${error instanceof Error ? error.stack : 'No stack trace'}`);
|
|
567
582
|
return null;
|
|
@@ -569,49 +584,43 @@ class Zipkit {
|
|
|
569
584
|
if (!zipEntries || zipEntries.length === 0) {
|
|
570
585
|
return null;
|
|
571
586
|
}
|
|
572
|
-
const
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
return
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
if (!merkleRoot) {
|
|
590
|
-
return null;
|
|
591
|
-
}
|
|
592
|
-
return merkleRoot;
|
|
587
|
+
const contentEntries = zipEntries.filter((entry) => !(0, MetaPaths_1.isMetaInfPath)(entry.filename || ''));
|
|
588
|
+
if (algorithm === 'v0') {
|
|
589
|
+
const digests = contentEntries
|
|
590
|
+
.filter((e) => e.sha256)
|
|
591
|
+
.map((e) => ({ path: e.filename || '', sha256: e.sha256 }));
|
|
592
|
+
return (0, MerkleRoot_1.computeMerkleRootV0FromDigests)(digests);
|
|
593
|
+
}
|
|
594
|
+
// v1: prefer leaves captured in the same create/extract hash stream (no re-hash)
|
|
595
|
+
if (contentEntries.length > 0 &&
|
|
596
|
+
contentEntries.every((e) => !!e.merkleLeafV1)) {
|
|
597
|
+
return (0, MerkleRoot_1.computeMerkleRootV1FromLeaves)(contentEntries.map((e) => ({
|
|
598
|
+
path: e.filename || '',
|
|
599
|
+
merkleLeafV1: e.merkleLeafV1,
|
|
600
|
+
})));
|
|
601
|
+
}
|
|
602
|
+
// v1: bare digests are not leaves — need getMerkleRootAsync() or stream leaves
|
|
603
|
+
return null;
|
|
593
604
|
}
|
|
594
605
|
/**
|
|
595
|
-
* Calculate Merkle
|
|
606
|
+
* Calculate Merkle root (preferred for v1 / new archives).
|
|
607
|
+
*
|
|
608
|
+
* **v1 (default):** uses precomputed stream leaves when available; otherwise extracts
|
|
609
|
+
* each content entry once and folds APPNOTE §6.3 root (no second content hash pass
|
|
610
|
+
* when extract captures merkleLeafV1).
|
|
611
|
+
* **v0:** uses Extra Field digests only (no extract), APPNOTE §6.2.
|
|
596
612
|
*
|
|
597
|
-
*
|
|
598
|
-
*
|
|
613
|
+
* META-INF/** is excluded. File-streaming mode: use ZipkitNode override (testEntry
|
|
614
|
+
* pipeline) rather than buffering the whole archive.
|
|
599
615
|
*
|
|
600
|
-
* @
|
|
616
|
+
* @param options.algorithm - `v1` (default) or legacy `v0`
|
|
617
|
+
* @returns Promise resolving to lowercase hex root, or null
|
|
601
618
|
*/
|
|
602
|
-
async getMerkleRootAsync() {
|
|
619
|
+
async getMerkleRootAsync(options) {
|
|
620
|
+
const algorithm = options?.algorithm ?? 'v1';
|
|
603
621
|
let zipEntries = [];
|
|
604
622
|
try {
|
|
605
|
-
|
|
606
|
-
if (this.inBuffer) {
|
|
607
|
-
zipEntries = this.getDirectory();
|
|
608
|
-
}
|
|
609
|
-
else {
|
|
610
|
-
// File-based: cannot get entries synchronously - return null
|
|
611
|
-
// Caller should use ZipkitServer.getMerkleRootAsync() for file-based ZIPs
|
|
612
|
-
Logger_1.Logger.error('getMerkleRootAsync() called on file-based ZIP. Use ZipkitServer.getMerkleRootAsync() instead.');
|
|
613
|
-
return null;
|
|
614
|
-
}
|
|
623
|
+
zipEntries = this.getDirectory();
|
|
615
624
|
}
|
|
616
625
|
catch (error) {
|
|
617
626
|
Logger_1.Logger.error(`Failed to get directory for merkle root calculation: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -620,27 +629,61 @@ class Zipkit {
|
|
|
620
629
|
if (!zipEntries || zipEntries.length === 0) {
|
|
621
630
|
return null;
|
|
622
631
|
}
|
|
623
|
-
const
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
return
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
+
const contentEntries = zipEntries.filter((entry) => !(0, MetaPaths_1.isMetaInfPath)(entry.filename || ''));
|
|
633
|
+
if (algorithm === 'v0') {
|
|
634
|
+
const digests = contentEntries
|
|
635
|
+
.filter((e) => e.sha256)
|
|
636
|
+
.map((e) => ({ path: e.filename || '', sha256: e.sha256 }));
|
|
637
|
+
return (0, MerkleRoot_1.computeMerkleRootV0FromDigests)(digests);
|
|
638
|
+
}
|
|
639
|
+
// Reuse leaves already produced during write/extract (one stream hash pass)
|
|
640
|
+
if (contentEntries.length > 0 &&
|
|
641
|
+
contentEntries.every((e) => !!e.merkleLeafV1)) {
|
|
642
|
+
return (0, MerkleRoot_1.computeMerkleRootV1FromLeaves)(contentEntries.map((e) => ({
|
|
643
|
+
path: e.filename || '',
|
|
644
|
+
merkleLeafV1: e.merkleLeafV1,
|
|
645
|
+
})));
|
|
646
|
+
}
|
|
647
|
+
// Buffer path: one decompress + dual hash inside extract (ZipDecompress)
|
|
648
|
+
if (!this.inBuffer) {
|
|
649
|
+
Logger_1.Logger.error('getMerkleRootAsync() called on file-based ZIP without precomputed merkle leaves. ' +
|
|
650
|
+
'Use ZipkitNode (streaming testEntry) or ensure create captured merkleLeafV1.');
|
|
651
|
+
return null;
|
|
652
|
+
}
|
|
632
653
|
for (const entry of contentEntries) {
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
654
|
+
try {
|
|
655
|
+
const data = await this.extract(entry, false);
|
|
656
|
+
if (entry.merkleLeafV1) {
|
|
657
|
+
continue;
|
|
658
|
+
}
|
|
659
|
+
// Legacy decompress without dual leaf: hash payload once, cache leaf
|
|
660
|
+
if (data === null || data.length === 0) {
|
|
661
|
+
entry.merkleLeafV1 = (0, MerkleRoot_1.leafHashV1)(Buffer.alloc(0)).toString('hex');
|
|
662
|
+
}
|
|
663
|
+
else {
|
|
664
|
+
entry.merkleLeafV1 = (0, MerkleRoot_1.leafHashV1)(data).toString('hex');
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
catch (error) {
|
|
668
|
+
Logger_1.Logger.error(`getMerkleRootAsync(): failed to extract ${entry.filename}: ${error instanceof Error ? error.message : String(error)}`);
|
|
669
|
+
return null;
|
|
637
670
|
}
|
|
638
671
|
}
|
|
639
|
-
|
|
640
|
-
if (!merkleRoot) {
|
|
672
|
+
if (!contentEntries.every((e) => !!e.merkleLeafV1)) {
|
|
641
673
|
return null;
|
|
642
674
|
}
|
|
643
|
-
return
|
|
675
|
+
return (0, MerkleRoot_1.computeMerkleRootV1FromLeaves)(contentEntries.map((e) => ({
|
|
676
|
+
path: e.filename || '',
|
|
677
|
+
merkleLeafV1: e.merkleLeafV1,
|
|
678
|
+
})));
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Compute Merkle root from known digests and/or payloads (APPNOTE §6).
|
|
682
|
+
* Prefer this during create when uncompressed bytes are still in hand, or when
|
|
683
|
+
* stream leaves (`merkleLeafV1`) were already produced.
|
|
684
|
+
*/
|
|
685
|
+
static merkleRootFromEntries(entries, algorithm = 'v1') {
|
|
686
|
+
return (0, MerkleRoot_1.computeArchiveMerkleRoot)(entries, algorithm);
|
|
644
687
|
}
|
|
645
688
|
}
|
|
646
689
|
Zipkit.version = types_1.NEOZIPKIT_INFO.version;
|
package/dist/core/Zipkit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Zipkit.js","sourceRoot":"","sources":["../../src/core/Zipkit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Zipkit.js","sourceRoot":"","sources":["../../src/core/Zipkit.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
export declare class HashCalculator {
|
|
27
27
|
private crc32State;
|
|
28
28
|
private sha256Hash;
|
|
29
|
+
/** Domain-separated leaf hasher (APPNOTE §6.3): SHA-256(0x00 ‖ payload). */
|
|
30
|
+
private merkleLeafHash;
|
|
29
31
|
private useSHA256;
|
|
30
32
|
private hashes;
|
|
31
33
|
private xorResult;
|
|
@@ -55,10 +57,29 @@ export declare class HashCalculator {
|
|
|
55
57
|
*/
|
|
56
58
|
finalizeCRC32(): number;
|
|
57
59
|
/**
|
|
58
|
-
* Get final SHA-256 hash as hex string
|
|
60
|
+
* Get final SHA-256 hash as hex string (Extra Field 0x014E — bare content digest)
|
|
59
61
|
* @returns SHA-256 hash as hex string, or null if SHA-256 not enabled
|
|
60
62
|
*/
|
|
61
63
|
finalizeSHA256(): string | null;
|
|
64
|
+
/**
|
|
65
|
+
* Get APPNOTE §6.3 v1 Merkle leaf: SHA-256(0x00 ‖ uncompressed payload) as hex.
|
|
66
|
+
* Consumes the leaf hasher; call after or instead of finalizeSHA256 for dual streams.
|
|
67
|
+
*/
|
|
68
|
+
finalizeMerkleLeafV1(): string | null;
|
|
69
|
+
/**
|
|
70
|
+
* Apply stream digests to a ZIP entry in one place.
|
|
71
|
+
*
|
|
72
|
+
* When SHA-256 was enabled, both Extra Field 0x014E (`sha256`) and the v1 Merkle leaf
|
|
73
|
+
* (`merkleLeafV1`) are finalized from the **same** chunk stream — no second payload pass.
|
|
74
|
+
*/
|
|
75
|
+
applyToEntry(entry: {
|
|
76
|
+
crc: number;
|
|
77
|
+
sha256: string | null;
|
|
78
|
+
merkleLeafV1?: string | null;
|
|
79
|
+
}, options: {
|
|
80
|
+
setCrc?: boolean;
|
|
81
|
+
setSha256?: boolean;
|
|
82
|
+
}): void;
|
|
62
83
|
/**
|
|
63
84
|
* Reset the incremental hash calculation state
|
|
64
85
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HashCalculator.d.ts","sourceRoot":"","sources":["../../../src/core/components/HashCalculator.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,cAAc;IAEzB,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAAkB;IAGnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,kBAAkB,CAAkB;IAG5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"HashCalculator.d.ts","sourceRoot":"","sources":["../../../src/core/components/HashCalculator.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,cAAc;IAEzB,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAA4B;IAC9C,4EAA4E;IAC5E,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,SAAS,CAAkB;IAGnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,kBAAkB,CAAkB;IAG5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAOnB;IAEF;;;;;OAKG;gBACS,OAAO,CAAC,EAAE;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;IAeD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAe3B;;;OAGG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAO/B;;;OAGG;IACH,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAOrC;;;;;OAKG;IACH,YAAY,CACV,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,EACD,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GACjD,IAAI;IAgBP;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAuBpC;;;OAGG;IACH,OAAO,IAAI,MAAM;IAOjB;;;OAGG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAsB3B;;;OAGG;IACH,SAAS,IAAI,MAAM;IAOnB;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,GAAG,IAAI;IAiBxE;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAIZ;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IA2BhC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;CAWnE;AAGD,eAAe,cAAc,CAAC"}
|
|
@@ -76,24 +76,30 @@ class HashCalculator {
|
|
|
76
76
|
// Incremental hash calculation state (from StreamHashCalculator)
|
|
77
77
|
this.crc32State = ~0;
|
|
78
78
|
this.sha256Hash = null;
|
|
79
|
+
/** Domain-separated leaf hasher (APPNOTE §6.3): SHA-256(0x00 ‖ payload). */
|
|
80
|
+
this.merkleLeafHash = null;
|
|
79
81
|
this.useSHA256 = false;
|
|
80
82
|
// Hash accumulation state (from HashAccumulator)
|
|
81
83
|
this.hashes = [];
|
|
82
84
|
this.xorResult = Buffer.alloc(32, 0);
|
|
83
85
|
this.enableAccumulation = false;
|
|
84
|
-
// Merkle tree state (from MerkleTree)
|
|
86
|
+
// Merkle tree state (from MerkleTree) — generic digest folding; archive roots use merkle/MerkleRoot.ts
|
|
85
87
|
this.merkleLeaves = [];
|
|
86
88
|
this.merkleLayers = [];
|
|
87
89
|
this.merkleOptions = {
|
|
88
90
|
hashLeaves: false,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
// Archive content roots sort by path in MerkleRoot; generic accumulator keeps insertion order.
|
|
92
|
+
sortLeaves: false,
|
|
93
|
+
sortPairs: false,
|
|
94
|
+
// match APPNOTE v0 odd-leaf rule when used as a generic Bitcoin-style tree
|
|
91
95
|
duplicateOdd: true
|
|
92
96
|
};
|
|
93
97
|
this.useSHA256 = options?.useSHA256 || false;
|
|
94
98
|
this.enableAccumulation = options?.enableAccumulation || false;
|
|
95
99
|
if (this.useSHA256) {
|
|
96
100
|
this.sha256Hash = crypto.createHash('sha256');
|
|
101
|
+
this.merkleLeafHash = crypto.createHash('sha256');
|
|
102
|
+
this.merkleLeafHash.update(Buffer.from([0x00]));
|
|
97
103
|
}
|
|
98
104
|
}
|
|
99
105
|
// ============================================================================
|
|
@@ -109,10 +115,13 @@ class HashCalculator {
|
|
|
109
115
|
for (let i = 0; i < chunk.length; i++) {
|
|
110
116
|
this.crc32State = (0, ZipCrypto_1.crc32update)(this.crc32State, chunk[i]);
|
|
111
117
|
}
|
|
112
|
-
// Update SHA-256 incrementally
|
|
118
|
+
// Update SHA-256 and v1 Merkle leaf hash incrementally
|
|
113
119
|
if (this.sha256Hash) {
|
|
114
120
|
this.sha256Hash.update(chunk);
|
|
115
121
|
}
|
|
122
|
+
if (this.merkleLeafHash) {
|
|
123
|
+
this.merkleLeafHash.update(chunk);
|
|
124
|
+
}
|
|
116
125
|
}
|
|
117
126
|
/**
|
|
118
127
|
* Get final CRC-32 value
|
|
@@ -122,7 +131,7 @@ class HashCalculator {
|
|
|
122
131
|
return ~this.crc32State >>> 0; // Finalize with ~0 like the existing crc32 function
|
|
123
132
|
}
|
|
124
133
|
/**
|
|
125
|
-
* Get final SHA-256 hash as hex string
|
|
134
|
+
* Get final SHA-256 hash as hex string (Extra Field 0x014E — bare content digest)
|
|
126
135
|
* @returns SHA-256 hash as hex string, or null if SHA-256 not enabled
|
|
127
136
|
*/
|
|
128
137
|
finalizeSHA256() {
|
|
@@ -131,13 +140,46 @@ class HashCalculator {
|
|
|
131
140
|
}
|
|
132
141
|
return null;
|
|
133
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Get APPNOTE §6.3 v1 Merkle leaf: SHA-256(0x00 ‖ uncompressed payload) as hex.
|
|
145
|
+
* Consumes the leaf hasher; call after or instead of finalizeSHA256 for dual streams.
|
|
146
|
+
*/
|
|
147
|
+
finalizeMerkleLeafV1() {
|
|
148
|
+
if (this.merkleLeafHash) {
|
|
149
|
+
return this.merkleLeafHash.digest('hex');
|
|
150
|
+
}
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Apply stream digests to a ZIP entry in one place.
|
|
155
|
+
*
|
|
156
|
+
* When SHA-256 was enabled, both Extra Field 0x014E (`sha256`) and the v1 Merkle leaf
|
|
157
|
+
* (`merkleLeafV1`) are finalized from the **same** chunk stream — no second payload pass.
|
|
158
|
+
*/
|
|
159
|
+
applyToEntry(entry, options) {
|
|
160
|
+
if (options.setCrc) {
|
|
161
|
+
entry.crc = this.finalizeCRC32();
|
|
162
|
+
}
|
|
163
|
+
if (options.setSha256) {
|
|
164
|
+
const digest = this.finalizeSHA256();
|
|
165
|
+
const leaf = this.finalizeMerkleLeafV1();
|
|
166
|
+
if (digest) {
|
|
167
|
+
entry.sha256 = digest;
|
|
168
|
+
}
|
|
169
|
+
if (leaf) {
|
|
170
|
+
entry.merkleLeafV1 = leaf;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
134
174
|
/**
|
|
135
175
|
* Reset the incremental hash calculation state
|
|
136
176
|
*/
|
|
137
177
|
reset() {
|
|
138
178
|
this.crc32State = ~0;
|
|
139
|
-
if (this.
|
|
179
|
+
if (this.useSHA256) {
|
|
140
180
|
this.sha256Hash = crypto.createHash('sha256');
|
|
181
|
+
this.merkleLeafHash = crypto.createHash('sha256');
|
|
182
|
+
this.merkleLeafHash.update(Buffer.from([0x00]));
|
|
141
183
|
}
|
|
142
184
|
}
|
|
143
185
|
// ============================================================================
|
|
@@ -255,6 +297,7 @@ class HashCalculator {
|
|
|
255
297
|
if (this.merkleOptions.sortPairs && Buffer.compare(left, right) > 0) {
|
|
256
298
|
[left, right] = [right, left];
|
|
257
299
|
}
|
|
300
|
+
// Generic accumulator tree (not APPNOTE archive root — see merkle/MerkleRoot.ts)
|
|
258
301
|
return this.hash(Buffer.concat([left, right]));
|
|
259
302
|
}
|
|
260
303
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HashCalculator.js","sourceRoot":"","sources":["../../../src/core/components/HashCalculator.ts"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,8CAA8C;AAC9C,gFAAgF;AAChF,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzC,+CAAiC;AACjC,uDAAsD;AAYtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"HashCalculator.js","sourceRoot":"","sources":["../../../src/core/components/HashCalculator.ts"],"names":[],"mappings":"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"}
|