@sphereon/ssi-sdk-ext.did-provider-jwk 0.28.1-feature.oyd.cmsm.improv.20 → 0.28.1-next.53

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.cjs ADDED
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/index.ts
32
+ var index_exports = {};
33
+ __export(index_exports, {
34
+ ENC_KEY_ALGS: () => ENC_KEY_ALGS,
35
+ JwkDIDProvider: () => JwkDIDProvider,
36
+ Key: () => Key,
37
+ KeyCurve: () => KeyCurve,
38
+ KeyType: () => KeyType,
39
+ SIG_KEY_ALGS: () => SIG_KEY_ALGS
40
+ });
41
+ module.exports = __toCommonJS(index_exports);
42
+
43
+ // src/jwk-did-provider.ts
44
+ var import_ssi_sdk_ext = require("@sphereon/ssi-sdk-ext.key-utils");
45
+ var import_did_manager = require("@veramo/did-manager");
46
+ var import_base64url = __toESM(require("base64url"), 1);
47
+ var import_debug = __toESM(require("debug"), 1);
48
+ var debug = (0, import_debug.default)("sphereon:did-provider-jwk");
49
+ var JwkDIDProvider = class extends import_did_manager.AbstractIdentifierProvider {
50
+ static {
51
+ __name(this, "JwkDIDProvider");
52
+ }
53
+ defaultKms;
54
+ constructor(options) {
55
+ super();
56
+ this.defaultKms = options.defaultKms;
57
+ }
58
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerCreate} */
59
+ async createIdentifier(args, context) {
60
+ const key = await (0, import_ssi_sdk_ext.importProvidedOrGeneratedKey)({
61
+ // @ts-ignore
62
+ kms: args.kms ?? this.defaultKms,
63
+ alias: args.alias,
64
+ options: args.options
65
+ }, context);
66
+ const use = (0, import_ssi_sdk_ext.jwkDetermineUse)(key.type, args?.options?.use);
67
+ const jwk = (0, import_ssi_sdk_ext.toJwk)(key.publicKeyHex, key.type, {
68
+ use,
69
+ key,
70
+ noKidThumbprint: true
71
+ });
72
+ debug(JSON.stringify(jwk, null, 2));
73
+ const did = `did:jwk:${(0, import_base64url.default)(JSON.stringify(jwk))}`;
74
+ const identifier = {
75
+ did,
76
+ controllerKeyId: `${did}#0`,
77
+ keys: [
78
+ key
79
+ ],
80
+ services: []
81
+ };
82
+ debug("Created DID: ", identifier.did);
83
+ return identifier;
84
+ }
85
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerUpdate} */
86
+ async updateIdentifier(args, context) {
87
+ throw new Error("not implemented yet");
88
+ }
89
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerDelete} */
90
+ async deleteIdentifier(identifier, context) {
91
+ return true;
92
+ }
93
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddKey} */
94
+ async addKey(args, context) {
95
+ return Promise.reject(Error("Not supported for DID JWKs"));
96
+ }
97
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveKey} */
98
+ async removeKey(args, context) {
99
+ return Promise.reject(Error("Not supported for DID JWKs"));
100
+ }
101
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerAddService} */
102
+ async addService(args, context) {
103
+ return Promise.reject(Error("Not supported for DID JWKs"));
104
+ }
105
+ /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveService} */
106
+ async removeService(args, context) {
107
+ return Promise.reject(Error("Not supported for DID JWKs"));
108
+ }
109
+ };
110
+
111
+ // src/types/jwk-provider-types.ts
112
+ var Key = /* @__PURE__ */ function(Key2) {
113
+ Key2["Ed25519"] = "Ed25519";
114
+ Key2["Secp256k1"] = "Secp256k1";
115
+ Key2["Secp256r1"] = "Secp256r1";
116
+ return Key2;
117
+ }({});
118
+ var KeyCurve = /* @__PURE__ */ function(KeyCurve2) {
119
+ KeyCurve2["Secp256k1"] = "secp256k1";
120
+ KeyCurve2["P_256"] = "P-256";
121
+ KeyCurve2["Ed25519"] = "Ed25519";
122
+ return KeyCurve2;
123
+ }({});
124
+ var KeyType = /* @__PURE__ */ function(KeyType2) {
125
+ KeyType2["EC"] = "EC";
126
+ KeyType2["OKP"] = "OKP";
127
+ return KeyType2;
128
+ }({});
129
+ var SIG_KEY_ALGS = [
130
+ "ES256",
131
+ "ES384",
132
+ "ES512",
133
+ "EdDSA",
134
+ "ES256K",
135
+ "Ed25519",
136
+ "Secp256k1",
137
+ "Secp256r1",
138
+ "Bls12381G1",
139
+ "Bls12381G2"
140
+ ];
141
+ var ENC_KEY_ALGS = [
142
+ "X25519",
143
+ "ECDH_ES_A256KW",
144
+ "RSA_OAEP_256"
145
+ ];
146
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/jwk-did-provider.ts","../src/types/jwk-provider-types.ts"],"sourcesContent":["/**\n * Provides `did:jwk` {@link @veramo/did-provider-jwk#JwkDIDProvider | identifier provider }\n * for the {@link @veramo/did-manager#DIDManager}\n *\n * @packageDocumentation\n */\nexport { JwkDIDProvider } from './jwk-did-provider'\nexport * from './types/jwk-provider-types'\n","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;;;;;;;;;;;;ACAA,yBAAqE;AAErE,yBAA2C;AAC3C,uBAAsB;AACtB,mBAAkB;AAIlB,IAAMA,YAAQC,aAAAA,SAAM,2BAAA;AAMb,IAAMC,iBAAN,cAA6BC,8CAAAA;EAdpC,OAcoCA;;;EACjBC;EAEjBC,YAAYC,SAAkC;AAC5C,UAAK;AACL,SAAKF,aAAaE,QAAQF;EAC5B;;EAGA,MAAMG,iBAAiBC,MAA6BC,SAAmE;AACrH,UAAMC,MAAM,UAAMC,iDAChB;;MAEEC,KAAKJ,KAAKI,OAAO,KAAKR;MACtBS,OAAOL,KAAKK;MACZP,SAASE,KAAKF;IAChB,GACAG,OAAAA;AAGF,UAAMK,UAAMC,oCAAgBL,IAAIM,MAAMR,MAAMF,SAASQ,GAAAA;AACrD,UAAMG,UAAkBC,0BAAMR,IAAIS,cAAcT,IAAIM,MAAM;MAAEF;MAAKJ;MAAKU,iBAAiB;IAAK,CAAA;AAC5FpB,UAAMqB,KAAKC,UAAUL,KAAK,MAAM,CAAA,CAAA;AAChC,UAAMM,MAAM,eAAWC,iBAAAA,SAAUH,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":["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,11 +1,55 @@
1
- import { DIDDocument, IAgentContext, IIdentifier, IKeyManager } from '@veramo/core';
1
+ import { IAgentContext, IKeyManager, IIdentifier, IKey, IService, DIDDocument } from '@veramo/core';
2
2
  import { AbstractIdentifierProvider } from '@veramo/did-manager';
3
- import { IAddKeyArgs, IAddServiceArgs, ICreateIdentifierArgs, IRemoveKeyArgs, IRequiredContext } from './types/jwk-provider-types';
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
+
4
48
  /**
5
49
  * {@link @veramo/did-manager#DIDManager} identifier provider for `did:ion` identifiers
6
50
  * @public
7
51
  */
8
- export declare class JwkDIDProvider extends AbstractIdentifierProvider {
52
+ declare class JwkDIDProvider extends AbstractIdentifierProvider {
9
53
  private readonly defaultKms?;
10
54
  constructor(options: {
11
55
  defaultKms?: string;
@@ -31,4 +75,5 @@ export declare class JwkDIDProvider extends AbstractIdentifierProvider {
31
75
  /** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerRemoveService} */
32
76
  removeService(args: IRemoveKeyArgs, context: IRequiredContext): Promise<any>;
33
77
  }
34
- //# sourceMappingURL=jwk-did-provider.d.ts.map
78
+
79
+ export { ENC_KEY_ALGS, type IAddKeyArgs, type IAddServiceArgs, type ICreateIdentifierArgs, type IRemoveKeyArgs, type IRequiredContext, JwkDIDProvider, Key, KeyCurve, KeyType, SIG_KEY_ALGS };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,79 @@
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
+
1
48
  /**
2
- * Provides `did:jwk` {@link @veramo/did-provider-jwk#JwkDIDProvider | identifier provider }
3
- * for the {@link @veramo/did-manager#DIDManager}
4
- *
5
- * @packageDocumentation
49
+ * {@link @veramo/did-manager#DIDManager} identifier provider for `did:ion` identifiers
50
+ * @public
6
51
  */
7
- export { JwkDIDProvider } from './jwk-did-provider';
8
- export * from './types/jwk-provider-types';
9
- //# sourceMappingURL=index.d.ts.map
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 };
package/dist/index.js CHANGED
@@ -1,27 +1,115 @@
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);
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
15
114
  };
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);
27
115
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,6DAA0C"}
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"]}
package/package.json CHANGED
@@ -1,19 +1,31 @@
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.oyd.cmsm.improv.20+7c3cf5a",
5
- "source": "src/index.ts",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
4
+ "version": "0.28.1-next.53+5199437",
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
+ "react-native": "./dist/index.js",
12
+ "import": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ },
16
+ "require": {
17
+ "types": "./dist/index.d.cts",
18
+ "require": "./dist/index.cjs"
19
+ }
20
+ },
8
21
  "scripts": {
9
- "build": "tsc --build",
10
- "build:clean": "tsc --build --clean && tsc --build"
22
+ "build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json"
11
23
  },
12
24
  "dependencies": {
13
25
  "@ethersproject/random": "^5.7.0",
14
- "@sphereon/ssi-sdk-ext.did-utils": "0.28.1-feature.oyd.cmsm.improv.20+7c3cf5a",
15
- "@sphereon/ssi-sdk-ext.key-utils": "0.28.1-feature.oyd.cmsm.improv.20+7c3cf5a",
16
- "@sphereon/ssi-types": "0.30.2-feature.SDK.41.oidf.support.286",
26
+ "@sphereon/ssi-sdk-ext.did-utils": "0.28.1-next.53+5199437",
27
+ "@sphereon/ssi-sdk-ext.key-utils": "0.28.1-next.53+5199437",
28
+ "@sphereon/ssi-types": "0.33.1-feature.jose.vcdm.67",
17
29
  "@stablelib/ed25519": "^1.0.3",
18
30
  "@veramo/core": "4.2.0",
19
31
  "@veramo/did-manager": "4.2.0",
@@ -24,16 +36,16 @@
24
36
  },
25
37
  "devDependencies": {
26
38
  "@or13/did-jwk": "^0.0.4",
27
- "@sphereon/ssi-sdk-ext.key-manager": "0.28.1-feature.oyd.cmsm.improv.20+7c3cf5a",
28
- "@sphereon/ssi-sdk-ext.kms-local": "0.28.1-feature.oyd.cmsm.improv.20+7c3cf5a",
39
+ "@sphereon/ssi-sdk-ext.key-manager": "0.28.1-next.53+5199437",
40
+ "@sphereon/ssi-sdk-ext.kms-local": "0.28.1-next.53+5199437",
29
41
  "@veramo/did-resolver": "4.2.0",
30
42
  "@veramo/key-manager": "4.2.0",
31
- "jose": "^4.14.6",
32
- "uint8arrays": "^3.1.1"
43
+ "jose": "^5.10.0",
44
+ "uint8arrays": "3.1.1"
33
45
  },
34
46
  "files": [
35
- "dist/**/*",
36
- "src/**/*",
47
+ "dist",
48
+ "src",
37
49
  "README.md",
38
50
  "LICENSE"
39
51
  ],
@@ -49,5 +61,5 @@
49
61
  "DID",
50
62
  "Veramo"
51
63
  ],
52
- "gitHead": "7c3cf5a3b32ef8a31744757aab14c21338880f79"
64
+ "gitHead": "5199437962ccac49358d94a2a5ed9c81ddb1f04b"
53
65
  }
@@ -4,6 +4,7 @@ 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'
7
8
 
8
9
  const debug = Debug('sphereon:did-provider-jwk')
9
10
 
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}
@@ -1,93 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,45 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,23 +0,0 @@
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
@@ -1 +0,0 @@
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"}