burnledger 0.9.0 → 0.10.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/README.md +9 -4
- package/dist/cjs/audit-pack.d.ts +201 -0
- package/dist/cjs/audit-pack.d.ts.map +1 -0
- package/dist/cjs/audit-pack.js +867 -0
- package/dist/cjs/audit-pack.js.map +1 -0
- package/dist/cjs/client.d.ts +41 -1
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +107 -59
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/enclave-registration.d.ts +14 -2
- package/dist/cjs/enclave-registration.d.ts.map +1 -1
- package/dist/cjs/enclave-registration.js +14 -2
- package/dist/cjs/enclave-registration.js.map +1 -1
- package/dist/cjs/index.d.ts +46 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +114 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/models.d.ts +28 -2
- package/dist/cjs/models.d.ts.map +1 -1
- package/dist/cjs/models.js +19 -1
- package/dist/cjs/models.js.map +1 -1
- package/dist/cjs/node-runtime.d.ts +40 -0
- package/dist/cjs/node-runtime.d.ts.map +1 -0
- package/dist/cjs/node-runtime.js +42 -0
- package/dist/cjs/node-runtime.js.map +1 -0
- package/dist/cjs/run-record.d.ts +130 -0
- package/dist/cjs/run-record.d.ts.map +1 -0
- package/dist/cjs/run-record.js +272 -0
- package/dist/cjs/run-record.js.map +1 -0
- package/dist/cjs/verify.d.ts +58 -0
- package/dist/cjs/verify.d.ts.map +1 -1
- package/dist/cjs/verify.js +277 -38
- package/dist/cjs/verify.js.map +1 -1
- package/dist/cjs/webhooks.d.ts +9 -2
- package/dist/cjs/webhooks.d.ts.map +1 -1
- package/dist/cjs/webhooks.js +29 -11
- package/dist/cjs/webhooks.js.map +1 -1
- package/dist/esm/audit-pack.d.ts +201 -0
- package/dist/esm/audit-pack.d.ts.map +1 -0
- package/dist/esm/audit-pack.js +858 -0
- package/dist/esm/audit-pack.js.map +1 -0
- package/dist/esm/cli.d.ts +52 -0
- package/dist/esm/cli.d.ts.map +1 -1
- package/dist/esm/cli.js +283 -11
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/client.d.ts +41 -1
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +108 -27
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/enclave-registration.d.ts +14 -2
- package/dist/esm/enclave-registration.d.ts.map +1 -1
- package/dist/esm/enclave-registration.js +14 -2
- package/dist/esm/enclave-registration.js.map +1 -1
- package/dist/esm/index.d.ts +46 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +64 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models.d.ts +28 -2
- package/dist/esm/models.d.ts.map +1 -1
- package/dist/esm/models.js +18 -1
- package/dist/esm/models.js.map +1 -1
- package/dist/esm/node-runtime.d.ts +40 -0
- package/dist/esm/node-runtime.d.ts.map +1 -0
- package/dist/esm/node-runtime.js +38 -0
- package/dist/esm/node-runtime.js.map +1 -0
- package/dist/esm/run-record.d.ts +130 -0
- package/dist/esm/run-record.d.ts.map +1 -0
- package/dist/esm/run-record.js +262 -0
- package/dist/esm/run-record.js.map +1 -0
- package/dist/esm/verify.d.ts +58 -0
- package/dist/esm/verify.d.ts.map +1 -1
- package/dist/esm/verify.js +270 -41
- package/dist/esm/verify.js.map +1 -1
- package/dist/esm/webhooks.d.ts +9 -2
- package/dist/esm/webhooks.d.ts.map +1 -1
- package/dist/esm/webhooks.js +29 -11
- package/dist/esm/webhooks.js.map +1 -1
- package/package.json +1 -1
- package/src/audit-pack.ts +1067 -0
- package/src/cli.ts +289 -10
- package/src/client.ts +132 -27
- package/src/enclave-registration.ts +14 -2
- package/src/index.ts +130 -1
- package/src/models.ts +47 -3
- package/src/node-runtime.ts +57 -0
- package/src/run-record.ts +371 -0
- package/src/verify.ts +301 -41
- package/src/webhooks.ts +28 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-pack.js","sourceRoot":"","sources":["../../src/audit-pack.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/cli.d.ts
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
import { type KeyListEvidence } from "./keys.js";
|
|
5
5
|
import { type AnchorResult } from "./anchor.js";
|
|
6
6
|
import { unwrapStatusStatement } from "./status-document.js";
|
|
7
|
+
import { chainAuditPackPages, type AuditPackResult } from "./audit-pack.js";
|
|
8
|
+
import { type RunCheckRecord, type RunRecord } from "./run-record.js";
|
|
7
9
|
import type { PublicKeyInfo } from "./verify.js";
|
|
8
10
|
export { unwrapStatusStatement };
|
|
9
11
|
type Cert = Record<string, unknown>;
|
|
@@ -31,6 +33,25 @@ export declare function loadKeys(path: string): Promise<{
|
|
|
31
33
|
keys: Map<string, PublicKeyInfo>;
|
|
32
34
|
keyList: KeyListEvidence;
|
|
33
35
|
}>;
|
|
36
|
+
/** Retrieve the SIGNED status statement for a certificate.
|
|
37
|
+
*
|
|
38
|
+
* It replaces a GET of /v1/certificates/{id}/revocation-status, which returned
|
|
39
|
+
* a bare {"status": "..."} with no signature over it. That answer was the API's
|
|
40
|
+
* word — or the word of whatever --api-url happened to point at — and this CLI
|
|
41
|
+
* printed it. Nothing about it was checkable, so a network attacker, a stale
|
|
42
|
+
* proxy or a wrong URL could suppress a revocation and the reader could not
|
|
43
|
+
* tell. Every field of this response that the verdict acts on is covered by the
|
|
44
|
+
* issuer's signature.
|
|
45
|
+
*
|
|
46
|
+
* No Authorization header is sent. The endpoint takes none, and sending an API
|
|
47
|
+
* key to an arbitrary --api-url is a credential leak the check never needed.
|
|
48
|
+
*
|
|
49
|
+
* Read under a 1 MiB cap and a total deadline, matching the anchor fetch
|
|
50
|
+
* (anchor.ts) and the Go CLI (cmd/cli/online.go): a status statement is a few
|
|
51
|
+
* hundred bytes, so anything near the cap is a misbehaving or hostile server.
|
|
52
|
+
* The AbortController bounds the whole fetch including the body read, which a
|
|
53
|
+
* server dripping bytes could otherwise hold open. Exported for testing. */
|
|
54
|
+
export declare function fetchStatusStatement(apiUrl: string, certId: string): Promise<StatusStatement>;
|
|
34
55
|
/** The pass/fail decision behind the exit code. A signature failure, a
|
|
35
56
|
* revocation, or a transparency FAILURE (thrown, not NOT_AVAILABLE) all make
|
|
36
57
|
* the certificate unusable. Revocation is no longer a separate input: it is
|
|
@@ -44,6 +65,37 @@ export declare function loadKeys(path: string): Promise<{
|
|
|
44
65
|
* and the statement still stands on its own signature. */
|
|
45
66
|
export declare function certVerdict(sigResult: string, transparencyFailed: boolean, anchor?: AnchorResult): boolean;
|
|
46
67
|
export declare function formatOutput(cert: Cert, sigResult: string, transparency: string, transparencyFailed: boolean, status: StatusStatement | undefined, online: boolean, anchor?: AnchorResult, keyList?: KeyListEvidence): string;
|
|
68
|
+
/** One page's block, laid out as docs/audit-pack.md specifies. Every line is
|
|
69
|
+
* evidence the verdict rests on, and the two that qualify it — where the keys
|
|
70
|
+
* came from, and whether another page exists — are printed on a VERIFIED page
|
|
71
|
+
* too, because that word says nothing about either. Exported for testing:
|
|
72
|
+
* docs/cli.md pins two of these blocks byte for byte. */
|
|
73
|
+
export declare function formatAuditPackOutput(fileName: string, result: AuditPackResult, opts: {
|
|
74
|
+
keysFile?: string;
|
|
75
|
+
online: boolean;
|
|
76
|
+
}): string;
|
|
77
|
+
/** The chain line printed after several pages. Exported for testing. */
|
|
78
|
+
export declare function formatAuditPackChain(chain: ReturnType<typeof chainAuditPackPages>): string;
|
|
79
|
+
/** What reproducing a run record's roots needs, collected across every page
|
|
80
|
+
* given: the subject hash and certificate id of every record the pages carry,
|
|
81
|
+
* and the record itself. A set of pages that carry different run records is
|
|
82
|
+
* not one run and is refused. Mirrors runAggregate in cmd/cli/auditpack.go. */
|
|
83
|
+
export interface RunAggregate {
|
|
84
|
+
record: RunRecord | null;
|
|
85
|
+
conflict: boolean;
|
|
86
|
+
records: RunCheckRecord[];
|
|
87
|
+
}
|
|
88
|
+
export declare function aggregateRun(agg: RunAggregate, result: AuditPackResult): void;
|
|
89
|
+
/** The run block that follows the pages, laid out as docs/cli.md pins it. ok
|
|
90
|
+
* is false when the run's roots could not be reproduced from a complete chain,
|
|
91
|
+
* or the pages disagree about which run they are. A shortfall against the
|
|
92
|
+
* declared list and a close after the deadline are reported, not refused:
|
|
93
|
+
* they are findings about the cycle, which is the auditor's question, not
|
|
94
|
+
* about the evidence. Mirrors formatRunCheck in cmd/cli/auditpack.go. */
|
|
95
|
+
export declare function formatRunCheck(agg: RunAggregate, complete: boolean): Promise<{
|
|
96
|
+
output: string;
|
|
97
|
+
ok: boolean;
|
|
98
|
+
}>;
|
|
47
99
|
/** Accept the raw API response too: GET /v1/certificates/{id} nests the
|
|
48
100
|
* signed certificate as data.certificate. Exported for testing. */
|
|
49
101
|
export declare function unwrapCertificate(parsed: Cert): Cert;
|
package/dist/esm/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AACA;mDACmD;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AACA;mDACmD;AAmBnD,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAuC,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAA0B,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,KAAK,EAAuB,aAAa,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpC;;0EAE0E;AAC1E,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA2E/C;;;;;;;;gCAQgC;AAChC,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtD,MAAM,CAIR;AAED;;;;;gEAKgE;AAChE,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC,CA+CpH;AAED;;;;;;;;;;;;;;;;;4EAiB4E;AAC5E,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAgBnG;AAuDD;;;;;;;;;;0DAU0D;AAC1D,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,YAAY,GACpE,OAAO,CAGT;AA+ID,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAChF,MAAM,EAAE,eAAe,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,YAAY,EAC3E,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAiHR;AAgFD;;;;yDAIyD;AACzD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACtF,MAAM,CAkFR;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,GAAG,MAAM,CAI1F;AAED;;;+EAG+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAO7E;AAED;;;;;yEAKyE;AACzE,wBAAsB,cAAc,CAClC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GACnC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CAgC1C;AAsDD;mEACmE;AACnE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAUpD"}
|
package/dist/esm/cli.js
CHANGED
|
@@ -3,18 +3,22 @@
|
|
|
3
3
|
* Exit codes: 0=valid, 1=invalid, 2=usage error */
|
|
4
4
|
import { readFile } from "node:fs/promises";
|
|
5
5
|
import { realpathSync } from "node:fs";
|
|
6
|
+
import { basename } from "node:path";
|
|
6
7
|
import { fileURLToPath } from "node:url";
|
|
7
8
|
import { nodeCrypto } from "./crypto-node.js";
|
|
8
9
|
import { CERTIFICATE_REVOKED, VerificationError } from "./errors.js";
|
|
9
|
-
import { formatTimestamp, issuingImage, publicKeyFromHex, registrationQualifier, verifyCertificateWithStatus, verifyTransparency, KNOWN_FORMAT_VERSIONS, VALID_REVOCATION_UNKNOWN, } from "./verify.js";
|
|
10
|
+
import { bytesToHex, formatTimestamp, issuingImage, publicKeyFromHex, registrationQualifier, verifyCertificateWithStatus, verifyTransparency, KNOWN_FORMAT_VERSIONS, VALID_REVOCATION_UNKNOWN, } from "./verify.js";
|
|
10
11
|
import { KEY_LIST_STALE, KEY_LIST_VALID, parseKeyListDocument, verifyKeyList, } from "./keys.js";
|
|
11
12
|
import { ANCHOR_INCONSISTENT, checkStatementAnchor } from "./anchor.js";
|
|
12
13
|
import { unwrapStatusStatement } from "./status-document.js";
|
|
14
|
+
import { chainAuditPackPages, verifyAuditPack } from "./audit-pack.js";
|
|
15
|
+
import { checkRunAgainstRecords } from "./run-record.js";
|
|
13
16
|
// Exported from here too: tests/cli-revocation-unknown.test.ts reads it as the
|
|
14
17
|
// CLI's own parser.
|
|
15
18
|
export { unwrapStatusStatement };
|
|
16
19
|
const USAGE = "Usage: burnledger check --cert <file> --keys <file> [--online --api-url <url>]\n" +
|
|
17
|
-
" [[--require-certified | --require-certified-system <system_id>...] --customer-key-id <id>...]\n"
|
|
20
|
+
" [[--require-certified | --require-certified-system <system_id>...] --customer-key-id <id>...]\n" +
|
|
21
|
+
" burnledger check --pack <file> [--pack <file>...] [--keys <file>] [--online --api-url <url>]\n";
|
|
18
22
|
function die(msg) { process.stderr.write(msg); process.exit(2); }
|
|
19
23
|
function parseArgs(argv) {
|
|
20
24
|
const args = argv.slice(2);
|
|
@@ -22,6 +26,7 @@ function parseArgs(argv) {
|
|
|
22
26
|
die(USAGE);
|
|
23
27
|
let certPath = "", keysPath = "", online = false, apiUrl = "";
|
|
24
28
|
let requireCertified = false;
|
|
29
|
+
const packPaths = [];
|
|
25
30
|
const systems = [];
|
|
26
31
|
const keyIds = [];
|
|
27
32
|
for (let i = 1; i < args.length; i++) {
|
|
@@ -29,6 +34,9 @@ function parseArgs(argv) {
|
|
|
29
34
|
if (a === "--cert") {
|
|
30
35
|
certPath = args[++i] ?? die("--cert requires a value\n");
|
|
31
36
|
}
|
|
37
|
+
else if (a === "--pack") {
|
|
38
|
+
packPaths.push(args[++i] ?? die("--pack requires a value\n"));
|
|
39
|
+
}
|
|
32
40
|
else if (a === "--keys") {
|
|
33
41
|
keysPath = args[++i] ?? die("--keys requires a value\n");
|
|
34
42
|
}
|
|
@@ -58,8 +66,19 @@ function parseArgs(argv) {
|
|
|
58
66
|
else
|
|
59
67
|
die(`Unknown argument: ${a}\n`);
|
|
60
68
|
}
|
|
61
|
-
|
|
69
|
+
// One record or a pack of them, never both: the two have different verdicts,
|
|
70
|
+
// different exit codes and different output, and a run that printed one
|
|
71
|
+
// after the other would leave a script reading the wrong first line.
|
|
72
|
+
if (packPaths.length > 0 && certPath)
|
|
73
|
+
die("--pack and --cert are alternatives; use one\n");
|
|
74
|
+
if (packPaths.length === 0 && (!certPath || !keysPath))
|
|
62
75
|
die("Both --cert and --keys are required.\n");
|
|
76
|
+
// The authorization policy is a question about one record's systems. Over a
|
|
77
|
+
// pack it would need a per-record answer the pack output has no line for,
|
|
78
|
+
// and refusing it is better than silently ignoring a flag that says "fail".
|
|
79
|
+
if (packPaths.length > 0 && (requireCertified || systems.length > 0 || keyIds.length > 0)) {
|
|
80
|
+
die("--require-certified, --require-certified-system and --customer-key-id are for a single --cert, not --pack\n");
|
|
81
|
+
}
|
|
63
82
|
// Every system, or these systems: asking for both is a mistake to name, not
|
|
64
83
|
// one to resolve silently in either direction.
|
|
65
84
|
if (requireCertified && systems.length > 0) {
|
|
@@ -80,7 +99,7 @@ function parseArgs(argv) {
|
|
|
80
99
|
}
|
|
81
100
|
}
|
|
82
101
|
const policy = keyIds.length > 0 ? { ...(systems.length > 0 ? { systems } : {}), customerKeyIds: keyIds } : undefined;
|
|
83
|
-
return { certPath, keysPath, online, apiUrl, policy };
|
|
102
|
+
return { certPath, packPaths, keysPath, online, apiUrl, policy };
|
|
84
103
|
}
|
|
85
104
|
/** Flag first, then environment — the precedence docs/cli.md promises and the
|
|
86
105
|
* Go CLI (cmd/cli/online.go resolveAPIBaseURL) implements. Exported for testing.
|
|
@@ -164,12 +183,64 @@ export async function loadKeys(path) {
|
|
|
164
183
|
* issuer's signature.
|
|
165
184
|
*
|
|
166
185
|
* No Authorization header is sent. The endpoint takes none, and sending an API
|
|
167
|
-
* key to an arbitrary --api-url is a credential leak the check never needed.
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
186
|
+
* key to an arbitrary --api-url is a credential leak the check never needed.
|
|
187
|
+
*
|
|
188
|
+
* Read under a 1 MiB cap and a total deadline, matching the anchor fetch
|
|
189
|
+
* (anchor.ts) and the Go CLI (cmd/cli/online.go): a status statement is a few
|
|
190
|
+
* hundred bytes, so anything near the cap is a misbehaving or hostile server.
|
|
191
|
+
* The AbortController bounds the whole fetch including the body read, which a
|
|
192
|
+
* server dripping bytes could otherwise hold open. Exported for testing. */
|
|
193
|
+
export async function fetchStatusStatement(apiUrl, certId) {
|
|
194
|
+
const url = `${apiUrl.replace(/\/+$/, "")}/v1/certificates/${certId}/status`;
|
|
195
|
+
const controller = new AbortController();
|
|
196
|
+
const timer = setTimeout(() => { controller.abort(); }, STATUS_FETCH_TIMEOUT_MS);
|
|
197
|
+
try {
|
|
198
|
+
const res = await fetch(url, { signal: controller.signal });
|
|
199
|
+
const body = await readCapped(res);
|
|
200
|
+
if (!res.ok)
|
|
201
|
+
throw new Error(`HTTP ${res.status}`);
|
|
202
|
+
try {
|
|
203
|
+
return unwrapStatusStatement(JSON.parse(body));
|
|
204
|
+
}
|
|
205
|
+
catch (e) {
|
|
206
|
+
throw new Error(`parse response: ${e instanceof Error ? e.message : String(e)}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
finally {
|
|
210
|
+
clearTimeout(timer);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/** How much of the status response to buffer (1 MiB) and how long the whole
|
|
214
|
+
* fetch may take (10 s), matching cmd/cli/online.go and anchor.ts. */
|
|
215
|
+
const MAX_STATUS_BYTES = 1 << 20;
|
|
216
|
+
const STATUS_FETCH_TIMEOUT_MS = 10_000;
|
|
217
|
+
/** Read a response body, stopping at the cap instead of buffering whatever a
|
|
218
|
+
* hostile server decides to send. The stream is cancelled on the way out, so an
|
|
219
|
+
* endless body costs one megabyte and not the process. */
|
|
220
|
+
async function readCapped(res) {
|
|
221
|
+
const reader = res.body?.getReader();
|
|
222
|
+
if (reader === undefined)
|
|
223
|
+
return "";
|
|
224
|
+
const chunks = [];
|
|
225
|
+
let total = 0;
|
|
226
|
+
for (;;) {
|
|
227
|
+
const { done, value } = await reader.read();
|
|
228
|
+
if (done)
|
|
229
|
+
break;
|
|
230
|
+
total += value.length;
|
|
231
|
+
if (total > MAX_STATUS_BYTES) {
|
|
232
|
+
await reader.cancel();
|
|
233
|
+
throw new Error(`read response: body exceeds ${MAX_STATUS_BYTES} bytes`);
|
|
234
|
+
}
|
|
235
|
+
chunks.push(value);
|
|
236
|
+
}
|
|
237
|
+
const joined = new Uint8Array(total);
|
|
238
|
+
let at = 0;
|
|
239
|
+
for (const c of chunks) {
|
|
240
|
+
joined.set(c, at);
|
|
241
|
+
at += c.length;
|
|
242
|
+
}
|
|
243
|
+
return new TextDecoder().decode(joined);
|
|
173
244
|
}
|
|
174
245
|
/** The verdicts a reader can act on, and therefore the ones that exit 0.
|
|
175
246
|
*
|
|
@@ -243,7 +314,7 @@ const REVOCATION_UNKNOWN_ONLINE = "no usable signed status statement — the iss
|
|
|
243
314
|
* enclave measurement was unattributable when the signature covers it.
|
|
244
315
|
* scripts/check-pcr0-signed-parity.py now pins this list to the Go function.
|
|
245
316
|
*/
|
|
246
|
-
const ENCLAVE_PCR0_SIGNED_IN = Object.freeze(["5.0", "6.0", "7.0", "8.0", "9.0"]);
|
|
317
|
+
const ENCLAVE_PCR0_SIGNED_IN = Object.freeze(["5.0", "6.0", "7.0", "8.0", "9.0", "10.0"]);
|
|
247
318
|
function signatureCoversEnclavePcr0(version) {
|
|
248
319
|
return ENCLAVE_PCR0_SIGNED_IN.includes(version);
|
|
249
320
|
}
|
|
@@ -514,6 +585,205 @@ function pushStatementEvidence(L, status) {
|
|
|
514
585
|
L.push(` Revocation log entry: #${String(status.revocation_log_index)}`);
|
|
515
586
|
}
|
|
516
587
|
}
|
|
588
|
+
/** One page's block, laid out as docs/audit-pack.md specifies. Every line is
|
|
589
|
+
* evidence the verdict rests on, and the two that qualify it — where the keys
|
|
590
|
+
* came from, and whether another page exists — are printed on a VERIFIED page
|
|
591
|
+
* too, because that word says nothing about either. Exported for testing:
|
|
592
|
+
* docs/cli.md pins two of these blocks byte for byte. */
|
|
593
|
+
export function formatAuditPackOutput(fileName, result, opts) {
|
|
594
|
+
const name = basename(fileName);
|
|
595
|
+
if (result.verdict === "UNREADABLE")
|
|
596
|
+
return `Audit pack ${name}: UNREADABLE (${result.reason})\n`;
|
|
597
|
+
// Every readable result carries a header; the scanner refuses a page
|
|
598
|
+
// without one before a verdict is reached.
|
|
599
|
+
const header = result.header;
|
|
600
|
+
const L = [];
|
|
601
|
+
L.push(`Audit pack ${name}: ${result.verdict}`);
|
|
602
|
+
L.push(` Format: ${header.format}`);
|
|
603
|
+
L.push(` Generated: ${header.generatedAt}`);
|
|
604
|
+
L.push(` Records: ${result.records - result.failed.length} verified, ${result.failed.length} refused`);
|
|
605
|
+
L.push(` Not yet in the log: ${result.notIncluded}`);
|
|
606
|
+
L.push(` Labeled revoked by the issuer: ${result.revoked} (unsigned; re-run with --online to evidence)`);
|
|
607
|
+
if (opts.online) {
|
|
608
|
+
L.push(` Revoked by signed statement: ${result.statusRevoked} of ${result.statusChecked} checked`);
|
|
609
|
+
if (result.statusRevoked > 0) {
|
|
610
|
+
L.push(" Revoked:");
|
|
611
|
+
for (const id of result.revokedIds)
|
|
612
|
+
L.push(` ${id}`);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
L.push(result.keysFromPack
|
|
616
|
+
? " Keys: from the pack itself (trust on first use; pass --keys to pin them)"
|
|
617
|
+
: ` Keys: from ${basename(opts.keysFile ?? "")}`);
|
|
618
|
+
const treeSize = header.logHead?.tree_size ?? 0;
|
|
619
|
+
switch (result.logHead) {
|
|
620
|
+
case "VALID":
|
|
621
|
+
L.push(` Log head: tree size ${treeSize}, signature VALID under ${result.logHeadKeyId}`);
|
|
622
|
+
break;
|
|
623
|
+
case "ABSENT":
|
|
624
|
+
L.push(" Log head: absent");
|
|
625
|
+
break;
|
|
626
|
+
case "INVALID_SIGNATURE":
|
|
627
|
+
L.push(` Log head: tree size ${treeSize}, signature INVALID_SIGNATURE (no key in use signed it)`);
|
|
628
|
+
break;
|
|
629
|
+
case "UNREADABLE":
|
|
630
|
+
L.push(" Log head: unreadable");
|
|
631
|
+
break;
|
|
632
|
+
}
|
|
633
|
+
L.push(` Digest: sha256:${result.digest}`);
|
|
634
|
+
if (result.run !== null) {
|
|
635
|
+
let inclusion = "not yet in the log";
|
|
636
|
+
if (result.runInclusion === "VALID") {
|
|
637
|
+
// VALID is only reached through a proof, whose entry_index the
|
|
638
|
+
// inclusion check read as an exact integer.
|
|
639
|
+
inclusion = `in the log at index ${String(result.run.transparency.entry_index)}`;
|
|
640
|
+
}
|
|
641
|
+
else if (result.runInclusion !== "NOT_INCLUDED") {
|
|
642
|
+
inclusion = `inclusion ${result.runInclusion}`;
|
|
643
|
+
}
|
|
644
|
+
L.push(` Run record: ${result.runResult} under ${result.run.issuer.keyId}, ${inclusion}`);
|
|
645
|
+
}
|
|
646
|
+
switch (result.footerStatement) {
|
|
647
|
+
case "VALID":
|
|
648
|
+
// VALID is only reached through a footer that carries signed fields; the
|
|
649
|
+
// instant is printed as the file wrote it, as the Go CLI prints it.
|
|
650
|
+
L.push(` Footer: signed under ${result.footerKeyId} at ${result.footer.signed.statement_issued_at} ` +
|
|
651
|
+
"(count and digest attested by the issuer)");
|
|
652
|
+
break;
|
|
653
|
+
case "UNSIGNED":
|
|
654
|
+
L.push(" Footer: unsigned (count and digest are the issuer's unsigned word)");
|
|
655
|
+
break;
|
|
656
|
+
default:
|
|
657
|
+
L.push(` Footer: ${result.footerStatement}`);
|
|
658
|
+
}
|
|
659
|
+
if (result.footer === null) {
|
|
660
|
+
L.push(" Next page: unknown (no footer)");
|
|
661
|
+
}
|
|
662
|
+
else if (result.footer.nextCursor === null) {
|
|
663
|
+
L.push(" Next page: none");
|
|
664
|
+
}
|
|
665
|
+
else {
|
|
666
|
+
L.push(` Next page: ${result.footer.nextCursor} (more pages exist; this file alone is not the whole answer)`);
|
|
667
|
+
}
|
|
668
|
+
if (result.failed.length > 0) {
|
|
669
|
+
L.push(" Refused:");
|
|
670
|
+
for (const f of result.failed) {
|
|
671
|
+
L.push(f.certificateId === "" ? ` #${f.index}: ${f.reason}` : ` #${f.index} ${f.certificateId}: ${f.reason}`);
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
if (result.verdict !== "VERIFIED")
|
|
675
|
+
L.push(` Findings: ${result.reason}`);
|
|
676
|
+
return L.join("\n") + "\n";
|
|
677
|
+
}
|
|
678
|
+
/** The chain line printed after several pages. Exported for testing. */
|
|
679
|
+
export function formatAuditPackChain(chain) {
|
|
680
|
+
if (!chain.complete)
|
|
681
|
+
return `Pages: INCOMPLETE: ${chain.reason}\n`;
|
|
682
|
+
const names = chain.order.map((p) => p.name).join(", ");
|
|
683
|
+
return `Pages: ${chain.order.length} files chain into one complete answer: ${names}\n`;
|
|
684
|
+
}
|
|
685
|
+
export function aggregateRun(agg, result) {
|
|
686
|
+
if (result.run === null)
|
|
687
|
+
return;
|
|
688
|
+
if (agg.record === null)
|
|
689
|
+
agg.record = result.run;
|
|
690
|
+
else if (agg.record.runId !== result.run.runId)
|
|
691
|
+
agg.conflict = true;
|
|
692
|
+
for (let i = 0; i < result.runRecordIds.length; i++) {
|
|
693
|
+
agg.records.push({ certificateId: result.runRecordIds[i], subjectHash: result.runSubjects[i] });
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
/** The run block that follows the pages, laid out as docs/cli.md pins it. ok
|
|
697
|
+
* is false when the run's roots could not be reproduced from a complete chain,
|
|
698
|
+
* or the pages disagree about which run they are. A shortfall against the
|
|
699
|
+
* declared list and a close after the deadline are reported, not refused:
|
|
700
|
+
* they are findings about the cycle, which is the auditor's question, not
|
|
701
|
+
* about the evidence. Mirrors formatRunCheck in cmd/cli/auditpack.go. */
|
|
702
|
+
export async function formatRunCheck(agg, complete) {
|
|
703
|
+
if (agg.conflict)
|
|
704
|
+
return { output: "Run: INVALID: the pages carry records of different runs\n", ok: false };
|
|
705
|
+
const r = agg.record;
|
|
706
|
+
const L = [];
|
|
707
|
+
L.push(`Run ${r.runId}: ${r.runKind}`);
|
|
708
|
+
L.push(` Opened: ${r.openedAt}`);
|
|
709
|
+
const late = r.closedAt > r.notAfter ? " (AFTER the declared deadline)" : "";
|
|
710
|
+
L.push(` Closed: ${r.closedAt}, deadline ${r.notAfter}${late}`);
|
|
711
|
+
L.push(` Declared list: ${r.listCount} entries, sha256:${bytesToHex(r.listDigest)} ` +
|
|
712
|
+
"(the customer's assertion; the enclave never sees the list)");
|
|
713
|
+
L.push(` Issued under the run: ${r.recordsCount} records over ${r.subjectsCount} distinct subjects`);
|
|
714
|
+
if (!complete) {
|
|
715
|
+
L.push(" Roots: NOT CHECKED (the pages do not chain into the whole run; every page is needed to reproduce the roots)");
|
|
716
|
+
return { output: L.join("\n") + "\n", ok: false };
|
|
717
|
+
}
|
|
718
|
+
const check = await checkRunAgainstRecords(nodeCrypto, r, agg.records);
|
|
719
|
+
const ok = check.recordsMatch && check.subjectsMatch;
|
|
720
|
+
L.push(ok
|
|
721
|
+
? ` Roots: REPRODUCED from the ${agg.records.length} records in these pages`
|
|
722
|
+
: ` Roots: MISMATCH: the ${agg.records.length} records in these pages do not reproduce the record's roots`);
|
|
723
|
+
if (check.listShortfall > 0) {
|
|
724
|
+
L.push(` Shortfall: ${check.listShortfall} listed subjects have no record in this run`);
|
|
725
|
+
}
|
|
726
|
+
else if (check.listShortfall < 0) {
|
|
727
|
+
L.push(` Shortfall: none; ${-check.listShortfall} more subjects than the list declared`);
|
|
728
|
+
}
|
|
729
|
+
else {
|
|
730
|
+
L.push(" Shortfall: none; every listed subject has a record");
|
|
731
|
+
}
|
|
732
|
+
return { output: L.join("\n") + "\n", ok };
|
|
733
|
+
}
|
|
734
|
+
/** `--pack`: each file verified on its own, then the set checked to chain.
|
|
735
|
+
* Exit 0 only when every page VERIFIED and the chain is complete — a single
|
|
736
|
+
* page whose footer names a next cursor is not the whole answer. An UNREADABLE
|
|
737
|
+
* page ends the run at 2, as an unreadable --cert does: no record was checked,
|
|
738
|
+
* and a page with no header has nothing to chain by. Mirrors runPackCheck in
|
|
739
|
+
* cmd/cli/auditpack.go. */
|
|
740
|
+
async function mainPack(args) {
|
|
741
|
+
let keys = null;
|
|
742
|
+
if (args.keysPath)
|
|
743
|
+
keys = (await loadKeys(args.keysPath)).keys;
|
|
744
|
+
// Step 8 per record, with the same absence of credentials as a single
|
|
745
|
+
// record. A statement that could not be had leaves that record at
|
|
746
|
+
// VALID_REVOCATION_UNKNOWN, as offline; the reader is told on stderr.
|
|
747
|
+
const status = args.online
|
|
748
|
+
? async (certId) => {
|
|
749
|
+
try {
|
|
750
|
+
return await fetchStatusStatement(args.apiUrl, certId);
|
|
751
|
+
}
|
|
752
|
+
catch (e) {
|
|
753
|
+
process.stderr.write(`warning: signed status statement unavailable for ${certId}: ${e instanceof Error ? e.message : String(e)}\n`);
|
|
754
|
+
return null;
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
: undefined;
|
|
758
|
+
const now = new Date();
|
|
759
|
+
const pages = [];
|
|
760
|
+
const run = { record: null, conflict: false, records: [] };
|
|
761
|
+
let refused = false;
|
|
762
|
+
for (const path of args.packPaths) {
|
|
763
|
+
const result = await verifyAuditPack(nodeCrypto, await readFile(path), keys, now, { status });
|
|
764
|
+
process.stdout.write(formatAuditPackOutput(path, result, { keysFile: args.keysPath, online: args.online }));
|
|
765
|
+
if (result.verdict === "UNREADABLE" || result.header === null)
|
|
766
|
+
process.exit(2);
|
|
767
|
+
if (result.verdict !== "VERIFIED")
|
|
768
|
+
refused = true;
|
|
769
|
+
pages.push({
|
|
770
|
+
name: basename(path),
|
|
771
|
+
cursor: result.header.cursor,
|
|
772
|
+
nextCursor: result.footer?.nextCursor ?? null,
|
|
773
|
+
});
|
|
774
|
+
aggregateRun(run, result);
|
|
775
|
+
}
|
|
776
|
+
const chain = chainAuditPackPages(pages);
|
|
777
|
+
if (args.packPaths.length > 1)
|
|
778
|
+
process.stdout.write(formatAuditPackChain(chain));
|
|
779
|
+
if (run.record !== null) {
|
|
780
|
+
const { output, ok } = await formatRunCheck(run, chain.complete);
|
|
781
|
+
process.stdout.write(output);
|
|
782
|
+
if (!ok)
|
|
783
|
+
refused = true;
|
|
784
|
+
}
|
|
785
|
+
process.exit(refused || !chain.complete ? 1 : 0);
|
|
786
|
+
}
|
|
517
787
|
/** Accept the raw API response too: GET /v1/certificates/{id} nests the
|
|
518
788
|
* signed certificate as data.certificate. Exported for testing. */
|
|
519
789
|
export function unwrapCertificate(parsed) {
|
|
@@ -528,6 +798,8 @@ export function unwrapCertificate(parsed) {
|
|
|
528
798
|
}
|
|
529
799
|
async function main() {
|
|
530
800
|
const args = parseArgs(process.argv);
|
|
801
|
+
if (args.packPaths.length > 0)
|
|
802
|
+
return mainPack(args);
|
|
531
803
|
const parsed = JSON.parse(await readFile(args.certPath, "utf-8"));
|
|
532
804
|
// No record to give a verdict about. Go's loader refuses the same file at
|
|
533
805
|
// unmarshal and exits 2, as this does.
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|