@sphereon/ssi-sdk-ext.did-provider-jwk 0.28.1-feature.esm.cjs.11 → 0.28.1-feature.esm.cjs.14
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 +52 -21
- package/dist/index.cjs.map +1 -1
- package/package.json +7 -7
package/dist/index.cjs
CHANGED
|
@@ -1,37 +1,76 @@
|
|
|
1
|
-
"use strict";
|
|
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;
|
|
2
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);
|
|
3
42
|
|
|
4
43
|
// src/jwk-did-provider.ts
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var debug =
|
|
10
|
-
var JwkDIDProvider = class extends
|
|
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 {
|
|
11
50
|
static {
|
|
12
51
|
__name(this, "JwkDIDProvider");
|
|
13
52
|
}
|
|
14
|
-
|
|
53
|
+
defaultKms;
|
|
15
54
|
constructor(options) {
|
|
16
55
|
super();
|
|
17
56
|
this.defaultKms = options.defaultKms;
|
|
18
57
|
}
|
|
19
58
|
/** {@inheritDoc @veramo/veramo-core#IDIDManager.didManagerCreate} */
|
|
20
59
|
async createIdentifier(args, context) {
|
|
21
|
-
const key = await
|
|
60
|
+
const key = await (0, import_ssi_sdk_ext.importProvidedOrGeneratedKey)({
|
|
22
61
|
// @ts-ignore
|
|
23
|
-
kms:
|
|
62
|
+
kms: args.kms ?? this.defaultKms,
|
|
24
63
|
alias: args.alias,
|
|
25
64
|
options: args.options
|
|
26
65
|
}, context);
|
|
27
|
-
const use =
|
|
28
|
-
const jwk =
|
|
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, {
|
|
29
68
|
use,
|
|
30
69
|
key,
|
|
31
70
|
noKidThumbprint: true
|
|
32
71
|
});
|
|
33
72
|
debug(JSON.stringify(jwk, null, 2));
|
|
34
|
-
const did = `did:jwk:${
|
|
73
|
+
const did = `did:jwk:${(0, import_base64url.default)(JSON.stringify(jwk))}`;
|
|
35
74
|
const identifier = {
|
|
36
75
|
did,
|
|
37
76
|
controllerKeyId: `${did}#0`,
|
|
@@ -104,12 +143,4 @@ var ENC_KEY_ALGS = [
|
|
|
104
143
|
"ECDH_ES_A256KW",
|
|
105
144
|
"RSA_OAEP_256"
|
|
106
145
|
];
|
|
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
146
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
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/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.28.1-feature.esm.cjs.
|
|
4
|
+
"version": "0.28.1-feature.esm.cjs.14+b36311c",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs",
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@ethersproject/random": "^5.7.0",
|
|
25
|
-
"@sphereon/ssi-sdk-ext.did-utils": "^0.28.1-feature.esm.cjs.
|
|
26
|
-
"@sphereon/ssi-sdk-ext.key-utils": "^0.28.1-feature.esm.cjs.
|
|
27
|
-
"@sphereon/ssi-types": "
|
|
25
|
+
"@sphereon/ssi-sdk-ext.did-utils": "^0.28.1-feature.esm.cjs.14+b36311c",
|
|
26
|
+
"@sphereon/ssi-sdk-ext.key-utils": "^0.28.1-feature.esm.cjs.14+b36311c",
|
|
27
|
+
"@sphereon/ssi-types": "0.33.1-feature.vcdm2.tsup.26",
|
|
28
28
|
"@stablelib/ed25519": "^1.0.3",
|
|
29
29
|
"@veramo/core": "4.2.0",
|
|
30
30
|
"@veramo/did-manager": "4.2.0",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@or13/did-jwk": "^0.0.4",
|
|
38
|
-
"@sphereon/ssi-sdk-ext.key-manager": "^0.28.1-feature.esm.cjs.
|
|
39
|
-
"@sphereon/ssi-sdk-ext.kms-local": "^0.28.1-feature.esm.cjs.
|
|
38
|
+
"@sphereon/ssi-sdk-ext.key-manager": "^0.28.1-feature.esm.cjs.14+b36311c",
|
|
39
|
+
"@sphereon/ssi-sdk-ext.kms-local": "^0.28.1-feature.esm.cjs.14+b36311c",
|
|
40
40
|
"@veramo/did-resolver": "4.2.0",
|
|
41
41
|
"@veramo/key-manager": "4.2.0",
|
|
42
42
|
"jose": "^4.14.6",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"DID",
|
|
61
61
|
"Veramo"
|
|
62
62
|
],
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "b36311cef728bb778039501d6671890fdbdf9334"
|
|
64
64
|
}
|