@bitspark/archon-cli 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cmd/key.js +3 -0
- package/dist/src/cmd/key.js.map +1 -1
- package/dist/src/cmd/key_store.d.ts +49 -10
- package/dist/src/cmd/key_store.js +222 -26
- package/dist/src/cmd/key_store.js.map +1 -1
- package/dist/src/cmd/keygen.js +13 -5
- package/dist/src/cmd/keygen.js.map +1 -1
- package/dist/src/cmd/login.js +32 -13
- package/dist/src/cmd/login.js.map +1 -1
- package/dist/src/cmd/sign.js +20 -4
- package/dist/src/cmd/sign.js.map +1 -1
- package/dist/src/io.d.ts +8 -3
- package/dist/src/io.js +23 -5
- package/dist/src/io.js.map +1 -1
- package/dist/src/keystore.d.ts +55 -11
- package/dist/src/keystore.js +255 -34
- package/dist/src/keystore.js.map +1 -1
- package/package.json +3 -3
package/dist/src/cmd/key.js
CHANGED
package/dist/src/cmd/key.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../../src/cmd/key.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../../src/cmd/key.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,qEAAqE;AACrE,EAAE;AACF,+EAA+E;AAC/E,uFAAuF;AACvF,gFAAgF;AAChF,uFAAuF;AACvF,2EAA2E;AAC3E,yFAAyF;AACzF,6EAA6E;AAC7E,EAAE;AACF,mFAAmF;AACnF,yFAAyF;AACzF,wFAAwF;AACxF,OAAO,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,EACf,KAAK,GACN,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAkB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAExC,MAAM,KAAK,GACT,8DAA8D;IAC9D,qEAAqE;IACrE,0DAA0D;IAC1D,4EAA4E;IAC5E,+EAA+E;IAC/E,gEAAgE;IAChE,2EAA2E;IAC3E,kFAAkF;IAClF,oDAAoD,CAAC;AAEvD,MAAM,UAAU,GAAG,CAAC,IAAc;IAChC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,EAAE,CAAC;QACX,2EAA2E;QAC3E,gFAAgF;QAChF,KAAK,KAAK;YACR,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO;QACT,KAAK,MAAM;YACT,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACT,KAAK,IAAI;YACP,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO;QACT,KAAK,SAAS;YACZ,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;QACT,KAAK,QAAQ;YACX,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,KAAK,QAAQ;YACX,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE,OAAO;QACT,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,OAAO;QACT,KAAK,OAAO;YACV,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnB,OAAO;QACT,KAAK,MAAM;YACT,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClB,OAAO;QACT,KAAK,KAAK;YACR,GAAG,CAAC,IAAI,CAAC,CAAC;YACV,OAAO;QACT;YACE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,0FAA0F;AAC1F,SAAS,GAAG,CAAC,IAAc,EAAE,SAA2B;IACtD,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,+EAA+E;QAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CACzG,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3G,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,0FAA0F;AAC1F,sFAAsF;AACtF,iBAAiB;AACjB,SAAS,GAAG,CAAC,IAAc;IACzB,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAA2B,CAAC;IAChC,IAAI,GAAG,GAAc,MAAM,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QAClG,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAC3B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,IAAI,KAAK,KAAK,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;gBAC1F,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACR,KAAK,UAAU;gBACb,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,2CAA2C,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,IAAgB,CAAC;IACrB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,WAAY,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as keystore from "../keystore.js";
|
|
1
2
|
export declare const USAGE: string;
|
|
2
3
|
/**
|
|
3
4
|
* Scans for `--password-fd <n>` and removes it. The password never travels in argv, so
|
|
@@ -73,11 +74,17 @@ export declare function readPasswordEntry(fd: number | undefined, confirm: boole
|
|
|
73
74
|
*/
|
|
74
75
|
export declare function openEntered(name: string, file: Uint8Array, entry: PasswordEntry): Uint8Array;
|
|
75
76
|
/**
|
|
76
|
-
* The store's own "is there a key called that": a validated name
|
|
77
|
-
* nothing, asking for no password. Shared by `key default <name>` and by
|
|
78
|
-
* pre-network check, so both refuse a missing key with one
|
|
77
|
+
* The store's own "is there a key called that, and can it be used": a validated name and a
|
|
78
|
+
* header read — opening nothing, asking for no password. Shared by `key default <name>` and by
|
|
79
|
+
* `login`'s pre-network check, so both refuse a missing, unreadable or version-1 key with one
|
|
80
|
+
* wording (docs/keystore.md §8.2).
|
|
79
81
|
*/
|
|
80
|
-
export declare function requireNamedKey(name: string):
|
|
82
|
+
export declare function requireNamedKey(name: string): keystore.KeyHeader;
|
|
83
|
+
/** A refusal of a named entry with its machine-mode category (§8.2). */
|
|
84
|
+
export declare class StoreRefusal extends Error {
|
|
85
|
+
readonly category: string;
|
|
86
|
+
constructor(category: string, message: string);
|
|
87
|
+
}
|
|
81
88
|
/**
|
|
82
89
|
* The ONE reader of the default pointer ($ARCHON_HOME/default), shared by `key default`
|
|
83
90
|
* and by `login`'s fallback so the two can never disagree about what "the default" is.
|
|
@@ -93,28 +100,60 @@ export declare function readDefaultKeyName(): string | undefined;
|
|
|
93
100
|
*/
|
|
94
101
|
export declare function unlockNamedKey(name: string, fd: number | undefined): Uint8Array;
|
|
95
102
|
/**
|
|
96
|
-
* A stored key's file and
|
|
97
|
-
* no password. The claim is what `sign --key --expect` checks
|
|
98
|
-
* only when the seal opens, because `keystore.open`
|
|
103
|
+
* A stored key's file and its header as the header CLAIMS it — public key, version, policy —
|
|
104
|
+
* opening nothing and asking for no password. The claim is what `sign --key --expect` checks
|
|
105
|
+
* before the prompt; it is proven only when the seal opens, because `keystore.open` verifies the
|
|
106
|
+
* tag over the header and refuses a seed that does not derive the public key.
|
|
107
|
+
*
|
|
108
|
+
* Every refusal is a StoreRefusal: no-key when no file has that name, else the header's kind.
|
|
99
109
|
*/
|
|
100
110
|
export declare function readNamedKey(name: string): {
|
|
101
111
|
file: Uint8Array;
|
|
102
|
-
|
|
112
|
+
header: keystore.KeyHeader;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* readNamedKey for a command that will sign, log in, export or make a key the default: only a
|
|
116
|
+
* version-2 entry may (§8.2). A version-1 entry is refused with the command that converts it,
|
|
117
|
+
* named in full, so a person can act on the line they read.
|
|
118
|
+
*/
|
|
119
|
+
export declare function usableKey(name: string): {
|
|
120
|
+
file: Uint8Array;
|
|
121
|
+
header: keystore.KeyHeader;
|
|
103
122
|
};
|
|
123
|
+
/**
|
|
124
|
+
* Removes --allow <context> (repeatable) and --unrestricted from args and returns the policy
|
|
125
|
+
* they name (docs/keystore.md §8.3). There is no default: undefined when neither appears, and
|
|
126
|
+
* the caller decides whether that is allowed.
|
|
127
|
+
*/
|
|
128
|
+
export declare function takePolicyFlags(args: string[]): {
|
|
129
|
+
rest: string[];
|
|
130
|
+
policy: keystore.Policy | undefined;
|
|
131
|
+
};
|
|
132
|
+
/** The refusal for a new key that names no policy: there is no default. */
|
|
133
|
+
export declare const policyNeeded: (name: string) => Error;
|
|
104
134
|
/**
|
|
105
135
|
* The one place a key is written, shared by `key add` and `keygen --store` so the two
|
|
106
136
|
* cannot drift apart. Salt and nonce are drawn HERE, in the command: the format takes them
|
|
107
137
|
* as arguments and never sources randomness, which is what makes it pinnable.
|
|
108
138
|
*/
|
|
109
|
-
export declare function sealAndWrite(path: string, seed: Uint8Array, password: string): string;
|
|
139
|
+
export declare function sealAndWrite(path: string, seed: Uint8Array, password: string, policy: keystore.Policy): string;
|
|
110
140
|
/** `keygen --store <name>`: the same seal path as `key add`. */
|
|
111
|
-
export declare function storeGenerated(name: string, seed: Uint8Array, fd: number | undefined): void;
|
|
141
|
+
export declare function storeGenerated(name: string, seed: Uint8Array, fd: number | undefined, policy: keystore.Policy): void;
|
|
112
142
|
export declare function runAdd(args: string[]): void;
|
|
113
143
|
/**
|
|
114
144
|
* Prints what each header CLAIMS. The claim is only proven at unlock, which is why this
|
|
115
145
|
* never opens a key and never asks for a password.
|
|
116
146
|
*/
|
|
117
147
|
export declare function runList(args: string[]): void;
|
|
148
|
+
/**
|
|
149
|
+
* Shows an entry's policy, or converts a version-1 entry or changes a version-2 one
|
|
150
|
+
* (docs/keystore.md §8.3). The change form is ALWAYS interactive: it shows the old and the new
|
|
151
|
+
* policy before asking for anything, asks y/N at the controlling terminal, and takes the
|
|
152
|
+
* password from that terminal only — no --yes, no ARCHON_KEY_PASSWORD, no --password-fd. That
|
|
153
|
+
* is a safeguard against a password a program inherited, not an authorization claim (ADR 0012
|
|
154
|
+
* §6): whoever can type the password can also decrypt the file.
|
|
155
|
+
*/
|
|
156
|
+
export declare function runPolicy(args: string[]): void;
|
|
118
157
|
/**
|
|
119
158
|
* Removes a key and says exactly what it removed, from where, and what it does NOT speak
|
|
120
159
|
* for. An unparsable file is refused unless --force: deleting an unrecognised file inside
|
|
@@ -211,6 +211,18 @@ export function promptHidden(label, io) {
|
|
|
211
211
|
throw new Error("the password is not valid UTF-8; set the terminal's encoding to UTF-8");
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
|
+
/** One visible line from the controlling terminal, in cooked mode: `key policy`'s y/N. */
|
|
215
|
+
function readTerminalLine(terminal) {
|
|
216
|
+
const bytes = [];
|
|
217
|
+
for (;;) {
|
|
218
|
+
const c = terminal.io.readByte();
|
|
219
|
+
if (c < 0 || c === 0x0a)
|
|
220
|
+
break;
|
|
221
|
+
if (c !== 0x0d)
|
|
222
|
+
bytes.push(c);
|
|
223
|
+
}
|
|
224
|
+
return new TextDecoder().decode(new Uint8Array(bytes));
|
|
225
|
+
}
|
|
214
226
|
/** What the prompt before 0.11.0 made of the same keystrokes: each UTF-8 byte of `password`
|
|
215
227
|
* as a character of its own. undefined for an ASCII password, where both readings agree. */
|
|
216
228
|
export function legacyPromptDecoding(password) {
|
|
@@ -268,6 +280,12 @@ export function openEntered(name, file, entry) {
|
|
|
268
280
|
const legacy = entry.prompted ? legacyPromptDecoding(entry.password) : undefined;
|
|
269
281
|
if (legacy === undefined)
|
|
270
282
|
throw first;
|
|
283
|
+
// The re-seal keeps the entry's own policy (docs/keystore.md §8.3: nothing else changes a
|
|
284
|
+
// policy). A version-1 file has none and is never converted as a side effect: that is
|
|
285
|
+
// `key policy`'s, explicitly.
|
|
286
|
+
const policy = keystore.parseHeader(file).policy;
|
|
287
|
+
if (policy === null)
|
|
288
|
+
throw first;
|
|
271
289
|
let seed;
|
|
272
290
|
try {
|
|
273
291
|
seed = keystore.open(file, legacy);
|
|
@@ -275,7 +293,7 @@ export function openEntered(name, file, entry) {
|
|
|
275
293
|
catch {
|
|
276
294
|
throw first;
|
|
277
295
|
}
|
|
278
|
-
sealAndWrite(keyPath(name), seed, entry.password);
|
|
296
|
+
sealAndWrite(keyPath(name), seed, entry.password, policy);
|
|
279
297
|
process.stderr.write(`re-sealed key ${name}: archon's TS prompt before 0.11.0 misread its non-ASCII password; ` +
|
|
280
298
|
"it is now sealed under the password as typed, which every lane reads the same way\n");
|
|
281
299
|
return seed;
|
|
@@ -285,13 +303,20 @@ export function openEntered(name, file, entry) {
|
|
|
285
303
|
// What the store lets another command ask of it — `login --key`'s seams.
|
|
286
304
|
// ---------------------------------------------------------------------------
|
|
287
305
|
/**
|
|
288
|
-
* The store's own "is there a key called that": a validated name
|
|
289
|
-
* nothing, asking for no password. Shared by `key default <name>` and by
|
|
290
|
-
* pre-network check, so both refuse a missing key with one
|
|
306
|
+
* The store's own "is there a key called that, and can it be used": a validated name and a
|
|
307
|
+
* header read — opening nothing, asking for no password. Shared by `key default <name>` and by
|
|
308
|
+
* `login`'s pre-network check, so both refuse a missing, unreadable or version-1 key with one
|
|
309
|
+
* wording (docs/keystore.md §8.2).
|
|
291
310
|
*/
|
|
292
311
|
export function requireNamedKey(name) {
|
|
293
|
-
|
|
294
|
-
|
|
312
|
+
return usableKey(name).header;
|
|
313
|
+
}
|
|
314
|
+
/** A refusal of a named entry with its machine-mode category (§8.2). */
|
|
315
|
+
export class StoreRefusal extends Error {
|
|
316
|
+
category;
|
|
317
|
+
constructor(category, message) {
|
|
318
|
+
super(message);
|
|
319
|
+
this.category = category;
|
|
295
320
|
}
|
|
296
321
|
}
|
|
297
322
|
/**
|
|
@@ -318,25 +343,93 @@ export function readDefaultKeyName() {
|
|
|
318
343
|
* for a password differently.
|
|
319
344
|
*/
|
|
320
345
|
export function unlockNamedKey(name, fd) {
|
|
321
|
-
const { file } =
|
|
346
|
+
const { file } = usableKey(name);
|
|
322
347
|
return openEntered(name, file, readPasswordEntry(fd, false));
|
|
323
348
|
}
|
|
324
349
|
/**
|
|
325
|
-
* A stored key's file and
|
|
326
|
-
* no password. The claim is what `sign --key --expect` checks
|
|
327
|
-
* only when the seal opens, because `keystore.open`
|
|
350
|
+
* A stored key's file and its header as the header CLAIMS it — public key, version, policy —
|
|
351
|
+
* opening nothing and asking for no password. The claim is what `sign --key --expect` checks
|
|
352
|
+
* before the prompt; it is proven only when the seal opens, because `keystore.open` verifies the
|
|
353
|
+
* tag over the header and refuses a seed that does not derive the public key.
|
|
354
|
+
*
|
|
355
|
+
* Every refusal is a StoreRefusal: no-key when no file has that name, else the header's kind.
|
|
328
356
|
*/
|
|
329
357
|
export function readNamedKey(name) {
|
|
330
|
-
|
|
358
|
+
let path;
|
|
359
|
+
try {
|
|
360
|
+
path = keyPath(name);
|
|
361
|
+
}
|
|
362
|
+
catch (e) {
|
|
363
|
+
throw new StoreRefusal("no-key", e instanceof Error ? e.message : String(e));
|
|
364
|
+
}
|
|
331
365
|
let file;
|
|
332
366
|
try {
|
|
333
367
|
file = new Uint8Array(readFileSync(path));
|
|
334
368
|
}
|
|
335
369
|
catch {
|
|
336
|
-
throw new
|
|
370
|
+
throw new StoreRefusal("no-key", `no key named ${JSON.stringify(name)} in archon's store`);
|
|
371
|
+
}
|
|
372
|
+
try {
|
|
373
|
+
return { file, header: keystore.parseHeader(file) };
|
|
374
|
+
}
|
|
375
|
+
catch (e) {
|
|
376
|
+
const kind = e instanceof keystore.FormatError ? e.kind : "malformed";
|
|
377
|
+
throw new StoreRefusal(kind, `${name}: ${e instanceof Error ? e.message : String(e)}`);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* readNamedKey for a command that will sign, log in, export or make a key the default: only a
|
|
382
|
+
* version-2 entry may (§8.2). A version-1 entry is refused with the command that converts it,
|
|
383
|
+
* named in full, so a person can act on the line they read.
|
|
384
|
+
*/
|
|
385
|
+
export function usableKey(name) {
|
|
386
|
+
const read = readNamedKey(name);
|
|
387
|
+
if (read.header.version !== keystore.VERSION_2) {
|
|
388
|
+
throw new StoreRefusal("migration-required", `${name} is a version-1 key file, which this archon no longer uses: convert it once with ` +
|
|
389
|
+
`\`archon key policy ${name} --allow <context>\` (repeatable), or \`--unrestricted\``);
|
|
390
|
+
}
|
|
391
|
+
return read;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Removes --allow <context> (repeatable) and --unrestricted from args and returns the policy
|
|
395
|
+
* they name (docs/keystore.md §8.3). There is no default: undefined when neither appears, and
|
|
396
|
+
* the caller decides whether that is allowed.
|
|
397
|
+
*/
|
|
398
|
+
export function takePolicyFlags(args) {
|
|
399
|
+
const rest = [];
|
|
400
|
+
const allow = [];
|
|
401
|
+
let unrestricted = false;
|
|
402
|
+
for (let i = 0; i < args.length; i++) {
|
|
403
|
+
const a = args[i];
|
|
404
|
+
if (a === "--allow") {
|
|
405
|
+
const c = args[i + 1];
|
|
406
|
+
if (c === undefined)
|
|
407
|
+
throw new Error("--allow needs a context");
|
|
408
|
+
allow.push(c);
|
|
409
|
+
i++;
|
|
410
|
+
}
|
|
411
|
+
else if (a === "--unrestricted") {
|
|
412
|
+
unrestricted = true;
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
rest.push(a);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
if (unrestricted && allow.length > 0)
|
|
419
|
+
throw new Error("--allow and --unrestricted are mutually exclusive");
|
|
420
|
+
if (unrestricted)
|
|
421
|
+
return { rest, policy: keystore.unrestricted() };
|
|
422
|
+
if (allow.length === 0)
|
|
423
|
+
return { rest, policy: undefined };
|
|
424
|
+
try {
|
|
425
|
+
return { rest, policy: keystore.allowlist(allow) };
|
|
426
|
+
}
|
|
427
|
+
catch (e) {
|
|
428
|
+
throw new Error(`--allow: ${e instanceof Error ? e.message : String(e)}`);
|
|
337
429
|
}
|
|
338
|
-
return { file, publicKey: keystore.parseHeader(file).publicKey };
|
|
339
430
|
}
|
|
431
|
+
/** The refusal for a new key that names no policy: there is no default. */
|
|
432
|
+
export const policyNeeded = (name) => new Error(`say which contexts ${name} may sign in: --allow <context> (repeatable), or --unrestricted`);
|
|
340
433
|
// ---------------------------------------------------------------------------
|
|
341
434
|
// The commands.
|
|
342
435
|
// ---------------------------------------------------------------------------
|
|
@@ -345,22 +438,22 @@ export function readNamedKey(name) {
|
|
|
345
438
|
* cannot drift apart. Salt and nonce are drawn HERE, in the command: the format takes them
|
|
346
439
|
* as arguments and never sources randomness, which is what makes it pinnable.
|
|
347
440
|
*/
|
|
348
|
-
export function sealAndWrite(path, seed, password) {
|
|
441
|
+
export function sealAndWrite(path, seed, password, policy) {
|
|
349
442
|
const salt = new Uint8Array(randomBytes(keystore.SALT_SIZE));
|
|
350
443
|
const nonce = new Uint8Array(randomBytes(keystore.NONCE_SIZE));
|
|
351
|
-
const blob = keystore.seal(seed, password, salt, nonce, keystore.defaultParams());
|
|
444
|
+
const blob = keystore.seal(seed, password, salt, nonce, keystore.defaultParams(), policy);
|
|
352
445
|
writeKeyFile(path, blob);
|
|
353
446
|
return encodeKey(getPublicKey(seed));
|
|
354
447
|
}
|
|
355
448
|
/** `keygen --store <name>`: the same seal path as `key add`. */
|
|
356
|
-
export function storeGenerated(name, seed, fd) {
|
|
449
|
+
export function storeGenerated(name, seed, fd, policy) {
|
|
357
450
|
keystore.validateName(name);
|
|
358
451
|
const path = keyPath(name);
|
|
359
452
|
if (existsSync(path)) {
|
|
360
453
|
throw new Error(`a key named ${JSON.stringify(name)} already exists; remove it first (archon key rm ${name})`);
|
|
361
454
|
}
|
|
362
455
|
const password = readPassword(fd, true);
|
|
363
|
-
const principal = sealAndWrite(path, seed, password);
|
|
456
|
+
const principal = sealAndWrite(path, seed, password, policy);
|
|
364
457
|
process.stdout.write(`generated and stored ${name} (${principal}).\n`);
|
|
365
458
|
}
|
|
366
459
|
/**
|
|
@@ -389,7 +482,10 @@ export function runAdd(args) {
|
|
|
389
482
|
if (name === undefined)
|
|
390
483
|
throw new Error(USAGE);
|
|
391
484
|
keystore.validateName(name);
|
|
392
|
-
const { rest, fd } = takePasswordFd(args.slice(1));
|
|
485
|
+
const { rest: afterFd, fd } = takePasswordFd(args.slice(1));
|
|
486
|
+
const { rest, policy } = takePolicyFlags(afterFd);
|
|
487
|
+
if (policy === undefined)
|
|
488
|
+
throw policyNeeded(name);
|
|
393
489
|
let seedHex;
|
|
394
490
|
let seedFile;
|
|
395
491
|
let pkcs8File;
|
|
@@ -437,7 +533,7 @@ export function runAdd(args) {
|
|
|
437
533
|
seed = new Uint8Array(randomBytes(keystore.SEED_SIZE));
|
|
438
534
|
}
|
|
439
535
|
const password = readPassword(fd, true);
|
|
440
|
-
const principal = sealAndWrite(path, seed, password);
|
|
536
|
+
const principal = sealAndWrite(path, seed, password, policy);
|
|
441
537
|
if (from === undefined) {
|
|
442
538
|
process.stdout.write(`generated and stored ${name} (${principal}).\n`);
|
|
443
539
|
}
|
|
@@ -456,26 +552,119 @@ export function runList(args) {
|
|
|
456
552
|
throw new Error(`unknown flag ${JSON.stringify(a)}\n${USAGE}`);
|
|
457
553
|
asJson = true;
|
|
458
554
|
}
|
|
555
|
+
// A row for every entry whose principal can be read (docs/keystore.md §8.4), so an entry
|
|
556
|
+
// awaiting conversion is reported as that and not as absent. The policy is the header's
|
|
557
|
+
// CLAIM, read without the password, and named as such. An entry whose principal cannot be
|
|
558
|
+
// read is named on stderr, one line each, so a key never vanishes without a word.
|
|
459
559
|
const rows = [];
|
|
460
|
-
// An entry that is not listed is named on stderr, one line each, so a key never vanishes
|
|
461
|
-
// from the list without a word; stdout, and with it --json, carries only usable keys.
|
|
462
560
|
for (const name of listKeyNames()) {
|
|
561
|
+
let h;
|
|
463
562
|
try {
|
|
464
|
-
const raw = new Uint8Array(readFileSync(keyPath(name)));
|
|
465
563
|
// The magic is what keeps a stray file out of this list.
|
|
466
|
-
|
|
467
|
-
rows.push({ name, principal: encodeKey(h.publicKey) });
|
|
564
|
+
h = readNamedKey(name).header;
|
|
468
565
|
}
|
|
469
566
|
catch (e) {
|
|
470
567
|
process.stderr.write(`archon key list: skipped ${name}: ${e instanceof Error ? e.message : String(e)}\n`);
|
|
568
|
+
continue;
|
|
569
|
+
}
|
|
570
|
+
const principal = encodeKey(h.publicKey);
|
|
571
|
+
if (h.version === keystore.VERSION_2 && h.policy !== null) {
|
|
572
|
+
const claimed = h.policy.unrestricted
|
|
573
|
+
? { mode: "unrestricted" }
|
|
574
|
+
: h.policy.contexts.length === 0
|
|
575
|
+
? { mode: "allowlist" }
|
|
576
|
+
: { mode: "allowlist", contexts: h.policy.contexts };
|
|
577
|
+
rows.push({ name, principal, status: "usable", claimed_policy: claimed, text: keystore.describePolicy(h.policy) });
|
|
578
|
+
}
|
|
579
|
+
else {
|
|
580
|
+
rows.push({
|
|
581
|
+
name,
|
|
582
|
+
principal,
|
|
583
|
+
status: "migration-required",
|
|
584
|
+
claimed_policy: null,
|
|
585
|
+
text: `version 1: convert with \`archon key policy ${name}\``,
|
|
586
|
+
});
|
|
471
587
|
}
|
|
472
588
|
}
|
|
473
589
|
if (asJson) {
|
|
474
|
-
|
|
590
|
+
const out = rows.map(({ name, principal, status, claimed_policy }) => ({ name, principal, status, claimed_policy }));
|
|
591
|
+
process.stdout.write(`${JSON.stringify(out)}\n`);
|
|
475
592
|
return;
|
|
476
593
|
}
|
|
477
594
|
for (const r of rows)
|
|
478
|
-
process.stdout.write(`${r.name}\t${r.principal}\n`);
|
|
595
|
+
process.stdout.write(`${r.name}\t${r.principal}\t${r.text}\n`);
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Shows an entry's policy, or converts a version-1 entry or changes a version-2 one
|
|
599
|
+
* (docs/keystore.md §8.3). The change form is ALWAYS interactive: it shows the old and the new
|
|
600
|
+
* policy before asking for anything, asks y/N at the controlling terminal, and takes the
|
|
601
|
+
* password from that terminal only — no --yes, no ARCHON_KEY_PASSWORD, no --password-fd. That
|
|
602
|
+
* is a safeguard against a password a program inherited, not an authorization claim (ADR 0012
|
|
603
|
+
* §6): whoever can type the password can also decrypt the file.
|
|
604
|
+
*/
|
|
605
|
+
export function runPolicy(args) {
|
|
606
|
+
const name = args[0];
|
|
607
|
+
if (name === undefined)
|
|
608
|
+
throw new Error(USAGE);
|
|
609
|
+
const { rest, policy } = takePolicyFlags(args.slice(1));
|
|
610
|
+
if (rest.length > 0)
|
|
611
|
+
throw new Error(`unknown flag ${JSON.stringify(rest[0])}\n${USAGE}`);
|
|
612
|
+
const path = keyPath(name);
|
|
613
|
+
// One read: the bytes shown are the bytes unlocked and replaced (ADR 0012 §4).
|
|
614
|
+
const { file, header } = readNamedKey(name);
|
|
615
|
+
const principal = encodeKey(header.publicKey);
|
|
616
|
+
const current = header.version === keystore.VERSION_2 && header.policy !== null
|
|
617
|
+
? keystore.describePolicy(header.policy)
|
|
618
|
+
: "version 1, no policy";
|
|
619
|
+
if (policy === undefined) {
|
|
620
|
+
process.stdout.write(`${name} (${principal}): ${current} (claimed by the header; proven only at unlock)\n`);
|
|
621
|
+
return;
|
|
622
|
+
}
|
|
623
|
+
let terminal;
|
|
624
|
+
try {
|
|
625
|
+
terminal = openControllingTerminal();
|
|
626
|
+
}
|
|
627
|
+
catch {
|
|
628
|
+
throw new Error("changing a key's policy needs a person at the controlling terminal: there is none, and " +
|
|
629
|
+
"ARCHON_KEY_PASSWORD and --password-fd are not accepted here");
|
|
630
|
+
}
|
|
631
|
+
let blob;
|
|
632
|
+
try {
|
|
633
|
+
terminal.io.write(`${name} (${principal})\n policy: ${current}\n becomes: ${keystore.describePolicy(policy)}\nchange it? [y/N] `);
|
|
634
|
+
const answer = readTerminalLine(terminal).trim().toLowerCase();
|
|
635
|
+
if (answer !== "y" && answer !== "yes")
|
|
636
|
+
throw new Error("not changed");
|
|
637
|
+
const password = promptHidden("password: ", terminal.io);
|
|
638
|
+
// A key sealed through this lane's prompt before 0.11.0 opens only under the old reading
|
|
639
|
+
// of its password; it is re-sealed under the password as typed (openEntered's rule).
|
|
640
|
+
let seed;
|
|
641
|
+
try {
|
|
642
|
+
seed = keystore.open(file, password);
|
|
643
|
+
}
|
|
644
|
+
catch (first) {
|
|
645
|
+
const legacy = legacyPromptDecoding(password);
|
|
646
|
+
if (legacy === undefined)
|
|
647
|
+
throw first;
|
|
648
|
+
try {
|
|
649
|
+
seed = keystore.open(file, legacy);
|
|
650
|
+
}
|
|
651
|
+
catch {
|
|
652
|
+
throw first;
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
try {
|
|
656
|
+
blob = keystore.seal(seed, password, header.salt, new Uint8Array(randomBytes(keystore.NONCE_SIZE)), header.params, policy);
|
|
657
|
+
}
|
|
658
|
+
finally {
|
|
659
|
+
seed.fill(0);
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
finally {
|
|
663
|
+
terminal.close();
|
|
664
|
+
}
|
|
665
|
+
writeKeyFile(path, blob);
|
|
666
|
+
process.stdout.write(`changed the policy of ${name} (${principal}) to ${keystore.describePolicy(policy)}; ` +
|
|
667
|
+
"any copy of this key outside archon's store is untouched.\n");
|
|
479
668
|
}
|
|
480
669
|
/**
|
|
481
670
|
* Removes a key and says exactly what it removed, from where, and what it does NOT speak
|
|
@@ -568,6 +757,13 @@ export function runExport(args) {
|
|
|
568
757
|
if (out === "") {
|
|
569
758
|
throw new Error("refusing to write a seed to stdout: pass --out <file>, or --out - to mean it");
|
|
570
759
|
}
|
|
760
|
+
// An allowlisted entry's seed is not written out (§8.2): its policy would not travel with it.
|
|
761
|
+
// A backup is the encrypted file itself. Refused from the header, before the password.
|
|
762
|
+
const policy = usableKey(name).header.policy;
|
|
763
|
+
if (policy === null || !policy.unrestricted) {
|
|
764
|
+
throw new Error(`refusing to export ${name}: its policy allows only listed contexts (${keystore.describePolicy(policy)}), ` +
|
|
765
|
+
"and a plaintext seed would carry none of it; back up the encrypted file instead");
|
|
766
|
+
}
|
|
571
767
|
const seed = unlockNamedKey(name, fd);
|
|
572
768
|
const pem = seedToPkcs8Pem(seed);
|
|
573
769
|
if (out === "-") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key_store.js","sourceRoot":"","sources":["../../../src/cmd/key_store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"key_store.js","sourceRoot":"","sources":["../../../src/cmd/key_store.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cmd/keygen.js
CHANGED
|
@@ -25,10 +25,18 @@ export function run(args) {
|
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
const { rest: afterStore, store: storeName } = takeStoreFlag(args);
|
|
28
|
-
const { rest:
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
const { rest: afterFd, fd: pwFd } = store.takePasswordFd(afterStore);
|
|
29
|
+
const { rest: parsedArgs, policy } = store.takePolicyFlags(afterFd);
|
|
30
|
+
// Validated before anything is generated or printed: a bad name, or a stored key with no
|
|
31
|
+
// policy (docs/keystore.md §8.3), should cost nothing.
|
|
32
|
+
if (storeName !== undefined) {
|
|
31
33
|
keystore.validateName(storeName);
|
|
34
|
+
if (policy === undefined)
|
|
35
|
+
throw store.policyNeeded(storeName);
|
|
36
|
+
}
|
|
37
|
+
else if (policy !== undefined) {
|
|
38
|
+
throw new Error("--allow and --unrestricted apply only with --store: a key written to a file carries no policy");
|
|
39
|
+
}
|
|
32
40
|
const opts = parseOpts(parsedArgs);
|
|
33
41
|
if (storeName !== undefined && opts.out !== undefined) {
|
|
34
42
|
throw new Error("--store and --out are mutually exclusive: one keeps the seed, the other writes it out");
|
|
@@ -37,8 +45,8 @@ export function run(args) {
|
|
|
37
45
|
process.stdout.write(`${encodeKey(pub)}\n`);
|
|
38
46
|
// --store: the seed stays in the store and no PEM is produced at all. Same seal path
|
|
39
47
|
// `key add` uses (sealAndWrite), reached from the command that owns the CSPRNG.
|
|
40
|
-
if (storeName !== undefined) {
|
|
41
|
-
store.storeGenerated(storeName, opts.seed, pwFd);
|
|
48
|
+
if (storeName !== undefined && policy !== undefined) {
|
|
49
|
+
store.storeGenerated(storeName, opts.seed, pwFd, policy);
|
|
42
50
|
if (opts.pubOut !== undefined) {
|
|
43
51
|
writeFileSync(opts.pubOut, renderPub(pub, opts.pubFormat));
|
|
44
52
|
process.stderr.write(`wrote public key (${opts.pubFormat}) to ${opts.pubOut}\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keygen.js","sourceRoot":"","sources":["../../../src/cmd/keygen.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,wFAAwF;AACxF,sFAAsF;AACtF,iCAAiC;AACjC,EAAE;AACF,oFAAoF;AACpF,yFAAyF;AACzF,yFAAyF;AACzF,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEnG,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAkB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5E,MAAM,KAAK,GACT,yHAAyH;IACzH,yFAAyF;IACzF,yFAAyF;IACzF,sFAAsF;IACtF,wBAAwB,CAAC;AAS3B,MAAM,UAAU,GAAG,CAAC,IAAc;IAChC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"keygen.js","sourceRoot":"","sources":["../../../src/cmd/keygen.ts"],"names":[],"mappings":"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"}
|