@sphereon/ssi-sdk-ext.did-utils 0.24.1-unstable.10 → 0.24.1-unstable.112

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.
@@ -1,8 +1,10 @@
1
1
  import { JwkKeyUse, TKeyType } from '@sphereon/ssi-sdk-ext.key-utils';
2
+ import { JWK } from '@sphereon/ssi-types';
2
3
  import { DIDDocument, DIDDocumentSection, DIDResolutionResult, IAgentContext, IDIDManager, IIdentifier, IKey, IResolver } from '@veramo/core';
3
4
  import { _ExtendedIKey, _ExtendedVerificationMethod, _NormalizedVerificationMethod } from '@veramo/utils';
4
- import { DIDResolutionOptions, Resolvable } from 'did-resolver';
5
- import { CreateIdentifierOpts, CreateOrGetIdentifierOpts, GetOrCreateResult, IdentifierProviderOpts, IDIDOptions, IIdentifierOpts } from './types';
5
+ import { Signer } from 'did-jwt';
6
+ import { DIDResolutionOptions, Resolvable, VerificationMethod } from 'did-resolver';
7
+ import { CreateIdentifierOpts, CreateOrGetIdentifierOpts, GetOrCreateResult, GetSignerArgs, IdentifierProviderOpts, IDIDOptions, SignJwtArgs } from './types';
6
8
  export declare const getAuthenticationKey: ({ identifier, offlineWhenNoDIDRegistered, noVerificationMethodFallback, keyType, controllerKey, }: {
7
9
  identifier: IIdentifier;
8
10
  keyType?: TKeyType;
@@ -54,6 +56,7 @@ export declare const getKeys: ({ jwkThumbprint, kms, identifier, kmsKeyRef, keyT
54
56
  * @beta This API may change without a BREAKING CHANGE notice.
55
57
  */
56
58
  export declare function dereferenceDidKeysWithJwkSupport(didDocument: DIDDocument, section: DIDDocumentSection | undefined, context: IAgentContext<IResolver>): Promise<_NormalizedVerificationMethod[]>;
59
+ export declare function jwkTtoPublicKeyHex(jwk: JWK): string;
57
60
  /**
58
61
  * Converts the publicKey of a VerificationMethod to hex encoding (publicKeyHex)
59
62
  *
@@ -75,6 +78,9 @@ export declare function isEvenHexString(hex: string): boolean;
75
78
  * @beta This API may change without a BREAKING CHANGE notice.
76
79
  */
77
80
  export declare function extractPublicKeyHex(pk: _ExtendedVerificationMethod, convert?: boolean): string;
81
+ export declare function verificationMethodToJwk(vm: VerificationMethod): JWK;
82
+ export type DidDocumentJwks = Record<Exclude<DIDDocumentSection, 'publicKey' | 'service'>, Array<JWK>>;
83
+ export declare function didDocumentToJwks(didDocument: DIDDocument): DidDocumentJwks;
78
84
  /**
79
85
  * Maps the keys of a locally managed {@link @veramo/core#IIdentifier | IIdentifier} to the corresponding
80
86
  * {@link did-resolver#VerificationMethod | VerificationMethod} entries from the DID document.
@@ -98,8 +104,9 @@ export declare function mapIdentifierKeysToDocWithJwkSupport({ identifier, vmRel
98
104
  didDocument?: DIDDocument;
99
105
  }, context: IAgentContext<IResolver & IDIDManager>): Promise<_ExtendedIKey[]>;
100
106
  export declare function getAgentDIDMethods(context: IAgentContext<IDIDManager>): Promise<string[]>;
101
- export declare function getIdentifier(identifierOpts: IIdentifierOpts, context: IAgentContext<IDIDManager>): Promise<IIdentifier>;
102
- export declare function getDID(identifierOpts: IIdentifierOpts): string;
107
+ export declare function getDID(idOpts: {
108
+ identifier: IIdentifier | string;
109
+ }): string;
103
110
  export declare function toDID(identifier: string | IIdentifier | Partial<IIdentifier>): string;
104
111
  export declare function toDIDs(identifiers?: (string | IIdentifier | Partial<IIdentifier>)[]): string[];
105
112
  export declare function getKey({ identifier, vmRelationship, kmsKeyRef, }: {
@@ -111,10 +118,14 @@ export declare function getKey({ identifier, vmRelationship, kmsKeyRef, }: {
111
118
  * Get the real kid as used in JWTs. This is the kid in the VM or in the JWT, not the kid in the Veramo/Sphereon keystore. That was just a poorly chosen name
112
119
  * @param key
113
120
  * @param idOpts
121
+ * @param context
114
122
  */
115
123
  export declare function determineKid({ key, idOpts, }: {
116
124
  key: IKey;
117
- idOpts: IIdentifierOpts;
125
+ idOpts: {
126
+ identifier: IIdentifier | string;
127
+ kmsKeyRef?: string;
128
+ };
118
129
  }, context: IAgentContext<IResolver & IDIDManager>): Promise<string>;
119
130
  export declare function getSupportedDIDMethods(didOpts: IDIDOptions, context: IAgentContext<IDIDManager>): Promise<string[]>;
120
131
  export declare function getAgentResolver(context: IAgentContext<IResolver & IDIDManager>, opts?: {
@@ -153,4 +164,27 @@ export declare function toDidResolutionResult(identifier?: IIdentifier, opts?: {
153
164
  supportedMethods?: string[];
154
165
  }): DIDResolutionResult;
155
166
  export declare function asDidWeb(hostnameOrDID: string): Promise<string>;
167
+ /**
168
+ * @deprecated Replaced by the new signer service
169
+ */
170
+ export declare const signDidJWT: (args: SignJwtArgs) => Promise<string>;
171
+ /**
172
+ * @deprecated Replaced by the new signer service
173
+ */
174
+ export declare const getDidSigner: (args: GetSignerArgs & {
175
+ idOpts: {
176
+ /**
177
+ * @deprecated
178
+ */
179
+ identifier: IIdentifier | string;
180
+ /**
181
+ * @deprecated
182
+ */
183
+ verificationMethodSection?: DIDDocumentSection;
184
+ /**
185
+ * @deprecated
186
+ */
187
+ kmsKeyRef?: string;
188
+ };
189
+ }) => Promise<Signer>;
156
190
  //# sourceMappingURL=did-functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"did-functions.d.ts","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"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"}
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.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.extractPublicKeyHex = exports.isEvenHexString = exports.extractPublicKeyHexWithJwkSupport = exports.dereferenceDidKeysWithJwkSupport = exports.getKeys = exports.getControllerKey = exports.getEthereumAddressFromKey = exports.getFirstKeyWithRelationFromDIDDoc = exports.createIdentifier = exports.getPrimaryIdentifier = exports.getOrCreatePrimaryIdentifier = exports.getFirstKeyWithRelation = exports.getAuthenticationKey = void 0;
49
+ exports.getDidSigner = exports.signDidJWT = exports.asDidWeb = exports.toDidResolutionResult = exports.toDidDocument = exports.AgentDIDResolver = exports.getAgentResolver = exports.getSupportedDIDMethods = exports.determineKid = exports.getKey = exports.toDIDs = exports.toDID = exports.getDID = exports.getAgentDIDMethods = exports.mapIdentifierKeysToDocWithJwkSupport = exports.didDocumentToJwks = exports.verificationMethodToJwk = exports.extractPublicKeyHex = exports.isEvenHexString = exports.extractPublicKeyHexWithJwkSupport = exports.jwkTtoPublicKeyHex = exports.dereferenceDidKeysWithJwkSupport = exports.getKeys = exports.getControllerKey = exports.getEthereumAddressFromKey = exports.getFirstKeyWithRelationFromDIDDoc = exports.createIdentifier = exports.getPrimaryIdentifier = exports.getOrCreatePrimaryIdentifier = exports.getFirstKeyWithRelation = exports.getAuthenticationKey = void 0;
50
50
  const transactions_1 = require("@ethersproject/transactions");
51
51
  const did_uni_client_1 = require("@sphereon/did-uni-client");
52
52
  const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
@@ -54,6 +54,7 @@ const ssi_sdk_ext_x509_utils_1 = require("@sphereon/ssi-sdk-ext.x509-utils");
54
54
  const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
55
55
  const ed25519_1 = require("@stablelib/ed25519");
56
56
  const utils_1 = require("@veramo/utils");
57
+ const did_jwt_1 = require("did-jwt");
57
58
  // @ts-ignore
58
59
  const elliptic_1 = __importDefault(require("elliptic"));
59
60
  const u8a = __importStar(require("uint8arrays"));
@@ -80,7 +81,7 @@ const getFirstKeyWithRelation = (_b, context_2) => __awaiter(void 0, [_b, contex
80
81
  errorOnNotFound: false,
81
82
  keyType,
82
83
  controllerKey,
83
- }, context))) !== null && _c !== void 0 ? _c : (noVerificationMethodFallback
84
+ }, context))) !== null && _c !== void 0 ? _c : (noVerificationMethodFallback || vmRelationship === 'verificationMethod' // let's not fallback to the same value again
84
85
  ? undefined
85
86
  : yield (0, exports.getFirstKeyWithRelationFromDIDDoc)({
86
87
  identifier,
@@ -110,7 +111,7 @@ const getFirstKeyWithRelation = (_b, context_2) => __awaiter(void 0, [_b, contex
110
111
  didDocument: offlineDID,
111
112
  keyType,
112
113
  controllerKey,
113
- }, context))) !== null && _d !== void 0 ? _d : (noVerificationMethodFallback
114
+ }, context))) !== null && _d !== void 0 ? _d : (noVerificationMethodFallback || vmRelationship === 'verificationMethod' // let's not fallback to the same value again
114
115
  ? undefined
115
116
  : yield (0, exports.getFirstKeyWithRelationFromDIDDoc)({
116
117
  identifier,
@@ -160,12 +161,12 @@ const getPrimaryIdentifier = (context, opts) => __awaiter(void 0, void 0, void 0
160
161
  });
161
162
  exports.getPrimaryIdentifier = getPrimaryIdentifier;
162
163
  const createIdentifier = (context, opts) => __awaiter(void 0, void 0, void 0, function* () {
163
- var _g, _h, _j, _k, _l, _m, _o;
164
- const identifier = yield context.agent.didManagerCreate(Object.assign(Object.assign({ kms: (_h = (_g = opts === null || opts === void 0 ? void 0 : opts.createOpts) === null || _g === void 0 ? void 0 : _g.kms) !== null && _h !== void 0 ? _h : types_1.KeyManagementSystemEnum.LOCAL }, ((opts === null || opts === void 0 ? void 0 : opts.method) && { provider: `${types_1.DID_PREFIX}${opts === null || opts === void 0 ? void 0 : opts.method}` })), { alias: (_k = (_j = opts === null || opts === void 0 ? void 0 : opts.createOpts) === null || _j === void 0 ? void 0 : _j.alias) !== null && _k !== void 0 ? _k : `${types_1.IdentifierAliasEnum.PRIMARY}-${opts === null || opts === void 0 ? void 0 : opts.method}-${(_m = (_l = opts === null || opts === void 0 ? void 0 : opts.createOpts) === null || _l === void 0 ? void 0 : _l.options) === null || _m === void 0 ? void 0 : _m.type}-${new Date().toUTCString()}`, options: (_o = opts === null || opts === void 0 ? void 0 : opts.createOpts) === null || _o === void 0 ? void 0 : _o.options }));
164
+ var _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
165
+ const identifier = yield context.agent.didManagerCreate(Object.assign(Object.assign({ kms: (_l = (_h = (_g = opts === null || opts === void 0 ? void 0 : opts.createOpts) === null || _g === void 0 ? void 0 : _g.kms) !== null && _h !== void 0 ? _h : (_k = (_j = opts === null || opts === void 0 ? void 0 : opts.createOpts) === null || _j === void 0 ? void 0 : _j.options) === null || _k === void 0 ? void 0 : _k.kms) !== null && _l !== void 0 ? _l : types_1.KeyManagementSystemEnum.LOCAL }, ((opts === null || opts === void 0 ? void 0 : opts.method) && { provider: `${types_1.DID_PREFIX}${opts === null || opts === void 0 ? void 0 : opts.method}` })), { alias: (_o = (_m = opts === null || opts === void 0 ? void 0 : opts.createOpts) === null || _m === void 0 ? void 0 : _m.alias) !== null && _o !== void 0 ? _o : `${types_1.IdentifierAliasEnum.PRIMARY}-${opts === null || opts === void 0 ? void 0 : opts.method}-${(_q = (_p = opts === null || opts === void 0 ? void 0 : opts.createOpts) === null || _p === void 0 ? void 0 : _p.options) === null || _q === void 0 ? void 0 : _q.type}-${new Date().toUTCString()}`, options: (_r = opts === null || opts === void 0 ? void 0 : opts.createOpts) === null || _r === void 0 ? void 0 : _r.options }));
165
166
  return identifier;
166
167
  });
167
168
  exports.createIdentifier = createIdentifier;
168
- const getFirstKeyWithRelationFromDIDDoc = (_p, context_3) => __awaiter(void 0, [_p, context_3], void 0, function* ({ identifier, vmRelationship = 'verificationMethod', keyType, errorOnNotFound = false, didDocument, controllerKey, }, context) {
169
+ const getFirstKeyWithRelationFromDIDDoc = (_s, context_3) => __awaiter(void 0, [_s, context_3], void 0, function* ({ identifier, vmRelationship = 'verificationMethod', keyType, errorOnNotFound = false, didDocument, controllerKey, }, context) {
169
170
  const matchedKeys = yield mapIdentifierKeysToDocWithJwkSupport({ identifier, vmRelationship, didDocument }, context);
170
171
  if (Array.isArray(matchedKeys) && matchedKeys.length > 0) {
171
172
  const result = matchedKeys.find((key) => keyType === undefined || key.type === keyType || (controllerKey && key.kid === identifier.controllerKeyId));
@@ -255,6 +256,15 @@ function dereferenceDidKeysWithJwkSupport(didDocument_1) {
255
256
  });
256
257
  }
257
258
  exports.dereferenceDidKeysWithJwkSupport = dereferenceDidKeysWithJwkSupport;
259
+ function jwkTtoPublicKeyHex(jwk) {
260
+ // todo: Hacky way to convert this to a VM. Should extract the logic from the below methods
261
+ // @ts-ignore
262
+ const vm = {
263
+ publicKeyJwk: jwk,
264
+ };
265
+ return extractPublicKeyHexWithJwkSupport(vm);
266
+ }
267
+ exports.jwkTtoPublicKeyHex = jwkTtoPublicKeyHex;
258
268
  /**
259
269
  * Converts the publicKey of a VerificationMethod to hex encoding (publicKeyHex)
260
270
  *
@@ -347,6 +357,41 @@ function extractPublicKeyBytes(pk) {
347
357
  }
348
358
  return new Uint8Array();
349
359
  }
360
+ function verificationMethodToJwk(vm) {
361
+ var _a;
362
+ let jwk = vm.publicKeyJwk;
363
+ if (!jwk) {
364
+ let publicKeyHex = (_a = vm.publicKeyHex) !== null && _a !== void 0 ? _a : u8a.toString(extractPublicKeyBytes(vm), 'hex');
365
+ jwk = (0, ssi_sdk_ext_key_utils_1.toJwk)(publicKeyHex, (0, ssi_sdk_ext_key_utils_1.keyTypeFromCryptographicSuite)({ suite: vm.type }));
366
+ }
367
+ if (!jwk) {
368
+ throw Error(`Could not convert verification method to jwk`);
369
+ }
370
+ jwk.kid = vm.id;
371
+ return jwk;
372
+ }
373
+ exports.verificationMethodToJwk = verificationMethodToJwk;
374
+ function didDocumentSectionToJwks(didDocumentSection, searchForVerificationMethods, verificationMethods) {
375
+ const jwks = (searchForVerificationMethods !== null && searchForVerificationMethods !== void 0 ? searchForVerificationMethods : [])
376
+ .map((vmOrId) => (typeof vmOrId === 'object' ? vmOrId : verificationMethods === null || verificationMethods === void 0 ? void 0 : verificationMethods.find((vm) => vm.id === vmOrId)))
377
+ .filter(utils_1.isDefined)
378
+ .map((vm) => verificationMethodToJwk(vm));
379
+ return { didDocumentSection, jwks: jwks };
380
+ }
381
+ function didDocumentToJwks(didDocument) {
382
+ return {
383
+ verificationMethod: [
384
+ ...didDocumentSectionToJwks('publicKey', didDocument.publicKey, didDocument.verificationMethod).jwks, // legacy support
385
+ ...didDocumentSectionToJwks('verificationMethod', didDocument.verificationMethod, didDocument.verificationMethod).jwks,
386
+ ],
387
+ assertionMethod: didDocumentSectionToJwks('assertionMethod', didDocument.assertionMethod, didDocument.verificationMethod).jwks,
388
+ authentication: didDocumentSectionToJwks('authentication', didDocument.authentication, didDocument.verificationMethod).jwks,
389
+ keyAgreement: didDocumentSectionToJwks('keyAgreement', didDocument.keyAgreement, didDocument.verificationMethod).jwks,
390
+ capabilityInvocation: didDocumentSectionToJwks('capabilityInvocation', didDocument.capabilityInvocation, didDocument.verificationMethod).jwks,
391
+ capabilityDelegation: didDocumentSectionToJwks('capabilityDelegation', didDocument.capabilityDelegation, didDocument.verificationMethod).jwks,
392
+ };
393
+ }
394
+ exports.didDocumentToJwks = didDocumentToJwks;
350
395
  /**
351
396
  * Maps the keys of a locally managed {@link @veramo/core#IIdentifier | IIdentifier} to the corresponding
352
397
  * {@link did-resolver#VerificationMethod | VerificationMethod} entries from the DID document.
@@ -382,8 +427,8 @@ function mapIdentifierKeysToDocWithJwkSupport(_a, context_4) {
382
427
  const extendedKeys = documentKeys
383
428
  .map((verificationMethod) => {
384
429
  /*if (verificationMethod.type !== 'JsonWebKey2020') {
385
- return null
386
- }*/
430
+ return null
431
+ }*/
387
432
  const localKey = localKeys.find((localKey) => {
388
433
  var _a;
389
434
  return localKey.publicKeyHex === verificationMethod.publicKeyHex ||
@@ -434,24 +479,12 @@ function getAgentDIDMethods(context) {
434
479
  });
435
480
  }
436
481
  exports.getAgentDIDMethods = getAgentDIDMethods;
437
- function getIdentifier(identifierOpts, context) {
438
- return __awaiter(this, void 0, void 0, function* () {
439
- if (typeof identifierOpts.identifier === 'string') {
440
- return context.agent.didManagerGet({ did: identifierOpts.identifier });
441
- }
442
- else if (typeof identifierOpts.identifier === 'object') {
443
- return identifierOpts.identifier;
444
- }
445
- throw Error(`Cannot get agent identifier value from options`);
446
- });
447
- }
448
- exports.getIdentifier = getIdentifier;
449
- function getDID(identifierOpts) {
450
- if (typeof identifierOpts.identifier === 'string') {
451
- return identifierOpts.identifier;
482
+ function getDID(idOpts) {
483
+ if (typeof idOpts.identifier === 'string') {
484
+ return idOpts.identifier;
452
485
  }
453
- else if (typeof identifierOpts.identifier === 'object') {
454
- return identifierOpts.identifier.did;
486
+ else if (typeof idOpts.identifier === 'object') {
487
+ return idOpts.identifier.did;
455
488
  }
456
489
  throw Error(`Cannot get DID from identifier value`);
457
490
  }
@@ -505,10 +538,26 @@ function getKey(_a, context_4) {
505
538
  });
506
539
  }
507
540
  exports.getKey = getKey;
541
+ /**
542
+ *
543
+ * @param identifier
544
+ * @param context
545
+ *
546
+ * @deprecated Replaced by the identfier resolution plugin
547
+ */
548
+ function legacyGetIdentifier(_a, context_4) {
549
+ return __awaiter(this, arguments, void 0, function* ({ identifier, }, context) {
550
+ if (typeof identifier === 'string') {
551
+ return yield context.agent.didManagerGet({ did: identifier });
552
+ }
553
+ return identifier;
554
+ });
555
+ }
508
556
  /**
509
557
  * Get the real kid as used in JWTs. This is the kid in the VM or in the JWT, not the kid in the Veramo/Sphereon keystore. That was just a poorly chosen name
510
558
  * @param key
511
559
  * @param idOpts
560
+ * @param context
512
561
  */
513
562
  function determineKid(_a, context_4) {
514
563
  return __awaiter(this, arguments, void 0, function* ({ key, idOpts, }, context) {
@@ -516,7 +565,7 @@ function determineKid(_a, context_4) {
516
565
  if ((_c = (_b = key.meta) === null || _b === void 0 ? void 0 : _b.verificationMethod) === null || _c === void 0 ? void 0 : _c.id) {
517
566
  return (_e = (_d = key.meta) === null || _d === void 0 ? void 0 : _d.verificationMethod) === null || _e === void 0 ? void 0 : _e.id;
518
567
  }
519
- const identifier = yield getIdentifier(idOpts, context);
568
+ const identifier = yield legacyGetIdentifier(idOpts, context);
520
569
  const mappedKeys = yield mapIdentifierKeysToDocWithJwkSupport({
521
570
  identifier,
522
571
  vmRelationship: 'verificationMethod',
@@ -730,4 +779,35 @@ function asDidWeb(hostnameOrDID) {
730
779
  });
731
780
  }
732
781
  exports.asDidWeb = asDidWeb;
782
+ /**
783
+ * @deprecated Replaced by the new signer service
784
+ */
785
+ const signDidJWT = (args) => __awaiter(void 0, void 0, void 0, function* () {
786
+ const { idOpts, header, payload, context, options } = args;
787
+ const jwtOptions = Object.assign(Object.assign({}, options), { signer: yield (0, exports.getDidSigner)({ idOpts, context }) });
788
+ return (0, did_jwt_1.createJWT)(payload, jwtOptions, header);
789
+ });
790
+ exports.signDidJWT = signDidJWT;
791
+ /**
792
+ * @deprecated Replaced by the new signer service
793
+ */
794
+ const getDidSigner = (args) => __awaiter(void 0, void 0, void 0, function* () {
795
+ const { idOpts, context } = args;
796
+ const identifier = yield legacyGetIdentifier(idOpts, context);
797
+ const key = yield getKey({
798
+ identifier,
799
+ vmRelationship: idOpts.verificationMethodSection,
800
+ kmsKeyRef: idOpts.kmsKeyRef,
801
+ }, context);
802
+ const algorithm = yield (0, ssi_sdk_ext_key_utils_1.signatureAlgorithmFromKey)({ key });
803
+ return (data) => __awaiter(void 0, void 0, void 0, function* () {
804
+ const input = data instanceof Object.getPrototypeOf(Uint8Array) ? new TextDecoder().decode(data) : data;
805
+ return yield context.agent.keyManagerSign({
806
+ keyRef: key.kid,
807
+ algorithm,
808
+ data: input,
809
+ });
810
+ });
811
+ });
812
+ exports.getDidSigner = getDidSigner;
733
813
  //# sourceMappingURL=did-functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"did-functions.js","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"did-functions.js","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { JWTVerifyOptions } from 'did-jwt';
2
- import { Resolvable } from 'did-resolver';
3
- import { DIDDocumentSection, IIdentifier } from '@veramo/core';
4
1
  import { TKeyType } from '@sphereon/ssi-sdk-ext.key-utils';
2
+ import { IAgentContext, IDIDManager, IIdentifier, IKeyManager, IResolver } from '@veramo/core';
3
+ import { JWTHeader, JWTPayload, JWTVerifyOptions } from 'did-jwt';
4
+ import { Resolvable } from 'did-resolver';
5
5
  export declare enum SupportedDidMethodEnum {
6
6
  DID_ETHR = "ethr",
7
7
  DID_KEY = "key",
@@ -23,16 +23,14 @@ export interface ResolveOpts {
23
23
  noUniversalResolverFallback?: boolean;
24
24
  subjectSyntaxTypesSupported?: string[];
25
25
  }
26
+ /**
27
+ * @deprecated Replaced by the identifier resolution service
28
+ */
26
29
  export interface IDIDOptions {
27
30
  resolveOpts?: ResolveOpts;
28
- identifierOpts: IIdentifierOpts;
31
+ idOpts: LegacyIIdentifierOpts;
29
32
  supportedDIDMethods?: string[];
30
33
  }
31
- export interface IIdentifierOpts {
32
- identifier: IIdentifier | string;
33
- verificationMethodSection?: DIDDocumentSection;
34
- kmsKeyRef?: string;
35
- }
36
34
  export type IdentifierProviderOpts = {
37
35
  type?: TKeyType;
38
36
  use?: string;
@@ -57,4 +55,33 @@ export interface GetOrCreateResult<T> {
57
55
  created: boolean;
58
56
  result: T;
59
57
  }
58
+ /**
59
+ * @deprecated Replaced by new signer
60
+ */
61
+ export type SignJwtArgs = {
62
+ idOpts: LegacyIIdentifierOpts;
63
+ header: Partial<JWTHeader>;
64
+ payload: Partial<JWTPayload>;
65
+ options: {
66
+ issuer: string;
67
+ expiresIn?: number;
68
+ canonicalize?: boolean;
69
+ };
70
+ context: IRequiredSignAgentContext;
71
+ };
72
+ /**
73
+ * @deprecated Replaced by new signer
74
+ */
75
+ export type GetSignerArgs = {
76
+ idOpts: LegacyIIdentifierOpts;
77
+ context: IRequiredSignAgentContext;
78
+ };
79
+ /**
80
+ * @deprecated Replaced by the identifier resolution service
81
+ */
82
+ type LegacyIIdentifierOpts = {
83
+ identifier: IIdentifier | string;
84
+ };
85
+ export type IRequiredSignAgentContext = IAgentContext<IKeyManager & IDIDManager & IResolver>;
86
+ export {};
60
87
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAE1D,oBAAY,sBAAsB;IAChC,QAAQ,SAAS;IACjB,OAAO,QAAQ;IACf,OAAO,QAAQ;IACf,OAAO,QAAQ;IACf,QAAQ,SAAS;IACjB,OAAO,QAAQ;CAChB;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;CACpB;AAED,oBAAY,uBAAuB;IACjC,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,cAAc,EAAE,eAAe,CAAA;IAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,WAAW,GAAG,MAAM,CAAA;IAChC,yBAAyB,CAAC,EAAE,kBAAkB,CAAA;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,sBAAsB,CAAA;IAC/B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,UAAU,CAAC,EAAE,0BAA0B,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,CAAC,EAAE,uBAAuB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,sBAAsB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,UAAU,CAAC,EAAE,0BAA0B,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,UAAU,SAAS,CAAA;AAEhC,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,CAAC,CAAA;CACV"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,oBAAY,sBAAsB;IAChC,QAAQ,SAAS;IACjB,OAAO,QAAQ;IACf,OAAO,QAAQ;IACf,OAAO,QAAQ;IACf,QAAQ,SAAS;IACjB,OAAO,QAAQ;CAChB;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;CACpB;AAED,oBAAY,uBAAuB;IACjC,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,sBAAsB,CAAA;IAC/B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,UAAU,CAAC,EAAE,0BAA0B,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,CAAC,EAAE,uBAAuB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,sBAAsB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,UAAU,CAAC,EAAE,0BAA0B,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,UAAU,SAAS,CAAA;AAEhC,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,CAAC,CAAA;CACV;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC5B,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACvE,OAAO,EAAE,yBAAyB,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,qBAAqB,CAAA;IAC7B,OAAO,EAAE,yBAAyB,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,KAAK,qBAAqB,GAAG;IAC3B,UAAU,EAAE,WAAW,GAAG,MAAM,CAAA;CACjC,CAAA;AACD,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC,CAAA"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAKA,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,2CAAiB,CAAA;IACjB,yCAAe,CAAA;IACf,yCAAe,CAAA;IACf,yCAAe,CAAA;IACf,2CAAiB,CAAA;IACjB,yCAAe,CAAA;AACjB,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC;AAED,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;AACrB,CAAC,EAFW,mBAAmB,mCAAnB,mBAAmB,QAE9B;AAED,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IACjC,0CAAe,CAAA;AACjB,CAAC,EAFW,uBAAuB,uCAAvB,uBAAuB,QAElC;AA6CY,QAAA,UAAU,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAKA,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,2CAAiB,CAAA;IACjB,yCAAe,CAAA;IACf,yCAAe,CAAA;IACf,yCAAe,CAAA;IACf,2CAAiB,CAAA;IACjB,yCAAe,CAAA;AACjB,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC;AAED,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;AACrB,CAAC,EAFW,mBAAmB,mCAAnB,mBAAmB,QAE9B;AAED,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IACjC,0CAAe,CAAA;AACjB,CAAC,EAFW,uBAAuB,uCAAvB,uBAAuB,QAElC;AA0CY,QAAA,UAAU,GAAG,MAAM,CAAA"}
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.24.1-unstable.10+61bd444",
4
+ "version": "0.24.1-unstable.112+bb5e9a0",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -13,9 +13,11 @@
13
13
  "@ethersproject/networks": "^5.7.1",
14
14
  "@ethersproject/transactions": "^5.7.0",
15
15
  "@sphereon/did-uni-client": "^0.6.3",
16
- "@sphereon/ssi-sdk-ext.key-utils": "0.24.1-unstable.10+61bd444",
17
- "@sphereon/ssi-sdk-ext.x509-utils": "0.24.1-unstable.10+61bd444",
18
- "@sphereon/ssi-sdk.core": "0.28.0",
16
+ "@sphereon/ssi-sdk-ext.key-utils": "0.24.1-unstable.112+bb5e9a0",
17
+ "@sphereon/ssi-sdk-ext.x509-utils": "0.24.1-unstable.112+bb5e9a0",
18
+ "@sphereon/ssi-sdk.agent-config": "0.29.1-unstable.161",
19
+ "@sphereon/ssi-sdk.core": "0.29.1-unstable.161",
20
+ "@sphereon/ssi-types": "0.29.1-unstable.161",
19
21
  "@stablelib/ed25519": "^1.0.3",
20
22
  "@veramo/core": "4.2.0",
21
23
  "@veramo/utils": "4.2.0",
@@ -39,5 +41,5 @@
39
41
  "author": "Sphereon <dev@sphereon.com>",
40
42
  "license": "Apache-2.0",
41
43
  "keywords": [],
42
- "gitHead": "61bd4445b8a7e3da5bac0412d4359d9bf66df50c"
44
+ "gitHead": "bb5e9a06dffdec576f98d957d26dc0f4d1e9cca2"
43
45
  }
@@ -1,8 +1,9 @@
1
1
  import { computeAddress } from '@ethersproject/transactions'
2
2
  import { UniResolver } from '@sphereon/did-uni-client'
3
- import { ENC_KEY_ALGS, JwkKeyUse, TKeyType, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'
3
+ import { ENC_KEY_ALGS, JwkKeyUse, keyTypeFromCryptographicSuite, signatureAlgorithmFromKey, TKeyType, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'
4
4
  import { base64ToHex, hexKeyFromPEMBasedJwk } from '@sphereon/ssi-sdk-ext.x509-utils'
5
5
  import { base58ToBytes, base64ToBytes, bytesToHex, hexToBytes, multibaseKeyToBytes } from '@sphereon/ssi-sdk.core'
6
+ import { JWK } from '@sphereon/ssi-types'
6
7
  import { convertPublicKeyToX25519 } from '@stablelib/ed25519'
7
8
  import { DIDDocument, DIDDocumentSection, DIDResolutionResult, IAgentContext, IDIDManager, IIdentifier, IKey, IResolver } from '@veramo/core'
8
9
  import {
@@ -15,6 +16,7 @@ import {
15
16
  isDefined,
16
17
  mapIdentifierKeysToDoc,
17
18
  } from '@veramo/utils'
19
+ import { createJWT, Signer } from 'did-jwt'
18
20
  import { DIDResolutionOptions, JsonWebKey, Resolvable, VerificationMethod } from 'did-resolver'
19
21
  // @ts-ignore
20
22
  import elliptic from 'elliptic'
@@ -24,11 +26,12 @@ import {
24
26
  CreateOrGetIdentifierOpts,
25
27
  DID_PREFIX,
26
28
  GetOrCreateResult,
29
+ GetSignerArgs,
27
30
  IdentifierAliasEnum,
28
31
  IdentifierProviderOpts,
29
32
  IDIDOptions,
30
- IIdentifierOpts,
31
33
  KeyManagementSystemEnum,
34
+ SignJwtArgs,
32
35
  SupportedDidMethodEnum,
33
36
  } from './types'
34
37
 
@@ -91,7 +94,7 @@ export const getFirstKeyWithRelation = async (
91
94
  },
92
95
  context
93
96
  )) ??
94
- (noVerificationMethodFallback
97
+ (noVerificationMethodFallback || vmRelationship === 'verificationMethod' // let's not fallback to the same value again
95
98
  ? undefined
96
99
  : await getFirstKeyWithRelationFromDIDDoc(
97
100
  {
@@ -126,7 +129,7 @@ export const getFirstKeyWithRelation = async (
126
129
  },
127
130
  context
128
131
  )) ??
129
- (noVerificationMethodFallback
132
+ (noVerificationMethodFallback || vmRelationship === 'verificationMethod' // let's not fallback to the same value again
130
133
  ? undefined
131
134
  : await getFirstKeyWithRelationFromDIDDoc(
132
135
  {
@@ -186,7 +189,7 @@ export const getPrimaryIdentifier = async (context: IAgentContext<IDIDManager>,
186
189
 
187
190
  export const createIdentifier = async (context: IAgentContext<IDIDManager>, opts?: CreateIdentifierOpts): Promise<IIdentifier> => {
188
191
  const identifier = await context.agent.didManagerCreate({
189
- kms: opts?.createOpts?.kms ?? KeyManagementSystemEnum.LOCAL,
192
+ kms: opts?.createOpts?.kms ?? opts?.createOpts?.options?.kms ?? KeyManagementSystemEnum.LOCAL,
190
193
  ...(opts?.method && { provider: `${DID_PREFIX}${opts?.method}` }),
191
194
  alias: opts?.createOpts?.alias ?? `${IdentifierAliasEnum.PRIMARY}-${opts?.method}-${opts?.createOpts?.options?.type}-${new Date().toUTCString()}`,
192
195
  options: opts?.createOpts?.options,
@@ -322,6 +325,15 @@ export async function dereferenceDidKeysWithJwkSupport(
322
325
  })
323
326
  }
324
327
 
328
+ export function jwkTtoPublicKeyHex(jwk: JWK): string {
329
+ // todo: Hacky way to convert this to a VM. Should extract the logic from the below methods
330
+ // @ts-ignore
331
+ const vm: _ExtendedVerificationMethod = {
332
+ publicKeyJwk: jwk,
333
+ }
334
+ return extractPublicKeyHexWithJwkSupport(vm)
335
+ }
336
+
325
337
  /**
326
338
  * Converts the publicKey of a VerificationMethod to hex encoding (publicKeyHex)
327
339
  *
@@ -417,6 +429,47 @@ function extractPublicKeyBytes(pk: VerificationMethod): Uint8Array {
417
429
  return new Uint8Array()
418
430
  }
419
431
 
432
+ export function verificationMethodToJwk(vm: VerificationMethod): JWK {
433
+ let jwk: JWK | undefined = vm.publicKeyJwk as JWK
434
+ if (!jwk) {
435
+ let publicKeyHex = vm.publicKeyHex ?? u8a.toString(extractPublicKeyBytes(vm), 'hex')
436
+ jwk = toJwk(publicKeyHex, keyTypeFromCryptographicSuite({ suite: vm.type }))
437
+ }
438
+ if (!jwk) {
439
+ throw Error(`Could not convert verification method to jwk`)
440
+ }
441
+ jwk.kid = vm.id
442
+ return jwk
443
+ }
444
+
445
+ function didDocumentSectionToJwks(
446
+ didDocumentSection: DIDDocumentSection,
447
+ searchForVerificationMethods?: (VerificationMethod | string)[],
448
+ verificationMethods?: VerificationMethod[]
449
+ ) {
450
+ const jwks = (searchForVerificationMethods ?? [])
451
+ .map((vmOrId) => (typeof vmOrId === 'object' ? vmOrId : verificationMethods?.find((vm) => vm.id === vmOrId)))
452
+ .filter(isDefined)
453
+ .map((vm) => verificationMethodToJwk(vm))
454
+ return { didDocumentSection, jwks: jwks }
455
+ }
456
+
457
+ export type DidDocumentJwks = Record<Exclude<DIDDocumentSection, 'publicKey' | 'service'>, Array<JWK>>
458
+
459
+ export function didDocumentToJwks(didDocument: DIDDocument): DidDocumentJwks {
460
+ return {
461
+ verificationMethod: [
462
+ ...didDocumentSectionToJwks('publicKey', didDocument.publicKey, didDocument.verificationMethod).jwks, // legacy support
463
+ ...didDocumentSectionToJwks('verificationMethod', didDocument.verificationMethod, didDocument.verificationMethod).jwks,
464
+ ],
465
+ assertionMethod: didDocumentSectionToJwks('assertionMethod', didDocument.assertionMethod, didDocument.verificationMethod).jwks,
466
+ authentication: didDocumentSectionToJwks('authentication', didDocument.authentication, didDocument.verificationMethod).jwks,
467
+ keyAgreement: didDocumentSectionToJwks('keyAgreement', didDocument.keyAgreement, didDocument.verificationMethod).jwks,
468
+ capabilityInvocation: didDocumentSectionToJwks('capabilityInvocation', didDocument.capabilityInvocation, didDocument.verificationMethod).jwks,
469
+ capabilityDelegation: didDocumentSectionToJwks('capabilityDelegation', didDocument.capabilityDelegation, didDocument.verificationMethod).jwks,
470
+ }
471
+ }
472
+
420
473
  /**
421
474
  * Maps the keys of a locally managed {@link @veramo/core#IIdentifier | IIdentifier} to the corresponding
422
475
  * {@link did-resolver#VerificationMethod | VerificationMethod} entries from the DID document.
@@ -469,8 +522,8 @@ export async function mapIdentifierKeysToDocWithJwkSupport(
469
522
  const extendedKeys: _ExtendedIKey[] = documentKeys
470
523
  .map((verificationMethod) => {
471
524
  /*if (verificationMethod.type !== 'JsonWebKey2020') {
472
- return null
473
- }*/
525
+ return null
526
+ }*/
474
527
  const localKey = localKeys.find(
475
528
  (localKey) =>
476
529
  localKey.publicKeyHex === verificationMethod.publicKeyHex ||
@@ -520,20 +573,11 @@ export async function getAgentDIDMethods(context: IAgentContext<IDIDManager>) {
520
573
  return (await context.agent.didManagerGetProviders()).map((provider) => provider.toLowerCase().replace('did:', ''))
521
574
  }
522
575
 
523
- export async function getIdentifier(identifierOpts: IIdentifierOpts, context: IAgentContext<IDIDManager>): Promise<IIdentifier> {
524
- if (typeof identifierOpts.identifier === 'string') {
525
- return context.agent.didManagerGet({ did: identifierOpts.identifier })
526
- } else if (typeof identifierOpts.identifier === 'object') {
527
- return identifierOpts.identifier
528
- }
529
- throw Error(`Cannot get agent identifier value from options`)
530
- }
531
-
532
- export function getDID(identifierOpts: IIdentifierOpts): string {
533
- if (typeof identifierOpts.identifier === 'string') {
534
- return identifierOpts.identifier
535
- } else if (typeof identifierOpts.identifier === 'object') {
536
- return identifierOpts.identifier.did
576
+ export function getDID(idOpts: { identifier: IIdentifier | string }): string {
577
+ if (typeof idOpts.identifier === 'string') {
578
+ return idOpts.identifier
579
+ } else if (typeof idOpts.identifier === 'object') {
580
+ return idOpts.identifier.did
537
581
  }
538
582
  throw Error(`Cannot get DID from identifier value`)
539
583
  }
@@ -603,10 +647,32 @@ export async function getKey(
603
647
  return identifierKey
604
648
  }
605
649
 
650
+ /**
651
+ *
652
+ * @param identifier
653
+ * @param context
654
+ *
655
+ * @deprecated Replaced by the identfier resolution plugin
656
+ */
657
+ async function legacyGetIdentifier(
658
+ {
659
+ identifier,
660
+ }: {
661
+ identifier: string | IIdentifier
662
+ },
663
+ context: IAgentContext<IDIDManager>
664
+ ): Promise<IIdentifier> {
665
+ if (typeof identifier === 'string') {
666
+ return await context.agent.didManagerGet({ did: identifier })
667
+ }
668
+ return identifier
669
+ }
670
+
606
671
  /**
607
672
  * Get the real kid as used in JWTs. This is the kid in the VM or in the JWT, not the kid in the Veramo/Sphereon keystore. That was just a poorly chosen name
608
673
  * @param key
609
674
  * @param idOpts
675
+ * @param context
610
676
  */
611
677
  export async function determineKid(
612
678
  {
@@ -614,14 +680,14 @@ export async function determineKid(
614
680
  idOpts,
615
681
  }: {
616
682
  key: IKey
617
- idOpts: IIdentifierOpts
683
+ idOpts: { identifier: IIdentifier | string; kmsKeyRef?: string }
618
684
  },
619
685
  context: IAgentContext<IResolver & IDIDManager>
620
686
  ): Promise<string> {
621
687
  if (key.meta?.verificationMethod?.id) {
622
688
  return key.meta?.verificationMethod?.id
623
689
  }
624
- const identifier = await getIdentifier(idOpts, context)
690
+ const identifier = await legacyGetIdentifier(idOpts, context)
625
691
  const mappedKeys = await mapIdentifierKeysToDocWithJwkSupport(
626
692
  {
627
693
  identifier,
@@ -878,3 +944,60 @@ export async function asDidWeb(hostnameOrDID: string): Promise<string> {
878
944
  }
879
945
  return `did:web:${did.replace(/https?:\/\/([^/?#]+).*/i, '$1').toLowerCase()}`
880
946
  }
947
+
948
+ /**
949
+ * @deprecated Replaced by the new signer service
950
+ */
951
+ export const signDidJWT = async (args: SignJwtArgs): Promise<string> => {
952
+ const { idOpts, header, payload, context, options } = args
953
+ const jwtOptions = {
954
+ ...options,
955
+ signer: await getDidSigner({ idOpts, context }),
956
+ }
957
+
958
+ return createJWT(payload, jwtOptions, header)
959
+ }
960
+
961
+ /**
962
+ * @deprecated Replaced by the new signer service
963
+ */
964
+ export const getDidSigner = async (
965
+ args: GetSignerArgs & {
966
+ idOpts: {
967
+ /**
968
+ * @deprecated
969
+ */
970
+ identifier: IIdentifier | string
971
+ /**
972
+ * @deprecated
973
+ */
974
+ verificationMethodSection?: DIDDocumentSection
975
+ /**
976
+ * @deprecated
977
+ */
978
+ kmsKeyRef?: string
979
+ }
980
+ }
981
+ ): Promise<Signer> => {
982
+ const { idOpts, context } = args
983
+
984
+ const identifier = await legacyGetIdentifier(idOpts, context)
985
+ const key = await getKey(
986
+ {
987
+ identifier,
988
+ vmRelationship: idOpts.verificationMethodSection,
989
+ kmsKeyRef: idOpts.kmsKeyRef,
990
+ },
991
+ context
992
+ )
993
+ const algorithm = await signatureAlgorithmFromKey({ key })
994
+
995
+ return async (data: string | Uint8Array): Promise<string> => {
996
+ const input = data instanceof Object.getPrototypeOf(Uint8Array) ? new TextDecoder().decode(data as Uint8Array) : (data as string)
997
+ return await context.agent.keyManagerSign({
998
+ keyRef: key.kid,
999
+ algorithm,
1000
+ data: input,
1001
+ })
1002
+ }
1003
+ }
package/src/types.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { JWTVerifyOptions } from 'did-jwt'
2
- import { Resolvable } from 'did-resolver'
3
- import { DIDDocumentSection, IIdentifier } from '@veramo/core'
4
1
  import { TKeyType } from '@sphereon/ssi-sdk-ext.key-utils'
2
+ import { IAgentContext, IDIDManager, IIdentifier, IKeyManager, IResolver } from '@veramo/core'
3
+ import { JWTHeader, JWTPayload, JWTVerifyOptions } from 'did-jwt'
4
+ import { Resolvable } from 'did-resolver'
5
5
 
6
6
  export enum SupportedDidMethodEnum {
7
7
  DID_ETHR = 'ethr',
@@ -28,18 +28,15 @@ export interface ResolveOpts {
28
28
  subjectSyntaxTypesSupported?: string[]
29
29
  }
30
30
 
31
+ /**
32
+ * @deprecated Replaced by the identifier resolution service
33
+ */
31
34
  export interface IDIDOptions {
32
35
  resolveOpts?: ResolveOpts
33
- identifierOpts: IIdentifierOpts
36
+ idOpts: LegacyIIdentifierOpts
34
37
  supportedDIDMethods?: string[]
35
38
  }
36
39
 
37
- export interface IIdentifierOpts {
38
- identifier: IIdentifier | string
39
- verificationMethodSection?: DIDDocumentSection
40
- kmsKeyRef?: string
41
- }
42
-
43
40
  export type IdentifierProviderOpts = {
44
41
  type?: TKeyType
45
42
  use?: string
@@ -69,3 +66,30 @@ export interface GetOrCreateResult<T> {
69
66
  created: boolean
70
67
  result: T
71
68
  }
69
+
70
+ /**
71
+ * @deprecated Replaced by new signer
72
+ */
73
+ export type SignJwtArgs = {
74
+ idOpts: LegacyIIdentifierOpts
75
+ header: Partial<JWTHeader>
76
+ payload: Partial<JWTPayload>
77
+ options: { issuer: string; expiresIn?: number; canonicalize?: boolean }
78
+ context: IRequiredSignAgentContext
79
+ }
80
+
81
+ /**
82
+ * @deprecated Replaced by new signer
83
+ */
84
+ export type GetSignerArgs = {
85
+ idOpts: LegacyIIdentifierOpts
86
+ context: IRequiredSignAgentContext
87
+ }
88
+
89
+ /**
90
+ * @deprecated Replaced by the identifier resolution service
91
+ */
92
+ type LegacyIIdentifierOpts = {
93
+ identifier: IIdentifier | string
94
+ }
95
+ export type IRequiredSignAgentContext = IAgentContext<IKeyManager & IDIDManager & IResolver>