@interop/wallet-core 0.40.0 → 0.42.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/README.md +17 -3
- package/dist/clients/listing.d.ts +4 -3
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js.map +1 -1
- package/dist/clients/policy.d.ts +3 -2
- package/dist/clients/policy.d.ts.map +1 -1
- package/dist/clients/policy.js +3 -3
- package/dist/clients/policy.js.map +1 -1
- package/dist/clients/revocation.d.ts +14 -4
- package/dist/clients/revocation.d.ts.map +1 -1
- package/dist/clients/revocation.js +29 -14
- package/dist/clients/revocation.js.map +1 -1
- package/dist/clients/rosterPolicy.d.ts +22 -15
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +32 -15
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/descriptors/index.d.ts +1 -1
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +1 -1
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +58 -6
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +57 -15
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/enrollment/enrollment.d.ts +30 -2
- package/dist/enrollment/enrollment.d.ts.map +1 -1
- package/dist/enrollment/enrollment.js +58 -30
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/enrollment/index.d.ts +4 -1
- package/dist/enrollment/index.d.ts.map +1 -1
- package/dist/enrollment/index.js +4 -1
- package/dist/enrollment/index.js.map +1 -1
- package/dist/keyring/fetch.d.ts +12 -0
- package/dist/keyring/fetch.d.ts.map +1 -1
- package/dist/keyring/fetch.js +0 -2
- package/dist/keyring/fetch.js.map +1 -1
- package/dist/keyring/index.d.ts +7 -6
- package/dist/keyring/index.d.ts.map +1 -1
- package/dist/keyring/index.js +7 -6
- package/dist/keyring/index.js.map +1 -1
- package/dist/keyring/kdf.d.ts +22 -6
- package/dist/keyring/kdf.d.ts.map +1 -1
- package/dist/keyring/kdf.js +9 -14
- package/dist/keyring/kdf.js.map +1 -1
- package/dist/keyring/record.d.ts +30 -10
- package/dist/keyring/record.d.ts.map +1 -1
- package/dist/keyring/record.js +31 -15
- package/dist/keyring/record.js.map +1 -1
- package/dist/keys/index.d.ts +5 -3
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +3 -2
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts +22 -2
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +40 -20
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/rosterStore.d.ts +13 -1
- package/dist/keys/rosterStore.d.ts.map +1 -1
- package/dist/keys/rosterStore.js +18 -0
- package/dist/keys/rosterStore.js.map +1 -1
- package/dist/keys/userKeyCascade.d.ts +10 -3
- package/dist/keys/userKeyCascade.d.ts.map +1 -1
- package/dist/keys/userKeyCascade.js +10 -4
- package/dist/keys/userKeyCascade.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +29 -21
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +47 -23
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/recovery/index.d.ts +21 -11
- package/dist/recovery/index.d.ts.map +1 -1
- package/dist/recovery/index.js +19 -10
- package/dist/recovery/index.js.map +1 -1
- package/dist/recovery/recoveryCode.d.ts +5 -17
- package/dist/recovery/recoveryCode.d.ts.map +1 -1
- package/dist/recovery/recoveryCode.js +4 -14
- package/dist/recovery/recoveryCode.js.map +1 -1
- package/dist/recovery/recoveryDelegation.d.ts +151 -0
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -0
- package/dist/recovery/recoveryDelegation.js +261 -0
- package/dist/recovery/recoveryDelegation.js.map +1 -0
- package/dist/recovery/recoveryWebvh.d.ts +13 -22
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +53 -139
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/resourceLog/append.d.ts +12 -3
- package/dist/resourceLog/append.d.ts.map +1 -1
- package/dist/resourceLog/append.js +17 -10
- package/dist/resourceLog/append.js.map +1 -1
- package/dist/resourceLog/index.d.ts +1 -1
- package/dist/resourceLog/index.d.ts.map +1 -1
- package/dist/resourceLog/index.js +1 -1
- package/dist/resourceLog/index.js.map +1 -1
- package/dist/resourceLog/pin.d.ts +46 -8
- package/dist/resourceLog/pin.d.ts.map +1 -1
- package/dist/resourceLog/pin.js +32 -7
- package/dist/resourceLog/pin.js.map +1 -1
- package/dist/resourceLog/seal.d.ts +4 -1
- package/dist/resourceLog/seal.d.ts.map +1 -1
- package/dist/resourceLog/seal.js +6 -2
- package/dist/resourceLog/seal.js.map +1 -1
- package/dist/unlock/index.d.ts +40 -0
- package/dist/unlock/index.d.ts.map +1 -0
- package/dist/unlock/index.js +36 -0
- package/dist/unlock/index.js.map +1 -0
- package/dist/unlock/ladder.d.ts +100 -0
- package/dist/unlock/ladder.d.ts.map +1 -0
- package/dist/unlock/ladder.js +144 -0
- package/dist/unlock/ladder.js.map +1 -0
- package/dist/unlock/selfEnroll.d.ts +83 -0
- package/dist/unlock/selfEnroll.d.ts.map +1 -0
- package/dist/unlock/selfEnroll.js +126 -0
- package/dist/unlock/selfEnroll.js.map +1 -0
- package/dist/unlock/standingClient.d.ts +68 -0
- package/dist/unlock/standingClient.d.ts.map +1 -0
- package/dist/unlock/standingClient.js +81 -0
- package/dist/unlock/standingClient.js.map +1 -0
- package/dist/unlock/standingWebvh.d.ts +153 -0
- package/dist/unlock/standingWebvh.d.ts.map +1 -0
- package/dist/unlock/standingWebvh.js +370 -0
- package/dist/unlock/standingWebvh.js.map +1 -0
- package/dist/unlock/unlockRecord.d.ts +207 -0
- package/dist/unlock/unlockRecord.d.ts.map +1 -0
- package/dist/unlock/unlockRecord.js +435 -0
- package/dist/unlock/unlockRecord.js.map +1 -0
- package/dist/webvh/didWebvh.d.ts +166 -7
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +286 -31
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/index.d.ts +15 -3
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +14 -3
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/keyAgreement.d.ts +72 -0
- package/dist/webvh/keyAgreement.d.ts.map +1 -0
- package/dist/webvh/keyAgreement.js +47 -0
- package/dist/webvh/keyAgreement.js.map +1 -0
- package/dist/webvh/listClients.d.ts +69 -20
- package/dist/webvh/listClients.d.ts.map +1 -1
- package/dist/webvh/listClients.js +102 -14
- package/dist/webvh/listClients.js.map +1 -1
- package/dist/webvh/revokeClient.d.ts +21 -11
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +31 -14
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +15 -2
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +22 -3
- package/dist/webvh/verifyLog.js.map +1 -1
- package/package.json +11 -5
- package/dist/recovery/recoveryRecord.d.ts +0 -171
- package/dist/recovery/recoveryRecord.d.ts.map +0 -1
- package/dist/recovery/recoveryRecord.js +0 -290
- package/dist/recovery/recoveryRecord.js.map +0 -1
package/dist/webvh/didWebvh.js
CHANGED
|
@@ -64,11 +64,17 @@
|
|
|
64
64
|
* reveal the staged key.
|
|
65
65
|
*/
|
|
66
66
|
import { createDID, deriveNextKeyHash, generateParallelDidWeb, logToJsonlString, readLogFromString, resolveDIDFromLog, SCID_PLACEHOLDER, signerFromExternalKey, updateDID } from '@interop/did-method-webvh';
|
|
67
|
+
import { createMultihash, decodeMultihash, decodeMultikey, MultihashAlgorithm, MultikeyCodec } from '@interop/data-integrity-core/multihash';
|
|
67
68
|
import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
|
|
69
|
+
import { x25519RecipientFromDidKey } from '@interop/was-client/edv';
|
|
70
|
+
import { equalBytes } from '@noble/ciphers/utils.js';
|
|
71
|
+
import { sha256 } from '@noble/hashes/sha2.js';
|
|
72
|
+
import { base58, base64urlnopad } from '@scure/base';
|
|
73
|
+
import { VOCAB_CONTEXT_URL } from 'byoe-context';
|
|
68
74
|
import { DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, ID_COLLECTION } from '../space/collections.js';
|
|
69
75
|
import { ResourceLogContinuityError } from '../resourceLog/errors.js';
|
|
70
76
|
import { multibaseOf } from './didWeb.js';
|
|
71
|
-
import { checkAccountLogContinuity } from './verifyLog.js';
|
|
77
|
+
import { accountLogPinId, checkAccountLogContinuity } from './verifyLog.js';
|
|
72
78
|
/**
|
|
73
79
|
* The Multikey verification-method type the did:webvh data model uses for both
|
|
74
80
|
* the Ed25519 (authentication/assertionMethod/capability*) and X25519
|
|
@@ -78,10 +84,228 @@ import { checkAccountLogContinuity } from './verifyLog.js';
|
|
|
78
84
|
* it.
|
|
79
85
|
*/
|
|
80
86
|
export const MULTIKEY_VM_TYPE = 'Multikey';
|
|
87
|
+
/**
|
|
88
|
+
* The verification-method type a hash commitment to a key-agreement key is
|
|
89
|
+
* published under, in place of the key itself
|
|
90
|
+
* ({@link keyAgreementCommitment}). It carries `publicKeyCommitment` rather
|
|
91
|
+
* than `publicKeyMultibase`, so a reader keying on `Multikey` never mispairs
|
|
92
|
+
* a commitment with real key material. Wire-level and permanent.
|
|
93
|
+
*/
|
|
94
|
+
export const MULTIKEY_COMMITMENT_VM_TYPE = 'MultikeyCommitment';
|
|
95
|
+
/**
|
|
96
|
+
* The context URL defining the `MultikeyCommitment` and `publicKeyCommitment`
|
|
97
|
+
* terms. Every account document carries it, so a commitment verification
|
|
98
|
+
* method is a defined term rather than a bare JSON property. The value is
|
|
99
|
+
* byoe-context's `VOCAB_CONTEXT_URL` (`https://w3id.org/byoe/v1`) -- the
|
|
100
|
+
* package whose contexts map backs the bundled document loader -- so the URL
|
|
101
|
+
* written into document bytes can never drift from the loader's coverage.
|
|
102
|
+
*/
|
|
103
|
+
export const BYOE_CONTEXT_URL = VOCAB_CONTEXT_URL;
|
|
81
104
|
/**
|
|
82
105
|
* The byte length of a did:webvh update-key seed (an Ed25519 secret seed).
|
|
83
106
|
*/
|
|
84
107
|
const UPDATE_SEED_BYTES = 32;
|
|
108
|
+
/**
|
|
109
|
+
* The CONTROLLER MARKER an enrolled client's `keyAgreement` verification
|
|
110
|
+
* method carries: the client's own did:key, rather than the account DID every
|
|
111
|
+
* other method carries. It is the document's one statement of which signing
|
|
112
|
+
* key a published key-agreement key belongs to, so a reader pairs a client
|
|
113
|
+
* with its key-agreement key by reading the document instead of deriving a
|
|
114
|
+
* twin -- and it agrees with the DID half of the client's roster kid.
|
|
115
|
+
*
|
|
116
|
+
* Only a CLIENT's key-agreement method is marked. Signing keys are never
|
|
117
|
+
* marked (a did:key controller on a proof key breaks controller-based proof
|
|
118
|
+
* verification), and a recovery code's key-agreement method is deliberately
|
|
119
|
+
* left unmarked, so client listings and revocation removals never match it.
|
|
120
|
+
*
|
|
121
|
+
* @param options {object}
|
|
122
|
+
* @param options.signingKeyMultibase {string} the client's Ed25519 signing
|
|
123
|
+
* key, as the document publishes it
|
|
124
|
+
* @returns {string}
|
|
125
|
+
*/
|
|
126
|
+
export function clientKeyAgreementController({ signingKeyMultibase }) {
|
|
127
|
+
return `did:key:${signingKeyMultibase}`;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The multibase of an Ed25519 signing key's canonical X25519 twin. Delegates
|
|
131
|
+
* to was-client's `x25519RecipientFromDidKey`, the one rule for this
|
|
132
|
+
* derivation, which also refuses a multibase that is not an Ed25519 key (no
|
|
133
|
+
* twin exists for anything else).
|
|
134
|
+
*
|
|
135
|
+
* Nothing DERIVES a client's published key-agreement key with it -- the
|
|
136
|
+
* listing reads that off the document's controller marker. It is the
|
|
137
|
+
* canonicality rule instead: {@link markedVerificationMethodPair} runs it at
|
|
138
|
+
* every site that writes the marker, and the enrollment ceremony runs it
|
|
139
|
+
* early enough to refuse a connect code before an approver ever sees it, so
|
|
140
|
+
* the marker's claim ("this key-agreement key belongs to that signing key")
|
|
141
|
+
* is true of every method a wallet publishes.
|
|
142
|
+
*
|
|
143
|
+
* @param options {object}
|
|
144
|
+
* @param options.signingKeyMultibase {string}
|
|
145
|
+
* @returns {string}
|
|
146
|
+
*/
|
|
147
|
+
export function keyAgreementTwinMultibase({ signingKeyMultibase }) {
|
|
148
|
+
return x25519RecipientFromDidKey({ did: `did:key:${signingKeyMultibase}` })
|
|
149
|
+
.publicKeyMultibase;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* The decoded multikey bytes of a base58btc multibase X25519 key-agreement
|
|
153
|
+
* key -- the multicodec prefix plus the raw public key, exactly what
|
|
154
|
+
* `publicKeyMultibase` encodes. The commitment preimage is these bytes rather
|
|
155
|
+
* than the multibase string, so it is independent of how the key happens to
|
|
156
|
+
* be spelled on the wire. The multicodec header is enforced (via
|
|
157
|
+
* `decodeMultikey` with the X25519 expectation), so a commitment over the
|
|
158
|
+
* wrong key kind (an Ed25519 signing key where its X25519 twin was meant)
|
|
159
|
+
* fails at mint time rather than as an opaque wrap error at the next epoch
|
|
160
|
+
* rotation.
|
|
161
|
+
*
|
|
162
|
+
* @param multibase {string} a `z`-prefixed base58btc X25519 multikey
|
|
163
|
+
* @returns {Uint8Array}
|
|
164
|
+
*/
|
|
165
|
+
function decodedMultikeyBytes(multibase) {
|
|
166
|
+
try {
|
|
167
|
+
decodeMultikey({
|
|
168
|
+
multikey: multibase,
|
|
169
|
+
expectedCodec: MultikeyCodec.X25519_PUB
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
throw new Error('did:webvh: not a base58btc multibase X25519 key-agreement multikey ' +
|
|
174
|
+
'(the 0xec multicodec); a commitment is computed over key-agreement ' +
|
|
175
|
+
'keys only.', { cause: err });
|
|
176
|
+
}
|
|
177
|
+
return base58.decode(multibase.slice(1));
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* The hash commitment of a key-agreement key, as a document publishes it in
|
|
181
|
+
* place of the key itself for a low-entropy-derived standing unlock
|
|
182
|
+
* credential (the `MultikeyCommitment` verification-method convention): a
|
|
183
|
+
* bare multihash -- sha2-256 over the key's DECODED multikey bytes -- encoded
|
|
184
|
+
* base64url-no-pad, with no multibase prefix. The multihash header keeps the
|
|
185
|
+
* algorithm self-describing, so a verifier decodes rather than re-encodes.
|
|
186
|
+
* Deliberately independent of the `nextKeyHashes` rule, which keeps its own
|
|
187
|
+
* base58btc encoding.
|
|
188
|
+
*
|
|
189
|
+
* What the commitment provides is the document-anchored integrity check the
|
|
190
|
+
* roster's recipient resolver runs against a roster-carried key, plus
|
|
191
|
+
* non-disclosure of the key material itself. It does not reduce offline
|
|
192
|
+
* guessing exposure: under a fixed KDF salt a commitment costs one extra
|
|
193
|
+
* sha256 per guess, so that exposure belongs to the standing-credential model
|
|
194
|
+
* and its KDF choice rather than to this encoding. Wire-level and permanent.
|
|
195
|
+
*
|
|
196
|
+
* @param options {object}
|
|
197
|
+
* @param options.keyAgreementKeyMultibase {string}
|
|
198
|
+
* @returns {Promise<string>}
|
|
199
|
+
*/
|
|
200
|
+
export async function keyAgreementCommitment({ keyAgreementKeyMultibase }) {
|
|
201
|
+
const digest = sha256(decodedMultikeyBytes(keyAgreementKeyMultibase));
|
|
202
|
+
return base64urlnopad.encode(createMultihash(digest, MultihashAlgorithm.SHA2_256));
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Whether a candidate key-agreement key is the one a published commitment
|
|
206
|
+
* commits to. Verification DECODES: the commitment's multihash header names
|
|
207
|
+
* the algorithm, the candidate's decoded multikey bytes are hashed with it,
|
|
208
|
+
* and the digests are compared -- so a future algorithm is an additive change
|
|
209
|
+
* rather than a format change. A commitment that does not decode, or names an
|
|
210
|
+
* algorithm with no implementation here, simply does not match.
|
|
211
|
+
*
|
|
212
|
+
* @param options {object}
|
|
213
|
+
* @param options.commitment {string} a published `publicKeyCommitment`
|
|
214
|
+
* @param options.keyAgreementKeyMultibase {string} the candidate key
|
|
215
|
+
* @returns {boolean}
|
|
216
|
+
*/
|
|
217
|
+
export function commitmentMatchesKey({ commitment, keyAgreementKeyMultibase }) {
|
|
218
|
+
return commitmentMatcher({ commitments: [commitment] })(keyAgreementKeyMultibase);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* A pre-decoded matcher over a SET of published commitments, for a caller
|
|
222
|
+
* that checks many candidate keys against the same document (the user key
|
|
223
|
+
* roster's recipient resolver). Each commitment is decoded once up front --
|
|
224
|
+
* duplicates collapsed, one that does not decode or names an algorithm with
|
|
225
|
+
* no implementation here dropped, the {@link commitmentMatchesKey} non-match
|
|
226
|
+
* contract -- and each candidate is hashed once per call, so resolving N
|
|
227
|
+
* roster entries against K commitments costs N hashes rather than N*K
|
|
228
|
+
* decode-and-hash passes.
|
|
229
|
+
*
|
|
230
|
+
* @param options {object}
|
|
231
|
+
* @param options.commitments {string[]} the published `publicKeyCommitment`
|
|
232
|
+
* values
|
|
233
|
+
* @returns {function} `(keyAgreementKeyMultibase: string) => boolean`
|
|
234
|
+
*/
|
|
235
|
+
export function commitmentMatcher({ commitments }) {
|
|
236
|
+
const digests = [];
|
|
237
|
+
for (const commitment of new Set(commitments)) {
|
|
238
|
+
try {
|
|
239
|
+
const { digest } = decodeMultihash(base64urlnopad.decode(commitment), MultihashAlgorithm.SHA2_256);
|
|
240
|
+
digests.push(digest);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
// A commitment that does not decode, or names an algorithm with no
|
|
244
|
+
// implementation here, matches nothing.
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return function matchesKey(keyAgreementKeyMultibase) {
|
|
248
|
+
if (digests.length === 0) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
let candidateDigest;
|
|
252
|
+
try {
|
|
253
|
+
candidateDigest = sha256(decodedMultikeyBytes(keyAgreementKeyMultibase));
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
// equalBytes is @noble/ciphers' no-early-exit comparison, the codebase's
|
|
259
|
+
// one digest-comparison idiom (the unlock record's tag check).
|
|
260
|
+
return digests.some(digest => equalBytes(candidateDigest, digest));
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* The one builder of a client's published verification-method pair: the
|
|
265
|
+
* account-controlled Ed25519 signing method first, then the X25519
|
|
266
|
+
* key-agreement method under the controller marker
|
|
267
|
+
* ({@link clientKeyAgreementController}). Every site that writes the marker
|
|
268
|
+
* -- the genesis assembly, the enrollment add entry, and the recovery
|
|
269
|
+
* continuation's add-and-retire entry -- builds through it, so the permanent
|
|
270
|
+
* document convention is applied in one place rather than remembered at each
|
|
271
|
+
* site.
|
|
272
|
+
*
|
|
273
|
+
* It refuses a pair whose key-agreement key is not the canonical X25519 twin
|
|
274
|
+
* of the signing key, which is what makes the marker's claim true wherever it
|
|
275
|
+
* is written: no public entry point can publish a marker the account cannot
|
|
276
|
+
* back.
|
|
277
|
+
*
|
|
278
|
+
* @param options {object}
|
|
279
|
+
* @param options.controller {string} the account's controller id, used both
|
|
280
|
+
* as the methods' id prefix and as the signing method's controller (the
|
|
281
|
+
* `{SCID}` template at genesis, the resolved DID afterwards)
|
|
282
|
+
* @param options.signingKeyMultibase {string}
|
|
283
|
+
* @param options.keyAgreementKeyMultibase {string}
|
|
284
|
+
* @returns {VerificationMethod[]} the signing method, then the marked
|
|
285
|
+
* key-agreement method
|
|
286
|
+
*/
|
|
287
|
+
export function markedVerificationMethodPair({ controller, signingKeyMultibase, keyAgreementKeyMultibase }) {
|
|
288
|
+
if (keyAgreementKeyMultibase !==
|
|
289
|
+
keyAgreementTwinMultibase({ signingKeyMultibase })) {
|
|
290
|
+
throw new Error("The client's key-agreement key is not the canonical X25519 twin of " +
|
|
291
|
+
'its signing key; it cannot be published under the controller ' +
|
|
292
|
+
'marker, which would state a pairing this account cannot back.');
|
|
293
|
+
}
|
|
294
|
+
return [
|
|
295
|
+
{
|
|
296
|
+
id: `${controller}#${signingKeyMultibase}`,
|
|
297
|
+
type: MULTIKEY_VM_TYPE,
|
|
298
|
+
controller,
|
|
299
|
+
publicKeyMultibase: signingKeyMultibase
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
id: `${controller}#${keyAgreementKeyMultibase}`,
|
|
303
|
+
type: MULTIKEY_VM_TYPE,
|
|
304
|
+
controller: clientKeyAgreementController({ signingKeyMultibase }),
|
|
305
|
+
publicKeyMultibase: keyAgreementKeyMultibase
|
|
306
|
+
}
|
|
307
|
+
];
|
|
308
|
+
}
|
|
85
309
|
/**
|
|
86
310
|
* The `did:webvh:{SCID}:<host>:space:<spaceId>:id` controller template, with
|
|
87
311
|
* the literal `{SCID}` placeholder the library replaces at creation. The host
|
|
@@ -176,7 +400,10 @@ export async function updateKeySigner({ seed }) {
|
|
|
176
400
|
* deliberately absent too).
|
|
177
401
|
*
|
|
178
402
|
* Each id carries the full `publicKeyMultibase` fragment, so `createDID` mints
|
|
179
|
-
* `did:webvh:<scid>:...#<multibase>` ids -- no KMS read.
|
|
403
|
+
* `did:webvh:<scid>:...#<multibase>` ids -- no KMS read. The client's
|
|
404
|
+
* `keyAgreement` method is the one entry published under the controller
|
|
405
|
+
* marker ({@link clientKeyAgreementController}); every other method, the KMS
|
|
406
|
+
* authentication key included, carries the account's own controller.
|
|
180
407
|
*
|
|
181
408
|
* @param options {object}
|
|
182
409
|
* @param options.controllerTemplate {string} the `{SCID}` controller id
|
|
@@ -186,6 +413,7 @@ export async function updateKeySigner({ seed }) {
|
|
|
186
413
|
* @returns {object} `verificationMethods` + relationship arrays for createDID
|
|
187
414
|
*/
|
|
188
415
|
function assembleWebvhVerificationMethods({ controllerTemplate, didWebKeys, clientKeys }) {
|
|
416
|
+
const { signingKeyMultibase, keyAgreementKeyMultibase } = clientKeys;
|
|
189
417
|
const vmId = (publicKeyMultibase) => `${controllerTemplate}#${publicKeyMultibase}`;
|
|
190
418
|
const method = (publicKeyMultibase) => ({
|
|
191
419
|
id: vmId(publicKeyMultibase),
|
|
@@ -193,15 +421,21 @@ function assembleWebvhVerificationMethods({ controllerTemplate, didWebKeys, clie
|
|
|
193
421
|
controller: controllerTemplate,
|
|
194
422
|
publicKeyMultibase
|
|
195
423
|
});
|
|
424
|
+
// The founding client's key-agreement method alone carries the controller
|
|
425
|
+
// marker, and the pair builder is what enforces that the marked key really
|
|
426
|
+
// is the signing key's twin.
|
|
427
|
+
const clientMethods = markedVerificationMethodPair({
|
|
428
|
+
controller: controllerTemplate,
|
|
429
|
+
signingKeyMultibase,
|
|
430
|
+
keyAgreementKeyMultibase
|
|
431
|
+
});
|
|
196
432
|
const kmsAuthentication = didWebKeys
|
|
197
433
|
? multibaseOf(didWebKeys.authentication.vmId)
|
|
198
434
|
: undefined;
|
|
199
|
-
const { signingKeyMultibase, keyAgreementKeyMultibase } = clientKeys;
|
|
200
435
|
return {
|
|
201
436
|
verificationMethods: [
|
|
202
437
|
...(kmsAuthentication !== undefined ? [method(kmsAuthentication)] : []),
|
|
203
|
-
|
|
204
|
-
method(keyAgreementKeyMultibase)
|
|
438
|
+
...clientMethods
|
|
205
439
|
],
|
|
206
440
|
authentication: [
|
|
207
441
|
...(kmsAuthentication !== undefined ? [vmId(kmsAuthentication)] : []),
|
|
@@ -245,6 +479,7 @@ async function createWebvhLog({ wasServerUrl, spaceId, didWebKeys, clientKeys, u
|
|
|
245
479
|
const result = await createDID({
|
|
246
480
|
address: host,
|
|
247
481
|
paths: ['space', spaceId, ID_COLLECTION.id],
|
|
482
|
+
additionalContext: [BYOE_CONTEXT_URL],
|
|
248
483
|
signer,
|
|
249
484
|
updateKeys: [updateKeyPublicKeyMultibase],
|
|
250
485
|
nextKeyHashes,
|
|
@@ -440,16 +675,23 @@ async function writeKeysJson({ idStore, didWebKeys, webvh }) {
|
|
|
440
675
|
* @param options.idStore {WebvhIdStore}
|
|
441
676
|
* @param [options.expectedDid] {string} the DID the log must resolve to
|
|
442
677
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
443
|
-
*
|
|
678
|
+
* pins for the account log
|
|
679
|
+
* @param [options.logId] {string} the account log's pin-slot key, from
|
|
680
|
+
* `accountLogPinId({ spaceId })`; required whenever a `pinStore` is supplied
|
|
444
681
|
* @returns {Promise<PublishedWebvhLog | undefined>}
|
|
445
682
|
*/
|
|
446
|
-
export async function readPublishedLog({ idStore, expectedDid, pinStore }) {
|
|
683
|
+
export async function readPublishedLog({ idStore, expectedDid, pinStore, logId }) {
|
|
684
|
+
if (pinStore && logId === undefined) {
|
|
685
|
+
throw new TypeError('logId is required when pinStore is supplied');
|
|
686
|
+
}
|
|
687
|
+
// The pin slot this read checks against, present only when both halves are.
|
|
688
|
+
const pinned = pinStore && logId !== undefined ? { store: pinStore, logId } : null;
|
|
447
689
|
const read = await idStore.getIdResourceRaw({
|
|
448
690
|
resourceId: DID_LOG_RESOURCE
|
|
449
691
|
});
|
|
450
692
|
if (read === undefined) {
|
|
451
|
-
if (
|
|
452
|
-
const pin = await
|
|
693
|
+
if (pinned) {
|
|
694
|
+
const pin = await pinned.store.read({ logId: pinned.logId });
|
|
453
695
|
if (pin) {
|
|
454
696
|
throw new ResourceLogContinuityError({
|
|
455
697
|
reason: 'rollback',
|
|
@@ -468,13 +710,13 @@ export async function readPublishedLog({ idStore, expectedDid, pinStore }) {
|
|
|
468
710
|
throw new Error('did:webvh: the published did.jsonl resolves to a different DID ' +
|
|
469
711
|
`(${resolved.did}) than expected (${expectedDid}).`);
|
|
470
712
|
}
|
|
471
|
-
if (
|
|
472
|
-
const pin = await
|
|
713
|
+
if (pinned) {
|
|
714
|
+
const pin = await pinned.store.read({ logId: pinned.logId });
|
|
473
715
|
const served = checkAccountLogContinuity({ log, pin });
|
|
474
716
|
// Advanced only when the served head is genuinely ahead of the pin: the
|
|
475
717
|
// check above has already refused everything that is not.
|
|
476
718
|
if (!pin || pin.head !== served.head) {
|
|
477
|
-
await
|
|
719
|
+
await pinned.store.write({ logId: pinned.logId, pin: served });
|
|
478
720
|
}
|
|
479
721
|
}
|
|
480
722
|
return {
|
|
@@ -647,7 +889,8 @@ function advancedSeeds({ published, multibases, updateKeys }) {
|
|
|
647
889
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
648
890
|
* resolve to, when the caller holds the account pointer
|
|
649
891
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
650
|
-
*
|
|
892
|
+
* pins; the account log's slot is keyed by `accountLogPinId` over the
|
|
893
|
+
* `spaceId` above
|
|
651
894
|
* @returns {Promise<{ did: string }>}
|
|
652
895
|
*/
|
|
653
896
|
export async function ensureDidWebvh(options) {
|
|
@@ -664,10 +907,11 @@ async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys,
|
|
|
664
907
|
// else the one keys.json already records. Undefined only on the documented
|
|
665
908
|
// first-contact adoption, which discovers the DID from the log itself.
|
|
666
909
|
const expected = expectedDid ?? didWebKeys?.webvh?.did;
|
|
910
|
+
const logId = accountLogPinId({ spaceId });
|
|
667
911
|
const published = await readPublishedLog({
|
|
668
912
|
idStore,
|
|
669
913
|
...(expected !== undefined ? { expectedDid: expected } : {}),
|
|
670
|
-
...(pinStore ? { pinStore } : {})
|
|
914
|
+
...(pinStore ? { pinStore, logId } : {})
|
|
671
915
|
});
|
|
672
916
|
const multibases = await updateKeyMultibases({ updateKeys });
|
|
673
917
|
if (published) {
|
|
@@ -726,7 +970,7 @@ async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys,
|
|
|
726
970
|
// Trust-on-first-use, established by the creator itself: this run minted the
|
|
727
971
|
// genesis, so the pin it writes needs no served log to be believed.
|
|
728
972
|
if (pinStore) {
|
|
729
|
-
await pinStore.write(pinOfLog(created.log));
|
|
973
|
+
await pinStore.write({ logId, pin: pinOfLog(created.log) });
|
|
730
974
|
}
|
|
731
975
|
if (didWebKeys) {
|
|
732
976
|
await writeKeysJson({
|
|
@@ -779,7 +1023,10 @@ async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys,
|
|
|
779
1023
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
780
1024
|
* resolve to
|
|
781
1025
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
782
|
-
*
|
|
1026
|
+
* pins for the account log
|
|
1027
|
+
* @param [options.logId] {string} the account log's pin-slot key, built by
|
|
1028
|
+
* the caller with `accountLogPinId({ spaceId })`; required whenever a
|
|
1029
|
+
* `pinStore` is supplied
|
|
783
1030
|
* @returns {Promise<{ did: string }>}
|
|
784
1031
|
*/
|
|
785
1032
|
export async function rotateWebvhUpdateKey(options) {
|
|
@@ -792,11 +1039,14 @@ export async function rotateWebvhUpdateKey(options) {
|
|
|
792
1039
|
* @param options {object} see {@link rotateWebvhUpdateKey}
|
|
793
1040
|
* @returns {Promise<{ did: string }>}
|
|
794
1041
|
*/
|
|
795
|
-
async function rotateWebvhUpdateKeyOnce({ idStore, updateKeys, persistUpdateKeys, expectedDid, pinStore }) {
|
|
1042
|
+
async function rotateWebvhUpdateKeyOnce({ idStore, updateKeys, persistUpdateKeys, expectedDid, pinStore, logId }) {
|
|
1043
|
+
if (pinStore && logId === undefined) {
|
|
1044
|
+
throw new TypeError('logId is required when pinStore is supplied');
|
|
1045
|
+
}
|
|
796
1046
|
const published = await readPublishedLog({
|
|
797
1047
|
idStore,
|
|
798
1048
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
799
|
-
...(pinStore ? { pinStore } : {})
|
|
1049
|
+
...(pinStore && logId !== undefined ? { pinStore, logId } : {})
|
|
800
1050
|
});
|
|
801
1051
|
if (!published) {
|
|
802
1052
|
throw new Error('did:webvh: did.jsonl is missing; nothing to rotate.');
|
|
@@ -878,8 +1128,8 @@ async function rotateWebvhUpdateKeyOnce({ idStore, updateKeys, persistUpdateKeys
|
|
|
878
1128
|
await publishUpdatedLog({ idStore, updated, ifMatch: published.etag });
|
|
879
1129
|
// Advance the pin to what this ceremony just published, so a host rolling
|
|
880
1130
|
// the log back straight afterwards is refused on the next read.
|
|
881
|
-
if (pinStore) {
|
|
882
|
-
await pinStore.write(pinOfLog(updated.log));
|
|
1131
|
+
if (pinStore && logId !== undefined) {
|
|
1132
|
+
await pinStore.write({ logId, pin: pinOfLog(updated.log) });
|
|
883
1133
|
}
|
|
884
1134
|
await persistUpdateKeys({
|
|
885
1135
|
updateSeed: updateKeys.stagedSeed,
|
|
@@ -1035,15 +1285,14 @@ async function enrollWebvhClientOnce({ idStore, updateKeys, newClient }) {
|
|
|
1035
1285
|
// verification-method set and relationship arrays wholesale).
|
|
1036
1286
|
const { did, doc, log, updateKeys: authorizedKeys, nextKeyHashes, etag } = published;
|
|
1037
1287
|
const vmId = (publicKeyMultibase) => `${did}#${publicKeyMultibase}`;
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
id: vmId(publicKeyMultibase),
|
|
1043
|
-
type: MULTIKEY_VM_TYPE,
|
|
1288
|
+
// The signing method is controlled by the account; the key-agreement method
|
|
1289
|
+
// alone carries the controller marker, and the pair builder refuses a
|
|
1290
|
+
// key-agreement key that is not the signing key's canonical twin.
|
|
1291
|
+
const addedMethods = markedVerificationMethodPair({
|
|
1044
1292
|
controller: did,
|
|
1045
|
-
|
|
1046
|
-
|
|
1293
|
+
signingKeyMultibase: newClient.signingKeyMultibase,
|
|
1294
|
+
keyAgreementKeyMultibase: newClient.keyAgreementKeyMultibase
|
|
1295
|
+
});
|
|
1047
1296
|
const existingMethods = (doc.verificationMethod ?? []);
|
|
1048
1297
|
const verificationMethods = [
|
|
1049
1298
|
...existingMethods.filter(method => !addedMethods.some(added => added.id === method.id)),
|
|
@@ -1106,10 +1355,16 @@ async function enrollWebvhClientOnce({ idStore, updateKeys, newClient }) {
|
|
|
1106
1355
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
1107
1356
|
* resolve to
|
|
1108
1357
|
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
1109
|
-
*
|
|
1358
|
+
* pins for the account log
|
|
1359
|
+
* @param [options.logId] {string} the account log's pin-slot key, built by
|
|
1360
|
+
* the caller with `accountLogPinId({ spaceId })`; required whenever a
|
|
1361
|
+
* `pinStore` is supplied
|
|
1110
1362
|
* @returns {Promise<DidWebKeyMapV2>} the rebuilt, persisted keys.json
|
|
1111
1363
|
*/
|
|
1112
|
-
export async function repairKeyBindings({ keystoreAgent, idStore, expectedDid, pinStore }) {
|
|
1364
|
+
export async function repairKeyBindings({ keystoreAgent, idStore, expectedDid, pinStore, logId }) {
|
|
1365
|
+
if (pinStore && logId === undefined) {
|
|
1366
|
+
throw new TypeError('logId is required when pinStore is supplied');
|
|
1367
|
+
}
|
|
1113
1368
|
const didDoc = (await idStore.getIdResource({
|
|
1114
1369
|
resourceId: DID_DOCUMENT_RESOURCE
|
|
1115
1370
|
}));
|
|
@@ -1170,7 +1425,7 @@ export async function repairKeyBindings({ keystoreAgent, idStore, expectedDid, p
|
|
|
1170
1425
|
const published = await readPublishedLog({
|
|
1171
1426
|
idStore,
|
|
1172
1427
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
1173
|
-
...(pinStore ? { pinStore } : {})
|
|
1428
|
+
...(pinStore && logId !== undefined ? { pinStore, logId } : {})
|
|
1174
1429
|
});
|
|
1175
1430
|
if (published) {
|
|
1176
1431
|
repaired.webvh = { did: published.did };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"didWebvh.js","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"didWebvh.js","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
|
package/dist/webvh/index.d.ts
CHANGED
|
@@ -11,9 +11,19 @@
|
|
|
11
11
|
* `revokeWebvhClient` -- provisioning, per-client update-key rotation, the
|
|
12
12
|
* two-entry client enrollment ceremony, and the one-entry client
|
|
13
13
|
* revocation edit, all over the narrow `WebvhIdStore` seam.
|
|
14
|
+
* - `markedVerificationMethodPair` -- the one builder of a client's published
|
|
15
|
+
* verification-method pair (the account-controlled signing method plus the
|
|
16
|
+
* key-agreement method under the controller marker), which every write site
|
|
17
|
+
* uses and which refuses a key-agreement key that is not the signing key's
|
|
18
|
+
* canonical X25519 twin (`keyAgreementTwinMultibase`).
|
|
14
19
|
* - `listEnrolledWebvhClients` -- the enrolled-client listing over a
|
|
15
20
|
* caller-verified log (keyed on `capabilityInvocation`, update keys
|
|
16
21
|
* recovered by log attribution), for a "your wallets" surface.
|
|
22
|
+
* - `keyAgreementCommitment` / `commitmentMatchesKey` -- the
|
|
23
|
+
* `MultikeyCommitment` wire rule: the bare sha2-256 multihash, base64url
|
|
24
|
+
* no-pad, over a key-agreement key's decoded multikey bytes, and the
|
|
25
|
+
* decode-based check that verifies a candidate key against a published
|
|
26
|
+
* commitment.
|
|
17
27
|
* - `delegationKeyInDocument` -- the current-key-set rule for one recorded
|
|
18
28
|
* delegation: does the document still publish the key that signed it (a
|
|
19
29
|
* missing key id reads as "cannot be checked", so: no).
|
|
@@ -33,11 +43,13 @@
|
|
|
33
43
|
* Kept out of the root export: this subpath pulls the did:webvh, ed25519, and
|
|
34
44
|
* ezcap dependency graph (the same isolation pattern as `./identity`).
|
|
35
45
|
*/
|
|
36
|
-
export { didWebvhControllerTemplate, ensureDidWebvh, enrollWebvhClient, mintClientWebvhUpdateKeys, relationIds, repairKeyBindings, rotateWebvhUpdateKey, updateKeyMultibase, WebvhLogConflictError, withLogConflictRetry } from './didWebvh.js';
|
|
37
|
-
export { AccountLogMissingError, verifyAccountLog } from './verifyLog.js';
|
|
46
|
+
export { BYOE_CONTEXT_URL, clientKeyAgreementController, commitmentMatchesKey, didWebvhControllerTemplate, ensureDidWebvh, enrollWebvhClient, keyAgreementCommitment, keyAgreementTwinMultibase, MULTIKEY_COMMITMENT_VM_TYPE, markedVerificationMethodPair, mintClientWebvhUpdateKeys, relationIds, repairKeyBindings, rotateWebvhUpdateKey, updateKeyMultibase, WebvhLogConflictError, withLogConflictRetry } from './didWebvh.js';
|
|
47
|
+
export { accountLogPinId, AccountLogMissingError, verifyAccountLog } from './verifyLog.js';
|
|
38
48
|
export { wasWebvhIdStore } from './wasIdStore.js';
|
|
39
|
-
export { attributeClientUpdateKey, delegationKeyInDocument, documentKeyMultibases,
|
|
49
|
+
export { attributeClientUpdateKey, delegationKeyInDocument, documentKeyMultibases, listEnrolledWebvhClients, markedKeyAgreementMethods, markedKeyAgreementMultibases } from './listClients.js';
|
|
40
50
|
export type { EnrolledWebvhClient, PublishedKeyDocument } from './listClients.js';
|
|
51
|
+
export { resolvedKeyAgreementMethods } from './keyAgreement.js';
|
|
52
|
+
export type { KeyAgreementDocument } from './keyAgreement.js';
|
|
41
53
|
export { revokeWebvhClient, StagedCommitmentAmbiguousError } from './revokeClient.js';
|
|
42
54
|
export type { RevokedClientKeys } from './revokeClient.js';
|
|
43
55
|
export type { ClientWebvhUpdateKeys, DidWebvhBlock, DidWebKeyMapV2, WebvhClientKeys, WebvhEnrollmentKeys, WebvhIdStore } from './didWebvh.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EACzB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,YAAY,EACb,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1D,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,eAAe,EAChB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA"}
|