@scalebun/cli 2.0.1 → 2.0.2
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/lib/commands/ota-keys.d.ts +14 -0
- package/lib/commands/ota-keys.d.ts.map +1 -1
- package/lib/commands/ota-keys.js +89 -12
- package/lib/commands/ota-keys.js.map +1 -1
- package/lib/commands/quickstart.d.ts.map +1 -1
- package/lib/commands/quickstart.js +77 -7
- package/lib/commands/quickstart.js.map +1 -1
- package/lib/utils/apps.d.ts +9 -0
- package/lib/utils/apps.d.ts.map +1 -1
- package/lib/utils/apps.js +1 -1
- package/lib/utils/apps.js.map +1 -1
- package/lib/utils/trustAnchor.d.ts +51 -0
- package/lib/utils/trustAnchor.d.ts.map +1 -0
- package/lib/utils/trustAnchor.js +83 -0
- package/lib/utils/trustAnchor.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import * as crypto from 'crypto';
|
|
3
|
+
import { ApiClient } from '../api/client';
|
|
2
4
|
import { spkiFingerprint } from '../utils/signing';
|
|
3
5
|
/**
|
|
4
6
|
* OTA signing keys for SB-OTA-RSA-SHA256-V1 (RSA-3072 / SHA-256).
|
|
@@ -32,6 +34,18 @@ export declare function localPublicPem(keyDir?: string): string | null;
|
|
|
32
34
|
* created only inside an actual git repo. Returns a human-readable outcome.
|
|
33
35
|
*/
|
|
34
36
|
export declare function ensureKeyDirGitignored(outDir: string, cwd?: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Prove possession of a signing key without leaving the terminal.
|
|
39
|
+
*
|
|
40
|
+
* Registering a public key only asserts "trust this key". Proving possession
|
|
41
|
+
* shows the caller actually holds the private half — and until that happens the
|
|
42
|
+
* key is not ACTIVE and every promote is refused as high-risk. It is not
|
|
43
|
+
* optional in practice, so it should not be a separate errand.
|
|
44
|
+
*
|
|
45
|
+
* The private key never leaves this machine: the server mints the bytes, we sign
|
|
46
|
+
* those exact bytes, and only the signature goes back.
|
|
47
|
+
*/
|
|
48
|
+
export declare function proveOwnership(client: ApiClient, appId: string, keyRowId: string, privateKey: crypto.KeyObject): Promise<boolean>;
|
|
35
49
|
export declare function registerOtaKeysCommand(ota: Command): void;
|
|
36
50
|
/** Re-export so callers can compute a fingerprint without importing signing.ts. */
|
|
37
51
|
export { spkiFingerprint };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ota-keys.d.ts","sourceRoot":"","sources":["../../src/commands/ota-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ota-keys.d.ts","sourceRoot":"","sources":["../../src/commands/ota-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AASjC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAwC,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEzF;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,OAAO,cAAc,CAAC;AACnC,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AACtD,eAAO,MAAM,eAAe,4BAA4B,CAAC;AACzD,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,MAAM,GAAE,MAAgB,GAAG,MAAM,CAE/D;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,MAAM,GAAE,MAAgB,GAAG,MAAM,GAAG,IAAI,CAStE;AAED,6CAA6C;AAC7C,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,MAAgB,GAAG,MAAM,GAAG,IAAI,CAG3E;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,MAAM,GAAE,MAAgB,GAAG,MAAM,GAAG,IAAI,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CA4B1F;AA2BD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,SAAS,GAC3B,OAAO,CAAC,OAAO,CAAC,CAalB;AAsHD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAkKzD;AA4MD,mFAAmF;AACnF,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
package/lib/commands/ota-keys.js
CHANGED
|
@@ -42,6 +42,7 @@ exports.readLocalKeyId = readLocalKeyId;
|
|
|
42
42
|
exports.readLocalPrivatePem = readLocalPrivatePem;
|
|
43
43
|
exports.localPublicPem = localPublicPem;
|
|
44
44
|
exports.ensureKeyDirGitignored = ensureKeyDirGitignored;
|
|
45
|
+
exports.proveOwnership = proveOwnership;
|
|
45
46
|
exports.registerOtaKeysCommand = registerOtaKeysCommand;
|
|
46
47
|
const crypto = __importStar(require("crypto"));
|
|
47
48
|
const fs = __importStar(require("fs"));
|
|
@@ -149,7 +150,26 @@ function defaultKeyId() {
|
|
|
149
150
|
return `key-${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}`;
|
|
150
151
|
}
|
|
151
152
|
async function registerPublicKey(client, appId, body) {
|
|
152
|
-
|
|
153
|
+
return client.post(`/saas/apps/${appId}/ota/signing-keys`, body);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Prove possession of a signing key without leaving the terminal.
|
|
157
|
+
*
|
|
158
|
+
* Registering a public key only asserts "trust this key". Proving possession
|
|
159
|
+
* shows the caller actually holds the private half — and until that happens the
|
|
160
|
+
* key is not ACTIVE and every promote is refused as high-risk. It is not
|
|
161
|
+
* optional in practice, so it should not be a separate errand.
|
|
162
|
+
*
|
|
163
|
+
* The private key never leaves this machine: the server mints the bytes, we sign
|
|
164
|
+
* those exact bytes, and only the signature goes back.
|
|
165
|
+
*/
|
|
166
|
+
async function proveOwnership(client, appId, keyRowId, privateKey) {
|
|
167
|
+
const opened = await client.post(`/saas/apps/${appId}/ota/signing-keys/${keyRowId}/challenges`, {});
|
|
168
|
+
const signature = crypto
|
|
169
|
+
.sign('sha256', Buffer.from(opened.payload, 'base64'), privateKey)
|
|
170
|
+
.toString('base64');
|
|
171
|
+
const res = await client.post(`/saas/apps/${appId}/ota/signing-keys/${keyRowId}/verify`, { challengeId: opened.challengeId, signature });
|
|
172
|
+
return res.verified !== false;
|
|
153
173
|
}
|
|
154
174
|
// ─── generate ─────────────────────────────────────────────────────────────────
|
|
155
175
|
async function runGenerate(opts) {
|
|
@@ -196,13 +216,43 @@ async function runGenerate(opts) {
|
|
|
196
216
|
}
|
|
197
217
|
const client = new client_1.ApiClient(creds);
|
|
198
218
|
try {
|
|
199
|
-
await registerPublicKey(client, appId, {
|
|
219
|
+
const row = await registerPublicKey(client, appId, {
|
|
200
220
|
publicKey: publicPem,
|
|
201
221
|
keyId,
|
|
202
222
|
algorithm: 'RSA_SHA256',
|
|
203
223
|
name: opts.name ?? `CLI ${new Date().toISOString().slice(0, 10)}`,
|
|
204
224
|
});
|
|
205
|
-
console.log('✅ Public key registered with ScaleBun
|
|
225
|
+
console.log('✅ Public key registered with ScaleBun.');
|
|
226
|
+
// Registration alone leaves the key UNVERIFIED, and an unverified key is
|
|
227
|
+
// refused at promote (`signing_key_ownership_unverified`). We are holding
|
|
228
|
+
// the private half at this exact moment, so finish the job here instead of
|
|
229
|
+
// sending the user to the dashboard to open a challenge by hand.
|
|
230
|
+
// Prefer the id the register call returned, but do not depend on its shape:
|
|
231
|
+
// fall back to matching our own public fingerprint against the app's keys,
|
|
232
|
+
// which is how `keys verify` resolves a row anyway.
|
|
233
|
+
const privateKeyObj = crypto.createPrivateKey(privatePem);
|
|
234
|
+
let rowId = row?.id;
|
|
235
|
+
if (!rowId) {
|
|
236
|
+
try {
|
|
237
|
+
rowId = await resolveKeyRowId(client, appId, undefined, crypto.createPublicKey(privateKeyObj));
|
|
238
|
+
}
|
|
239
|
+
catch { /* fall through to the manual hint below */ }
|
|
240
|
+
}
|
|
241
|
+
if (rowId) {
|
|
242
|
+
try {
|
|
243
|
+
const ok = await proveOwnership(client, appId, rowId, privateKeyObj);
|
|
244
|
+
console.log(ok
|
|
245
|
+
? '✅ Ownership proven — the key is ACTIVE and can sign releases.\n'
|
|
246
|
+
: '⚠️ Ownership was not confirmed; run `scalebun ota keys verify`.\n');
|
|
247
|
+
}
|
|
248
|
+
catch (err) {
|
|
249
|
+
console.log(chalk_1.default.yellow(`⚠️ Could not prove ownership automatically: ${err.message}`));
|
|
250
|
+
console.log(' Finish it with: scalebun ota keys verify\n');
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
console.log(chalk_1.default.dim(' Prove ownership with: scalebun ota keys verify\n'));
|
|
255
|
+
}
|
|
206
256
|
}
|
|
207
257
|
catch (err) {
|
|
208
258
|
console.log(chalk_1.default.yellow(`⚠️ Could not register the public key: ${err.message}`));
|
|
@@ -337,7 +387,7 @@ function registerOtaKeysCommand(ota) {
|
|
|
337
387
|
keys
|
|
338
388
|
.command('verify')
|
|
339
389
|
.description('Prove possession of a signing key private half (proof-of-possession)')
|
|
340
|
-
.
|
|
390
|
+
.option('--challenge <id>', 'Challenge id to answer. Omit to open one automatically (the usual case).')
|
|
341
391
|
.option('--private-key <path>', 'PKCS#8 private-key PEM (defaults to the local ./.scalebun key)')
|
|
342
392
|
.option('--app-id <id>', 'Scalebun app ID (resolved from scalebun.json when omitted)')
|
|
343
393
|
.option('--key-id <id>', 'Signing key ROW id (auto-resolved from the local key when omitted)')
|
|
@@ -429,15 +479,42 @@ async function runVerify(opts) {
|
|
|
429
479
|
return;
|
|
430
480
|
}
|
|
431
481
|
const keyRowId = await resolveKeyRowId(client, appId, opts.keyId, localPubKey);
|
|
432
|
-
//
|
|
482
|
+
// Either bytes the server already stored, or bytes it mints for us now. Either
|
|
483
|
+
// way they come FROM the server and are signed unmodified — nothing is invented
|
|
484
|
+
// locally, which is the whole point of proof-of-possession.
|
|
485
|
+
//
|
|
486
|
+
// `--challenge` used to be required, and only the dashboard could open one. That
|
|
487
|
+
// made a key registered from the CLI unverifiable from the CLI: you had to leave
|
|
488
|
+
// the terminal, find the key in the console, click through a wizard, and paste an
|
|
489
|
+
// id back. Worse, the challenge UI lived only inside the *register* wizard, so a
|
|
490
|
+
// key created by `ota keys generate` had no route to verification at all — and an
|
|
491
|
+
// unverified key is refused at promote (`signing_key_ownership_unverified`)
|
|
492
|
+
// forever. The endpoint was always callable with these same credentials; nothing
|
|
493
|
+
// but wiring was missing.
|
|
433
494
|
let challenge;
|
|
434
|
-
|
|
435
|
-
|
|
495
|
+
let challengeId = opts.challenge;
|
|
496
|
+
if (opts.challenge) {
|
|
497
|
+
try {
|
|
498
|
+
challenge = await client.get(`/saas/apps/${appId}/ota/signing-keys/${keyRowId}/challenges/${opts.challenge}`);
|
|
499
|
+
}
|
|
500
|
+
catch (err) {
|
|
501
|
+
(0, output_1.failFromError)('Could not fetch the challenge', err, [
|
|
502
|
+
'Check the challenge id and that it has not expired.',
|
|
503
|
+
]);
|
|
504
|
+
}
|
|
436
505
|
}
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
506
|
+
else {
|
|
507
|
+
try {
|
|
508
|
+
const opened = await client.post(`/saas/apps/${appId}/ota/signing-keys/${keyRowId}/challenges`, {});
|
|
509
|
+
challenge = { payload: opened.payload, expiresAt: opened.expiresAt };
|
|
510
|
+
challengeId = opened.challengeId;
|
|
511
|
+
}
|
|
512
|
+
catch (err) {
|
|
513
|
+
(0, output_1.failFromError)('Could not open a verification challenge', err, [
|
|
514
|
+
'You need the ota.keys.verify permission on this app.',
|
|
515
|
+
'Or pass --challenge <id> for one opened from the dashboard.',
|
|
516
|
+
]);
|
|
517
|
+
}
|
|
441
518
|
}
|
|
442
519
|
if (challenge.consumed) {
|
|
443
520
|
(0, output_1.fail)('This challenge was already used.', ['Request a fresh challenge and retry.'], output_1.ExitCode.Rejected);
|
|
@@ -447,7 +524,7 @@ async function runVerify(opts) {
|
|
|
447
524
|
.toString('base64');
|
|
448
525
|
let result;
|
|
449
526
|
try {
|
|
450
|
-
result = await client.post(`/saas/apps/${appId}/ota/signing-keys/${keyRowId}/verify`, { challengeId
|
|
527
|
+
result = await client.post(`/saas/apps/${appId}/ota/signing-keys/${keyRowId}/verify`, { challengeId, signature });
|
|
451
528
|
}
|
|
452
529
|
catch (err) {
|
|
453
530
|
(0, output_1.failFromError)('Ownership verification failed', err, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ota-keys.js","sourceRoot":"","sources":["../../src/commands/ota-keys.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ota-keys.js","sourceRoot":"","sources":["../../src/commands/ota-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiDpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsF1D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmThE"}
|
|
@@ -44,10 +44,13 @@ const readline = __importStar(require("readline"));
|
|
|
44
44
|
const chalk_1 = __importDefault(require("chalk"));
|
|
45
45
|
const credentials_1 = require("../utils/credentials");
|
|
46
46
|
const client_1 = require("../api/client");
|
|
47
|
+
const crypto = __importStar(require("crypto"));
|
|
47
48
|
const apps_1 = require("../utils/apps");
|
|
49
|
+
const trustAnchor_1 = require("../utils/trustAnchor");
|
|
50
|
+
const ota_keys_1 = require("./ota-keys");
|
|
48
51
|
const login_1 = require("./login");
|
|
49
52
|
const doctor_1 = require("./doctor");
|
|
50
|
-
const
|
|
53
|
+
const ota_keys_2 = require("./ota-keys");
|
|
51
54
|
const signing_1 = require("../utils/signing");
|
|
52
55
|
const sdkBin_1 = require("../utils/sdkBin");
|
|
53
56
|
const context_1 = require("../utils/context");
|
|
@@ -174,6 +177,10 @@ function registerQuickstartCommand(program) {
|
|
|
174
177
|
step(2, 'Pick your app');
|
|
175
178
|
let appId = opts.appId ?? null;
|
|
176
179
|
let appLabel = appId ?? '';
|
|
180
|
+
// Needed to write the native trust anchor in step 4. It is NOT the appId:
|
|
181
|
+
// the device verifier compares the signed release's projectId against the
|
|
182
|
+
// embedded one and refuses on PROJECT_MISMATCH.
|
|
183
|
+
let projectId = null;
|
|
177
184
|
if (!appId) {
|
|
178
185
|
const entries = await (0, apps_1.fetchAllApps)(client);
|
|
179
186
|
if (!entries.length) {
|
|
@@ -184,6 +191,7 @@ function registerQuickstartCommand(program) {
|
|
|
184
191
|
if (entries.length === 1) {
|
|
185
192
|
appId = entries[0].app.id;
|
|
186
193
|
appLabel = entries[0].app.name;
|
|
194
|
+
projectId = entries[0].projectId;
|
|
187
195
|
console.log(`✅ Using your only app: ${appLabel} (${appId})`);
|
|
188
196
|
}
|
|
189
197
|
else {
|
|
@@ -192,9 +200,25 @@ function registerQuickstartCommand(program) {
|
|
|
192
200
|
const chosen = entries[Math.min(Math.max(n, 1), entries.length) - 1];
|
|
193
201
|
appId = chosen.app.id;
|
|
194
202
|
appLabel = chosen.app.name;
|
|
203
|
+
projectId = chosen.projectId;
|
|
195
204
|
console.log(`✅ ${chosen.app.name} (${appId})`);
|
|
196
205
|
}
|
|
197
206
|
}
|
|
207
|
+
// `--app-id` skips the picker above, so projectId is still unknown — and
|
|
208
|
+
// without it step 4 cannot write the trust anchor, which is the one thing
|
|
209
|
+
// the user most needs done for them. Look it up rather than silently
|
|
210
|
+
// degrading the flow for anyone who passed the flag.
|
|
211
|
+
if (appId && !projectId) {
|
|
212
|
+
try {
|
|
213
|
+
const found = (await (0, apps_1.fetchAllApps)(client)).find((e) => e.app.id === appId);
|
|
214
|
+
if (found) {
|
|
215
|
+
projectId = found.projectId;
|
|
216
|
+
if (!appLabel || appLabel === appId)
|
|
217
|
+
appLabel = found.app.name;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
catch { /* non-fatal: step 4 says why the anchor was skipped */ }
|
|
221
|
+
}
|
|
198
222
|
// Bind the choice to this directory, so the rest of quickstart — and
|
|
199
223
|
// every command the user runs afterwards — stops needing --app-id.
|
|
200
224
|
// Without this the guided flow ends by printing commands that all
|
|
@@ -273,20 +297,66 @@ function registerQuickstartCommand(program) {
|
|
|
273
297
|
// to a warning line.
|
|
274
298
|
(0, credentials_1.restrictToCurrentUser)(keyPath, 'your OTA signing private key');
|
|
275
299
|
fs.writeFileSync(path.join(path.dirname(keyPath), 'ota-signing-key.pub.pem'), publicPem);
|
|
276
|
-
fs.writeFileSync(path.join(path.dirname(keyPath),
|
|
277
|
-
const gitignoreOutcome = (0,
|
|
278
|
-
await client.post(`/saas/apps/${appId}/ota/signing-keys`, {
|
|
300
|
+
fs.writeFileSync(path.join(path.dirname(keyPath), ota_keys_2.KEY_ID_FILE), keyId + '\n');
|
|
301
|
+
const gitignoreOutcome = (0, ota_keys_2.ensureKeyDirGitignored)(path.dirname(keyPath));
|
|
302
|
+
const keyRow = await client.post(`/saas/apps/${appId}/ota/signing-keys`, {
|
|
279
303
|
publicKey: publicPem,
|
|
280
304
|
keyId,
|
|
281
305
|
algorithm: 'RSA_SHA256',
|
|
282
306
|
name: `quickstart ${new Date().toISOString().slice(0, 10)}`,
|
|
283
307
|
});
|
|
308
|
+
// Registering only says "trust this key". Until possession is proven
|
|
309
|
+
// the key is not ACTIVE and every promote is refused as high-risk
|
|
310
|
+
// (`signing_key_ownership_unverified`) — so a guided setup that stops
|
|
311
|
+
// at registration hands the user a key that cannot ship anything. We
|
|
312
|
+
// are holding the private half right here; finish it.
|
|
313
|
+
if (keyRow?.id) {
|
|
314
|
+
try {
|
|
315
|
+
const ok = await (0, ota_keys_1.proveOwnership)(client, appId, keyRow.id, crypto.createPrivateKey(privatePem));
|
|
316
|
+
console.log(ok
|
|
317
|
+
? ' ✅ Ownership proven — the key is ACTIVE.'
|
|
318
|
+
: ' ⚠️ Ownership not confirmed; run `scalebun ota keys verify`.');
|
|
319
|
+
}
|
|
320
|
+
catch (err) {
|
|
321
|
+
console.log(chalk_1.default.yellow(` ⚠️ Could not prove ownership: ${err.message}`));
|
|
322
|
+
console.log(chalk_1.default.dim(' Finish it with: scalebun ota keys verify'));
|
|
323
|
+
}
|
|
324
|
+
}
|
|
284
325
|
console.log(` 🔏 RSA-${info.modulusBits} key generated (${keyPath}) and public half registered.`);
|
|
285
326
|
console.log(` Key ID: ${keyId} Fingerprint: SHA-256:${info.fingerprintDisplay.slice(0, 23)}…`);
|
|
286
327
|
console.log(` Git: ${gitignoreOutcome}`);
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
328
|
+
// Write the trust anchor rather than describing it.
|
|
329
|
+
//
|
|
330
|
+
// This step used to print the path and stop, leaving the most
|
|
331
|
+
// error-prone action to be done by hand: a JSON file, in the right
|
|
332
|
+
// directory, with the right projectId and the PEM inlined. Get the
|
|
333
|
+
// projectId wrong — appId is the easy wrong guess, both are `cm…`
|
|
334
|
+
// cuids — and the device downloads the release, refuses it with
|
|
335
|
+
// PROJECT_MISMATCH, and reverts. The CLI knows both ids.
|
|
336
|
+
if (!projectId) {
|
|
337
|
+
console.log(chalk_1.default.dim(' Trust anchor skipped — project id could not be resolved.'));
|
|
338
|
+
}
|
|
339
|
+
else if (!(0, trustAnchor_1.hasAndroidProject)(process.cwd())) {
|
|
340
|
+
console.log(chalk_1.default.dim(' No android/app directory — skipping the Android trust anchor.'));
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
try {
|
|
344
|
+
const res = (0, trustAnchor_1.writeAndroidTrustAnchor)({
|
|
345
|
+
cwd: process.cwd(),
|
|
346
|
+
projectId,
|
|
347
|
+
keyId,
|
|
348
|
+
publicKeyPem: publicPem,
|
|
349
|
+
});
|
|
350
|
+
console.log(` ✅ Trust anchor written: ${res.path}`);
|
|
351
|
+
console.log(chalk_1.default.dim(` projectId ${projectId} · trusts ${res.keyIds.join(', ')}` +
|
|
352
|
+
(res.merged ? ' (existing keys preserved)' : '')));
|
|
353
|
+
console.log(chalk_1.default.dim(' Rebuild the app so the device enforces this key.'));
|
|
354
|
+
}
|
|
355
|
+
catch (err) {
|
|
356
|
+
console.log(chalk_1.default.yellow(` ⚠️ Could not write the trust anchor: ${err.message}`));
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
console.log(chalk_1.default.dim(' iOS: add the SPKI key to your app bundle (ScaleBunOtaKeys.plist)'));
|
|
290
360
|
console.log(chalk_1.default.dim(' The SDK verifies every release natively against the embedded key and'));
|
|
291
361
|
console.log(chalk_1.default.dim(' REFUSES any that does not match. See docs/ota/SB-OTA-RSA-SHA256-V1.md.'));
|
|
292
362
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/apps.d.ts
CHANGED
|
@@ -12,6 +12,15 @@ export interface AppRow {
|
|
|
12
12
|
export interface AppEntry {
|
|
13
13
|
orgId: string;
|
|
14
14
|
orgName: string;
|
|
15
|
+
/**
|
|
16
|
+
* The project's id, not just its name. It is already fetched to walk into the
|
|
17
|
+
* project, and it is what the device's trust anchor must carry: the native
|
|
18
|
+
* verifier compares the signed release's projectId against the embedded one
|
|
19
|
+
* and refuses on PROJECT_MISMATCH. Keeping only `projectName` meant every
|
|
20
|
+
* caller that needed the id had to guess — and appId is the easy wrong guess,
|
|
21
|
+
* since both are `cm…` cuids.
|
|
22
|
+
*/
|
|
23
|
+
projectId: string;
|
|
15
24
|
projectName: string;
|
|
16
25
|
app: AppRow;
|
|
17
26
|
}
|
package/lib/utils/apps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/utils/apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;GAIG;AAEH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAaD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,sEAAsE;AACtE,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAiBzE"}
|
|
1
|
+
{"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/utils/apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;GAIG;AAEH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAaD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,sEAAsE;AACtE,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAiBzE"}
|
package/lib/utils/apps.js
CHANGED
|
@@ -10,7 +10,7 @@ async function fetchAllApps(client) {
|
|
|
10
10
|
for (const p of projects ?? []) {
|
|
11
11
|
const detail = await client.get(`/organizations/${org.id}/projects/${p.id}`);
|
|
12
12
|
for (const app of detail?.apps ?? []) {
|
|
13
|
-
entries.push({ orgId: org.id, orgName: org.name, projectName: p.name, app });
|
|
13
|
+
entries.push({ orgId: org.id, orgName: org.name, projectId: p.id, projectName: p.name, app });
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|
package/lib/utils/apps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/utils/apps.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/utils/apps.ts"],"names":[],"mappings":";;AA0CA,oCAiBC;AAlBD,sEAAsE;AAC/D,KAAK,UAAU,YAAY,CAAC,MAAiB;IAClD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAW,gBAAgB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,kBAAkB,GAAG,CAAC,EAAE,WAAW,CACpC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAC7B,kBAAkB,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC;YACF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The native trust anchor: the public half of your signing key, compiled into
|
|
3
|
+
* the app so the device can refuse anything it did not authorise.
|
|
4
|
+
*
|
|
5
|
+
* This lives in `assets/`, NOT `res/raw/`. The Android registry reads it with
|
|
6
|
+
* `context.assets.open()`; a file in res/raw is invisible to that call, the
|
|
7
|
+
* registry stays empty, and signature enforcement is silently off — the app
|
|
8
|
+
* still runs, still updates, and simply verifies nothing.
|
|
9
|
+
*/
|
|
10
|
+
export interface TrustAnchor {
|
|
11
|
+
/**
|
|
12
|
+
* The PROJECT id, not the app id. The verifier compares this against the
|
|
13
|
+
* signed release's projectId and refuses on PROJECT_MISMATCH. Both ids are
|
|
14
|
+
* `cm…` cuids and are trivially confused, which is exactly why callers should
|
|
15
|
+
* be handed this value rather than asked for it.
|
|
16
|
+
*/
|
|
17
|
+
projectId: string;
|
|
18
|
+
keys: Array<{
|
|
19
|
+
keyId: string;
|
|
20
|
+
publicKey: string;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export declare const ANDROID_ANCHOR_RELATIVE: string;
|
|
24
|
+
export interface WriteAnchorResult {
|
|
25
|
+
path: string;
|
|
26
|
+
/** Key ids trusted after the write, in file order. */
|
|
27
|
+
keyIds: string[];
|
|
28
|
+
/** True when an existing anchor was read and its other keys preserved. */
|
|
29
|
+
merged: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Add a key to the Android trust anchor, creating the file if needed.
|
|
33
|
+
*
|
|
34
|
+
* Merges rather than overwrites: during a rotation two keys are valid at once,
|
|
35
|
+
* and clobbering the old one strands every device still running the previous
|
|
36
|
+
* build — they would refuse the next release and have no way back. A key with
|
|
37
|
+
* the same keyId is replaced in place so re-running is idempotent.
|
|
38
|
+
*/
|
|
39
|
+
export declare function writeAndroidTrustAnchor(opts: {
|
|
40
|
+
cwd: string;
|
|
41
|
+
projectId: string;
|
|
42
|
+
keyId: string;
|
|
43
|
+
publicKeyPem: string;
|
|
44
|
+
}): WriteAnchorResult;
|
|
45
|
+
/**
|
|
46
|
+
* Does this look like a native Android project we can write into? Used to skip
|
|
47
|
+
* the anchor with a clear message instead of scattering directories into
|
|
48
|
+
* whatever folder the user happened to run from.
|
|
49
|
+
*/
|
|
50
|
+
export declare function hasAndroidProject(cwd: string): boolean;
|
|
51
|
+
//# sourceMappingURL=trustAnchor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trustAnchor.d.ts","sourceRoot":"","sources":["../../src/utils/trustAnchor.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,uBAAuB,QAOnC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,0EAA0E;IAC1E,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,iBAAiB,CA6BpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ANDROID_ANCHOR_RELATIVE = void 0;
|
|
37
|
+
exports.writeAndroidTrustAnchor = writeAndroidTrustAnchor;
|
|
38
|
+
exports.hasAndroidProject = hasAndroidProject;
|
|
39
|
+
const fs = __importStar(require("fs"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
41
|
+
exports.ANDROID_ANCHOR_RELATIVE = path.join('android', 'app', 'src', 'main', 'assets', 'scalebun_ota_keys.json');
|
|
42
|
+
/**
|
|
43
|
+
* Add a key to the Android trust anchor, creating the file if needed.
|
|
44
|
+
*
|
|
45
|
+
* Merges rather than overwrites: during a rotation two keys are valid at once,
|
|
46
|
+
* and clobbering the old one strands every device still running the previous
|
|
47
|
+
* build — they would refuse the next release and have no way back. A key with
|
|
48
|
+
* the same keyId is replaced in place so re-running is idempotent.
|
|
49
|
+
*/
|
|
50
|
+
function writeAndroidTrustAnchor(opts) {
|
|
51
|
+
const anchorPath = path.join(opts.cwd, exports.ANDROID_ANCHOR_RELATIVE);
|
|
52
|
+
fs.mkdirSync(path.dirname(anchorPath), { recursive: true });
|
|
53
|
+
let keys = [];
|
|
54
|
+
let merged = false;
|
|
55
|
+
if (fs.existsSync(anchorPath)) {
|
|
56
|
+
try {
|
|
57
|
+
const existing = JSON.parse(fs.readFileSync(anchorPath, 'utf8'));
|
|
58
|
+
if (Array.isArray(existing?.keys)) {
|
|
59
|
+
keys = existing.keys.filter((k) => k && typeof k.keyId === 'string' && typeof k.publicKey === 'string');
|
|
60
|
+
merged = keys.length > 0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// Unreadable or hand-mangled: start clean rather than fail setup. The
|
|
65
|
+
// file is regenerable — the private key is the irreplaceable half.
|
|
66
|
+
keys = [];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
keys = keys.filter((k) => k.keyId !== opts.keyId);
|
|
70
|
+
keys.push({ keyId: opts.keyId, publicKey: opts.publicKeyPem.trim() });
|
|
71
|
+
const anchor = { projectId: opts.projectId, keys };
|
|
72
|
+
fs.writeFileSync(anchorPath, JSON.stringify(anchor, null, 2) + '\n');
|
|
73
|
+
return { path: anchorPath, keyIds: keys.map((k) => k.keyId), merged };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Does this look like a native Android project we can write into? Used to skip
|
|
77
|
+
* the anchor with a clear message instead of scattering directories into
|
|
78
|
+
* whatever folder the user happened to run from.
|
|
79
|
+
*/
|
|
80
|
+
function hasAndroidProject(cwd) {
|
|
81
|
+
return fs.existsSync(path.join(cwd, 'android', 'app'));
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=trustAnchor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trustAnchor.js","sourceRoot":"","sources":["../../src/utils/trustAnchor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,0DAkCC;AAOD,8CAEC;AA3FD,uCAAyB;AACzB,2CAA6B;AAsBhB,QAAA,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAC9C,SAAS,EACT,KAAK,EACL,KAAK,EACL,MAAM,EACN,QAAQ,EACR,wBAAwB,CACzB,CAAC;AAUF;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,IAKvC;IACC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,+BAAuB,CAAC,CAAC;IAChE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAyB,CAAC;YACzF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAC3E,CAAC;gBACF,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;YACtE,mEAAmE;YACnE,IAAI,GAAG,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAgB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAChE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAErE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC"}
|