@sphereon/ssi-sdk-ext.did-utils 0.12.1 → 0.12.2-next.13

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.
@@ -2,6 +2,7 @@ import { DIDDocument, DIDDocumentSection, DIDResolutionResult, IAgentContext, ID
2
2
  import { _ExtendedIKey, _ExtendedVerificationMethod, _NormalizedVerificationMethod } from '@veramo/utils';
3
3
  import { DIDResolutionOptions, Resolvable } from 'did-resolver';
4
4
  import { IDIDOptions, IIdentifierOpts } from './types';
5
+ import { JwkKeyUse } from '@sphereon/ssi-sdk-ext.key-utils';
5
6
  export declare const getFirstKeyWithRelation: (identifier: IIdentifier, context: IAgentContext<IResolver>, vmRelationship?: DIDDocumentSection, errorOnNotFound?: boolean) => Promise<_ExtendedIKey | undefined>;
6
7
  /**
7
8
  * Dereferences keys from DID document and normalizes them for easy comparison.
@@ -49,10 +50,22 @@ export declare function toDIDs(identifiers?: (string | IIdentifier | Partial<IId
49
50
  export declare function getKey(identifier: IIdentifier, verificationMethodSection: DIDDocumentSection | undefined, context: IAgentContext<IResolver>, keyId?: string): Promise<IKey>;
50
51
  export declare function determineKid(key: IKey, idOpts: IIdentifierOpts): string;
51
52
  export declare function getSupportedDIDMethods(didOpts: IDIDOptions, context: IAgentContext<IDIDManager>): Promise<string[]>;
53
+ export declare function getAgentResolver(context: IAgentContext<IResolver>, opts?: {
54
+ uniresolverFallback: boolean;
55
+ }): Resolvable;
52
56
  export declare class AgentDIDResolver implements Resolvable {
53
57
  private readonly context;
54
58
  private readonly uniresolverFallback;
55
59
  constructor(context: IAgentContext<IResolver>, uniresolverFallback?: boolean);
56
60
  resolve(didUrl: string, options?: DIDResolutionOptions): Promise<DIDResolutionResult>;
57
61
  }
62
+ export declare function toDidDocument(identifier?: IIdentifier, opts?: {
63
+ did?: string;
64
+ use?: JwkKeyUse[];
65
+ }): DIDDocument | undefined;
66
+ export declare function toDidResolutionResult(identifier?: IIdentifier, opts?: {
67
+ did?: string;
68
+ supportedMethods?: string[];
69
+ }): DIDResolutionResult;
70
+ export declare function asDidWeb(hostnameOrDID: string): Promise<string>;
58
71
  //# sourceMappingURL=did-functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"did-functions.d.ts","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7I,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,6BAA6B,EAK9B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAsB,MAAM,cAAc,CAAA;AAInF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGtD,eAAO,MAAM,uBAAuB,eACtB,WAAW,WACd,cAAc,SAAS,CAAC,mBAChB,kBAAkB,oBACjB,OAAO,KACxB,QAAQ,aAAa,GAAG,SAAS,CAUnC,CAAA;AAGD;;;;;;;;;GASG;AACH,wBAAsB,gCAAgC,CACpD,WAAW,EAAE,WAAW,EACxB,OAAO,gCAAqC,EAC5C,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAkC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,EAAE,EAAE,2BAA2B,EAAE,OAAO,UAAQ,GAAG,MAAM,CA2B1G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oCAAoC,CACxD,UAAU,EAAE,WAAW,EACvB,OAAO,gCAAqC,EAC5C,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC,CA4B1B;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,qBAE3E;AAED,wBAAsB,aAAa,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAO9H;AAED,wBAAgB,MAAM,CAAC,cAAc,EAAE,eAAe,GAAG,MAAM,CAO9D;AAED,wBAAgB,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAQrF;AAED,wBAAgB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAK9F;AAED,wBAAsB,MAAM,CAC1B,UAAU,EAAE,WAAW,EACvB,yBAAyB,gCAAuC,EAChE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAEvE;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,qBAErG;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;gBAEjC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,EAAE,OAAO;IAKtE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAU5F"}
1
+ {"version":3,"file":"did-functions.d.ts","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
46
46
  return (mod && mod.__esModule) ? mod : { "default": mod };
47
47
  };
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.AgentDIDResolver = exports.getSupportedDIDMethods = exports.determineKid = exports.getKey = exports.toDIDs = exports.toDID = exports.getDID = exports.getIdentifier = exports.getAgentDIDMethods = exports.mapIdentifierKeysToDocWithJwkSupport = exports.extractPublicKeyHexWithJwkSupport = exports.dereferenceDidKeysWithJwkSupport = exports.getFirstKeyWithRelation = void 0;
49
+ exports.asDidWeb = exports.toDidResolutionResult = exports.toDidDocument = exports.AgentDIDResolver = exports.getAgentResolver = exports.getSupportedDIDMethods = exports.determineKid = exports.getKey = exports.toDIDs = exports.toDID = exports.getDID = exports.getIdentifier = exports.getAgentDIDMethods = exports.mapIdentifierKeysToDocWithJwkSupport = exports.extractPublicKeyHexWithJwkSupport = exports.dereferenceDidKeysWithJwkSupport = exports.getFirstKeyWithRelation = void 0;
50
50
  const did_uni_client_1 = require("@sphereon/did-uni-client");
51
51
  const utils_1 = require("@veramo/utils");
52
52
  // @ts-ignore
@@ -54,7 +54,7 @@ const elliptic_1 = __importDefault(require("elliptic"));
54
54
  const u8a = __importStar(require("uint8arrays"));
55
55
  const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
56
56
  const getFirstKeyWithRelation = (identifier, context, vmRelationship, errorOnNotFound) => __awaiter(void 0, void 0, void 0, function* () {
57
- const section = vmRelationship || 'verificationMethod'; // search all VMs in case no relationship is provided
57
+ const section = vmRelationship !== null && vmRelationship !== void 0 ? vmRelationship : 'verificationMethod'; // search all VMs in case no relationship is provided
58
58
  const matchedKeys = yield mapIdentifierKeysToDocWithJwkSupport(identifier, section, context);
59
59
  if (Array.isArray(matchedKeys) && matchedKeys.length > 0) {
60
60
  return matchedKeys[0];
@@ -179,8 +179,8 @@ function mapIdentifierKeysToDocWithJwkSupport(identifier, section = 'keyAgreemen
179
179
  const extendedKeys = documentKeys
180
180
  .map((verificationMethod) => {
181
181
  /*if (verificationMethod.type !== 'JsonWebKey2020') {
182
- return null
183
- }*/
182
+ return null
183
+ }*/
184
184
  const localKey = localKeys.find((localKey) => { var _a; return localKey.publicKeyHex === verificationMethod.publicKeyHex || ((_a = verificationMethod.publicKeyHex) === null || _a === void 0 ? void 0 : _a.startsWith(localKey.publicKeyHex)); });
185
185
  if (localKey) {
186
186
  const { meta } = localKey, localProps = __rest(localKey, ["meta"]);
@@ -266,6 +266,11 @@ function getSupportedDIDMethods(didOpts, context) {
266
266
  });
267
267
  }
268
268
  exports.getSupportedDIDMethods = getSupportedDIDMethods;
269
+ function getAgentResolver(context, opts) {
270
+ var _a;
271
+ return new AgentDIDResolver(context, (_a = opts === null || opts === void 0 ? void 0 : opts.uniresolverFallback) !== null && _a !== void 0 ? _a : true);
272
+ }
273
+ exports.getAgentResolver = getAgentResolver;
269
274
  class AgentDIDResolver {
270
275
  constructor(context, uniresolverFallback) {
271
276
  this.context = context;
@@ -274,11 +279,11 @@ class AgentDIDResolver {
274
279
  resolve(didUrl, options) {
275
280
  return __awaiter(this, void 0, void 0, function* () {
276
281
  try {
277
- return this.context.agent.resolveDid({ didUrl, options });
282
+ return yield this.context.agent.resolveDid({ didUrl, options });
278
283
  }
279
284
  catch (error) {
280
285
  if (this.uniresolverFallback) {
281
- return new did_uni_client_1.UniResolver().resolve(didUrl, options);
286
+ return yield new did_uni_client_1.UniResolver().resolve(didUrl, options);
282
287
  }
283
288
  throw error;
284
289
  }
@@ -286,4 +291,71 @@ class AgentDIDResolver {
286
291
  }
287
292
  }
288
293
  exports.AgentDIDResolver = AgentDIDResolver;
294
+ function toDidDocument(identifier, opts) {
295
+ var _a, _b, _c;
296
+ let didDocument = undefined;
297
+ if (identifier) {
298
+ const did = (_a = identifier.did) !== null && _a !== void 0 ? _a : opts === null || opts === void 0 ? void 0 : opts.did;
299
+ didDocument = Object.assign(Object.assign(Object.assign({ '@context': 'https://www.w3.org/ns/did/v1', id: did, verificationMethod: identifier.keys.map((key) => {
300
+ const vm = {
301
+ controller: did,
302
+ id: key.kid.startsWith(did) && key.kid.includes('#') ? key.kid : `${did}#${key.kid}`,
303
+ publicKeyJwk: (0, ssi_sdk_ext_key_utils_1.toJwk)(key.publicKeyHex, key.type, {
304
+ use: ssi_sdk_ext_key_utils_1.ENC_KEY_ALGS.includes(key.type) ? ssi_sdk_ext_key_utils_1.JwkKeyUse.Encryption : ssi_sdk_ext_key_utils_1.JwkKeyUse.Signature,
305
+ key,
306
+ }),
307
+ type: 'JsonWebKey2020',
308
+ };
309
+ return vm;
310
+ }) }, ((!(opts === null || opts === void 0 ? void 0 : opts.use) || ((_b = opts === null || opts === void 0 ? void 0 : opts.use) === null || _b === void 0 ? void 0 : _b.includes(ssi_sdk_ext_key_utils_1.JwkKeyUse.Signature))) &&
311
+ identifier.keys && {
312
+ assertionMethod: identifier.keys.map((key) => {
313
+ return `${did}#${key.kid}`;
314
+ }),
315
+ authentication: identifier.keys.map((key) => {
316
+ return `${did}#${key.kid}`;
317
+ }),
318
+ })), ((!(opts === null || opts === void 0 ? void 0 : opts.use) || ((_c = opts === null || opts === void 0 ? void 0 : opts.use) === null || _c === void 0 ? void 0 : _c.includes(ssi_sdk_ext_key_utils_1.JwkKeyUse.Encryption))) &&
319
+ identifier.keys &&
320
+ identifier.keys.filter((key) => key.type === 'X25519').length > 0 && {
321
+ keyAgreement: identifier.keys
322
+ .filter((key) => key.type === 'X25519')
323
+ .map((key) => {
324
+ if (key.kid.startsWith(did) && key.kid.includes('#')) {
325
+ return key.kid;
326
+ }
327
+ return `${did}#${key.kid}`;
328
+ }),
329
+ })), (identifier.services && identifier.services.length > 0 && { service: identifier.services }));
330
+ }
331
+ return didDocument;
332
+ }
333
+ exports.toDidDocument = toDidDocument;
334
+ function toDidResolutionResult(identifier, opts) {
335
+ var _a;
336
+ const didDocument = (_a = toDidDocument(identifier, opts)) !== null && _a !== void 0 ? _a : null; // null is used in case of errors and required by the did resolution spec
337
+ const resolutionResult = {
338
+ '@context': 'https://w3id.org/did-resolution/v1',
339
+ didDocument,
340
+ didResolutionMetadata: Object.assign(Object.assign({}, (!didDocument && { error: 'notFound' })), (Array.isArray(opts === null || opts === void 0 ? void 0 : opts.supportedMethods) &&
341
+ identifier &&
342
+ !(opts === null || opts === void 0 ? void 0 : opts.supportedMethods.includes(identifier.provider.replace('did:', ''))) && { error: 'unsupportedDidMethod' })),
343
+ didDocumentMetadata: Object.assign({}, ((identifier === null || identifier === void 0 ? void 0 : identifier.alias) && { equivalentId: identifier === null || identifier === void 0 ? void 0 : identifier.alias })),
344
+ };
345
+ return resolutionResult;
346
+ }
347
+ exports.toDidResolutionResult = toDidResolutionResult;
348
+ function asDidWeb(hostnameOrDID) {
349
+ return __awaiter(this, void 0, void 0, function* () {
350
+ let did = hostnameOrDID;
351
+ if (!did) {
352
+ throw Error('Domain or DID expected, but received nothing.');
353
+ }
354
+ if (did.startsWith('did:web:')) {
355
+ return did;
356
+ }
357
+ return `did:web:${did.replace(/https?:\/\/([^/?#]+).*/i, '$1').toLowerCase()}`;
358
+ });
359
+ }
360
+ exports.asDidWeb = asDidWeb;
289
361
  //# sourceMappingURL=did-functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"did-functions.js","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAAsD;AAEtD,yCAQsB;AAEtB,aAAa;AACb,wDAA+B;AAC/B,iDAAkC;AAElC,2EAAuE;AAEhE,MAAM,uBAAuB,GAAG,CACrC,UAAuB,EACvB,OAAiC,EACjC,cAAmC,EACnC,eAAyB,EACW,EAAE;IACtC,MAAM,OAAO,GAAG,cAAc,IAAI,oBAAoB,CAAA,CAAC,qDAAqD;IAC5G,MAAM,WAAW,GAAG,MAAM,oCAAoC,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5F,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QACxD,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;KACtB;IACD,IAAI,eAAe,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,wBAAwB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;KACzG;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA,CAAA;AAfY,QAAA,uBAAuB,2BAenC;AAED,mDAAmD;AACnD;;;;;;;;;GASG;AACH,SAAsB,gCAAgC,CACpD,WAAwB,EACxB,UAA8B,cAAc,EAC5C,OAAiC;;QAEjC,MAAM,OAAO,GAAG,OAAO,KAAK,cAAc,CAAA;QAC1C,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,EAAE,CAAA;SACV;QACD,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAO,GAAgC,EAAE,EAAE;YAC1E,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAC3B,IAAI;oBACF,OAAO,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC;wBAC9C,WAAW;wBACX,MAAM,EAAE,GAAG;wBACX,OAAO;qBACR,CAAC,CAAgC,CAAA;iBACnC;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,IAAI,CAAA;iBACZ;aACF;iBAAM;gBACL,OAAO,GAAkC,CAAA;aAC1C;QACH,CAAC,CAAA,CAAC,CACH,CACF;aACE,MAAM,CAAC,iBAAS,CAAC;aACjB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,MAAM,GAAG,iCAAiC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAC9D,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,KAAkB,GAAG,EAAhB,QAAQ,UAAK,GAAG,EAAnF,sEAA6E,CAAM,CAAA;YACzF,MAAM,MAAM,mCAAQ,QAAQ,KAAE,YAAY,EAAE,MAAM,GAAE,CAAA;YACpD,IAAI,OAAO,IAAI,4BAA4B,KAAK,MAAM,CAAC,IAAI,EAAE;gBAC3D,MAAM,CAAC,IAAI,GAAG,2BAA2B,CAAA;aAC1C;YACD,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;IACN,CAAC;CAAA;AAtCD,4EAsCC;AAED;;;;;;;;GAQG;AACH,SAAgB,iCAAiC,CAAC,EAA+B,EAAE,OAAO,GAAG,KAAK;IAChG,IAAI,EAAE,CAAC,YAAY,EAAE;QACnB,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,KAAK,IAAI,EAAE;YAChC,MAAM,OAAO,GAAG,IAAI,kBAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAE3F,mEAAmE;YACnE,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAE,EAAE,WAAW,CAAC,CAAA;YACzD,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAE,EAAE,WAAW,CAAC,CAAA;YAEzD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YACtC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YACtC,MAAM,MAAM,GAAG,IAAI,CAAA;YACnB,oCAAoC;YACpC,oEAAoE;YACpE,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAAA;YACrC,+JAA+J;YAC/J,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC7E,qDAAqD;YACrD,OAAO,YAAY,CAAA;SACpB;aAAM,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE;YAC5C,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAE,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;SAC/E;aAAM,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,KAAK,KAAK,EAAE;YACxC,OAAO,IAAA,6CAAqB,EAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;SACxD;KACF;IACD,2DAA2D;IAC3D,OAAO,IAAA,2BAAmB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAA;AACzC,CAAC;AA3BD,8EA2BC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAsB,oCAAoC,CACxD,UAAuB,EACvB,UAA8B,cAAc,EAC5C,OAAiC,EACjC,WAAyB;;QAEzB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,WAAW,CAAA;QACnH,gFAAgF;QAChF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAA,8BAAsB,EAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACxF,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAA,yBAAiB,EAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC3F,qEAAqE;QACrE,MAAM,YAAY,GAAyB,MAAM,gCAAgC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAE3G,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAA;QACnD,sFAAsF;QACtF,MAAM,YAAY,GAAoB,YAAY;aAC/C,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE;YAC1B;;eAEG;YACH,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAC7B,CAAC,QAAQ,EAAE,EAAE,WAAC,OAAA,QAAQ,CAAC,YAAY,KAAK,kBAAkB,CAAC,YAAY,KAAI,MAAA,kBAAkB,CAAC,YAAY,0CAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA,CAAA,EAAA,CAC9I,CAAA;YACD,IAAI,QAAQ,EAAE;gBACZ,MAAM,EAAE,IAAI,KAAoB,QAAQ,EAAvB,UAAU,UAAK,QAAQ,EAAlC,QAAuB,CAAW,CAAA;gBACxC,uCAAY,UAAU,KAAE,IAAI,kCAAO,IAAI,KAAE,kBAAkB,OAAI;aAChE;iBAAM;gBACL,OAAO,IAAI,CAAA;aACZ;QACH,CAAC,CAAC;aACD,MAAM,CAAC,iBAAS,CAAC,CAAA;QAEpB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAClC,CAAC;CAAA;AAjCD,oFAiCC;AAED,SAAsB,kBAAkB,CAAC,OAAmC;;QAC1E,OAAO,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IACrH,CAAC;CAAA;AAFD,gDAEC;AAED,SAAsB,aAAa,CAAC,cAA+B,EAAE,OAAmC;;QACtG,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,QAAQ,EAAE;YACjD,OAAO,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC,CAAA;SACvE;aAAM,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,QAAQ,EAAE;YACxD,OAAO,cAAc,CAAC,UAAU,CAAA;SACjC;QACD,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAA;IAC/D,CAAC;CAAA;AAPD,sCAOC;AAED,SAAgB,MAAM,CAAC,cAA+B;IACpD,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,QAAQ,EAAE;QACjD,OAAO,cAAc,CAAC,UAAU,CAAA;KACjC;SAAM,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,QAAQ,EAAE;QACxD,OAAO,cAAc,CAAC,UAAU,CAAC,GAAG,CAAA;KACrC;IACD,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAA;AACrD,CAAC;AAPD,wBAOC;AAED,SAAgB,KAAK,CAAC,UAAuD;IAC3E,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAClC,OAAO,UAAU,CAAA;KAClB;IACD,IAAI,UAAU,CAAC,GAAG,EAAE;QAClB,OAAO,UAAU,CAAC,GAAG,CAAA;KACtB;IACD,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAA;AACnD,CAAC;AARD,sBAQC;AAED,SAAgB,MAAM,CAAC,WAA6D;IAClF,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,EAAE,CAAA;KACV;IACD,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AALD,wBAKC;AAED,SAAsB,MAAM,CAC1B,UAAuB,EACvB,4BAAgD,gBAAgB,EAChE,OAAiC,EACjC,KAAc;;QAEd,MAAM,IAAI,GAAG,MAAM,oCAAoC,CAAC,UAAU,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAA;QACvG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,gDAAgD,yBAAyB,YAAY,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;SACvH;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxI,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,8DAA8D,KAAK,EAAE,CAAC,CAAA;SACvF;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;CAAA;AAjBD,wBAiBC;AAED,SAAgB,YAAY,CAAC,GAAS,EAAE,MAAuB;;IAC7D,OAAO,MAAA,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,kBAAkB,CAAC,EAAE,mCAAI,MAAM,CAAC,GAAG,mCAAI,GAAG,CAAC,GAAG,CAAA;AACjE,CAAC;AAFD,oCAEC;AAED,SAAsB,sBAAsB,CAAC,OAAoB,EAAE,OAAmC;;;QACpG,OAAO,MAAA,OAAO,CAAC,mBAAmB,mCAAI,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAA;;CAC1E;AAFD,wDAEC;AAED,MAAa,gBAAgB;IAI3B,YAAY,OAAiC,EAAE,mBAA6B;QAC1E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,KAAK,IAAI,CAAA;IACzD,CAAC;IAEK,OAAO,CAAC,MAAc,EAAE,OAA8B;;YAC1D,IAAI;gBACF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;aAC1D;YAAC,OAAO,KAAc,EAAE;gBACvB,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,OAAO,IAAI,4BAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;iBAClD;gBACD,MAAM,KAAK,CAAA;aACZ;QACH,CAAC;KAAA;CACF;AAnBD,4CAmBC"}
1
+ {"version":3,"file":"did-functions.js","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk-ext.did-utils",
3
3
  "description": "DID Utils",
4
- "version": "0.12.1",
4
+ "version": "0.12.2-next.13+276840f",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@sphereon/did-uni-client": "^0.6.0",
14
- "@sphereon/ssi-sdk-ext.key-utils": "0.12.1",
14
+ "@sphereon/ssi-sdk-ext.key-utils": "0.12.2-next.13+276840f",
15
15
  "@veramo/core": "4.2.0",
16
16
  "@veramo/utils": "4.2.0",
17
17
  "did-jwt": "^6.11.6",
@@ -34,5 +34,5 @@
34
34
  "author": "Sphereon <dev@sphereon.com>",
35
35
  "license": "Apache-2.0",
36
36
  "keywords": [],
37
- "gitHead": "c16911095243a3ad2833e49e2e1ade518e84b0b2"
37
+ "gitHead": "276840f14edaea7d5c98a556a1c7393c0d8bbcd3"
38
38
  }
@@ -14,7 +14,7 @@ import { DIDResolutionOptions, Resolvable, VerificationMethod } from 'did-resolv
14
14
  import elliptic from 'elliptic'
15
15
  import * as u8a from 'uint8arrays'
16
16
  import { IDIDOptions, IIdentifierOpts } from './types'
17
- import { hexKeyFromPEMBasedJwk } from '@sphereon/ssi-sdk-ext.key-utils'
17
+ import { ENC_KEY_ALGS, hexKeyFromPEMBasedJwk, JwkKeyUse, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'
18
18
 
19
19
  export const getFirstKeyWithRelation = async (
20
20
  identifier: IIdentifier,
@@ -22,7 +22,7 @@ export const getFirstKeyWithRelation = async (
22
22
  vmRelationship?: DIDDocumentSection,
23
23
  errorOnNotFound?: boolean
24
24
  ): Promise<_ExtendedIKey | undefined> => {
25
- const section = vmRelationship || 'verificationMethod' // search all VMs in case no relationship is provided
25
+ const section = vmRelationship ?? 'verificationMethod' // search all VMs in case no relationship is provided
26
26
  const matchedKeys = await mapIdentifierKeysToDocWithJwkSupport(identifier, section, context)
27
27
  if (Array.isArray(matchedKeys) && matchedKeys.length > 0) {
28
28
  return matchedKeys[0]
@@ -156,8 +156,8 @@ export async function mapIdentifierKeysToDocWithJwkSupport(
156
156
  const extendedKeys: _ExtendedIKey[] = documentKeys
157
157
  .map((verificationMethod) => {
158
158
  /*if (verificationMethod.type !== 'JsonWebKey2020') {
159
- return null
160
- }*/
159
+ return null
160
+ }*/
161
161
  const localKey = localKeys.find(
162
162
  (localKey) => localKey.publicKeyHex === verificationMethod.publicKeyHex || verificationMethod.publicKeyHex?.startsWith(localKey.publicKeyHex)
163
163
  )
@@ -239,6 +239,15 @@ export async function getSupportedDIDMethods(didOpts: IDIDOptions, context: IAge
239
239
  return didOpts.supportedDIDMethods ?? (await getAgentDIDMethods(context))
240
240
  }
241
241
 
242
+ export function getAgentResolver(
243
+ context: IAgentContext<IResolver>,
244
+ opts?: {
245
+ uniresolverFallback: boolean
246
+ }
247
+ ): Resolvable {
248
+ return new AgentDIDResolver(context, opts?.uniresolverFallback ?? true)
249
+ }
250
+
242
251
  export class AgentDIDResolver implements Resolvable {
243
252
  private readonly context: IAgentContext<IResolver>
244
253
  private readonly uniresolverFallback: boolean
@@ -250,12 +259,100 @@ export class AgentDIDResolver implements Resolvable {
250
259
 
251
260
  async resolve(didUrl: string, options?: DIDResolutionOptions): Promise<DIDResolutionResult> {
252
261
  try {
253
- return this.context.agent.resolveDid({ didUrl, options })
262
+ return await this.context.agent.resolveDid({ didUrl, options })
254
263
  } catch (error: unknown) {
255
264
  if (this.uniresolverFallback) {
256
- return new UniResolver().resolve(didUrl, options)
265
+ return await new UniResolver().resolve(didUrl, options)
257
266
  }
258
267
  throw error
259
268
  }
260
269
  }
261
270
  }
271
+
272
+ export function toDidDocument(
273
+ identifier?: IIdentifier,
274
+ opts?: {
275
+ did?: string
276
+ use?: JwkKeyUse[]
277
+ }
278
+ ): DIDDocument | undefined {
279
+ let didDocument: DIDDocument | undefined = undefined
280
+ if (identifier) {
281
+ const did = identifier.did ?? opts?.did
282
+ didDocument = {
283
+ '@context': 'https://www.w3.org/ns/did/v1',
284
+ id: did,
285
+ verificationMethod: identifier.keys.map((key) => {
286
+ const vm: VerificationMethod = {
287
+ controller: did,
288
+ id: key.kid.startsWith(did) && key.kid.includes('#') ? key.kid : `${did}#${key.kid}`,
289
+ publicKeyJwk: toJwk(key.publicKeyHex, key.type, {
290
+ use: ENC_KEY_ALGS.includes(key.type) ? JwkKeyUse.Encryption : JwkKeyUse.Signature,
291
+ key,
292
+ }),
293
+ type: 'JsonWebKey2020',
294
+ }
295
+ return vm
296
+ }),
297
+ ...((!opts?.use || opts?.use?.includes(JwkKeyUse.Signature)) &&
298
+ identifier.keys && {
299
+ assertionMethod: identifier.keys.map((key) => {
300
+ return `${did}#${key.kid}`
301
+ }),
302
+ authentication: identifier.keys.map((key) => {
303
+ return `${did}#${key.kid}`
304
+ }),
305
+ }),
306
+ ...((!opts?.use || opts?.use?.includes(JwkKeyUse.Encryption)) &&
307
+ identifier.keys &&
308
+ identifier.keys.filter((key) => key.type === 'X25519').length > 0 && {
309
+ keyAgreement: identifier.keys
310
+ .filter((key) => key.type === 'X25519')
311
+ .map((key) => {
312
+ if (key.kid.startsWith(did) && key.kid.includes('#')) {
313
+ return key.kid
314
+ }
315
+ return `${did}#${key.kid}`
316
+ }),
317
+ }),
318
+ ...(identifier.services && identifier.services.length > 0 && { service: identifier.services }),
319
+ }
320
+ }
321
+ return didDocument
322
+ }
323
+
324
+ export function toDidResolutionResult(
325
+ identifier?: IIdentifier,
326
+ opts?: {
327
+ did?: string
328
+ supportedMethods?: string[]
329
+ }
330
+ ): DIDResolutionResult {
331
+ const didDocument = toDidDocument(identifier, opts) ?? null // null is used in case of errors and required by the did resolution spec
332
+
333
+ const resolutionResult: DIDResolutionResult = {
334
+ '@context': 'https://w3id.org/did-resolution/v1',
335
+ didDocument,
336
+ didResolutionMetadata: {
337
+ ...(!didDocument && { error: 'notFound' }),
338
+ ...(Array.isArray(opts?.supportedMethods) &&
339
+ identifier &&
340
+ !opts?.supportedMethods.includes(identifier.provider.replace('did:', '')) && { error: 'unsupportedDidMethod' }),
341
+ },
342
+ didDocumentMetadata: {
343
+ ...(identifier?.alias && { equivalentId: identifier?.alias }),
344
+ },
345
+ }
346
+ return resolutionResult
347
+ }
348
+
349
+ export async function asDidWeb(hostnameOrDID: string): Promise<string> {
350
+ let did = hostnameOrDID
351
+ if (!did) {
352
+ throw Error('Domain or DID expected, but received nothing.')
353
+ }
354
+ if (did.startsWith('did:web:')) {
355
+ return did
356
+ }
357
+ return `did:web:${did.replace(/https?:\/\/([^/?#]+).*/i, '$1').toLowerCase()}`
358
+ }