@sphereon/ssi-sdk-ext.did-provider-jwk 0.28.1-feature.esm.cjs.9 → 0.28.1-feature.oyd.cmsm.improv.16

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/dist/index.d.ts CHANGED
@@ -1,79 +1,9 @@
1
- import { IAgentContext, IKeyManager, IIdentifier, IKey, IService, DIDDocument } from '@veramo/core';
2
- import { AbstractIdentifierProvider } from '@veramo/did-manager';
3
- import { IKeyOpts } from '@sphereon/ssi-sdk-ext.key-utils';
4
-
5
- interface ICreateIdentifierArgs {
6
- kms?: string;
7
- alias?: string;
8
- options?: IKeyOpts;
9
- }
10
- interface IAddKeyArgs {
11
- identifier: IIdentifier;
12
- key: IKey;
13
- options?: any;
14
- }
15
- interface IRemoveKeyArgs {
16
- identifier: IIdentifier;
17
- id: string;
18
- options?: any;
19
- }
20
- interface IRemoveKeyArgs {
21
- identifier: IIdentifier;
22
- kid: string;
23
- options?: any;
24
- }
25
- interface IAddServiceArgs {
26
- identifier: IIdentifier;
27
- service: IService;
28
- options?: any;
29
- }
30
- declare enum Key {
31
- Ed25519 = "Ed25519",
32
- Secp256k1 = "Secp256k1",
33
- Secp256r1 = "Secp256r1"
34
- }
35
- declare enum KeyCurve {
36
- Secp256k1 = "secp256k1",
37
- P_256 = "P-256",
38
- Ed25519 = "Ed25519"
39
- }
40
- declare enum KeyType {
41
- EC = "EC",
42
- OKP = "OKP"
43
- }
44
- declare const SIG_KEY_ALGS: string[];
45
- declare const ENC_KEY_ALGS: string[];
46
- type IRequiredContext = IAgentContext<IKeyManager>;
47
-
48
1
  /**
49
- * {@link @veramo/did-manager#DIDManager} identifier provider for `did:ion` identifiers
50
- * @public
2
+ * Provides `did:jwk` {@link @veramo/did-provider-jwk#JwkDIDProvider | identifier provider }
3
+ * for the {@link @veramo/did-manager#DIDManager}
4
+ *
5
+ * @packageDocumentation
51
6
  */
52
- declare class JwkDIDProvider extends AbstractIdentifierProvider {
53
- private readonly defaultKms?;
54
- constructor(options: {
55
- defaultKms?: string;
56
- });
57
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerCreate} */
58
- createIdentifier(args: ICreateIdentifierArgs, context: IRequiredContext): Promise<Omit<IIdentifier, 'provider'>>;
59
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerUpdate} */
60
- updateIdentifier?(args: {
61
- did: string;
62
- document: Partial<DIDDocument>;
63
- options?: {
64
- [x: string]: any;
65
- };
66
- }, context: IAgentContext<IKeyManager>): Promise<IIdentifier>;
67
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerDelete} */
68
- deleteIdentifier(identifier: IIdentifier, context: IRequiredContext): Promise<boolean>;
69
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddKey} */
70
- addKey(args: IAddKeyArgs, context: IRequiredContext): Promise<any>;
71
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveKey} */
72
- removeKey(args: IRemoveKeyArgs, context: IRequiredContext): Promise<any>;
73
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddService} */
74
- addService(args: IAddServiceArgs, context: IRequiredContext): Promise<any>;
75
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveService} */
76
- removeService(args: IRemoveKeyArgs, context: IRequiredContext): Promise<any>;
77
- }
78
-
79
- export { ENC_KEY_ALGS, type IAddKeyArgs, type IAddServiceArgs, type ICreateIdentifierArgs, type IRemoveKeyArgs, type IRequiredContext, JwkDIDProvider, Key, KeyCurve, KeyType, SIG_KEY_ALGS };
7
+ export { JwkDIDProvider } from './jwk-did-provider';
8
+ export * from './types/jwk-provider-types';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,cAAc,4BAA4B,CAAA"}
package/dist/index.js CHANGED
@@ -1,115 +1,27 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // src/jwk-did-provider.ts
5
- import { importProvidedOrGeneratedKey, jwkDetermineUse, toJwk } from "@sphereon/ssi-sdk-ext.key-utils";
6
- import { AbstractIdentifierProvider } from "@veramo/did-manager";
7
- import base64url from "base64url";
8
- import Debug from "debug";
9
- var debug = Debug("sphereon:did-provider-jwk");
10
- var JwkDIDProvider = class extends AbstractIdentifierProvider {
11
- static {
12
- __name(this, "JwkDIDProvider");
13
- }
14
- defaultKms;
15
- constructor(options) {
16
- super();
17
- this.defaultKms = options.defaultKms;
18
- }
19
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerCreate} */
20
- async createIdentifier(args, context) {
21
- const key = await importProvidedOrGeneratedKey({
22
- // @ts-ignore
23
- kms: args.kms ?? this.defaultKms,
24
- alias: args.alias,
25
- options: args.options
26
- }, context);
27
- const use = jwkDetermineUse(key.type, args?.options?.use);
28
- const jwk = toJwk(key.publicKeyHex, key.type, {
29
- use,
30
- key,
31
- noKidThumbprint: true
32
- });
33
- debug(JSON.stringify(jwk, null, 2));
34
- const did = `did:jwk:${base64url(JSON.stringify(jwk))}`;
35
- const identifier = {
36
- did,
37
- controllerKeyId: `${did}#0`,
38
- keys: [
39
- key
40
- ],
41
- services: []
42
- };
43
- debug("Created DID: ", identifier.did);
44
- return identifier;
45
- }
46
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerUpdate} */
47
- async updateIdentifier(args, context) {
48
- throw new Error("not implemented yet");
49
- }
50
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerDelete} */
51
- async deleteIdentifier(identifier, context) {
52
- return true;
53
- }
54
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddKey} */
55
- async addKey(args, context) {
56
- return Promise.reject(Error("Not supported for DID JWKs"));
57
- }
58
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveKey} */
59
- async removeKey(args, context) {
60
- return Promise.reject(Error("Not supported for DID JWKs"));
61
- }
62
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddService} */
63
- async addService(args, context) {
64
- return Promise.reject(Error("Not supported for DID JWKs"));
65
- }
66
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveService} */
67
- async removeService(args, context) {
68
- return Promise.reject(Error("Not supported for DID JWKs"));
69
- }
70
- };
71
-
72
- // src/types/jwk-provider-types.ts
73
- var Key = /* @__PURE__ */ function(Key2) {
74
- Key2["Ed25519"] = "Ed25519";
75
- Key2["Secp256k1"] = "Secp256k1";
76
- Key2["Secp256r1"] = "Secp256r1";
77
- return Key2;
78
- }({});
79
- var KeyCurve = /* @__PURE__ */ function(KeyCurve2) {
80
- KeyCurve2["Secp256k1"] = "secp256k1";
81
- KeyCurve2["P_256"] = "P-256";
82
- KeyCurve2["Ed25519"] = "Ed25519";
83
- return KeyCurve2;
84
- }({});
85
- var KeyType = /* @__PURE__ */ function(KeyType2) {
86
- KeyType2["EC"] = "EC";
87
- KeyType2["OKP"] = "OKP";
88
- return KeyType2;
89
- }({});
90
- var SIG_KEY_ALGS = [
91
- "ES256",
92
- "ES384",
93
- "ES512",
94
- "EdDSA",
95
- "ES256K",
96
- "Ed25519",
97
- "Secp256k1",
98
- "Secp256r1",
99
- "Bls12381G1",
100
- "Bls12381G2"
101
- ];
102
- var ENC_KEY_ALGS = [
103
- "X25519",
104
- "ECDH_ES_A256KW",
105
- "RSA_OAEP_256"
106
- ];
107
- export {
108
- ENC_KEY_ALGS,
109
- JwkDIDProvider,
110
- Key,
111
- KeyCurve,
112
- KeyType,
113
- SIG_KEY_ALGS
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
114
15
  };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.JwkDIDProvider = void 0;
18
+ /**
19
+ * Provides `did:jwk` {@link @veramo/did-provider-jwk#JwkDIDProvider | identifier provider }
20
+ * for the {@link @veramo/did-manager#DIDManager}
21
+ *
22
+ * @packageDocumentation
23
+ */
24
+ var jwk_did_provider_1 = require("./jwk-did-provider");
25
+ Object.defineProperty(exports, "JwkDIDProvider", { enumerable: true, get: function () { return jwk_did_provider_1.JwkDIDProvider; } });
26
+ __exportStar(require("./types/jwk-provider-types"), exports);
115
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/jwk-did-provider.ts","../src/types/jwk-provider-types.ts"],"sourcesContent":["import { importProvidedOrGeneratedKey, jwkDetermineUse, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { DIDDocument, IAgentContext, IIdentifier, IKeyManager } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport base64url from 'base64url'\nimport Debug from 'debug'\nimport { IAddKeyArgs, IAddServiceArgs, ICreateIdentifierArgs, IRemoveKeyArgs, IRequiredContext } from './types/jwk-provider-types'\nimport { JsonWebKey } from '@sphereon/ssi-types'\n\nconst debug = Debug('sphereon:did-provider-jwk')\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:ion` identifiers\n * @public\n */\nexport class JwkDIDProvider extends AbstractIdentifierProvider {\n private readonly defaultKms?: string\n\n constructor(options: { defaultKms?: string }) {\n super()\n this.defaultKms = options.defaultKms\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerCreate} */\n async createIdentifier(args: ICreateIdentifierArgs, context: IRequiredContext): Promise<Omit<IIdentifier, 'provider'>> {\n const key = await importProvidedOrGeneratedKey(\n {\n // @ts-ignore\n kms: args.kms ?? this.defaultKms,\n alias: args.alias,\n options: args.options,\n },\n context\n )\n\n const use = jwkDetermineUse(key.type, args?.options?.use)\n const jwk: JsonWebKey = toJwk(key.publicKeyHex, key.type, { use, key, noKidThumbprint: true })\n debug(JSON.stringify(jwk, null, 2))\n const did = `did:jwk:${base64url(JSON.stringify(jwk))}`\n const identifier: Omit<IIdentifier, 'provider'> = {\n did,\n controllerKeyId: `${did}#0`,\n keys: [key],\n services: [],\n }\n\n debug('Created DID: ', identifier.did)\n return identifier\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerUpdate} */\n async updateIdentifier?(\n args: { did: string; document: Partial<DIDDocument>; options?: { [x: string]: any } },\n context: IAgentContext<IKeyManager>\n ): Promise<IIdentifier> {\n throw new Error('not implemented yet')\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerDelete} */\n async deleteIdentifier(identifier: IIdentifier, context: IRequiredContext): Promise<boolean> {\n // JWKs are entirely in memory constructs, without on chain support. Veramo can store them in the did store, but that is not the responsibility of the DID provider itself.\n return true\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddKey} */\n async addKey(args: IAddKeyArgs, context: IRequiredContext): Promise<any> {\n return Promise.reject(Error('Not supported for DID JWKs'))\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveKey} */\n async removeKey(args: IRemoveKeyArgs, context: IRequiredContext): Promise<any> {\n return Promise.reject(Error('Not supported for DID JWKs'))\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddService} */\n async addService(args: IAddServiceArgs, context: IRequiredContext): Promise<any> {\n return Promise.reject(Error('Not supported for DID JWKs'))\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveService} */\n async removeService(args: IRemoveKeyArgs, context: IRequiredContext): Promise<any> {\n return Promise.reject(Error('Not supported for DID JWKs'))\n }\n}\n","import { IKeyOpts } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { IAgentContext, IIdentifier, IKey, IKeyManager, IService } from '@veramo/core'\n\nexport interface ICreateIdentifierArgs {\n kms?: string\n alias?: string\n options?: IKeyOpts\n}\n\nexport interface IAddKeyArgs {\n identifier: IIdentifier\n key: IKey\n options?: any\n}\n\nexport interface IRemoveKeyArgs {\n identifier: IIdentifier\n id: string\n options?: any\n}\n\nexport interface IRemoveKeyArgs {\n identifier: IIdentifier\n kid: string\n options?: any\n}\n\nexport interface IAddServiceArgs {\n identifier: IIdentifier\n service: IService\n options?: any\n}\n\nexport enum Key {\n Ed25519 = 'Ed25519',\n Secp256k1 = 'Secp256k1',\n Secp256r1 = 'Secp256r1',\n}\nexport enum KeyCurve {\n Secp256k1 = 'secp256k1',\n P_256 = 'P-256',\n Ed25519 = 'Ed25519',\n}\n\nexport enum KeyType {\n EC = 'EC',\n OKP = 'OKP',\n}\n\nexport const SIG_KEY_ALGS = ['ES256', 'ES384', 'ES512', 'EdDSA', 'ES256K', 'Ed25519', 'Secp256k1', 'Secp256r1', 'Bls12381G1', 'Bls12381G2']\nexport const ENC_KEY_ALGS = ['X25519', 'ECDH_ES_A256KW', 'RSA_OAEP_256']\n\nexport type IRequiredContext = IAgentContext<IKeyManager>\n"],"mappings":";;;;AAAA,SAASA,8BAA8BC,iBAAiBC,aAAa;AAErE,SAASC,kCAAkC;AAC3C,OAAOC,eAAe;AACtB,OAAOC,WAAW;AAIlB,IAAMC,QAAQC,MAAM,2BAAA;AAMb,IAAMC,iBAAN,cAA6BC,2BAAAA;EAdpC,OAcoCA;;;EACjBC;EAEjBC,YAAYC,SAAkC;AAC5C,UAAK;AACL,SAAKF,aAAaE,QAAQF;EAC5B;;EAGA,MAAMG,iBAAiBC,MAA6BC,SAAmE;AACrH,UAAMC,MAAM,MAAMC,6BAChB;;MAEEC,KAAKJ,KAAKI,OAAO,KAAKR;MACtBS,OAAOL,KAAKK;MACZP,SAASE,KAAKF;IAChB,GACAG,OAAAA;AAGF,UAAMK,MAAMC,gBAAgBL,IAAIM,MAAMR,MAAMF,SAASQ,GAAAA;AACrD,UAAMG,MAAkBC,MAAMR,IAAIS,cAAcT,IAAIM,MAAM;MAAEF;MAAKJ;MAAKU,iBAAiB;IAAK,CAAA;AAC5FpB,UAAMqB,KAAKC,UAAUL,KAAK,MAAM,CAAA,CAAA;AAChC,UAAMM,MAAM,WAAWC,UAAUH,KAAKC,UAAUL,GAAAA,CAAAA,CAAAA;AAChD,UAAMQ,aAA4C;MAChDF;MACAG,iBAAiB,GAAGH,GAAAA;MACpBI,MAAM;QAACjB;;MACPkB,UAAU,CAAA;IACZ;AAEA5B,UAAM,iBAAiByB,WAAWF,GAAG;AACrC,WAAOE;EACT;;EAGA,MAAMI,iBACJrB,MACAC,SACsB;AACtB,UAAM,IAAIqB,MAAM,qBAAA;EAClB;;EAGA,MAAMC,iBAAiBN,YAAyBhB,SAA6C;AAE3F,WAAO;EACT;;EAGA,MAAMuB,OAAOxB,MAAmBC,SAAyC;AACvE,WAAOwB,QAAQC,OAAOJ,MAAM,4BAAA,CAAA;EAC9B;;EAGA,MAAMK,UAAU3B,MAAsBC,SAAyC;AAC7E,WAAOwB,QAAQC,OAAOJ,MAAM,4BAAA,CAAA;EAC9B;;EAGA,MAAMM,WAAW5B,MAAuBC,SAAyC;AAC/E,WAAOwB,QAAQC,OAAOJ,MAAM,4BAAA,CAAA;EAC9B;;EAGA,MAAMO,cAAc7B,MAAsBC,SAAyC;AACjF,WAAOwB,QAAQC,OAAOJ,MAAM,4BAAA,CAAA;EAC9B;AACF;;;ACjDO,IAAKQ,MAAAA,yBAAAA,MAAAA;;;;SAAAA;;AAKL,IAAKC,WAAAA,yBAAAA,WAAAA;;;;SAAAA;;AAML,IAAKC,UAAAA,yBAAAA,UAAAA;;;SAAAA;;AAKL,IAAMC,eAAe;EAAC;EAAS;EAAS;EAAS;EAAS;EAAU;EAAW;EAAa;EAAa;EAAc;;AACvH,IAAMC,eAAe;EAAC;EAAU;EAAkB;;","names":["importProvidedOrGeneratedKey","jwkDetermineUse","toJwk","AbstractIdentifierProvider","base64url","Debug","debug","Debug","JwkDIDProvider","AbstractIdentifierProvider","defaultKms","constructor","options","createIdentifier","args","context","key","importProvidedOrGeneratedKey","kms","alias","use","jwkDetermineUse","type","jwk","toJwk","publicKeyHex","noKidThumbprint","JSON","stringify","did","base64url","identifier","controllerKeyId","keys","services","updateIdentifier","Error","deleteIdentifier","addKey","Promise","reject","removeKey","addService","removeService","Key","KeyCurve","KeyType","SIG_KEY_ALGS","ENC_KEY_ALGS"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,6DAA0C"}
@@ -1,55 +1,11 @@
1
- import { IAgentContext, IKeyManager, IIdentifier, IKey, IService, DIDDocument } from '@veramo/core';
1
+ import { DIDDocument, IAgentContext, IIdentifier, IKeyManager } from '@veramo/core';
2
2
  import { AbstractIdentifierProvider } from '@veramo/did-manager';
3
- import { IKeyOpts } from '@sphereon/ssi-sdk-ext.key-utils';
4
-
5
- interface ICreateIdentifierArgs {
6
- kms?: string;
7
- alias?: string;
8
- options?: IKeyOpts;
9
- }
10
- interface IAddKeyArgs {
11
- identifier: IIdentifier;
12
- key: IKey;
13
- options?: any;
14
- }
15
- interface IRemoveKeyArgs {
16
- identifier: IIdentifier;
17
- id: string;
18
- options?: any;
19
- }
20
- interface IRemoveKeyArgs {
21
- identifier: IIdentifier;
22
- kid: string;
23
- options?: any;
24
- }
25
- interface IAddServiceArgs {
26
- identifier: IIdentifier;
27
- service: IService;
28
- options?: any;
29
- }
30
- declare enum Key {
31
- Ed25519 = "Ed25519",
32
- Secp256k1 = "Secp256k1",
33
- Secp256r1 = "Secp256r1"
34
- }
35
- declare enum KeyCurve {
36
- Secp256k1 = "secp256k1",
37
- P_256 = "P-256",
38
- Ed25519 = "Ed25519"
39
- }
40
- declare enum KeyType {
41
- EC = "EC",
42
- OKP = "OKP"
43
- }
44
- declare const SIG_KEY_ALGS: string[];
45
- declare const ENC_KEY_ALGS: string[];
46
- type IRequiredContext = IAgentContext<IKeyManager>;
47
-
3
+ import { IAddKeyArgs, IAddServiceArgs, ICreateIdentifierArgs, IRemoveKeyArgs, IRequiredContext } from './types/jwk-provider-types';
48
4
  /**
49
5
  * {@link @veramo/did-manager#DIDManager} identifier provider for `did:ion` identifiers
50
6
  * @public
51
7
  */
52
- declare class JwkDIDProvider extends AbstractIdentifierProvider {
8
+ export declare class JwkDIDProvider extends AbstractIdentifierProvider {
53
9
  private readonly defaultKms?;
54
10
  constructor(options: {
55
11
  defaultKms?: string;
@@ -75,5 +31,4 @@ declare class JwkDIDProvider extends AbstractIdentifierProvider {
75
31
  /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveService} */
76
32
  removeService(args: IRemoveKeyArgs, context: IRequiredContext): Promise<any>;
77
33
  }
78
-
79
- export { ENC_KEY_ALGS, type IAddKeyArgs, type IAddServiceArgs, type ICreateIdentifierArgs, type IRemoveKeyArgs, type IRequiredContext, JwkDIDProvider, Key, KeyCurve, KeyType, SIG_KEY_ALGS };
34
+ //# sourceMappingURL=jwk-did-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwk-did-provider.d.ts","sourceRoot":"","sources":["../src/jwk-did-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAGhE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAIlI;;;GAGG;AACH,qBAAa,cAAe,SAAQ,0BAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAQ;gBAExB,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAK5C,qEAAqE;IAC/D,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IA0BtH,qEAAqE;IAC/D,gBAAgB,CAAC,CACrB,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,EACrF,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,WAAW,CAAC;IAIvB,qEAAqE;IAC/D,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5F,qEAAqE;IAC/D,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxE,wEAAwE;IAClE,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9E,yEAAyE;IACnE,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhF,4EAA4E;IACtE,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;CAGnF"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.JwkDIDProvider = void 0;
16
+ const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
17
+ const did_manager_1 = require("@veramo/did-manager");
18
+ const base64url_1 = __importDefault(require("base64url"));
19
+ const debug_1 = __importDefault(require("debug"));
20
+ const debug = (0, debug_1.default)('sphereon:did-provider-jwk');
21
+ /**
22
+ * {@link @veramo/did-manager#DIDManager} identifier provider for `did:ion` identifiers
23
+ * @public
24
+ */
25
+ class JwkDIDProvider extends did_manager_1.AbstractIdentifierProvider {
26
+ constructor(options) {
27
+ super();
28
+ this.defaultKms = options.defaultKms;
29
+ }
30
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerCreate} */
31
+ createIdentifier(args, context) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ var _a, _b;
34
+ const key = yield (0, ssi_sdk_ext_key_utils_1.importProvidedOrGeneratedKey)({
35
+ // @ts-ignore
36
+ kms: (_a = args.kms) !== null && _a !== void 0 ? _a : this.defaultKms,
37
+ alias: args.alias,
38
+ options: args.options,
39
+ }, context);
40
+ const use = (0, ssi_sdk_ext_key_utils_1.jwkDetermineUse)(key.type, (_b = args === null || args === void 0 ? void 0 : args.options) === null || _b === void 0 ? void 0 : _b.use);
41
+ const jwk = (0, ssi_sdk_ext_key_utils_1.toJwk)(key.publicKeyHex, key.type, { use, key, noKidThumbprint: true });
42
+ debug(JSON.stringify(jwk, null, 2));
43
+ const did = `did:jwk:${(0, base64url_1.default)(JSON.stringify(jwk))}`;
44
+ const identifier = {
45
+ did,
46
+ controllerKeyId: `${did}#0`,
47
+ keys: [key],
48
+ services: [],
49
+ };
50
+ debug('Created DID: ', identifier.did);
51
+ return identifier;
52
+ });
53
+ }
54
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerUpdate} */
55
+ updateIdentifier(args, context) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ throw new Error('not implemented yet');
58
+ });
59
+ }
60
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerDelete} */
61
+ deleteIdentifier(identifier, context) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ // JWKs are entirely in memory constructs, without on chain support. Veramo can store them in the did store, but that is not the responsibility of the DID provider itself.
64
+ return true;
65
+ });
66
+ }
67
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddKey} */
68
+ addKey(args, context) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ return Promise.reject(Error('Not supported for DID JWKs'));
71
+ });
72
+ }
73
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveKey} */
74
+ removeKey(args, context) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ return Promise.reject(Error('Not supported for DID JWKs'));
77
+ });
78
+ }
79
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddService} */
80
+ addService(args, context) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ return Promise.reject(Error('Not supported for DID JWKs'));
83
+ });
84
+ }
85
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveService} */
86
+ removeService(args, context) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ return Promise.reject(Error('Not supported for DID JWKs'));
89
+ });
90
+ }
91
+ }
92
+ exports.JwkDIDProvider = JwkDIDProvider;
93
+ //# sourceMappingURL=jwk-did-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwk-did-provider.js","sourceRoot":"","sources":["../src/jwk-did-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2EAAsG;AAEtG,qDAAgE;AAChE,0DAAiC;AACjC,kDAAyB;AAGzB,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,2BAA2B,CAAC,CAAA;AAEhD;;;GAGG;AACH,MAAa,cAAe,SAAQ,wCAA0B;IAG5D,YAAY,OAAgC;QAC1C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IACtC,CAAC;IAED,qEAAqE;IAC/D,gBAAgB,CAAC,IAA2B,EAAE,OAAyB;;;YAC3E,MAAM,GAAG,GAAG,MAAM,IAAA,oDAA4B,EAC5C;gBACE,aAAa;gBACb,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,mCAAI,IAAI,CAAC,UAAU;gBAChC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,EACD,OAAO,CACR,CAAA;YAED,MAAM,GAAG,GAAG,IAAA,uCAAe,EAAC,GAAG,CAAC,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,GAAG,CAAC,CAAA;YACzD,MAAM,GAAG,GAAe,IAAA,6BAAK,EAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9F,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,GAAG,GAAG,WAAW,IAAA,mBAAS,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAA;YACvD,MAAM,UAAU,GAAkC;gBAChD,GAAG;gBACH,eAAe,EAAE,GAAG,GAAG,IAAI;gBAC3B,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,QAAQ,EAAE,EAAE;aACb,CAAA;YAED,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;YACtC,OAAO,UAAU,CAAA;QACnB,CAAC;KAAA;IAED,qEAAqE;IAC/D,gBAAgB,CACpB,IAAqF,EACrF,OAAmC;;YAEnC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;KAAA;IAED,qEAAqE;IAC/D,gBAAgB,CAAC,UAAuB,EAAE,OAAyB;;YACvE,2KAA2K;YAC3K,OAAO,IAAI,CAAA;QACb,CAAC;KAAA;IAED,qEAAqE;IAC/D,MAAM,CAAC,IAAiB,EAAE,OAAyB;;YACvD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAA;QAC5D,CAAC;KAAA;IAED,wEAAwE;IAClE,SAAS,CAAC,IAAoB,EAAE,OAAyB;;YAC7D,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAA;QAC5D,CAAC;KAAA;IAED,yEAAyE;IACnE,UAAU,CAAC,IAAqB,EAAE,OAAyB;;YAC/D,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAA;QAC5D,CAAC;KAAA;IAED,4EAA4E;IACtE,aAAa,CAAC,IAAoB,EAAE,OAAyB;;YACjE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAA;QAC5D,CAAC;KAAA;CACF;AApED,wCAoEC"}
@@ -0,0 +1,45 @@
1
+ import { IKeyOpts } from '@sphereon/ssi-sdk-ext.key-utils';
2
+ import { IAgentContext, IIdentifier, IKey, IKeyManager, IService } from '@veramo/core';
3
+ export interface ICreateIdentifierArgs {
4
+ kms?: string;
5
+ alias?: string;
6
+ options?: IKeyOpts;
7
+ }
8
+ export interface IAddKeyArgs {
9
+ identifier: IIdentifier;
10
+ key: IKey;
11
+ options?: any;
12
+ }
13
+ export interface IRemoveKeyArgs {
14
+ identifier: IIdentifier;
15
+ id: string;
16
+ options?: any;
17
+ }
18
+ export interface IRemoveKeyArgs {
19
+ identifier: IIdentifier;
20
+ kid: string;
21
+ options?: any;
22
+ }
23
+ export interface IAddServiceArgs {
24
+ identifier: IIdentifier;
25
+ service: IService;
26
+ options?: any;
27
+ }
28
+ export declare enum Key {
29
+ Ed25519 = "Ed25519",
30
+ Secp256k1 = "Secp256k1",
31
+ Secp256r1 = "Secp256r1"
32
+ }
33
+ export declare enum KeyCurve {
34
+ Secp256k1 = "secp256k1",
35
+ P_256 = "P-256",
36
+ Ed25519 = "Ed25519"
37
+ }
38
+ export declare enum KeyType {
39
+ EC = "EC",
40
+ OKP = "OKP"
41
+ }
42
+ export declare const SIG_KEY_ALGS: string[];
43
+ export declare const ENC_KEY_ALGS: string[];
44
+ export type IRequiredContext = IAgentContext<IKeyManager>;
45
+ //# sourceMappingURL=jwk-provider-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwk-provider-types.d.ts","sourceRoot":"","sources":["../../src/types/jwk-provider-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEtF,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,WAAW,CAAA;IACvB,GAAG,EAAE,IAAI,CAAA;IACT,OAAO,CAAC,EAAE,GAAG,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,WAAW,CAAA;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,GAAG,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,WAAW,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,GAAG,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,WAAW,CAAA;IACvB,OAAO,EAAE,QAAQ,CAAA;IACjB,OAAO,CAAC,EAAE,GAAG,CAAA;CACd;AAED,oBAAY,GAAG;IACb,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AACD,oBAAY,QAAQ;IAClB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,oBAAY,OAAO;IACjB,EAAE,OAAO;IACT,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,YAAY,UAAkH,CAAA;AAC3I,eAAO,MAAM,YAAY,UAA+C,CAAA;AAExE,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENC_KEY_ALGS = exports.SIG_KEY_ALGS = exports.KeyType = exports.KeyCurve = exports.Key = void 0;
4
+ var Key;
5
+ (function (Key) {
6
+ Key["Ed25519"] = "Ed25519";
7
+ Key["Secp256k1"] = "Secp256k1";
8
+ Key["Secp256r1"] = "Secp256r1";
9
+ })(Key || (exports.Key = Key = {}));
10
+ var KeyCurve;
11
+ (function (KeyCurve) {
12
+ KeyCurve["Secp256k1"] = "secp256k1";
13
+ KeyCurve["P_256"] = "P-256";
14
+ KeyCurve["Ed25519"] = "Ed25519";
15
+ })(KeyCurve || (exports.KeyCurve = KeyCurve = {}));
16
+ var KeyType;
17
+ (function (KeyType) {
18
+ KeyType["EC"] = "EC";
19
+ KeyType["OKP"] = "OKP";
20
+ })(KeyType || (exports.KeyType = KeyType = {}));
21
+ exports.SIG_KEY_ALGS = ['ES256', 'ES384', 'ES512', 'EdDSA', 'ES256K', 'Ed25519', 'Secp256k1', 'Secp256r1', 'Bls12381G1', 'Bls12381G2'];
22
+ exports.ENC_KEY_ALGS = ['X25519', 'ECDH_ES_A256KW', 'RSA_OAEP_256'];
23
+ //# sourceMappingURL=jwk-provider-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwk-provider-types.js","sourceRoot":"","sources":["../../src/types/jwk-provider-types.ts"],"names":[],"mappings":";;;AAiCA,IAAY,GAIX;AAJD,WAAY,GAAG;IACb,0BAAmB,CAAA;IACnB,8BAAuB,CAAA;IACvB,8BAAuB,CAAA;AACzB,CAAC,EAJW,GAAG,mBAAH,GAAG,QAId;AACD,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,mCAAuB,CAAA;IACvB,2BAAe,CAAA;IACf,+BAAmB,CAAA;AACrB,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,oBAAS,CAAA;IACT,sBAAW,CAAA;AACb,CAAC,EAHW,OAAO,uBAAP,OAAO,QAGlB;AAEY,QAAA,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;AAC9H,QAAA,YAAY,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,30 +1,19 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk-ext.did-provider-jwk",
3
3
  "description": "Sphereon SSI-SDK plugin for management of did:key identifiers.",
4
- "version": "0.28.1-feature.esm.cjs.9+71682ea",
5
- "source": "./src/index.ts",
6
- "type": "module",
7
- "main": "./dist/index.cjs",
8
- "module": "./dist/index.js",
9
- "types": "./dist/index.d.ts",
10
- "exports": {
11
- "import": {
12
- "types": "./dist/index.d.ts",
13
- "import": "./dist/index.js"
14
- },
15
- "require": {
16
- "types": "./dist/index.d.cts",
17
- "require": "./dist/index.cjs"
18
- }
19
- },
4
+ "version": "0.28.1-feature.oyd.cmsm.improv.16+a254c6d",
5
+ "source": "src/index.ts",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
20
8
  "scripts": {
21
- "build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json"
9
+ "build": "tsc --build",
10
+ "build:clean": "tsc --build --clean && tsc --build"
22
11
  },
23
12
  "dependencies": {
24
13
  "@ethersproject/random": "^5.7.0",
25
- "@sphereon/ssi-sdk-ext.did-utils": "^0.28.1-feature.esm.cjs.9+71682ea",
26
- "@sphereon/ssi-sdk-ext.key-utils": "^0.28.1-feature.esm.cjs.9+71682ea",
27
- "@sphereon/ssi-types": " ^0.33",
14
+ "@sphereon/ssi-sdk-ext.did-utils": "0.28.1-feature.oyd.cmsm.improv.16+a254c6d",
15
+ "@sphereon/ssi-sdk-ext.key-utils": "0.28.1-feature.oyd.cmsm.improv.16+a254c6d",
16
+ "@sphereon/ssi-types": "0.30.2-feature.SDK.41.oidf.support.286",
28
17
  "@stablelib/ed25519": "^1.0.3",
29
18
  "@veramo/core": "4.2.0",
30
19
  "@veramo/did-manager": "4.2.0",
@@ -35,16 +24,16 @@
35
24
  },
36
25
  "devDependencies": {
37
26
  "@or13/did-jwk": "^0.0.4",
38
- "@sphereon/ssi-sdk-ext.key-manager": "^0.28.1-feature.esm.cjs.9+71682ea",
39
- "@sphereon/ssi-sdk-ext.kms-local": "^0.28.1-feature.esm.cjs.9+71682ea",
27
+ "@sphereon/ssi-sdk-ext.key-manager": "0.28.1-feature.oyd.cmsm.improv.16+a254c6d",
28
+ "@sphereon/ssi-sdk-ext.kms-local": "0.28.1-feature.oyd.cmsm.improv.16+a254c6d",
40
29
  "@veramo/did-resolver": "4.2.0",
41
30
  "@veramo/key-manager": "4.2.0",
42
31
  "jose": "^4.14.6",
43
- "uint8arrays": " 3.1.1"
32
+ "uint8arrays": "^3.1.1"
44
33
  },
45
34
  "files": [
46
- "dist",
47
- "src",
35
+ "dist/**/*",
36
+ "src/**/*",
48
37
  "README.md",
49
38
  "LICENSE"
50
39
  ],
@@ -60,5 +49,5 @@
60
49
  "DID",
61
50
  "Veramo"
62
51
  ],
63
- "gitHead": "71682ea0c528f5b32c421245c253b3bc9d6296a0"
52
+ "gitHead": "a254c6d44af6fbb12419b55054f1db5afbe484f0"
64
53
  }
@@ -4,7 +4,6 @@ import { AbstractIdentifierProvider } from '@veramo/did-manager'
4
4
  import base64url from 'base64url'
5
5
  import Debug from 'debug'
6
6
  import { IAddKeyArgs, IAddServiceArgs, ICreateIdentifierArgs, IRemoveKeyArgs, IRequiredContext } from './types/jwk-provider-types'
7
- import { JsonWebKey } from '@sphereon/ssi-types'
8
7
 
9
8
  const debug = Debug('sphereon:did-provider-jwk')
10
9
 
package/dist/index.cjs DELETED
@@ -1,115 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // src/jwk-did-provider.ts
5
- var _ssisdkextkeyutils = require('@sphereon/ssi-sdk-ext.key-utils');
6
- var _didmanager = require('@veramo/did-manager');
7
- var _base64url = require('base64url'); var _base64url2 = _interopRequireDefault(_base64url);
8
- var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);
9
- var debug = _debug2.default.call(void 0, "sphereon:did-provider-jwk");
10
- var JwkDIDProvider = class extends _didmanager.AbstractIdentifierProvider {
11
- static {
12
- __name(this, "JwkDIDProvider");
13
- }
14
-
15
- constructor(options) {
16
- super();
17
- this.defaultKms = options.defaultKms;
18
- }
19
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerCreate} */
20
- async createIdentifier(args, context) {
21
- const key = await _ssisdkextkeyutils.importProvidedOrGeneratedKey.call(void 0, {
22
- // @ts-ignore
23
- kms: _nullishCoalesce(args.kms, () => ( this.defaultKms)),
24
- alias: args.alias,
25
- options: args.options
26
- }, context);
27
- const use = _ssisdkextkeyutils.jwkDetermineUse.call(void 0, key.type, _optionalChain([args, 'optionalAccess', _ => _.options, 'optionalAccess', _2 => _2.use]));
28
- const jwk = _ssisdkextkeyutils.toJwk.call(void 0, key.publicKeyHex, key.type, {
29
- use,
30
- key,
31
- noKidThumbprint: true
32
- });
33
- debug(JSON.stringify(jwk, null, 2));
34
- const did = `did:jwk:${_base64url2.default.call(void 0, JSON.stringify(jwk))}`;
35
- const identifier = {
36
- did,
37
- controllerKeyId: `${did}#0`,
38
- keys: [
39
- key
40
- ],
41
- services: []
42
- };
43
- debug("Created DID: ", identifier.did);
44
- return identifier;
45
- }
46
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerUpdate} */
47
- async updateIdentifier(args, context) {
48
- throw new Error("not implemented yet");
49
- }
50
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerDelete} */
51
- async deleteIdentifier(identifier, context) {
52
- return true;
53
- }
54
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddKey} */
55
- async addKey(args, context) {
56
- return Promise.reject(Error("Not supported for DID JWKs"));
57
- }
58
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveKey} */
59
- async removeKey(args, context) {
60
- return Promise.reject(Error("Not supported for DID JWKs"));
61
- }
62
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddService} */
63
- async addService(args, context) {
64
- return Promise.reject(Error("Not supported for DID JWKs"));
65
- }
66
- /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveService} */
67
- async removeService(args, context) {
68
- return Promise.reject(Error("Not supported for DID JWKs"));
69
- }
70
- };
71
-
72
- // src/types/jwk-provider-types.ts
73
- var Key = /* @__PURE__ */ function(Key2) {
74
- Key2["Ed25519"] = "Ed25519";
75
- Key2["Secp256k1"] = "Secp256k1";
76
- Key2["Secp256r1"] = "Secp256r1";
77
- return Key2;
78
- }({});
79
- var KeyCurve = /* @__PURE__ */ function(KeyCurve2) {
80
- KeyCurve2["Secp256k1"] = "secp256k1";
81
- KeyCurve2["P_256"] = "P-256";
82
- KeyCurve2["Ed25519"] = "Ed25519";
83
- return KeyCurve2;
84
- }({});
85
- var KeyType = /* @__PURE__ */ function(KeyType2) {
86
- KeyType2["EC"] = "EC";
87
- KeyType2["OKP"] = "OKP";
88
- return KeyType2;
89
- }({});
90
- var SIG_KEY_ALGS = [
91
- "ES256",
92
- "ES384",
93
- "ES512",
94
- "EdDSA",
95
- "ES256K",
96
- "Ed25519",
97
- "Secp256k1",
98
- "Secp256r1",
99
- "Bls12381G1",
100
- "Bls12381G2"
101
- ];
102
- var ENC_KEY_ALGS = [
103
- "X25519",
104
- "ECDH_ES_A256KW",
105
- "RSA_OAEP_256"
106
- ];
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
- exports.ENC_KEY_ALGS = ENC_KEY_ALGS; exports.JwkDIDProvider = JwkDIDProvider; exports.Key = Key; exports.KeyCurve = KeyCurve; exports.KeyType = KeyType; exports.SIG_KEY_ALGS = SIG_KEY_ALGS;
115
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-provider-jwk/dist/index.cjs","../src/jwk-did-provider.ts","../src/types/jwk-provider-types.ts"],"names":["debug","Debug","JwkDIDProvider","AbstractIdentifierProvider","defaultKms","constructor","options","createIdentifier","args","context","key","importProvidedOrGeneratedKey","kms","alias","use","jwkDetermineUse","type","jwk","toJwk","publicKeyHex","noKidThumbprint","JSON","stringify","did","base64url","identifier","Key","KeyCurve","KeyType"],"mappings":"AAAA,qxBAAI,UAAU,EAAE,MAAM,CAAC,cAAc;AACrC,IAAI,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AACxF;AACA;ACHA,oEAAqE;AAErE,iDAA2C;AAC3C,4FAAsB;AACtB,4EAAkB;AAIlB,IAAMA,MAAAA,EAAQC,6BAAAA,2BAAM,CAAA;AAMb,IAAMC,eAAAA,EAAN,MAAA,QAA6BC,uCAAAA;ADJpC,ECVA,OAcoCA;ADHpC,IAAI,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC;AAClC,EAAE;AACF,ECEmBC;ADDnB,ECGEC,WAAAA,CAAYC,OAAAA,EAAkC;AAC5C,IAAA,KAAA,CAAK,CAAA;AACL,IAAA,IAAA,CAAKF,WAAAA,EAAaE,OAAAA,CAAQF,UAAAA;ADF9B,ECGE;ADFF;AACA,ECIE,MAAMG,gBAAAA,CAAiBC,IAAAA,EAA6BC,OAAAA,EAAmE;AACrH,IAAA,MAAMC,IAAAA,EAAM,MAAMC,6DAAAA;ADHtB;AACA,MCKQC,GAAAA,mBAAKJ,IAAAA,CAAKI,GAAAA,UAAO,IAAA,CAAKR,YAAAA;ADJ9B,MCKQS,KAAAA,EAAOL,IAAAA,CAAKK,KAAAA;ADJpB,MCKQP,OAAAA,EAASE,IAAAA,CAAKF;ADJtB,ICKM,CAAA,EACAG,OAAAA,CAAAA;AAGF,IAAA,MAAMK,IAAAA,EAAMC,gDAAAA,GAAgBL,CAAIM,IAAAA,kBAAMR,IAAAA,2BAAMF,OAAAA,6BAASQ,KAAAA,CAAAA;AACrD,IAAA,MAAMG,IAAAA,EAAkBC,sCAAAA,GAAMR,CAAIS,YAAAA,EAAcT,GAAAA,CAAIM,IAAAA,EAAM;ADP9D,MCOgEF,GAAAA;ADNhE,MCMqEJ,GAAAA;ADLrE,MCK0EU,eAAAA,EAAiB;ADJ3F,ICIgG,CAAA,CAAA;AAC5FpB,IAAAA,KAAAA,CAAMqB,IAAAA,CAAKC,SAAAA,CAAUL,GAAAA,EAAK,IAAA,EAAM,CAAA,CAAA,CAAA;AAChC,IAAA,MAAMM,IAAAA,EAAM,CAAA,QAAA,EAAWC,iCAAAA,IAAUH,CAAKC,SAAAA,CAAUL,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACE,IAAA;AAChDM,MAAAA;AACoBA,MAAAA;AACd,MAAA;AAACb,QAAAA;ADF6C,MAAA;ACG1C,MAAA;AACZ,IAAA;AAEqC,IAAA;AAC9Be,IAAAA;AACT,EAAA;ADFwD;ACQhC,EAAA;AACN,IAAA;AAClB,EAAA;ADNwD;ACSqC,EAAA;AAEpF,IAAA;AACT,EAAA;ADRwD;ACWiB,EAAA;AAC3C,IAAA;AAC9B,EAAA;ADTwD;ACYuB,EAAA;AACjD,IAAA;AAC9B,EAAA;ADVwD;ACayB,EAAA;AACnD,IAAA;AAC9B,EAAA;ADXwD;ACc2B,EAAA;AACrD,IAAA;AAC9B,EAAA;AACF;ADZ0D;AACA;AEtC9CC;AFwC8C,EAAA;AACA,EAAA;AACA,EAAA;AE1C9CA,EAAAA;AF4C8C;AEvC9CC;AFyC8C,EAAA;AACA,EAAA;AACA,EAAA;AE3C9CA,EAAAA;AF6C8C;AEvC9CC;AFyC8C,EAAA;AACA,EAAA;AE1C9CA,EAAAA;AF4C8C;AEvC9B;AAAC,EAAA;AAAS,EAAA;AAAS,EAAA;AAAS,EAAA;AAAS,EAAA;AAAU,EAAA;AAAW,EAAA;AAAa,EAAA;AAAa,EAAA;AAAc,EAAA;AFmDpE;AElD9B;AAAC,EAAA;AAAU,EAAA;AAAkB,EAAA;AFuDC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-provider-jwk/dist/index.cjs","sourcesContent":[null,"import { importProvidedOrGeneratedKey, jwkDetermineUse, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { DIDDocument, IAgentContext, IIdentifier, IKeyManager } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport base64url from 'base64url'\nimport Debug from 'debug'\nimport { IAddKeyArgs, IAddServiceArgs, ICreateIdentifierArgs, IRemoveKeyArgs, IRequiredContext } from './types/jwk-provider-types'\nimport { JsonWebKey } from '@sphereon/ssi-types'\n\nconst debug = Debug('sphereon:did-provider-jwk')\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:ion` identifiers\n * @public\n */\nexport class JwkDIDProvider extends AbstractIdentifierProvider {\n private readonly defaultKms?: string\n\n constructor(options: { defaultKms?: string }) {\n super()\n this.defaultKms = options.defaultKms\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerCreate} */\n async createIdentifier(args: ICreateIdentifierArgs, context: IRequiredContext): Promise<Omit<IIdentifier, 'provider'>> {\n const key = await importProvidedOrGeneratedKey(\n {\n // @ts-ignore\n kms: args.kms ?? this.defaultKms,\n alias: args.alias,\n options: args.options,\n },\n context\n )\n\n const use = jwkDetermineUse(key.type, args?.options?.use)\n const jwk: JsonWebKey = toJwk(key.publicKeyHex, key.type, { use, key, noKidThumbprint: true })\n debug(JSON.stringify(jwk, null, 2))\n const did = `did:jwk:${base64url(JSON.stringify(jwk))}`\n const identifier: Omit<IIdentifier, 'provider'> = {\n did,\n controllerKeyId: `${did}#0`,\n keys: [key],\n services: [],\n }\n\n debug('Created DID: ', identifier.did)\n return identifier\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerUpdate} */\n async updateIdentifier?(\n args: { did: string; document: Partial<DIDDocument>; options?: { [x: string]: any } },\n context: IAgentContext<IKeyManager>\n ): Promise<IIdentifier> {\n throw new Error('not implemented yet')\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerDelete} */\n async deleteIdentifier(identifier: IIdentifier, context: IRequiredContext): Promise<boolean> {\n // JWKs are entirely in memory constructs, without on chain support. Veramo can store them in the did store, but that is not the responsibility of the DID provider itself.\n return true\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddKey} */\n async addKey(args: IAddKeyArgs, context: IRequiredContext): Promise<any> {\n return Promise.reject(Error('Not supported for DID JWKs'))\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveKey} */\n async removeKey(args: IRemoveKeyArgs, context: IRequiredContext): Promise<any> {\n return Promise.reject(Error('Not supported for DID JWKs'))\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddService} */\n async addService(args: IAddServiceArgs, context: IRequiredContext): Promise<any> {\n return Promise.reject(Error('Not supported for DID JWKs'))\n }\n\n /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveService} */\n async removeService(args: IRemoveKeyArgs, context: IRequiredContext): Promise<any> {\n return Promise.reject(Error('Not supported for DID JWKs'))\n }\n}\n","import { IKeyOpts } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { IAgentContext, IIdentifier, IKey, IKeyManager, IService } from '@veramo/core'\n\nexport interface ICreateIdentifierArgs {\n kms?: string\n alias?: string\n options?: IKeyOpts\n}\n\nexport interface IAddKeyArgs {\n identifier: IIdentifier\n key: IKey\n options?: any\n}\n\nexport interface IRemoveKeyArgs {\n identifier: IIdentifier\n id: string\n options?: any\n}\n\nexport interface IRemoveKeyArgs {\n identifier: IIdentifier\n kid: string\n options?: any\n}\n\nexport interface IAddServiceArgs {\n identifier: IIdentifier\n service: IService\n options?: any\n}\n\nexport enum Key {\n Ed25519 = 'Ed25519',\n Secp256k1 = 'Secp256k1',\n Secp256r1 = 'Secp256r1',\n}\nexport enum KeyCurve {\n Secp256k1 = 'secp256k1',\n P_256 = 'P-256',\n Ed25519 = 'Ed25519',\n}\n\nexport enum KeyType {\n EC = 'EC',\n OKP = 'OKP',\n}\n\nexport const SIG_KEY_ALGS = ['ES256', 'ES384', 'ES512', 'EdDSA', 'ES256K', 'Ed25519', 'Secp256k1', 'Secp256r1', 'Bls12381G1', 'Bls12381G2']\nexport const ENC_KEY_ALGS = ['X25519', 'ECDH_ES_A256KW', 'RSA_OAEP_256']\n\nexport type IRequiredContext = IAgentContext<IKeyManager>\n"]}