@interop/did-cli 0.6.0 → 0.8.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +64 -1
  2. package/README.md +144 -6
  3. package/dist/commands/did.d.ts.map +1 -1
  4. package/dist/commands/did.js +41 -12
  5. package/dist/commands/did.js.map +1 -1
  6. package/dist/commands/key.d.ts.map +1 -1
  7. package/dist/commands/key.js +46 -8
  8. package/dist/commands/key.js.map +1 -1
  9. package/dist/commands/was/collection.d.ts +121 -0
  10. package/dist/commands/was/collection.d.ts.map +1 -0
  11. package/dist/commands/was/collection.js +316 -0
  12. package/dist/commands/was/collection.js.map +1 -0
  13. package/dist/commands/was/policy.d.ts +50 -0
  14. package/dist/commands/was/policy.d.ts.map +1 -0
  15. package/dist/commands/was/policy.js +133 -0
  16. package/dist/commands/was/policy.js.map +1 -0
  17. package/dist/commands/was/publish.d.ts +67 -0
  18. package/dist/commands/was/publish.d.ts.map +1 -0
  19. package/dist/commands/was/publish.js +151 -0
  20. package/dist/commands/was/publish.js.map +1 -0
  21. package/dist/commands/was/resource.d.ts +148 -0
  22. package/dist/commands/was/resource.d.ts.map +1 -0
  23. package/dist/commands/was/resource.js +402 -0
  24. package/dist/commands/was/resource.js.map +1 -0
  25. package/dist/commands/was/shared.d.ts +156 -0
  26. package/dist/commands/was/shared.d.ts.map +1 -0
  27. package/dist/commands/was/shared.js +237 -0
  28. package/dist/commands/was/shared.js.map +1 -0
  29. package/dist/commands/was/space.d.ts +196 -0
  30. package/dist/commands/was/space.d.ts.map +1 -0
  31. package/dist/commands/was/space.js +516 -0
  32. package/dist/commands/was/space.js.map +1 -0
  33. package/dist/commands/was/tree.d.ts +44 -0
  34. package/dist/commands/was/tree.d.ts.map +1 -0
  35. package/dist/commands/was/tree.js +135 -0
  36. package/dist/commands/was/tree.js.map +1 -0
  37. package/dist/commands/was.d.ts +29 -496
  38. package/dist/commands/was.d.ts.map +1 -1
  39. package/dist/commands/was.js +84 -1473
  40. package/dist/commands/was.js.map +1 -1
  41. package/dist/commands/zcap.d.ts +22 -2
  42. package/dist/commands/zcap.d.ts.map +1 -1
  43. package/dist/commands/zcap.js +6 -20
  44. package/dist/commands/zcap.js.map +1 -1
  45. package/dist/meta.js +1 -1
  46. package/dist/meta.js.map +1 -1
  47. package/dist/was/capability.d.ts +10 -13
  48. package/dist/was/capability.d.ts.map +1 -1
  49. package/dist/was/capability.js +1 -59
  50. package/dist/was/capability.js.map +1 -1
  51. package/dist/zcap/delegate.d.ts +2 -2
  52. package/dist/zcap/delegate.js +2 -2
  53. package/dist/zcap/resolve.d.ts +15 -0
  54. package/dist/zcap/resolve.d.ts.map +1 -0
  55. package/dist/zcap/resolve.js +55 -0
  56. package/dist/zcap/resolve.js.map +1 -0
  57. package/package.json +29 -16
package/CHANGELOG.md CHANGED
@@ -1,6 +1,69 @@
1
1
  # History
2
2
 
3
- ## 0.7.0 - TBD
3
+ ## 0.8.0 - 2026-06-13
4
+
5
+ ### Added
6
+
7
+ - Add `key create --type x25519` support, generating an
8
+ `X25519KeyAgreementKey2020` (Curve25519 Diffie-Hellman) key pair via
9
+ `@interop/x25519-key-agreement-key`. Saved x25519 keys list with an `x25519`
10
+ type label and `key show` re-exports the public key only. Like ecdsa, x25519
11
+ generation is non-deterministic, so `--with-seed` / `SECRET_KEY_SEED` are not
12
+ supported.
13
+ - Add `did add-key --type x25519` support for `did:web`, adding an
14
+ `X25519KeyAgreementKey2020` to the DID document. Because x25519 keys are key
15
+ agreement (encryption) keys, they are wired into the `keyAgreement`
16
+ verification relationship only; a `--purpose` other than `keyAgreement` is
17
+ rejected, and (as with ecdsa) `--with-seed` is not supported.
18
+ - Add `was resource-meta get` and `was resource-meta put` (group alias
19
+ `meta`), surfacing the Resource Metadata endpoint (`GET`/`PUT .../meta`).
20
+ `get` prints the whole metadata object (server-managed `contentType`,
21
+ `size`, and timestamps plus the user-writable `custom` name/tags); a
22
+ missing/not-visible resource is reported as not-found. `put` updates
23
+ `custom`: `--name` and `--tag key=value` (repeatable) are non-destructive on
24
+ their own (they preserve the other field via the client's `setName` /
25
+ `setTags`), while passing both, or the `--json` escape hatch (inline JSON or
26
+ a file path), is a full `custom` replacement. Both verbs also accept
27
+ `--capability` targeting the resource.
28
+ - Add `was collection backend` and `was collection quota`, surfacing the
29
+ `GET /space/:spaceId/:collectionId/backend` and
30
+ `GET /space/:spaceId/:collectionId/quota` endpoints (the storage backend a
31
+ collection is stored on, and the collection's storage usage scoped to that
32
+ backend). Both render a table by default and take `--json` for the raw
33
+ response; a missing/not-visible collection is reported as not-found, and a
34
+ server (or backend) that does not implement the endpoint (a 501) as an error.
35
+ - Add `was space backends` and `was space quotas`, surfacing the
36
+ `GET /space/:spaceId/backends` and `GET /space/:spaceId/quotas` endpoints
37
+ (the storage backends available within a space, and the space's storage
38
+ report grouped by backend). Both render a table by default and take `--json`
39
+ for the raw response; a server that does not implement the endpoint (a 501)
40
+ is reported as an error.
41
+ - Add `ARCHITECTURE.md`, a codebase map (entry point, command-factory pattern,
42
+ module layout, and the command surface) for contributors, linked from
43
+ `CLAUDE.md` and the README.
44
+ - Add `CONTRIBUTING.md` as the canonical home for code-style and contribution
45
+ conventions (moved out of `CLAUDE.md`, which now imports it).
46
+ - Add `AGENTS.md` (an inline copy of `CONTRIBUTING.md`) so non-Claude coding
47
+ agents pick up the same project guidance.
48
+ - Add an Environment Variables table to the README consolidating `WALLET_DIR`,
49
+ `DIDS_DIR`, `SECRET_KEY_SEED`, `WAS_DID`, `WAS_SERVER_URL`, and
50
+ `ZCAP_CONTROLLER_KEY_SEED`.
51
+
52
+ ### Changed
53
+
54
+ - `zcap delegate --capability` now also accepts the id or metadata handle of
55
+ a zcap saved in local wallet storage, in addition to a multibase string or
56
+ a JSON file path (the same resolution the `was` commands' `--capability`
57
+ flag uses; the shared resolver lives in `src/zcap/resolve.ts`).
58
+ - Split the `was` command module into `src/commands/was/` submodules (by noun:
59
+ `space`, `collection`, `resource`, `tree`, `policy`, `publish`, plus shared
60
+ helpers); `src/commands/was.ts` now holds only `makeWasCommand()`. Internal
61
+ refactor with no behavior change.
62
+ - Rename the `was resource list` positional from `<path>` to `<collection>`,
63
+ matching the sibling `was collection list <space>` and clarifying that the
64
+ argument is the parent collection being enumerated.
65
+
66
+ ## 0.7.0-0.7.1 - 2026-06-11
4
67
 
5
68
  ### Changed
6
69
 
package/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # DID CLI wallet _(@interop/did-cli)_
2
2
 
3
+ [![Node.js CI](https://github.com/interop-alliance/did-cli-typescript/workflows/CI/badge.svg)](https://github.com/interop-alliance/did-cli-typescript/actions?query=workflow%3A%22CI%22)
4
+ [![NPM Version](https://img.shields.io/npm/v/@interop/did-cli.svg)](https://npm.im/@interop/did-cli)
5
+
3
6
  > A command line client for managing DIDs, VCs, zCaps, and corresponding cryptographic key pairs, written in Typescript.
4
7
 
5
8
  ## Table of Contents
@@ -23,6 +26,21 @@ Help is available with the `--help/-h` command line option:
23
26
  ./di COMMAND -h
24
27
  ```
25
28
 
29
+ ### Environment Variables
30
+
31
+ These environment variables configure storage locations and provide defaults
32
+ or secret-key seeds for individual commands. Each is also documented inline in
33
+ the relevant command section below.
34
+
35
+ | Variable | Used by | Purpose |
36
+ | --- | --- | --- |
37
+ | `WALLET_DIR` | all | Wallet collections directory (`keys/`, `zcaps/`, `credentials/`, `was-spaces/`). Defaults to `~/.config/did-cli-wallet/` (honors `XDG_CONFIG_HOME`). |
38
+ | `DIDS_DIR` | `did` | DID-documents directory. Defaults to `<WALLET_DIR>/dids/`. |
39
+ | `SECRET_KEY_SEED` | `key create`, `did create` | Multibase-encoded seed for deterministic key/DID generation. Not supported with `--type ecdsa` or `--type x25519`. |
40
+ | `WAS_DID` | `was` | Default signing DID (or stored-DID handle) when `--did` is omitted. |
41
+ | `WAS_SERVER_URL` | `was` | Default WAS server base URL when `--server` is omitted. |
42
+ | `ZCAP_CONTROLLER_KEY_SEED` | `zcap` | Controller signing-key seed for delegating capabilities. |
43
+
26
44
  ### Key Management
27
45
 
28
46
  #### Create a key pair
@@ -63,7 +81,7 @@ SECRET_KEY_SEED=z1AXVyT6G1Qk3E9cMPkDYY6wVRpZjVGWAZ3TfrAgFZkX6bv ./di key create
63
81
  ```
64
82
 
65
83
  Specify an explicit key type with `--type` (defaults to `ed25519`; supported:
66
- `ed25519`, `ecdsa`):
84
+ `ed25519`, `ecdsa`, `x25519`):
67
85
 
68
86
  ```
69
87
  SECRET_KEY_SEED=z1Aaj5A4UCsd... ./di key create --type ed25519
@@ -93,6 +111,27 @@ ECDSA keys are serialized as Multikey, the same as Ed25519. Note that ECDSA key
93
111
  generation is non-deterministic (it cannot be derived from a seed), so
94
112
  `--with-seed` and `SECRET_KEY_SEED` are not supported with `--type ecdsa`.
95
113
 
114
+ Generate an X25519 (Curve25519) key agreement key -- for Diffie-Hellman key
115
+ exchange / encryption, not signing -- with `--type x25519`:
116
+
117
+ ```
118
+ ./di key create --type x25519
119
+ ```
120
+
121
+ It is serialized as an `X25519KeyAgreementKey2020` document with the public and
122
+ private key in multibase encoding:
123
+
124
+ ```json
125
+ {
126
+ "type": "X25519KeyAgreementKey2020",
127
+ "publicKeyMultibase": "z6LS...",
128
+ "privateKeyMultibase": "z3we..."
129
+ }
130
+ ```
131
+
132
+ Like ECDSA, X25519 key generation is non-deterministic, so `--with-seed` and
133
+ `SECRET_KEY_SEED` are not supported with `--type x25519`.
134
+
96
135
  Save the key to local wallet storage (`~/.config/did-cli-wallet/keys/` by default, or
97
136
  `$WALLET_DIR/keys/` if set) with `--save`. A `.meta.json` metadata sidecar is
98
137
  written next to the key, recording the creation timestamp; `--handle` (a short
@@ -373,10 +412,20 @@ By default the new key is Ed25519; pass `--type ecdsa` (with an optional
373
412
  ./di did add-key did:web:example.com --type ecdsa --curve p384
374
413
  ```
375
414
 
415
+ Pass `--type x25519` to add an X25519 (Curve25519) key agreement key. X25519
416
+ keys are encryption/key-exchange keys, not signing keys, so they are wired into
417
+ the `keyAgreement` relationship only -- a `--purpose` other than `keyAgreement`
418
+ is rejected:
419
+
420
+ ```
421
+ ./di did add-key did:web:example.com --type x25519
422
+ ```
423
+
376
424
  For Ed25519 keys, the new key is derived from a seed (as with `did create`):
377
425
  pass `--with-seed` to generate (and print) a fresh seed, or set `SECRET_KEY_SEED`
378
- to derive the key deterministically. ECDSA keys are not seed-derivable, so
379
- `--with-seed` is not supported with `--type ecdsa`:
426
+ to derive the key deterministically. ECDSA and X25519 keys are not
427
+ seed-derivable, so `--with-seed` is not supported with `--type ecdsa` or
428
+ `--type x25519`:
380
429
 
381
430
  ```
382
431
  ./di did add-key did:web:example.com --with-seed
@@ -831,8 +880,9 @@ ZCAP_CONTROLLER_KEY_SEED=z1AZK4h5w5YZkKYEgqtcFfvSbWQ3tZ3ZFgmLsXMZsTVoeK7 \
831
880
  ```
832
881
 
833
882
  To delegate an _existing_ capability further down the chain, pass it as
834
- `--capability` instead of `--url` -- either the `encoded` string from a previous
835
- delegation or a path to a JSON file containing the capability. Use
883
+ `--capability` instead of `--url` -- the `encoded` string from a previous
884
+ delegation, a path to a JSON file containing the capability, or the id or
885
+ metadata handle of a zcap saved in local wallet storage. Use
836
886
  `--invocation-target` to attenuate (narrow) the parent's target to a sub-path:
837
887
 
838
888
  ```
@@ -1054,6 +1104,24 @@ delete pair:
1054
1104
  server** (idempotent) and removes the registry entry;
1055
1105
  - `was space forget <space>` removes only the local registry entry.
1056
1106
 
1107
+ `was space backends` lists the storage backends available within a space, and
1108
+ `was space quotas` shows the space's storage report grouped by backend (usage,
1109
+ limit, and any restricted actions). Both render a table by default and take
1110
+ `--json` for the raw response:
1111
+
1112
+ ```
1113
+ ./di was space backends home
1114
+ ID NAME MANAGED BY STORAGE MODE PERSISTENCE
1115
+ default Filesystem server document, blob durable
1116
+
1117
+ ./di was space quotas home
1118
+ BACKEND STATE USAGE (B) LIMIT (B) RESTRICTED
1119
+ default (Filesystem) ok 2048 1048576
1120
+ ```
1121
+
1122
+ A server that does not implement these endpoints (a 501) is reported as an
1123
+ error.
1124
+
1057
1125
  #### Manage collections
1058
1126
 
1059
1127
  The `collection` group (alias: `coll`) manages collections within a space.
@@ -1078,6 +1146,37 @@ credentials Credentials http://localhost:3002/space/8124...cf2e/credentials
1078
1146
  Deleted http://localhost:3002/space/8124...cf2e/credentials on the server.
1079
1147
  ```
1080
1148
 
1149
+ `was collection backend` shows the storage backend a collection is stored on,
1150
+ and `was collection quota` shows the collection's storage usage scoped to that
1151
+ backend (state, usage, limit, and any restricted actions). Both render a table
1152
+ by default and take `--json` for the raw response:
1153
+
1154
+ ```
1155
+ ./di was collection backend home/credentials
1156
+ FIELD VALUE
1157
+ ------------ --------------
1158
+ ID default
1159
+ Name Filesystem
1160
+ Managed By server
1161
+ Storage Mode document, blob
1162
+ Persistence durable
1163
+
1164
+ ./di was collection quota home/credentials
1165
+ FIELD VALUE
1166
+ ----------- --------------------
1167
+ Backend default (Filesystem)
1168
+ Managed By server
1169
+ State ok
1170
+ Usage (B) 2048
1171
+ Limit (B) 1048576
1172
+ Restricted
1173
+ Measured At 2026-06-13T00:00:00Z
1174
+ ```
1175
+
1176
+ A missing or not-visible collection is reported as not-found; a server (or
1177
+ backend) that does not implement these endpoints (a 501) is reported as an
1178
+ error.
1179
+
1081
1180
  #### Add and read resources
1082
1181
 
1083
1182
  The `resource` group (alias: `res`) manages the content itself. Payloads come
@@ -1118,6 +1217,40 @@ files); a missing or not-visible resource prints
1118
1217
  `list` renders the resources of a collection (`ID | CONTENT TYPE | URL`), and
1119
1218
  `delete` (alias: `rm`) removes one (idempotent).
1120
1219
 
1220
+ #### Resource metadata (name and tags)
1221
+
1222
+ The `resource-meta` group (alias: `meta`) reads and updates a resource's
1223
+ metadata. `get` prints the whole metadata object -- the server-managed
1224
+ `contentType`, `size`, and timestamps plus the user-writable `custom` (its
1225
+ `name` and `tags`):
1226
+
1227
+ ```
1228
+ ./di was resource-meta get home/credentials/vc-1
1229
+ ```
1230
+
1231
+ `put` updates the user-writable `custom`. `--name` sets the display name shown
1232
+ in collection listings and `--tag key=value` (repeatable) sets annotations;
1233
+ used on their own each is non-destructive -- `--name` preserves existing tags
1234
+ and `--tag` preserves the existing name:
1235
+
1236
+ ```
1237
+ ./di was resource-meta put home/credentials/vc-1 --name 'Diploma'
1238
+ ./di was resource-meta put home/credentials/vc-1 --tag year=2026 --tag status=verified
1239
+ ```
1240
+
1241
+ Giving both `--name` and `--tag` together replaces `custom` wholesale (any
1242
+ field you do not pass is cleared). The `--json` escape hatch takes the full
1243
+ `custom` object as inline JSON or a JSON file path, for the same full
1244
+ replacement (pass `--json '{}'` to clear everything):
1245
+
1246
+ ```
1247
+ ./di was resource-meta put home/credentials/vc-1 \
1248
+ --json '{"name":"Diploma","tags":{"year":"2026"}}'
1249
+ ./di was resource-meta put home/credentials/vc-1 --json custom.json
1250
+ ```
1251
+
1252
+ After a successful update the command prints the resulting metadata.
1253
+
1121
1254
  #### Shorthand verbs
1122
1255
 
1123
1256
  For day-to-day use, the top-level verbs dispatch on the path depth:
@@ -1297,7 +1430,12 @@ WAS_TEST_SERVER_URL=http://localhost:3002 npm run test:node
1297
1430
 
1298
1431
  ## Contribute
1299
1432
 
1300
- PRs accepted.
1433
+ PRs accepted. Please follow the code-style and contribution conventions in
1434
+ [CONTRIBUTING.md](CONTRIBUTING.md).
1435
+
1436
+ For a map of the codebase -- the module layout, the command-factory pattern,
1437
+ and the build/test commands -- see [ARCHITECTURE.md](ARCHITECTURE.md). Storage
1438
+ layout is documented in [STORAGE.md](STORAGE.md).
1301
1439
 
1302
1440
  If editing the Readme, please conform to the
1303
1441
  [standard-readme](https://github.com/RichardLitt/standard-readme) specification.
@@ -1 +1 @@
1
- {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../src/commands/did.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA+EnC,wBAAgB,cAAc,IAAI,OAAO,CAurBxC"}
1
+ {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../src/commands/did.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgFnC,wBAAgB,cAAc,IAAI,OAAO,CA4tBxC"}
@@ -4,6 +4,7 @@ import { driver } from '@interop/did-method-key';
4
4
  import * as didWeb from '@interop/did-web-resolver';
5
5
  import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
6
6
  import * as EcdsaMultikey from '@interop/ecdsa-multikey';
7
+ import { X25519KeyAgreementKey2020 } from '@interop/x25519-key-agreement-key';
7
8
  import { listDids, loadDidDocument, loadDidKeys, loadDidMeta, removeDidFiles, saveDidMeta, saveToDids } from '../storage.js';
8
9
  import { recordKeyDidAssociation, removeKeyDidAssociation, resolveDidRef } from '../meta.js';
9
10
  import { renderTable } from '../table.js';
@@ -273,7 +274,8 @@ export function makeDidCommand() {
273
274
  did
274
275
  .command('add-key <did>')
275
276
  .description('Add a verification key to an existing (locally stored) did:web')
276
- .option('-t, --type <type>', 'key type (supported: ed25519, ecdsa)', 'ed25519')
277
+ .option('-t, --type <type>', 'key type (supported: ed25519, ecdsa, x25519); x25519 keys are wired ' +
278
+ 'into keyAgreement only', 'ed25519')
277
279
  .option('--curve <curve>', `ECDSA curve for --type ecdsa (supported: ${SUPPORTED_ECDSA_CURVES})`, 'p256')
278
280
  .option('--purpose <purpose...>', 'verification relationship(s) to wire the key into ' +
279
281
  '(default: authentication, assertionMethod, capabilityDelegation, capabilityInvocation)')
@@ -283,10 +285,26 @@ export function makeDidCommand() {
283
285
  console.error('add-key is only supported for did:web DIDs');
284
286
  process.exit(1);
285
287
  }
286
- if (options.type !== 'ed25519' && options.type !== 'ecdsa') {
287
- console.error(`Unknown key type: ${options.type}. Supported: ed25519, ecdsa`);
288
+ if (options.type !== 'ed25519' &&
289
+ options.type !== 'ecdsa' &&
290
+ options.type !== 'x25519') {
291
+ console.error(`Unknown key type: ${options.type}. ` +
292
+ 'Supported: ed25519, ecdsa, x25519');
288
293
  process.exit(1);
289
294
  }
295
+ // x25519 keys are key agreement keys; they can only be wired into the
296
+ // keyAgreement verification relationship.
297
+ let purposes = options.purpose;
298
+ if (options.type === 'x25519') {
299
+ if (purposes &&
300
+ purposes.some(purpose => purpose !== 'keyAgreement')) {
301
+ console.error('x25519 keys can only be added to the keyAgreement ' +
302
+ 'verification relationship');
303
+ process.exit(1);
304
+ return;
305
+ }
306
+ purposes = ['keyAgreement'];
307
+ }
290
308
  let didDocument;
291
309
  let exportedKeys;
292
310
  try {
@@ -297,8 +315,8 @@ export function makeDidCommand() {
297
315
  console.error(`No locally stored did:web found for ${did}`);
298
316
  process.exit(1);
299
317
  }
300
- // ed25519 keys are derived from a seed; ecdsa keys are generated
301
- // non-deterministically and have no seed.
318
+ // ed25519 keys are derived from a seed; ecdsa and x25519 keys are
319
+ // generated non-deterministically and have no seed.
302
320
  let secretKeySeed;
303
321
  let keyPair;
304
322
  const didWebDriver = didWeb.driver();
@@ -313,7 +331,7 @@ export function makeDidCommand() {
313
331
  keyPair = await Ed25519VerificationKey.generate({ seed: seedBytes });
314
332
  didWebDriver.use({ keyPairClass: Ed25519VerificationKey });
315
333
  }
316
- else {
334
+ else if (options.type === 'ecdsa') {
317
335
  if (options.withSeed) {
318
336
  console.error('--with-seed is not supported for ecdsa keys; ECDSA key ' +
319
337
  'generation is non-deterministic and cannot be derived ' +
@@ -331,26 +349,37 @@ export function makeDidCommand() {
331
349
  warnIfNotVcIssuanceCapable({ curve });
332
350
  keyPair = await EcdsaMultikey.generate({ curve });
333
351
  }
352
+ else {
353
+ if (options.withSeed) {
354
+ console.error('--with-seed is not supported for x25519 keys; X25519 key ' +
355
+ 'generation is non-deterministic and cannot be derived ' +
356
+ 'from a seed.');
357
+ process.exit(1);
358
+ return;
359
+ }
360
+ keyPair = await X25519KeyAgreementKey2020.generate();
361
+ }
334
362
  const keyPairs = new Map();
335
363
  try {
336
364
  await didWebDriver.addVerificationMethod({
337
365
  didDocument,
338
366
  keyPairs,
339
367
  keyPair,
340
- purposes: options.purpose
368
+ purposes
341
369
  });
342
370
  }
343
371
  catch (err) {
344
372
  console.error(err.message);
345
373
  process.exit(1);
346
374
  }
347
- // Merge the new key into the stored keys file (keyed by VM id).
375
+ // Merge the new key into the stored keys file (keyed by VM id). X25519
376
+ // keys export their private half as `privateKeyMultibase`, the other
377
+ // suites as `secretKeyMultibase`.
348
378
  const addedFingerprints = [];
349
379
  for (const [methodId, addedKey] of keyPairs) {
350
- const exportedKey = (await addedKey.export({
351
- publicKey: true,
352
- secretKey: true
353
- }));
380
+ const exportedKey = (await addedKey.export(options.type === 'x25519'
381
+ ? { publicKey: true, privateKey: true }
382
+ : { publicKey: true, secretKey: true }));
354
383
  exportedKeys[methodId] = exportedKey;
355
384
  addedFingerprints.push(exportedKey.publicKeyMultibase);
356
385
  }
@@ -1 +1 @@
1
- {"version":3,"file":"did.js","sourceRoot":"","sources":["../../src/commands/did.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"did.js","sourceRoot":"","sources":["../../src/commands/did.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAmGnC,wBAAgB,cAAc,IAAI,OAAO,CAkdxC"}
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoGnC,wBAAgB,cAAc,IAAI,OAAO,CAigBxC"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import { decodeSecretKeySeed, generateSecretKeySeed } from '@digitalcredentials/bnid';
3
3
  import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
4
4
  import * as EcdsaMultikey from '@interop/ecdsa-multikey';
5
+ import { X25519KeyAgreementKey2020 } from '@interop/x25519-key-agreement-key';
5
6
  import { listCollection, loadFromCollection, loadMetaFromCollection, removeFromCollection, saveMetaToCollection, saveToCollection } from '../storage.js';
6
7
  import { mapFingerprintsToDids, parseKeyStorageId, resolveKeyRef } from '../meta.js';
7
8
  import { renderTable, truncateMiddle } from '../table.js';
@@ -62,7 +63,7 @@ export function makeKeyCommand() {
62
63
  key
63
64
  .command('create')
64
65
  .description('Create a new key')
65
- .option('-t, --type <type>', 'key type (supported: ed25519, ecdsa)', 'ed25519')
66
+ .option('-t, --type <type>', 'key type (supported: ed25519, ecdsa, x25519)', 'ed25519')
66
67
  .option('--curve <curve>', `ECDSA curve for --type ecdsa (supported: ${SUPPORTED_ECDSA_CURVES})`, 'p256')
67
68
  .option('--save', 'save the key to local wallet storage (~/.config/did-cli-wallet/keys/)')
68
69
  .option('--handle <handle>', 'short tag for the saved key (requires --save)')
@@ -150,8 +151,39 @@ export function makeKeyCommand() {
150
151
  console.log(JSON.stringify(exported, null, 2));
151
152
  break;
152
153
  }
154
+ case 'x25519': {
155
+ if (options.withSeed) {
156
+ console.error('--with-seed is not supported for x25519 keys; X25519 key ' +
157
+ 'generation is non-deterministic and cannot be derived ' +
158
+ 'from a seed.');
159
+ process.exit(1);
160
+ return;
161
+ }
162
+ const keyPair = await X25519KeyAgreementKey2020.generate();
163
+ const exported = await keyPair.export({
164
+ publicKey: true,
165
+ privateKey: true
166
+ });
167
+ if (options.save) {
168
+ const now = new Date();
169
+ const date = now.toISOString().slice(0, 10);
170
+ const rawId = exported.id ?? exported.publicKeyMultibase;
171
+ const storageId = `${date}-x25519-${rawId}`.replaceAll(':', '_');
172
+ const filePath = await saveToCollection('keys', storageId, exported);
173
+ await writeCreateMeta({
174
+ storageId,
175
+ created: now.toISOString(),
176
+ handle: options.handle,
177
+ description: options.description
178
+ });
179
+ console.error(`Key saved to ${filePath}`);
180
+ }
181
+ console.log(JSON.stringify(exported, null, 2));
182
+ break;
183
+ }
153
184
  default:
154
- console.error(`Unknown key type: ${options.type}. Supported: ed25519, ecdsa`);
185
+ console.error(`Unknown key type: ${options.type}. ` +
186
+ 'Supported: ed25519, ecdsa, x25519');
155
187
  process.exit(1);
156
188
  }
157
189
  });
@@ -300,18 +332,24 @@ export function makeKeyCommand() {
300
332
  }
301
333
  // Re-import the stored key pair and re-export the public half only, so the
302
334
  // secret key material never leaves storage in the displayed output.
303
- const isEcdsa = isEcdsaPublicKeyMultibase({
335
+ let publicKey;
336
+ if (storedKey.type === 'X25519KeyAgreementKey2020') {
337
+ publicKey = await (await X25519KeyAgreementKey2020.from(storedKey)).export({ publicKey: true });
338
+ }
339
+ else if (isEcdsaPublicKeyMultibase({
304
340
  publicKeyMultibase: storedKey.publicKeyMultibase
305
- });
306
- const publicKey = isEcdsa
307
- ? await (await EcdsaMultikey.from(storedKey)).export({
341
+ })) {
342
+ publicKey = await (await EcdsaMultikey.from(storedKey)).export({
308
343
  publicKey: true,
309
344
  secretKey: false
310
- })
311
- : await (await Ed25519VerificationKey.from(storedKey)).export({
345
+ });
346
+ }
347
+ else {
348
+ publicKey = await (await Ed25519VerificationKey.from(storedKey)).export({
312
349
  publicKey: true,
313
350
  secretKey: false
314
351
  });
352
+ }
315
353
  console.log(JSON.stringify(publicKey, null, 2));
316
354
  });
317
355
  key