burnledger 0.8.1 → 0.9.1
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 +144 -2
- package/dist/cjs/anchor.d.ts +5 -3
- package/dist/cjs/anchor.d.ts.map +1 -1
- package/dist/cjs/anchor.js +10 -4
- package/dist/cjs/anchor.js.map +1 -1
- package/dist/cjs/client.d.ts +95 -0
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +175 -54
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/customer-keys.d.ts +73 -1
- package/dist/cjs/customer-keys.d.ts.map +1 -1
- package/dist/cjs/customer-keys.js +329 -3
- package/dist/cjs/customer-keys.js.map +1 -1
- package/dist/cjs/enclave-registration.d.ts +165 -0
- package/dist/cjs/enclave-registration.d.ts.map +1 -0
- package/dist/cjs/enclave-registration.js +287 -0
- package/dist/cjs/enclave-registration.js.map +1 -0
- package/dist/cjs/enclave-seal.d.ts +43 -0
- package/dist/cjs/enclave-seal.d.ts.map +1 -1
- package/dist/cjs/enclave-seal.js +62 -1
- package/dist/cjs/enclave-seal.js.map +1 -1
- package/dist/cjs/errors.d.ts +10 -0
- package/dist/cjs/errors.d.ts.map +1 -1
- package/dist/cjs/errors.js +11 -1
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/index.browser.d.ts +7 -3
- package/dist/cjs/index.browser.d.ts.map +1 -1
- package/dist/cjs/index.browser.js +6 -3
- package/dist/cjs/index.browser.js.map +1 -1
- package/dist/cjs/index.d.ts +22 -10
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +75 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/key-group.d.ts +80 -0
- package/dist/cjs/key-group.d.ts.map +1 -0
- package/dist/cjs/key-group.js +136 -0
- package/dist/cjs/key-group.js.map +1 -0
- package/dist/cjs/models.d.ts +60 -0
- package/dist/cjs/models.d.ts.map +1 -1
- package/dist/cjs/models.js +63 -0
- 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/status-document.d.ts +25 -0
- package/dist/cjs/status-document.d.ts.map +1 -0
- package/dist/cjs/status-document.js +62 -0
- package/dist/cjs/status-document.js.map +1 -0
- package/dist/cjs/verify.d.ts +108 -3
- package/dist/cjs/verify.d.ts.map +1 -1
- package/dist/cjs/verify.js +451 -171
- package/dist/cjs/verify.js.map +1 -1
- package/dist/cjs/web-verifier.d.ts +23 -3
- package/dist/cjs/web-verifier.d.ts.map +1 -1
- package/dist/cjs/web-verifier.js +31 -5
- package/dist/cjs/web-verifier.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/anchor.d.ts +5 -3
- package/dist/esm/anchor.d.ts.map +1 -1
- package/dist/esm/anchor.js +10 -4
- package/dist/esm/anchor.js.map +1 -1
- package/dist/esm/cli.d.ts +30 -17
- package/dist/esm/cli.d.ts.map +1 -1
- package/dist/esm/cli.js +142 -83
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/client.d.ts +95 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +175 -21
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/customer-keys.d.ts +73 -1
- package/dist/esm/customer-keys.d.ts.map +1 -1
- package/dist/esm/customer-keys.js +323 -3
- package/dist/esm/customer-keys.js.map +1 -1
- package/dist/esm/enclave-registration.d.ts +165 -0
- package/dist/esm/enclave-registration.d.ts.map +1 -0
- package/dist/esm/enclave-registration.js +277 -0
- package/dist/esm/enclave-registration.js.map +1 -0
- package/dist/esm/enclave-seal.d.ts +43 -0
- package/dist/esm/enclave-seal.d.ts.map +1 -1
- package/dist/esm/enclave-seal.js +61 -1
- package/dist/esm/enclave-seal.js.map +1 -1
- package/dist/esm/errors.d.ts +10 -0
- package/dist/esm/errors.d.ts.map +1 -1
- package/dist/esm/errors.js +10 -0
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/index.browser.d.ts +7 -3
- package/dist/esm/index.browser.d.ts.map +1 -1
- package/dist/esm/index.browser.js +6 -3
- package/dist/esm/index.browser.js.map +1 -1
- package/dist/esm/index.d.ts +22 -10
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +30 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/key-group.d.ts +80 -0
- package/dist/esm/key-group.d.ts.map +1 -0
- package/dist/esm/key-group.js +130 -0
- package/dist/esm/key-group.js.map +1 -0
- package/dist/esm/models.d.ts +60 -0
- package/dist/esm/models.d.ts.map +1 -1
- package/dist/esm/models.js +59 -0
- 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/status-document.d.ts +25 -0
- package/dist/esm/status-document.d.ts.map +1 -0
- package/dist/esm/status-document.js +59 -0
- package/dist/esm/status-document.js.map +1 -0
- package/dist/esm/verify.d.ts +108 -3
- package/dist/esm/verify.d.ts.map +1 -1
- package/dist/esm/verify.js +448 -171
- package/dist/esm/verify.js.map +1 -1
- package/dist/esm/web-verifier.d.ts +23 -3
- package/dist/esm/web-verifier.d.ts.map +1 -1
- package/dist/esm/web-verifier.js +27 -5
- package/dist/esm/web-verifier.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/anchor.ts +10 -4
- package/src/cli.ts +145 -78
- package/src/client.ts +241 -25
- package/src/customer-keys.ts +373 -3
- package/src/enclave-registration.ts +402 -0
- package/src/enclave-seal.ts +108 -1
- package/src/errors.ts +11 -0
- package/src/index.browser.ts +9 -3
- package/src/index.ts +48 -6
- package/src/key-group.ts +181 -0
- package/src/models.ts +131 -0
- package/src/node-runtime.ts +57 -0
- package/src/status-document.ts +59 -0
- package/src/verify.ts +565 -177
- package/src/web-verifier.ts +36 -3
- package/src/webhooks.ts +28 -11
package/dist/cjs/client.js
CHANGED
|
@@ -4,45 +4,16 @@
|
|
|
4
4
|
* Single class — Node.js is all-async, no sync/async split needed.
|
|
5
5
|
* Pagination uses AsyncIterable<T> via Paginator.
|
|
6
6
|
*/
|
|
7
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
-
if (k2 === undefined) k2 = k;
|
|
9
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(o, k2, desc);
|
|
14
|
-
}) : (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
o[k2] = m[k];
|
|
17
|
-
}));
|
|
18
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
-
}) : function(o, v) {
|
|
21
|
-
o["default"] = v;
|
|
22
|
-
});
|
|
23
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
-
var ownKeys = function(o) {
|
|
25
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
-
var ar = [];
|
|
27
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
-
return ar;
|
|
29
|
-
};
|
|
30
|
-
return ownKeys(o);
|
|
31
|
-
};
|
|
32
|
-
return function (mod) {
|
|
33
|
-
if (mod && mod.__esModule) return mod;
|
|
34
|
-
var result = {};
|
|
35
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
-
__setModuleDefault(result, mod);
|
|
37
|
-
return result;
|
|
38
|
-
};
|
|
39
|
-
})();
|
|
40
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
8
|
exports.BurnLedger = exports.MAX_BATCH_REVOKE = void 0;
|
|
42
9
|
const errors_js_1 = require("./errors.js");
|
|
43
10
|
const http_js_1 = require("./http.js");
|
|
44
11
|
const models_js_1 = require("./models.js");
|
|
45
12
|
const pagination_js_1 = require("./pagination.js");
|
|
13
|
+
// Node-only work (enrolment, registration, savePdf) is reached through here, not
|
|
14
|
+
// by naming the Node modules — so the browser entry that shares this class never
|
|
15
|
+
// pulls node:crypto or node:fs into a bundle. See node-runtime.ts.
|
|
16
|
+
const node_runtime_js_1 = require("./node-runtime.js");
|
|
46
17
|
/** Per-call cap on POST /v1/certificates/batch-revoke, the same 100 the
|
|
47
18
|
* server enforces (service.maxBatchRevoke). Chunk larger sets by this. */
|
|
48
19
|
exports.MAX_BATCH_REVOKE = 100;
|
|
@@ -67,11 +38,17 @@ class BurnLedger {
|
|
|
67
38
|
}
|
|
68
39
|
// --- Systems ---
|
|
69
40
|
async registerSystem(opts) {
|
|
70
|
-
const
|
|
41
|
+
const sealed = opts.sealedConnectionConfig;
|
|
42
|
+
if (sealed !== undefined &&
|
|
43
|
+
(opts.connectionConfig !== undefined || opts.dsn !== undefined || opts.uri !== undefined)) {
|
|
44
|
+
throw new Error("Cannot provide both sealedConnectionConfig and connectionConfig/dsn/uri.");
|
|
45
|
+
}
|
|
71
46
|
const body = {
|
|
72
47
|
name: opts.name,
|
|
73
48
|
connector_type: opts.connectorType,
|
|
74
|
-
|
|
49
|
+
...(sealed === undefined
|
|
50
|
+
? { connection_config: resolveConnectionConfig(opts.connectionConfig, opts.dsn, opts.uri) }
|
|
51
|
+
: { sealed_connection_config: bytesToBase64(sealed) }),
|
|
75
52
|
subject_query: opts.subjectQuery,
|
|
76
53
|
hash_scope: opts.hashScope ?? "existence",
|
|
77
54
|
phi_in_scope: opts.phiInScope ?? false,
|
|
@@ -85,7 +62,7 @@ class BurnLedger {
|
|
|
85
62
|
return (0, models_js_1.parseSystem)(data);
|
|
86
63
|
}
|
|
87
64
|
async getSystem(systemId) {
|
|
88
|
-
const data = await this.transport.request("GET", `/v1/systems/${systemId}`);
|
|
65
|
+
const data = await this.transport.request("GET", `/v1/systems/${encodeId(systemId)}`);
|
|
89
66
|
return (0, models_js_1.parseSystem)(data);
|
|
90
67
|
}
|
|
91
68
|
listSystems(opts) {
|
|
@@ -94,10 +71,10 @@ class BurnLedger {
|
|
|
94
71
|
});
|
|
95
72
|
}
|
|
96
73
|
async deregisterSystem(systemId) {
|
|
97
|
-
await this.transport.request("DELETE", `/v1/systems/${systemId}`);
|
|
74
|
+
await this.transport.request("DELETE", `/v1/systems/${encodeId(systemId)}`);
|
|
98
75
|
}
|
|
99
76
|
async healthCheck(systemId) {
|
|
100
|
-
const data = await this.transport.request("POST", `/v1/systems/${systemId}/health-check`);
|
|
77
|
+
const data = await this.transport.request("POST", `/v1/systems/${encodeId(systemId)}/health-check`);
|
|
101
78
|
return (0, models_js_1.parseSystem)(data);
|
|
102
79
|
}
|
|
103
80
|
// --- Attestations ---
|
|
@@ -117,7 +94,7 @@ class BurnLedger {
|
|
|
117
94
|
return (0, models_js_1.parseAttestation)(data);
|
|
118
95
|
}
|
|
119
96
|
async getAttestation(attestationId) {
|
|
120
|
-
const data = await this.transport.request("GET", `/v1/attestations/${attestationId}`);
|
|
97
|
+
const data = await this.transport.request("GET", `/v1/attestations/${encodeId(attestationId)}`);
|
|
121
98
|
return (0, models_js_1.parseAttestation)(data);
|
|
122
99
|
}
|
|
123
100
|
async waitFor(attestationId, opts) {
|
|
@@ -131,7 +108,7 @@ class BurnLedger {
|
|
|
131
108
|
}
|
|
132
109
|
async verify(attestationId, subjectIdentifier, opts) {
|
|
133
110
|
const body = { subject_identifier: subjectIdentifier };
|
|
134
|
-
const data = await this.transport.request("POST", `/v1/attestations/${attestationId}/verify`, { json: body });
|
|
111
|
+
const data = await this.transport.request("POST", `/v1/attestations/${encodeId(attestationId)}/verify`, { json: body });
|
|
135
112
|
const result = (0, models_js_1.parseVerifyResult)(data);
|
|
136
113
|
const timeout = opts?.timeout ?? 0;
|
|
137
114
|
if (timeout <= 0 || result.status === "CERTIFIED") {
|
|
@@ -139,7 +116,7 @@ class BurnLedger {
|
|
|
139
116
|
}
|
|
140
117
|
return poll({
|
|
141
118
|
fetch: async () => {
|
|
142
|
-
const d = await this.transport.request("POST", `/v1/attestations/${attestationId}/verify`, { json: body });
|
|
119
|
+
const d = await this.transport.request("POST", `/v1/attestations/${encodeId(attestationId)}/verify`, { json: body });
|
|
143
120
|
return (0, models_js_1.parseVerifyResult)(d);
|
|
144
121
|
},
|
|
145
122
|
done: (r) => r.status === "CERTIFIED",
|
|
@@ -162,26 +139,26 @@ class BurnLedger {
|
|
|
162
139
|
}
|
|
163
140
|
// --- Certificates ---
|
|
164
141
|
async getCertificate(certificateId) {
|
|
165
|
-
const data = await this.transport.request("GET", `/v1/certificates/${certificateId}`);
|
|
142
|
+
const data = await this.transport.request("GET", `/v1/certificates/${encodeId(certificateId)}`);
|
|
166
143
|
return (0, models_js_1.parseCertificateResponse)(data);
|
|
167
144
|
}
|
|
168
145
|
listCertificates(opts) {
|
|
169
146
|
return new pagination_js_1.Paginator(this.transport, "/v1/certificates", models_js_1.parseCertificateResponse, { params: { limit: opts?.limit ?? 25 } });
|
|
170
147
|
}
|
|
171
148
|
async downloadPdf(certificateId) {
|
|
172
|
-
return this.transport.requestBytes("GET", `/v1/certificates/${certificateId}/pdf`);
|
|
149
|
+
return this.transport.requestBytes("GET", `/v1/certificates/${encodeId(certificateId)}/pdf`);
|
|
173
150
|
}
|
|
174
151
|
async savePdf(certificateId, path) {
|
|
175
152
|
const pdf = await this.downloadPdf(certificateId);
|
|
176
|
-
const { writeFile } = await
|
|
153
|
+
const { writeFile } = await (0, node_runtime_js_1.loadNodeRuntime)();
|
|
177
154
|
await writeFile(path, pdf);
|
|
178
155
|
}
|
|
179
156
|
async getRevocationStatus(certificateId) {
|
|
180
|
-
const data = await this.transport.request("GET", `/v1/certificates/${certificateId}/revocation-status`);
|
|
157
|
+
const data = await this.transport.request("GET", `/v1/certificates/${encodeId(certificateId)}/revocation-status`);
|
|
181
158
|
return (0, models_js_1.parseRevocationStatus)(data);
|
|
182
159
|
}
|
|
183
160
|
async revokeCertificate(certificateId, opts) {
|
|
184
|
-
const data = await this.transport.request("POST", `/v1/certificates/${certificateId}/revoke`, { json: { reason: opts.reason } });
|
|
161
|
+
const data = await this.transport.request("POST", `/v1/certificates/${encodeId(certificateId)}/revoke`, { json: { reason: opts.reason } });
|
|
185
162
|
return (0, models_js_1.parseCertificateResponse)(data);
|
|
186
163
|
}
|
|
187
164
|
/** Revokes up to MAX_BATCH_REVOKE records under one reason. Partial
|
|
@@ -226,23 +203,23 @@ class BurnLedger {
|
|
|
226
203
|
});
|
|
227
204
|
}
|
|
228
205
|
async deleteWebhook(webhookId) {
|
|
229
|
-
await this.transport.request("DELETE", `/v1/webhooks/${webhookId}`);
|
|
206
|
+
await this.transport.request("DELETE", `/v1/webhooks/${encodeId(webhookId)}`);
|
|
230
207
|
}
|
|
231
208
|
async rotateWebhookSecret(webhookId) {
|
|
232
|
-
const data = await this.transport.request("POST", `/v1/webhooks/${webhookId}/rotate-secret`);
|
|
209
|
+
const data = await this.transport.request("POST", `/v1/webhooks/${encodeId(webhookId)}/rotate-secret`);
|
|
233
210
|
return (0, models_js_1.parseWebhookRotateResponse)(data);
|
|
234
211
|
}
|
|
235
212
|
async commitWebhookRotation(webhookId) {
|
|
236
|
-
await this.transport.request("POST", `/v1/webhooks/${webhookId}/commit-rotation`);
|
|
213
|
+
await this.transport.request("POST", `/v1/webhooks/${encodeId(webhookId)}/commit-rotation`);
|
|
237
214
|
}
|
|
238
215
|
listFailedDeliveries(opts) {
|
|
239
216
|
return new pagination_js_1.Paginator(this.transport, "/v1/webhooks/deliveries/failed", models_js_1.parseWebhookDelivery, { params: { limit: opts?.limit ?? 25 } });
|
|
240
217
|
}
|
|
241
218
|
async retryDelivery(deliveryId) {
|
|
242
|
-
await this.transport.request("POST", `/v1/webhooks/deliveries/${deliveryId}/retry`);
|
|
219
|
+
await this.transport.request("POST", `/v1/webhooks/deliveries/${encodeId(deliveryId)}/retry`);
|
|
243
220
|
}
|
|
244
221
|
async resolveDelivery(deliveryId) {
|
|
245
|
-
await this.transport.request("DELETE", `/v1/webhooks/deliveries/${deliveryId}`);
|
|
222
|
+
await this.transport.request("DELETE", `/v1/webhooks/deliveries/${encodeId(deliveryId)}`);
|
|
246
223
|
}
|
|
247
224
|
// --- API Keys ---
|
|
248
225
|
listApiKeys(opts) {
|
|
@@ -260,7 +237,7 @@ class BurnLedger {
|
|
|
260
237
|
return (0, models_js_1.parseApiKeyResponse)(data);
|
|
261
238
|
}
|
|
262
239
|
async revokeApiKey(keyId) {
|
|
263
|
-
await this.transport.request("DELETE", `/v1/api-keys/${keyId}`);
|
|
240
|
+
await this.transport.request("DELETE", `/v1/api-keys/${encodeId(keyId)}`);
|
|
264
241
|
}
|
|
265
242
|
// --- Profile ---
|
|
266
243
|
async getMe() {
|
|
@@ -278,9 +255,125 @@ class BurnLedger {
|
|
|
278
255
|
async deleteMe() {
|
|
279
256
|
await this.transport.request("DELETE", "/v1/me");
|
|
280
257
|
}
|
|
258
|
+
// --- Customer key groups and enclave registration (ADR-025; Node only) ---
|
|
259
|
+
//
|
|
260
|
+
// These load node:crypto on first use, lazily, because this class is also the
|
|
261
|
+
// browser entry's. ADR-025 §2 makes a client the customer runs locally the
|
|
262
|
+
// only place enrolment can happen, so a browser has no business here anyway.
|
|
263
|
+
// `teamId` is the team every signed payload binds; it is also sent as
|
|
264
|
+
// asserted_team_id, so naming the wrong team is a 403 that says so rather than
|
|
265
|
+
// an enclave 401 that cannot.
|
|
266
|
+
/**
|
|
267
|
+
* Verify the enclave: `GET /v1/enclave/attestation` over a 32-byte challenge
|
|
268
|
+
* drawn here (or `pin.nonce`), checked against the PCR0 you pinned out of band.
|
|
269
|
+
* Returns the keys the document binds. Throws EnclaveAttestationError on
|
|
270
|
+
* anything short of a document from the pinned image answering this challenge.
|
|
271
|
+
* Pass the result as `enclave` to the calls below: configs are sealed to it,
|
|
272
|
+
* and every document they return must verify under its signing key.
|
|
273
|
+
*/
|
|
274
|
+
async attestEnclaveIdentity(pin) {
|
|
275
|
+
const { registration: flow } = await (0, node_runtime_js_1.loadNodeRuntime)();
|
|
276
|
+
const { nonce, params } = flow.attestationParams(pin.nonce);
|
|
277
|
+
const data = await this.transport.request("GET", "/v1/enclave/attestation", {
|
|
278
|
+
params,
|
|
279
|
+
authenticated: false,
|
|
280
|
+
});
|
|
281
|
+
return flow.identityFromResponse(data, { ...pin, nonce });
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Enrol a key group for your team (ENROLL_KEY). Every member signs; the private
|
|
285
|
+
* keys stay with the signers. `notAfter` is the latest the authorization may
|
|
286
|
+
* end, signed by every member so a relayed copy of this request cannot renew
|
|
287
|
+
* it; it defaults to the enclave's 90-day maximum. Throws VerificationError
|
|
288
|
+
* unless both documents that come back verify under `enclave`'s signing key,
|
|
289
|
+
* name exactly this group — ADR-025 §2's one comparison — and your team, end
|
|
290
|
+
* exactly at `notAfter` and do not start after `now` (this machine's clock by default).
|
|
291
|
+
*/
|
|
292
|
+
async enrollKeyGroup(opts) {
|
|
293
|
+
const { registration: flow } = await (0, node_runtime_js_1.loadNodeRuntime)();
|
|
294
|
+
const { body, keyId, notAfter } = await flow.enrollBody(opts);
|
|
295
|
+
const data = await this.transport.request("POST", "/v1/enclave/keys", { json: body });
|
|
296
|
+
return flow.checkEnrollment(data, {
|
|
297
|
+
enclave: opts.enclave,
|
|
298
|
+
keyId,
|
|
299
|
+
prevKeyId: undefined,
|
|
300
|
+
teamId: opts.teamId,
|
|
301
|
+
notAfter,
|
|
302
|
+
now: opts.now,
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Replace an enrolled group with another (ROTATE_KEY). The OUTGOING group
|
|
307
|
+
* signs at its threshold and EVERY incoming member signs, over the same
|
|
308
|
+
* request and `notAfter`. Systems registered under the old group keep working
|
|
309
|
+
* through the link this issues; nothing is re-registered. The answer is checked
|
|
310
|
+
* as `enrollKeyGroup`'s is, and must also link to the outgoing group.
|
|
311
|
+
*/
|
|
312
|
+
async rotateKeyGroup(opts) {
|
|
313
|
+
const { registration: flow } = await (0, node_runtime_js_1.loadNodeRuntime)();
|
|
314
|
+
const { body, prevKeyId, nextKeyId, notAfter } = await flow.rotateBody(opts);
|
|
315
|
+
const data = await this.transport.request("POST", "/v1/enclave/keys/rotate", { json: body });
|
|
316
|
+
return flow.checkEnrollment(data, {
|
|
317
|
+
enclave: opts.enclave,
|
|
318
|
+
keyId: nextKeyId,
|
|
319
|
+
prevKeyId,
|
|
320
|
+
teamId: opts.teamId,
|
|
321
|
+
notAfter,
|
|
322
|
+
now: opts.now,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Register an existing system under your key group (REGISTER_SYSTEM), signed at
|
|
327
|
+
* the group's threshold. `config` must be the exact bytes submitted when the
|
|
328
|
+
* system was created, and `queryTemplate` the system's subject query exactly.
|
|
329
|
+
* The registration that comes back must verify under `enclave`'s signing key.
|
|
330
|
+
*/
|
|
331
|
+
async registerSystemWithKey(opts) {
|
|
332
|
+
const { registration: flow } = await (0, node_runtime_js_1.loadNodeRuntime)();
|
|
333
|
+
const { body, keyId, configDigest } = await flow.registrationBody(opts);
|
|
334
|
+
const data = await this.transport.request("POST", "/v1/enclave/registrations", { json: body });
|
|
335
|
+
return flow.checkRegistration(data, {
|
|
336
|
+
enclave: opts.enclave,
|
|
337
|
+
keyId,
|
|
338
|
+
systemId: opts.systemId,
|
|
339
|
+
configDigest,
|
|
340
|
+
connectorType: opts.connectorType,
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* ADR-025's whole customer path for a new system: seal the config to `enclave`
|
|
345
|
+
* (from {@link attestEnclaveIdentity}), create the system with only the sealed
|
|
346
|
+
* bytes, and register it under your key group.
|
|
347
|
+
*/
|
|
348
|
+
async createRegisteredSystem(opts) {
|
|
349
|
+
const { registration: flow, seal } = await (0, node_runtime_js_1.loadNodeRuntime)();
|
|
350
|
+
const config = flow.configBytes(resolveConnectionConfig(opts.connectionConfig, opts.dsn, opts.uri));
|
|
351
|
+
const system = await this.registerSystem({
|
|
352
|
+
name: opts.name,
|
|
353
|
+
connectorType: opts.connectorType,
|
|
354
|
+
subjectQuery: opts.subjectQuery,
|
|
355
|
+
hashScope: opts.hashScope,
|
|
356
|
+
phiInScope: opts.phiInScope,
|
|
357
|
+
maxRecords: opts.maxRecords,
|
|
358
|
+
maxBytes: opts.maxBytes,
|
|
359
|
+
queryTimeout: opts.queryTimeout,
|
|
360
|
+
sealedConnectionConfig: await seal.sealToKey(opts.enclave.configSealKey, config),
|
|
361
|
+
});
|
|
362
|
+
const registration = await this.registerSystemWithKey({
|
|
363
|
+
teamId: opts.teamId,
|
|
364
|
+
group: opts.group,
|
|
365
|
+
signers: opts.signers,
|
|
366
|
+
enclave: opts.enclave,
|
|
367
|
+
systemId: system.id,
|
|
368
|
+
config,
|
|
369
|
+
queryTemplate: opts.subjectQuery,
|
|
370
|
+
connectorType: opts.connectorType,
|
|
371
|
+
});
|
|
372
|
+
return { system, registration };
|
|
373
|
+
}
|
|
281
374
|
// --- System Health ---
|
|
282
375
|
async getSystemHealth(systemId) {
|
|
283
|
-
const data = await this.transport.request("GET", `/v1/systems/${systemId}/health`);
|
|
376
|
+
const data = await this.transport.request("GET", `/v1/systems/${encodeId(systemId)}/health`);
|
|
284
377
|
return (0, models_js_1.parseSystemHealth)(data);
|
|
285
378
|
}
|
|
286
379
|
// --- Transparency log (public, no auth) ---
|
|
@@ -320,6 +413,27 @@ exports.BurnLedger = BurnLedger;
|
|
|
320
413
|
// ---------------------------------------------------------------------------
|
|
321
414
|
// Connection config resolution
|
|
322
415
|
// ---------------------------------------------------------------------------
|
|
416
|
+
/** Percent-encode an id before it goes into a URL path, and refuse `.`/`..`.
|
|
417
|
+
*
|
|
418
|
+
* A raw id lets untrusted input escape its segment: `deregisterSystem("x/../../
|
|
419
|
+
* api-keys/k1")` would otherwise resolve to `DELETE /v1/api-keys/k1`.
|
|
420
|
+
* encodeURIComponent escapes the `/`, but it leaves `.` and `..` untouched, and
|
|
421
|
+
* a segment that IS `.` or `..` is still traversal — so those are rejected
|
|
422
|
+
* outright. An empty id is rejected too: it collapses two path segments into one. */
|
|
423
|
+
function encodeId(id) {
|
|
424
|
+
if (id === "" || id === "." || id === "..") {
|
|
425
|
+
throw new Error(`invalid id path segment: ${JSON.stringify(id)}`);
|
|
426
|
+
}
|
|
427
|
+
return encodeURIComponent(id);
|
|
428
|
+
}
|
|
429
|
+
/** Standard base64, as Go decodes a []byte field. No Buffer: this module is
|
|
430
|
+
* also the browser entry's. */
|
|
431
|
+
function bytesToBase64(bytes) {
|
|
432
|
+
let binary = "";
|
|
433
|
+
for (const b of bytes)
|
|
434
|
+
binary += String.fromCharCode(b);
|
|
435
|
+
return btoa(binary);
|
|
436
|
+
}
|
|
323
437
|
function resolveConnectionConfig(connectionConfig, dsn, uri) {
|
|
324
438
|
const convenience = (dsn !== undefined ? 1 : 0) + (uri !== undefined ? 1 : 0);
|
|
325
439
|
if (convenience > 0 && connectionConfig !== undefined) {
|
|
@@ -353,7 +467,14 @@ async function poll(opts) {
|
|
|
353
467
|
}
|
|
354
468
|
catch (err) {
|
|
355
469
|
if (err instanceof errors_js_1.RateLimitError && err.retryAfter !== undefined) {
|
|
356
|
-
|
|
470
|
+
const remaining = deadline - Date.now();
|
|
471
|
+
if (remaining <= 0) {
|
|
472
|
+
throw new errors_js_1.TimeoutError(opts.operation, elapsed);
|
|
473
|
+
}
|
|
474
|
+
// Bound the wait to the caller's remaining budget: a server asking for a
|
|
475
|
+
// day, or an Infinity Retry-After, must not block past the timeout the
|
|
476
|
+
// caller set (Math.min(Infinity, remaining) === remaining).
|
|
477
|
+
await sleep(Math.min(err.retryAfter * 1000, remaining));
|
|
357
478
|
continue;
|
|
358
479
|
}
|
|
359
480
|
throw err;
|
package/dist/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,11 @@ import type { CryptoOps } from "./crypto.js";
|
|
|
24
24
|
* in a log line at exactly the wrong moment.
|
|
25
25
|
*/
|
|
26
26
|
export declare const CUSTOMER_KEY_ID_PREFIX = "cust_k_";
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Mirrors core.PayloadTypeKeyRotationRequest. v2 carries not_after, which bounds
|
|
29
|
+
* the request itself; a protocol-12 enclave refuses v1.
|
|
30
|
+
*/
|
|
31
|
+
export declare const PAYLOAD_TYPE_KEY_ROTATION_REQUEST = "burnledger.key_rotation_request.v2";
|
|
28
32
|
/** Mirrors core.MaxCustomerKeyGroupMembers. */
|
|
29
33
|
export declare const MAX_CUSTOMER_KEY_GROUP_MEMBERS = 16;
|
|
30
34
|
/** A group that cannot be enrolled, for a reason stated in the message. */
|
|
@@ -55,6 +59,11 @@ export declare function memberFingerprints(crypto: CryptoOps, group: CustomerKey
|
|
|
55
59
|
* against, and it would never match anything.
|
|
56
60
|
*/
|
|
57
61
|
export declare function customerKeyId(crypto: CryptoOps, group: CustomerKeyGroup): Promise<string>;
|
|
62
|
+
/**
|
|
63
|
+
* A request's `not_after` as Go signs it (core.KeyTimeFormat): UTC, whole
|
|
64
|
+
* seconds, the fraction truncated as Go's Format truncates it.
|
|
65
|
+
*/
|
|
66
|
+
export declare function keyTime(value: Date): string;
|
|
58
67
|
/**
|
|
59
68
|
* The canonical bytes the OUTGOING group's members sign to authorise a rotation.
|
|
60
69
|
*
|
|
@@ -70,5 +79,68 @@ export declare function buildKeyRotationRequestPayload(request: {
|
|
|
70
79
|
assertedTeamId: string;
|
|
71
80
|
prevKeyId: string;
|
|
72
81
|
nextKeyId: string;
|
|
82
|
+
/**
|
|
83
|
+
* Bounds the request: the enclave ends the successor's window no later than
|
|
84
|
+
* this and refuses the request once it has passed, so a replay cannot renew
|
|
85
|
+
* the window. Signed as whole seconds, UTC.
|
|
86
|
+
*/
|
|
87
|
+
notAfter: Date;
|
|
88
|
+
}): Uint8Array;
|
|
89
|
+
/** Mirrors core.PayloadTypeKeyEnrollmentRequest. */
|
|
90
|
+
export declare const PAYLOAD_TYPE_KEY_ENROLLMENT_REQUEST = "burnledger.key_enrollment_request.v1";
|
|
91
|
+
/** Mirrors core.PayloadTypeSystemRegistrationRequest. */
|
|
92
|
+
export declare const PAYLOAD_TYPE_SYSTEM_REGISTRATION_REQUEST = "burnledger.system_registration_request.v1";
|
|
93
|
+
/**
|
|
94
|
+
* The canonical bytes EVERY member of a group signs to enrol it for a team.
|
|
95
|
+
*
|
|
96
|
+
* Port of core.BuildKeyEnrollmentRequestPayload. Without these signatures
|
|
97
|
+
* whoever relays the request could enrol public keys it does not hold — the
|
|
98
|
+
* customer's included — so the enclave demands one from each member, not a
|
|
99
|
+
* threshold: the statement it signs vouches for every key. `notAfter` is the
|
|
100
|
+
* latest the resulting authorization may end, and when the request itself stops
|
|
101
|
+
* being usable: the enclave cannot recognize a replay, so this is what keeps a
|
|
102
|
+
* relayed copy from renewing the window.
|
|
103
|
+
*/
|
|
104
|
+
export declare function buildKeyEnrollmentRequestPayload(request: {
|
|
105
|
+
assertedTeamId: string;
|
|
106
|
+
customerKeyId: string;
|
|
107
|
+
notAfter: Date;
|
|
108
|
+
}): Uint8Array;
|
|
109
|
+
/**
|
|
110
|
+
* The canonical bytes an enrolled group signs, at its threshold, to register one
|
|
111
|
+
* system under it.
|
|
112
|
+
*
|
|
113
|
+
* Port of core.BuildSystemRegistrationRequestPayload. Both digests are over bytes
|
|
114
|
+
* the CUSTOMER holds: `configDigest` is SHA-256 of the exact config bytes
|
|
115
|
+
* submitted when the system was created (the plaintext that was sealed), and
|
|
116
|
+
* `queryTemplateSha256` is SHA-256 of the template exactly as it will be sent —
|
|
117
|
+
* raw, not normalized. The enclave recomputes both from what it decrypted and
|
|
118
|
+
* was given, so a relay that substitutes either changes the bytes and the
|
|
119
|
+
* signatures fail.
|
|
120
|
+
*/
|
|
121
|
+
export declare function buildSystemRegistrationRequestPayload(request: {
|
|
122
|
+
assertedTeamId: string;
|
|
123
|
+
systemId: string;
|
|
124
|
+
configDigest: Uint8Array;
|
|
125
|
+
queryTemplateSha256: Uint8Array;
|
|
126
|
+
connectorType: string;
|
|
127
|
+
customerKeyId: string;
|
|
73
128
|
}): Uint8Array;
|
|
129
|
+
/**
|
|
130
|
+
* Verify the enclave's signature on a key enrolment statement (the `enrollment`
|
|
131
|
+
* object ENROLL_KEY and ROTATE_KEY return). Also refuses a statement whose
|
|
132
|
+
* `customer_key_id` is not the id its own group derives, as Go's payload
|
|
133
|
+
* builder does -- so a statement that verifies names exactly its members and
|
|
134
|
+
* threshold, and comparing its key id with yours compares those too.
|
|
135
|
+
*/
|
|
136
|
+
export declare function verifyKeyEnrollmentStatement(crypto: CryptoOps, statement: unknown, enclaveKey: Uint8Array): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Verify the enclave's signature on a team authorization (the `authorization`
|
|
139
|
+
* object ENROLL_KEY and ROTATE_KEY return). The signature only: whether it is
|
|
140
|
+
* in force now is a separate question, as in Go.
|
|
141
|
+
*/
|
|
142
|
+
export declare function verifyTeamAuthorization(crypto: CryptoOps, certificate: unknown, enclaveKey: Uint8Array): Promise<void>;
|
|
143
|
+
/** Verify the enclave's signature on a system registration (the
|
|
144
|
+
* `registration` object REGISTER_SYSTEM returns). */
|
|
145
|
+
export declare function verifySystemRegistration(crypto: CryptoOps, certificate: unknown, enclaveKey: Uint8Array): Promise<void>;
|
|
74
146
|
//# sourceMappingURL=customer-keys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customer-keys.d.ts","sourceRoot":"","sources":["../../src/customer-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"customer-keys.d.ts","sourceRoot":"","sources":["../../src/customer-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAShD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AAEtF,+CAA+C;AAC/C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAIjD,2EAA2E;AAC3E,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAMD,sEAAsE;AACtE,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wEAAwE;AACxE,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,6EAA6E;AAC7E,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAK3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE;IACtD,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,EAAE,IAAI,CAAC;CAChB,GAAG,UAAU,CAqBb;AAiED,oDAAoD;AACpD,eAAO,MAAM,mCAAmC,yCAAyC,CAAC;AAC1F,yDAAyD;AACzD,eAAO,MAAM,wCAAwC,8CAA8C,CAAC;AA0BpG;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,IAAI,CAAC;CAChB,GAAG,UAAU,CAQb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qCAAqC,CAAC,OAAO,EAAE;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,UAAU,CAAC;IACzB,mBAAmB,EAAE,UAAU,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,UAAU,CAab;AA2FD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,OAAO,EAClB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;qDACqD;AACrD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAaf"}
|