@sphereon/ssi-sdk-ext.did-provider-jwk 0.34.1-feature.merge.crypto.extensions.modules.37 → 0.34.1-fix.78

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 CHANGED
@@ -109,23 +109,23 @@ var JwkDIDProvider = class extends import_did_manager.AbstractIdentifierProvider
109
109
  };
110
110
 
111
111
  // src/types/jwk-provider-types.ts
112
- var Key = /* @__PURE__ */ (function(Key2) {
112
+ var Key = /* @__PURE__ */ function(Key2) {
113
113
  Key2["Ed25519"] = "Ed25519";
114
114
  Key2["Secp256k1"] = "Secp256k1";
115
115
  Key2["Secp256r1"] = "Secp256r1";
116
116
  return Key2;
117
- })({});
118
- var KeyCurve = /* @__PURE__ */ (function(KeyCurve2) {
117
+ }({});
118
+ var KeyCurve = /* @__PURE__ */ function(KeyCurve2) {
119
119
  KeyCurve2["Secp256k1"] = "secp256k1";
120
120
  KeyCurve2["P_256"] = "P-256";
121
121
  KeyCurve2["Ed25519"] = "Ed25519";
122
122
  return KeyCurve2;
123
- })({});
124
- var KeyType = /* @__PURE__ */ (function(KeyType2) {
123
+ }({});
124
+ var KeyType = /* @__PURE__ */ function(KeyType2) {
125
125
  KeyType2["EC"] = "EC";
126
126
  KeyType2["OKP"] = "OKP";
127
127
  return KeyType2;
128
- })({});
128
+ }({});
129
129
  var SIG_KEY_ALGS = [
130
130
  "ES256",
131
131
  "ES384",
@@ -1 +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;EAEjB,YAAYC,SAAkC;AAC5C,UAAK;AACL,SAAKD,aAAaC,QAAQD;EAC5B;;EAGA,MAAME,iBAAiBC,MAA6BC,SAAmE;AACrH,UAAMC,MAAM,UAAMC,iDAChB;;MAEEC,KAAKJ,KAAKI,OAAO,KAAKP;MACtBQ,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;AAC5FnB,UAAMoB,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;AAEA3B,UAAM,iBAAiBwB,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,0BAAAA,MAAAA;;;;SAAAA;;AAKL,IAAKC,WAAAA,0BAAAA,WAAAA;;;;SAAAA;;AAML,IAAKC,UAAAA,0BAAAA,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","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,"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"]}
package/dist/index.js CHANGED
@@ -70,23 +70,23 @@ var JwkDIDProvider = class extends AbstractIdentifierProvider {
70
70
  };
71
71
 
72
72
  // src/types/jwk-provider-types.ts
73
- var Key = /* @__PURE__ */ (function(Key2) {
73
+ var Key = /* @__PURE__ */ function(Key2) {
74
74
  Key2["Ed25519"] = "Ed25519";
75
75
  Key2["Secp256k1"] = "Secp256k1";
76
76
  Key2["Secp256r1"] = "Secp256r1";
77
77
  return Key2;
78
- })({});
79
- var KeyCurve = /* @__PURE__ */ (function(KeyCurve2) {
78
+ }({});
79
+ var KeyCurve = /* @__PURE__ */ function(KeyCurve2) {
80
80
  KeyCurve2["Secp256k1"] = "secp256k1";
81
81
  KeyCurve2["P_256"] = "P-256";
82
82
  KeyCurve2["Ed25519"] = "Ed25519";
83
83
  return KeyCurve2;
84
- })({});
85
- var KeyType = /* @__PURE__ */ (function(KeyType2) {
84
+ }({});
85
+ var KeyType = /* @__PURE__ */ function(KeyType2) {
86
86
  KeyType2["EC"] = "EC";
87
87
  KeyType2["OKP"] = "OKP";
88
88
  return KeyType2;
89
- })({});
89
+ }({});
90
90
  var SIG_KEY_ALGS = [
91
91
  "ES256",
92
92
  "ES384",
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;EAEjB,YAAYC,SAAkC;AAC5C,UAAK;AACL,SAAKD,aAAaC,QAAQD;EAC5B;;EAGA,MAAME,iBAAiBC,MAA6BC,SAAmE;AACrH,UAAMC,MAAM,MAAMC,6BAChB;;MAEEC,KAAKJ,KAAKI,OAAO,KAAKP;MACtBQ,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;AAC5FnB,UAAMoB,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;AAEA3B,UAAM,iBAAiBwB,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,0BAAAA,MAAAA;;;;SAAAA;;AAKL,IAAKC,WAAAA,0BAAAA,WAAAA;;;;SAAAA;;AAML,IAAKC,UAAAA,0BAAAA,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","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,"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,7 +1,7 @@
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.34.1-feature.merge.crypto.extensions.modules.37+86254fab",
4
+ "version": "0.34.1-fix.78+5114f005",
5
5
  "source": "./src/index.ts",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",
@@ -23,9 +23,9 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@ethersproject/random": "^5.7.0",
26
- "@sphereon/ssi-sdk-ext.did-utils": "0.34.1-feature.merge.crypto.extensions.modules.37+86254fab",
27
- "@sphereon/ssi-sdk-ext.key-utils": "0.34.1-feature.merge.crypto.extensions.modules.37+86254fab",
28
- "@sphereon/ssi-types": "0.34.1-feature.merge.crypto.extensions.modules.37+86254fab",
26
+ "@sphereon/ssi-sdk-ext.did-utils": "0.34.1-fix.78+5114f005",
27
+ "@sphereon/ssi-sdk-ext.key-utils": "0.34.1-fix.78+5114f005",
28
+ "@sphereon/ssi-types": "0.34.1-fix.78+5114f005",
29
29
  "@stablelib/ed25519": "^1.0.3",
30
30
  "@veramo/core": "4.2.0",
31
31
  "@veramo/did-manager": "4.2.0",
@@ -36,8 +36,8 @@
36
36
  },
37
37
  "devDependencies": {
38
38
  "@or13/did-jwk": "^0.0.4",
39
- "@sphereon/ssi-sdk-ext.key-manager": "0.34.1-feature.merge.crypto.extensions.modules.37+86254fab",
40
- "@sphereon/ssi-sdk-ext.kms-local": "0.34.1-feature.merge.crypto.extensions.modules.37+86254fab",
39
+ "@sphereon/ssi-sdk-ext.key-manager": "0.34.1-fix.78+5114f005",
40
+ "@sphereon/ssi-sdk-ext.kms-local": "0.34.1-fix.78+5114f005",
41
41
  "@veramo/did-resolver": "4.2.0",
42
42
  "@veramo/key-manager": "4.2.0",
43
43
  "jose": "^5.10.0",
@@ -61,5 +61,5 @@
61
61
  "DID",
62
62
  "Veramo"
63
63
  ],
64
- "gitHead": "86254fab96a7ca6c162ee7ced2657fa58f385efb"
64
+ "gitHead": "5114f005ed3bbb851b2c7bb226cbb195fc70bf92"
65
65
  }