@interop/did-cli 0.10.0 → 0.12.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/CHANGELOG.md +113 -0
- package/README.md +184 -35
- package/dist/commands/collection-command.d.ts +169 -0
- package/dist/commands/collection-command.d.ts.map +1 -0
- package/dist/commands/collection-command.js +241 -0
- package/dist/commands/collection-command.js.map +1 -0
- package/dist/commands/did/create.d.ts +63 -0
- package/dist/commands/did/create.d.ts.map +1 -0
- package/dist/commands/did/create.js +624 -0
- package/dist/commands/did/create.js.map +1 -0
- package/dist/commands/did/manage.d.ts +69 -0
- package/dist/commands/did/manage.d.ts.map +1 -0
- package/dist/commands/did/manage.js +322 -0
- package/dist/commands/did/manage.js.map +1 -0
- package/dist/commands/did/service.d.ts +93 -0
- package/dist/commands/did/service.d.ts.map +1 -0
- package/dist/commands/did/service.js +322 -0
- package/dist/commands/did/service.js.map +1 -0
- package/dist/commands/did/webvh-update.d.ts +172 -0
- package/dist/commands/did/webvh-update.d.ts.map +1 -0
- package/dist/commands/did/webvh-update.js +438 -0
- package/dist/commands/did/webvh-update.js.map +1 -0
- package/dist/commands/did.d.ts +8 -8
- package/dist/commands/did.d.ts.map +1 -1
- package/dist/commands/did.js +31 -1519
- package/dist/commands/did.js.map +1 -1
- package/dist/commands/edv.d.ts +15 -6
- package/dist/commands/edv.d.ts.map +1 -1
- package/dist/commands/edv.js +38 -28
- package/dist/commands/edv.js.map +1 -1
- package/dist/commands/key.d.ts +104 -0
- package/dist/commands/key.d.ts.map +1 -1
- package/dist/commands/key.js +432 -402
- package/dist/commands/key.js.map +1 -1
- package/dist/commands/vc.d.ts +2 -1
- package/dist/commands/vc.d.ts.map +1 -1
- package/dist/commands/vc.js +88 -145
- package/dist/commands/vc.js.map +1 -1
- package/dist/commands/was/collection.d.ts.map +1 -1
- package/dist/commands/was/collection.js +31 -85
- package/dist/commands/was/collection.js.map +1 -1
- package/dist/commands/was/publish.d.ts.map +1 -1
- package/dist/commands/was/publish.js +16 -44
- package/dist/commands/was/publish.js.map +1 -1
- package/dist/commands/was/resource.d.ts.map +1 -1
- package/dist/commands/was/resource.js +24 -51
- package/dist/commands/was/resource.js.map +1 -1
- package/dist/commands/was/shared.d.ts +83 -6
- package/dist/commands/was/shared.d.ts.map +1 -1
- package/dist/commands/was/shared.js +104 -1
- package/dist/commands/was/shared.js.map +1 -1
- package/dist/commands/was/space.d.ts.map +1 -1
- package/dist/commands/was/space.js +10 -16
- package/dist/commands/was/space.js.map +1 -1
- package/dist/commands/was/tree.d.ts.map +1 -1
- package/dist/commands/was/tree.js +4 -6
- package/dist/commands/was/tree.js.map +1 -1
- package/dist/commands/was.d.ts.map +1 -1
- package/dist/commands/was.js +60 -74
- package/dist/commands/was.js.map +1 -1
- package/dist/commands/zcap.d.ts +0 -18
- package/dist/commands/zcap.d.ts.map +1 -1
- package/dist/commands/zcap.js +63 -155
- package/dist/commands/zcap.js.map +1 -1
- package/dist/documentLoader.d.ts +3 -0
- package/dist/documentLoader.d.ts.map +1 -0
- package/dist/documentLoader.js +26 -0
- package/dist/documentLoader.js.map +1 -0
- package/dist/edv/core.d.ts +5 -4
- package/dist/edv/core.d.ts.map +1 -1
- package/dist/edv/core.js +22 -19
- package/dist/edv/core.js.map +1 -1
- package/dist/edv/hmac.d.ts.map +1 -1
- package/dist/edv/hmac.js +12 -12
- package/dist/edv/hmac.js.map +1 -1
- package/dist/edv/recipients.d.ts +2 -0
- package/dist/edv/recipients.d.ts.map +1 -1
- package/dist/edv/recipients.js +12 -15
- package/dist/edv/recipients.js.map +1 -1
- package/dist/keys/webvh-signer.d.ts +4 -10
- package/dist/keys/webvh-signer.d.ts.map +1 -1
- package/dist/keys/webvh-signer.js +10 -14
- package/dist/keys/webvh-signer.js.map +1 -1
- package/dist/keys/webvh-update.d.ts +6 -1
- package/dist/keys/webvh-update.d.ts.map +1 -1
- package/dist/keys/webvh-update.js +5 -2
- package/dist/keys/webvh-update.js.map +1 -1
- package/dist/meta.d.ts +36 -11
- package/dist/meta.d.ts.map +1 -1
- package/dist/meta.js +95 -73
- package/dist/meta.js.map +1 -1
- package/dist/storage.d.ts +65 -13
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +75 -17
- package/dist/storage.js.map +1 -1
- package/dist/vc/issue.d.ts.map +1 -1
- package/dist/vc/issue.js +4 -7
- package/dist/vc/issue.js.map +1 -1
- package/dist/vc/suites/expirationSuite.d.ts.map +1 -1
- package/dist/vc/suites/expirationSuite.js.map +1 -1
- package/dist/vc/suites/issuerDetailsSuite.d.ts.map +1 -1
- package/dist/vc/suites/issuerDetailsSuite.js.map +1 -1
- package/dist/vc/verify.d.ts +10 -0
- package/dist/vc/verify.d.ts.map +1 -1
- package/dist/vc/verify.js +38 -1
- package/dist/vc/verify.js.map +1 -1
- package/dist/was/client.d.ts.map +1 -1
- package/dist/was/client.js +8 -2
- package/dist/was/client.js.map +1 -1
- package/dist/was/grant.d.ts +44 -0
- package/dist/was/grant.d.ts.map +1 -0
- package/dist/was/grant.js +78 -0
- package/dist/was/grant.js.map +1 -0
- package/dist/was/io.d.ts +2 -2
- package/dist/was/io.d.ts.map +1 -1
- package/dist/was/io.js +1 -1
- package/dist/was/registry.d.ts.map +1 -1
- package/dist/was/registry.js +9 -2
- package/dist/was/registry.js.map +1 -1
- package/dist/zcap/delegate.d.ts.map +1 -1
- package/dist/zcap/delegate.js +1 -6
- package/dist/zcap/delegate.js.map +1 -1
- package/dist/zcap/signer.d.ts.map +1 -1
- package/dist/zcap/signer.js.map +1 -1
- package/package.json +20 -19
- package/dist/keys/webvh-driver.d.ts +0 -24
- package/dist/keys/webvh-driver.d.ts.map +0 -1
- package/dist/keys/webvh-driver.js +0 -73
- package/dist/keys/webvh-driver.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentLoader.d.ts","sourceRoot":"","sources":["../src/documentLoader.ts"],"names":[],"mappings":"AA6BA,uDAAuD;AACvD,eAAO,MAAM,cAAc,wDAA0C,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CLI's single shared JSON-LD document loader, used by every command that
|
|
3
|
+
* resolves DIDs / dereferences DID URLs or loads JSON-LD contexts (DID
|
|
4
|
+
* resolution, VC issue/verify, EDV recipient resolution, zcap signing).
|
|
5
|
+
*
|
|
6
|
+
* Per project convention, DID/JSON-LD resolution always goes through
|
|
7
|
+
* `@interop/security-document-loader`, never a hand-rolled loader. The loader's
|
|
8
|
+
* default resolver only knows did:key and did:web, so the did:webvh driver is
|
|
9
|
+
* registered onto a copy of the defaults -- keeping the did:webvh dependency out
|
|
10
|
+
* of the shared loader package itself. A bare DID resolves to its DID document;
|
|
11
|
+
* a `did#fragment` URL is dereferenced straight to its verification-method node.
|
|
12
|
+
* Works for did:key (offline), did:web, and did:webvh (both fetched). Built once
|
|
13
|
+
* and reused.
|
|
14
|
+
*/
|
|
15
|
+
import { createDefaultDidResolver, securityLoader } from '@interop/security-document-loader';
|
|
16
|
+
import { createDidWebvhDriver } from '@interop/did-method-webvh/driver';
|
|
17
|
+
// The shared DID resolver underlying `documentLoader`. Kept module-private: its
|
|
18
|
+
// `@interop/did-io` type is not portably nameable across an export boundary.
|
|
19
|
+
const didResolver = createDefaultDidResolver();
|
|
20
|
+
// `CachedResolver.use` types its argument as the full generation-capable
|
|
21
|
+
// `DidMethodDriver`, but only reads `.method` (and later calls `.get`) for
|
|
22
|
+
// resolution; the webvh driver implements just that resolution subset.
|
|
23
|
+
didResolver.use(createDidWebvhDriver());
|
|
24
|
+
/** The shared document loader for all CLI commands. */
|
|
25
|
+
export const documentLoader = securityLoader({ didResolver }).build();
|
|
26
|
+
//# sourceMappingURL=documentLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentLoader.js","sourceRoot":"","sources":["../src/documentLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,wBAAwB,EACxB,cAAc,EACf,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAGvE,gFAAgF;AAChF,6EAA6E;AAC7E,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAA;AAC9C,yEAAyE;AACzE,2EAA2E;AAC3E,uEAAuE;AACvE,WAAW,CAAC,GAAG,CAAC,oBAAoB,EAAgC,CAAC,CAAA;AAErE,uDAAuD;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA"}
|
package/dist/edv/core.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export interface UpdateBase {
|
|
|
17
17
|
indexed: IEncryptedDocument['indexed'];
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Encrypt an EDV Document through `
|
|
20
|
+
* Encrypt an EDV Document through `EdvDocumentCipher.encrypt`: serialize the
|
|
21
21
|
* document's `{ content, meta, stream }` into a single JWE for the recipients,
|
|
22
22
|
* blind any declared indexable attributes with `hmac`, and assemble the
|
|
23
23
|
* `{ id, sequence, indexed, jwe }` envelope (plus `stream` when present).
|
|
@@ -44,9 +44,10 @@ export declare function encryptDocument({ doc, keys, hmac, indexes, base }: {
|
|
|
44
44
|
base?: UpdateBase;
|
|
45
45
|
}): Promise<IEncryptedDocument>;
|
|
46
46
|
/**
|
|
47
|
-
* Decrypt an EDV Document envelope through `
|
|
48
|
-
* its cleartext payload (`content`, plus `meta`/`stream` when
|
|
49
|
-
*
|
|
47
|
+
* Decrypt an EDV Document envelope through `EdvDocumentCipher.decrypt`,
|
|
48
|
+
* returning its cleartext payload (`content`, plus `meta`/`stream` when
|
|
49
|
+
* present). Decryption reads no index, so the codec needs no `indexHelper`. A
|
|
50
|
+
* wrong key surfaces as a thrown error (the codec rejects a `null` decrypt).
|
|
50
51
|
*
|
|
51
52
|
* @param options {object}
|
|
52
53
|
* @param options.encryptedDoc {IEncryptedDocument}
|
package/dist/edv/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/edv/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/edv/core.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,KAAK,EACN,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,eAAe,CAAC,EACpC,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,IAAI,EACL,EAAE;IACD,GAAG,EAAE,YAAY,CAAA;IACjB,IAAI,EAAE,eAAe,EAAE,CAAA;IACvB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkB9B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EACpC,YAAY,EACZ,eAAe,EAChB,EAAE;IACD,YAAY,EAAE,kBAAkB,CAAA;IAChC,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,OAAO,CAAC,eAAe,CAAC,CAO3B"}
|
package/dist/edv/core.js
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* EDV Document encryption via `@interop/edv-client`'s `
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* EDV Document encryption via `@interop/edv-client`'s `EdvDocumentCipher`. The
|
|
3
|
+
* `{ id, sequence, indexed, jwe }` envelope is not assembled here; it is routed
|
|
4
|
+
* through the reference codec instead, so the envelope -- and the HMAC-blinded
|
|
5
|
+
* `indexed` array -- is correct-by-construction against the implementation an
|
|
6
|
+
* EDV / WAS server expects.
|
|
7
7
|
*
|
|
8
|
-
* Only the transport-free helpers are used: `
|
|
9
|
-
* `
|
|
10
|
-
* attributes
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
8
|
+
* Only the transport-free helpers are used: `EdvDocumentCipher.encrypt` /
|
|
9
|
+
* `decrypt` (the envelope + index blinding), plus `EdvClientCore.ensureIndex`
|
|
10
|
+
* (declaring indexable attributes, which registers them on the core's
|
|
11
|
+
* `indexHelper` -- and so on the `documentCipher` that shares it) and
|
|
12
|
+
* `generateId` (the document id). The chunked-stream bytes are still produced
|
|
13
|
+
* by the cipher directly (see `./stream.ts`), since the core's stream path
|
|
14
|
+
* requires a server transport; only the stream document's envelope passes
|
|
15
|
+
* through here.
|
|
14
16
|
*/
|
|
15
17
|
import { Cipher } from '@interop/minimal-cipher';
|
|
16
|
-
import { EdvClientCore } from '@interop/edv-client';
|
|
18
|
+
import { EdvClientCore, EdvDocumentCipher } from '@interop/edv-client';
|
|
17
19
|
/**
|
|
18
|
-
* Encrypt an EDV Document through `
|
|
20
|
+
* Encrypt an EDV Document through `EdvDocumentCipher.encrypt`: serialize the
|
|
19
21
|
* document's `{ content, meta, stream }` into a single JWE for the recipients,
|
|
20
22
|
* blind any declared indexable attributes with `hmac`, and assemble the
|
|
21
23
|
* `{ id, sequence, indexed, jwe }` envelope (plus `stream` when present).
|
|
@@ -46,7 +48,7 @@ export async function encryptDocument({ doc, keys, hmac, indexes, base }) {
|
|
|
46
48
|
core.ensureIndex({ attribute, unique });
|
|
47
49
|
}
|
|
48
50
|
const { recipients, keyResolver } = new Cipher().createRecipients({ keys });
|
|
49
|
-
return core.
|
|
51
|
+
return core.documentCipher.encrypt({
|
|
50
52
|
doc,
|
|
51
53
|
recipients,
|
|
52
54
|
keyResolver,
|
|
@@ -55,9 +57,10 @@ export async function encryptDocument({ doc, keys, hmac, indexes, base }) {
|
|
|
55
57
|
});
|
|
56
58
|
}
|
|
57
59
|
/**
|
|
58
|
-
* Decrypt an EDV Document envelope through `
|
|
59
|
-
* its cleartext payload (`content`, plus `meta`/`stream` when
|
|
60
|
-
*
|
|
60
|
+
* Decrypt an EDV Document envelope through `EdvDocumentCipher.decrypt`,
|
|
61
|
+
* returning its cleartext payload (`content`, plus `meta`/`stream` when
|
|
62
|
+
* present). Decryption reads no index, so the codec needs no `indexHelper`. A
|
|
63
|
+
* wrong key surfaces as a thrown error (the codec rejects a `null` decrypt).
|
|
61
64
|
*
|
|
62
65
|
* @param options {object}
|
|
63
66
|
* @param options.encryptedDoc {IEncryptedDocument}
|
|
@@ -65,8 +68,8 @@ export async function encryptDocument({ doc, keys, hmac, indexes, base }) {
|
|
|
65
68
|
* @returns {Promise<DocumentPayload>}
|
|
66
69
|
*/
|
|
67
70
|
export async function decryptDocument({ encryptedDoc, keyAgreementKey }) {
|
|
68
|
-
const
|
|
69
|
-
const { content, meta, stream } = await
|
|
71
|
+
const documentCipher = new EdvDocumentCipher({ cipher: new Cipher() });
|
|
72
|
+
const { content, meta, stream } = await documentCipher.decrypt({
|
|
70
73
|
encryptedDoc,
|
|
71
74
|
keyAgreementKey
|
|
72
75
|
});
|
package/dist/edv/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/edv/core.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/edv/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AA0BtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,IAAI,EAOL;IACC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,EAAE,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAA;IAC3C,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3E,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;QACjC,GAAG;QACH,UAAU;QACV,WAAW;QACX,IAAI;QACJ,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;KACtB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,YAAY,EACZ,eAAe,EAIhB;IACC,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,EAAE,CAAC,CAAA;IACtE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;QAC7D,YAAY;QACZ,eAAe;KAChB,CAAC,CAAA;IACF,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AAC7E,CAAC"}
|
package/dist/edv/hmac.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../src/edv/hmac.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EAEd,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../src/edv/hmac.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EAEd,MAAM,8BAA8B,CAAA;AAQrC,iFAAiF;AACjF,eAAO,MAAM,aAAa,sBAAsB,CAAA;AAyBhD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,EAChC,GAAG,EACJ,EAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,aAAa,CAAC,CAyCzB"}
|
package/dist/edv/hmac.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { SHA256HMACKey } from '@interop/data-integrity-core';
|
|
10
10
|
import { listCollection, loadFromCollection, loadMetaFromCollection } from '../storage.js';
|
|
11
|
+
import { resolveByHandle } from '../meta.js';
|
|
11
12
|
/** The stored `type` value of an HMAC blinding key (the EDV protocol string). */
|
|
12
13
|
export const HMAC_KEY_TYPE = 'Sha256HmacKey2019';
|
|
13
14
|
/**
|
|
@@ -17,7 +18,7 @@ export const HMAC_KEY_TYPE = 'Sha256HmacKey2019';
|
|
|
17
18
|
*/
|
|
18
19
|
async function listStoredHmacs() {
|
|
19
20
|
const storageIds = await listCollection('keys');
|
|
20
|
-
const stored = await Promise.all(storageIds.map(storageId => loadFromCollection('keys', storageId)));
|
|
21
|
+
const stored = await Promise.all(storageIds.map(storageId => loadFromCollection({ collection: 'keys', storageId })));
|
|
21
22
|
return storageIds
|
|
22
23
|
.map((storageId, index) => ({ storageId, stored: stored[index] }))
|
|
23
24
|
.filter(({ stored }) => stored.type === HMAC_KEY_TYPE);
|
|
@@ -50,18 +51,17 @@ export async function resolveHmac({ ref }) {
|
|
|
50
51
|
if (direct) {
|
|
51
52
|
return SHA256HMACKey.from(direct.stored);
|
|
52
53
|
}
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
const match = await resolveByHandle({
|
|
55
|
+
ref,
|
|
56
|
+
noun: 'HMAC keys',
|
|
57
|
+
alternative: 'key id',
|
|
58
|
+
storageIds: candidates.map(candidate => candidate.storageId),
|
|
59
|
+
loadMeta: storageId => loadMetaFromCollection({ collection: 'keys', storageId })
|
|
60
|
+
});
|
|
61
|
+
if (!match) {
|
|
59
62
|
throw new Error(`No HMAC key found for "${ref}".`);
|
|
60
63
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
'use the key id instead.');
|
|
64
|
-
}
|
|
65
|
-
return SHA256HMACKey.from(byHandle[0].stored);
|
|
64
|
+
const candidate = candidates.find(candidate => candidate.storageId === match.storageId);
|
|
65
|
+
return SHA256HMACKey.from(candidate.stored);
|
|
66
66
|
}
|
|
67
67
|
//# sourceMappingURL=hmac.js.map
|
package/dist/edv/hmac.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/edv/hmac.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EAEd,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/edv/hmac.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EAEd,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5C,iFAAiF;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAQhD;;;;GAIG;AACH,KAAK,UAAU,eAAe;IAC5B,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CACzB,kBAAkB,CAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CACtE,CACF,CAAA;IACD,OAAO,UAAU;SACd,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACjE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAChC,GAAG,EAGJ;IACC,MAAM,UAAU,GAAG,MAAM,eAAe,EAAE,CAAA;IAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,mDAAmD;YACjD,qCAAqC,CACxC,CAAA;IACH,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,kBAAkB,UAAU,CAAC,MAAM,cAAc;gBAC/C,4BAA4B,CAC/B,CAAA;QACH,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAC5B,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,SAAS,CAAC,SAAS,KAAK,GAAG,CACxE,CAAA;IACD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC;QAClC,GAAG;QACH,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;QAC5D,QAAQ,EAAE,SAAS,CAAC,EAAE,CACpB,sBAAsB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;KAC5D,CAAC,CAAA;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAC/B,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CACpD,CAAA;IACF,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AAC7C,CAAC"}
|
package/dist/edv/recipients.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { X25519KeyAgreementKey2020 } from '@interop/x25519-key-agreement-key';
|
|
2
2
|
/** The X25519 key-agreement verification-method type minimal-cipher expects. */
|
|
3
3
|
export declare const KEY_AGREEMENT_TYPE = "X25519KeyAgreementKey2020";
|
|
4
|
+
/** The multibase prefix of an X25519 `publicKeyMultibase`. */
|
|
5
|
+
export declare const X25519_MULTIBASE_PREFIX = "z6LS";
|
|
4
6
|
/**
|
|
5
7
|
* An X25519 key-agreement key instance with its `.id` (`kid`) populated. Used
|
|
6
8
|
* both as a resolved recipient (encrypt reads `id` + `publicKeyMultibase`) and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../src/edv/recipients.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../src/edv/recipients.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAK7E,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,8BAA8B,CAAA;AAE7D,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,SAAS,CAAA;AAoB7C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,yBAAyB,CAAC,GAAG;IAC7E,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAkKD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC,eAAe,CAAC,CAmB3B;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,IAAI,EACL,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,eAAe,CAAC,CAa3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC,eAAe,CAAC,CAa3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAAC,EAC9C,GAAG,EACJ,EAAE;IACD,GAAG,EAAE;QAAE,UAAU,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE;gBAAE,GAAG,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,EAAE,CAAA;KAAE,CAAA;CACtD,GAAG,OAAO,CAAC,eAAe,CAAC,CAsC3B"}
|
package/dist/edv/recipients.js
CHANGED
|
@@ -10,20 +10,14 @@
|
|
|
10
10
|
* for decrypt.
|
|
11
11
|
*/
|
|
12
12
|
import { readFile } from 'node:fs/promises';
|
|
13
|
-
import { securityLoader } from '@interop/security-document-loader';
|
|
14
13
|
import { X25519KeyAgreementKey2020 } from '@interop/x25519-key-agreement-key';
|
|
14
|
+
import { documentLoader } from '../documentLoader.js';
|
|
15
15
|
import { listCollection, loadFromCollection } from '../storage.js';
|
|
16
16
|
import { resolveKeyRef } from '../meta.js';
|
|
17
17
|
/** The X25519 key-agreement verification-method type minimal-cipher expects. */
|
|
18
18
|
export const KEY_AGREEMENT_TYPE = 'X25519KeyAgreementKey2020';
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
* DID document and dereferences a `did#fragment` URL straight to its
|
|
22
|
-
* verification-method node, for both did:key (offline) and did:web (fetched).
|
|
23
|
-
* Built once and reused. (Per project convention, DID/JSON-LD resolution goes
|
|
24
|
-
* through `@interop/security-document-loader`, never a hand-rolled loader.)
|
|
25
|
-
*/
|
|
26
|
-
const documentLoader = securityLoader().build();
|
|
19
|
+
/** The multibase prefix of an X25519 `publicKeyMultibase`. */
|
|
20
|
+
export const X25519_MULTIBASE_PREFIX = 'z6LS';
|
|
27
21
|
/**
|
|
28
22
|
* Construct an X25519 key-agreement key from a verification method or stored
|
|
29
23
|
* key pair. `didKey: true` defaults a source with no `controller`/`id` to its
|
|
@@ -33,7 +27,7 @@ const documentLoader = securityLoader().build();
|
|
|
33
27
|
* `type: 'Multikey'` source is normalized via `fromMultikey`. The constructor
|
|
34
28
|
* validates the multibase header bytes.
|
|
35
29
|
*
|
|
36
|
-
* @param source {
|
|
30
|
+
* @param source {VerificationMethodNode}
|
|
37
31
|
* @returns {Promise<KeyAgreementKey>}
|
|
38
32
|
*/
|
|
39
33
|
async function keyAgreementKeyFrom(source) {
|
|
@@ -61,7 +55,7 @@ function splitFragment({ ref }) {
|
|
|
61
55
|
*
|
|
62
56
|
* @param options {object}
|
|
63
57
|
* @param options.url {string}
|
|
64
|
-
* @returns {Promise<
|
|
58
|
+
* @returns {Promise<VerificationMethodNode>}
|
|
65
59
|
*/
|
|
66
60
|
async function resolveDidUrl({ url }) {
|
|
67
61
|
const { document } = (await documentLoader(url));
|
|
@@ -98,7 +92,7 @@ function isX25519PublicKey(publicKeyMultibase) {
|
|
|
98
92
|
* and construct it.
|
|
99
93
|
*
|
|
100
94
|
* @param options {object}
|
|
101
|
-
* @param options.method {
|
|
95
|
+
* @param options.method {VerificationMethodNode}
|
|
102
96
|
* @param options.ref {string}
|
|
103
97
|
* @returns {Promise<KeyAgreementKey>}
|
|
104
98
|
*/
|
|
@@ -126,7 +120,7 @@ async function resolveDidRecipient({ ref }) {
|
|
|
126
120
|
// A bare DID: pick the single keyAgreement key, dereferencing any entries
|
|
127
121
|
// that are id references rather than embedded verification methods.
|
|
128
122
|
const didDocument = await resolveDidUrl({ url: did });
|
|
129
|
-
const entries =
|
|
123
|
+
const entries = didDocument.keyAgreement ?? [];
|
|
130
124
|
const methods = [];
|
|
131
125
|
for (const entry of entries) {
|
|
132
126
|
methods.push(typeof entry === 'string' ? await resolveDidUrl({ url: entry }) : entry);
|
|
@@ -151,7 +145,7 @@ async function resolveDidRecipient({ ref }) {
|
|
|
151
145
|
* @returns {Promise<KeyAgreementKey>}
|
|
152
146
|
*/
|
|
153
147
|
export async function resolveRecipient({ ref }) {
|
|
154
|
-
if (ref.startsWith(
|
|
148
|
+
if (ref.startsWith(X25519_MULTIBASE_PREFIX)) {
|
|
155
149
|
return toKeyAgreementKey({
|
|
156
150
|
method: { type: KEY_AGREEMENT_TYPE, publicKeyMultibase: ref },
|
|
157
151
|
ref
|
|
@@ -229,7 +223,10 @@ export async function autoSelectKeyAgreementKey({ jwe }) {
|
|
|
229
223
|
const storageIds = await listCollection('keys');
|
|
230
224
|
const matches = [];
|
|
231
225
|
for (const storageId of storageIds) {
|
|
232
|
-
const stored = await loadFromCollection(
|
|
226
|
+
const stored = await loadFromCollection({
|
|
227
|
+
collection: 'keys',
|
|
228
|
+
storageId
|
|
229
|
+
});
|
|
233
230
|
if (stored.type !== KEY_AGREEMENT_TYPE ||
|
|
234
231
|
!stored.privateKeyMultibase ||
|
|
235
232
|
!stored.publicKeyMultibase) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../src/edv/recipients.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../src/edv/recipients.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Signer
|
|
1
|
+
import type { Signer } from '@interop/did-method-webvh';
|
|
2
2
|
/**
|
|
3
|
-
* Build a did:webvh `Signer`
|
|
3
|
+
* Build a did:webvh `Signer` backed by an Ed25519 key pair.
|
|
4
4
|
*
|
|
5
5
|
* `keyPair.signer()` requires `keyPair.id` to be set, so the caller must assign
|
|
6
6
|
* an id before signing; this helper derives the verification method id from the
|
|
@@ -8,7 +8,7 @@ import type { Signer, Verifier } from '@interop/did-method-webvh';
|
|
|
8
8
|
*
|
|
9
9
|
* @param options {object}
|
|
10
10
|
* @param options.keyPair {object} an `@interop/ed25519-verification-key` pair.
|
|
11
|
-
* @returns {Signer
|
|
11
|
+
* @returns {Signer}
|
|
12
12
|
*/
|
|
13
13
|
export declare function makeWebvhSigner({ keyPair }: {
|
|
14
14
|
keyPair: {
|
|
@@ -18,12 +18,6 @@ export declare function makeWebvhSigner({ keyPair }: {
|
|
|
18
18
|
data: Uint8Array;
|
|
19
19
|
}): Promise<Uint8Array>;
|
|
20
20
|
};
|
|
21
|
-
verifier(): {
|
|
22
|
-
verify(options: {
|
|
23
|
-
data: Uint8Array;
|
|
24
|
-
signature: Uint8Array;
|
|
25
|
-
}): Promise<boolean>;
|
|
26
|
-
};
|
|
27
21
|
};
|
|
28
|
-
}): Signer
|
|
22
|
+
}): Signer;
|
|
29
23
|
//# sourceMappingURL=webvh-signer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webvh-signer.d.ts","sourceRoot":"","sources":["../../src/keys/webvh-signer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webvh-signer.d.ts","sourceRoot":"","sources":["../../src/keys/webvh-signer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACR,EAAE;IACD,OAAO,EAAE;QACP,kBAAkB,EAAE,MAAM,CAAA;QAC1B,MAAM,IAAI;YAAE,IAAI,CAAC,OAAO,EAAE;gBAAE,IAAI,EAAE,UAAU,CAAA;aAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;SAAE,CAAA;KACvE,CAAA;CACF,GAAG,MAAM,CAcT"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Bridge between the CLI's `@interop/ed25519-verification-key` key pair and the
|
|
3
|
-
* `Signer`
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* `Signer` interface expected by `@interop/did-method-webvh`, so did:webvh
|
|
4
|
+
* reuses the same Ed25519 key class as did:key / did:web rather than pulling in
|
|
5
|
+
* a separate signing implementation.
|
|
6
6
|
*
|
|
7
|
-
* `
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* do the cryptography.
|
|
7
|
+
* `sign({ document, proof })` returns a base58btc multibase `proofValue`.
|
|
8
|
+
* `prepareDataForSigning` produces the bytes to sign (the `eddsa-jcs-2022`
|
|
9
|
+
* cryptosuite hash); the key pair's own `signer()` does the cryptography.
|
|
10
|
+
* Verification is left to the library's default log verifier, which recovers
|
|
11
|
+
* each entry's public key from its proof rather than being bound to one key.
|
|
13
12
|
*/
|
|
14
13
|
import { MultibaseEncoding, multibaseEncode, prepareDataForSigning } from '@interop/did-method-webvh';
|
|
15
14
|
/**
|
|
16
|
-
* Build a did:webvh `Signer`
|
|
15
|
+
* Build a did:webvh `Signer` backed by an Ed25519 key pair.
|
|
17
16
|
*
|
|
18
17
|
* `keyPair.signer()` requires `keyPair.id` to be set, so the caller must assign
|
|
19
18
|
* an id before signing; this helper derives the verification method id from the
|
|
@@ -21,7 +20,7 @@ import { MultibaseEncoding, multibaseEncode, prepareDataForSigning } from '@inte
|
|
|
21
20
|
*
|
|
22
21
|
* @param options {object}
|
|
23
22
|
* @param options.keyPair {object} an `@interop/ed25519-verification-key` pair.
|
|
24
|
-
* @returns {Signer
|
|
23
|
+
* @returns {Signer}
|
|
25
24
|
*/
|
|
26
25
|
export function makeWebvhSigner({ keyPair }) {
|
|
27
26
|
const verificationMethodId = `did:key:${keyPair.publicKeyMultibase}#${keyPair.publicKeyMultibase}`;
|
|
@@ -35,9 +34,6 @@ export function makeWebvhSigner({ keyPair }) {
|
|
|
35
34
|
},
|
|
36
35
|
getVerificationMethodId() {
|
|
37
36
|
return verificationMethodId;
|
|
38
|
-
},
|
|
39
|
-
async verify(signature, message) {
|
|
40
|
-
return keyPair.verifier().verify({ data: message, signature });
|
|
41
37
|
}
|
|
42
38
|
};
|
|
43
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webvh-signer.js","sourceRoot":"","sources":["../../src/keys/webvh-signer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"webvh-signer.js","sourceRoot":"","sources":["../../src/keys/webvh-signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACtB,MAAM,2BAA2B,CAAA;AAGlC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,EAMR;IACC,MAAM,oBAAoB,GAAG,WAAW,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAA;IAClG,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACzD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;YACvD,OAAO;gBACL,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC;aACrE,CAAA;QACH,CAAC;QACD,uBAAuB;YACrB,OAAO,oBAAoB,CAAA;QAC7B,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -25,9 +25,14 @@ export declare function exportUpdateKey(keyPair: Ed25519VerificationKey): Promis
|
|
|
25
25
|
* (and reconstructed via `loadUpdateKey` at the next rotation), so the key pair
|
|
26
26
|
* itself is not returned.
|
|
27
27
|
*
|
|
28
|
+
* @param [options] {object}
|
|
29
|
+
* @param [options.seed] {Uint8Array} derive the key deterministically from
|
|
30
|
+
* this seed (e.g. for `--with-seed`); generated randomly when omitted.
|
|
28
31
|
* @returns {Promise<WebvhUpdateKey & { nextKeyHash: string }>}
|
|
29
32
|
*/
|
|
30
|
-
export declare function generateStagedKey(
|
|
33
|
+
export declare function generateStagedKey({ seed }?: {
|
|
34
|
+
seed?: Uint8Array;
|
|
35
|
+
}): Promise<WebvhUpdateKey & {
|
|
31
36
|
nextKeyHash: string;
|
|
32
37
|
}>;
|
|
33
38
|
//# sourceMappingURL=webvh-update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webvh-update.d.ts","sourceRoot":"","sources":["../../src/keys/webvh-update.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAYjC;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC,CAMrE;AAED
|
|
1
|
+
{"version":3,"file":"webvh-update.d.ts","sourceRoot":"","sources":["../../src/keys/webvh-update.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAYjC;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC,CAMrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACL,GAAE;IAAE,IAAI,CAAC,EAAE,UAAU,CAAA;CAAO,GAAG,OAAO,CACrC,cAAc,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CACzC,CAMA"}
|
|
@@ -52,10 +52,13 @@ export async function exportUpdateKey(keyPair) {
|
|
|
52
52
|
* (and reconstructed via `loadUpdateKey` at the next rotation), so the key pair
|
|
53
53
|
* itself is not returned.
|
|
54
54
|
*
|
|
55
|
+
* @param [options] {object}
|
|
56
|
+
* @param [options.seed] {Uint8Array} derive the key deterministically from
|
|
57
|
+
* this seed (e.g. for `--with-seed`); generated randomly when omitted.
|
|
55
58
|
* @returns {Promise<WebvhUpdateKey & { nextKeyHash: string }>}
|
|
56
59
|
*/
|
|
57
|
-
export async function generateStagedKey() {
|
|
58
|
-
const { publicKeyMultibase, secretKeyMultibase } = await exportUpdateKey(await Ed25519VerificationKey.generate());
|
|
60
|
+
export async function generateStagedKey({ seed } = {}) {
|
|
61
|
+
const { publicKeyMultibase, secretKeyMultibase } = await exportUpdateKey(await Ed25519VerificationKey.generate({ seed }));
|
|
59
62
|
const nextKeyHash = await deriveNextKeyHash(publicKeyMultibase);
|
|
60
63
|
return { publicKeyMultibase, secretKeyMultibase, nextKeyHash };
|
|
61
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webvh-update.js","sourceRoot":"","sources":["../../src/keys/webvh-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAG1E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAmB;IAEnB,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,gEAAgE;IAChE,OAAO,sBAAsB,CAAC,IAAI,CAAC;QACjC,IAAI,EAAE,UAAU;QAChB,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;QAC1C,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;KAC3C,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B;IAE/B,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;QACtE,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA;AACnD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"webvh-update.js","sourceRoot":"","sources":["../../src/keys/webvh-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAG1E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAmB;IAEnB,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,gEAAgE;IAChE,OAAO,sBAAsB,CAAC,IAAI,CAAC;QACjC,IAAI,EAAE,UAAU;QAChB,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;QAC1C,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;KAC3C,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B;IAE/B,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;QACtE,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,IAAI,KACqB,EAAE;IAG3B,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAAG,MAAM,eAAe,CACtE,MAAM,sBAAsB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAChD,CAAA;IACD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,kBAAkB,CAAC,CAAA;IAC/D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAA;AAChE,CAAC"}
|
package/dist/meta.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* and resolving user-supplied key, DID, zcap, and credential references
|
|
6
6
|
* (fingerprint / DID / capability or credential id, or metadata handle).
|
|
7
7
|
*/
|
|
8
|
-
import { type KeyMetadata } from './storage.js';
|
|
8
|
+
import { type ItemMetadata, type KeyMetadata, type StoredKeyPair } from './storage.js';
|
|
9
9
|
/**
|
|
10
10
|
* Parse a key storage ID of the form `YYYY-MM-DD-<type>[-<curve>]-<rawId>`
|
|
11
11
|
* into its date, key type, and (for ecdsa) curve components. Returns empty
|
|
@@ -61,6 +61,35 @@ export declare function removeKeyDidAssociation({ publicKeyMultibase, did }: {
|
|
|
61
61
|
publicKeyMultibase: string;
|
|
62
62
|
did: string;
|
|
63
63
|
}): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Resolve a metadata handle to a single storage id by scanning the `.meta.json`
|
|
66
|
+
* sidecars of a set of items. This is the shared core of every `resolve*Ref`
|
|
67
|
+
* helper: the direct id/fingerprint match stays in each caller, and this
|
|
68
|
+
* collapses the "scan handles, collect matches, complain on ambiguity" tail.
|
|
69
|
+
* Returns undefined when no handle matches; throws when more than one does
|
|
70
|
+
* (handles are not unique).
|
|
71
|
+
*
|
|
72
|
+
* @param options {object}
|
|
73
|
+
* @param options.ref {string} The handle to match.
|
|
74
|
+
* @param options.noun {string} Plural noun for the ambiguity message (e.g. `zcaps`).
|
|
75
|
+
* @param options.alternative {string} The unambiguous identifier to suggest instead.
|
|
76
|
+
* @param options.storageIds {string[]} The storage ids to scan.
|
|
77
|
+
* @param options.loadMeta {(storageId: string) => Promise<MetaType | undefined>}
|
|
78
|
+
* Loads the metadata sidecar for a storage id.
|
|
79
|
+
* @returns {Promise<{storageId: string, meta: MetaType} | undefined>}
|
|
80
|
+
*/
|
|
81
|
+
export declare function resolveByHandle<MetaType extends {
|
|
82
|
+
handle?: string;
|
|
83
|
+
}>({ ref, noun, alternative, storageIds, loadMeta }: {
|
|
84
|
+
ref: string;
|
|
85
|
+
noun: string;
|
|
86
|
+
alternative: string;
|
|
87
|
+
storageIds: string[];
|
|
88
|
+
loadMeta: (storageId: string) => Promise<MetaType | undefined>;
|
|
89
|
+
}): Promise<{
|
|
90
|
+
storageId: string;
|
|
91
|
+
meta: MetaType;
|
|
92
|
+
} | undefined>;
|
|
64
93
|
/**
|
|
65
94
|
* Resolve a user-supplied DID reference -- a full DID or a metadata handle --
|
|
66
95
|
* to a stored DID. Anything starting with `did:` is returned as-is; otherwise
|
|
@@ -96,14 +125,14 @@ export interface StoredZcap {
|
|
|
96
125
|
*
|
|
97
126
|
* @param options {object}
|
|
98
127
|
* @param options.ref {string}
|
|
99
|
-
* @returns {Promise<{storageId: string, zcap: StoredZcap, meta?:
|
|
128
|
+
* @returns {Promise<{storageId: string, zcap: StoredZcap, meta?: ItemMetadata} | undefined>}
|
|
100
129
|
*/
|
|
101
130
|
export declare function resolveZcapRef({ ref }: {
|
|
102
131
|
ref: string;
|
|
103
132
|
}): Promise<{
|
|
104
133
|
storageId: string;
|
|
105
134
|
zcap: StoredZcap;
|
|
106
|
-
meta?:
|
|
135
|
+
meta?: ItemMetadata;
|
|
107
136
|
} | undefined>;
|
|
108
137
|
/**
|
|
109
138
|
* A stored Verifiable Credential, as loaded from wallet storage. Only the
|
|
@@ -131,14 +160,14 @@ export interface StoredCredential {
|
|
|
131
160
|
*
|
|
132
161
|
* @param options {object}
|
|
133
162
|
* @param options.ref {string}
|
|
134
|
-
* @returns {Promise<{storageId: string, credential: StoredCredential, meta?:
|
|
163
|
+
* @returns {Promise<{storageId: string, credential: StoredCredential, meta?: ItemMetadata} | undefined>}
|
|
135
164
|
*/
|
|
136
165
|
export declare function resolveCredentialRef({ ref }: {
|
|
137
166
|
ref: string;
|
|
138
167
|
}): Promise<{
|
|
139
168
|
storageId: string;
|
|
140
169
|
credential: StoredCredential;
|
|
141
|
-
meta?:
|
|
170
|
+
meta?: ItemMetadata;
|
|
142
171
|
} | undefined>;
|
|
143
172
|
/**
|
|
144
173
|
* Resolve a user-supplied key reference -- a publicKeyMultibase fingerprint
|
|
@@ -149,17 +178,13 @@ export declare function resolveCredentialRef({ ref }: {
|
|
|
149
178
|
*
|
|
150
179
|
* @param options {object}
|
|
151
180
|
* @param options.ref {string}
|
|
152
|
-
* @returns {Promise<{storageId: string, key:
|
|
181
|
+
* @returns {Promise<{storageId: string, key: StoredKeyPair, meta?: KeyMetadata} | undefined>}
|
|
153
182
|
*/
|
|
154
183
|
export declare function resolveKeyRef({ ref }: {
|
|
155
184
|
ref: string;
|
|
156
185
|
}): Promise<{
|
|
157
186
|
storageId: string;
|
|
158
|
-
key:
|
|
159
|
-
id?: string;
|
|
160
|
-
publicKeyMultibase?: string;
|
|
161
|
-
secretKeyMultibase?: string;
|
|
162
|
-
};
|
|
187
|
+
key: StoredKeyPair;
|
|
163
188
|
meta?: KeyMetadata;
|
|
164
189
|
} | undefined>;
|
|
165
190
|
//# sourceMappingURL=meta.d.ts.map
|
package/dist/meta.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EASL,KAAK,
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"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"}
|