@sphereon/did-provider-oyd 0.28.1-feature.oyd.cmsm.improv.20 → 0.28.1-feature.oyd.cmsm.improv.21
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/oyd-did-provider.d.ts +2 -2
- package/dist/oyd-did-provider.d.ts.map +1 -1
- package/dist/oyd-did-provider.js +30 -47
- package/dist/oyd-did-provider.js.map +1 -1
- package/dist/types/oyd-provider-types.d.ts +2 -1
- package/dist/types/oyd-provider-types.d.ts.map +1 -1
- package/dist/types/oyd-provider-types.js.map +1 -1
- package/package.json +5 -4
- package/src/oyd-did-provider.ts +39 -63
- package/src/types/oyd-provider-types.ts +4 -3
|
@@ -12,8 +12,9 @@ export declare class OydDIDProvider extends AbstractIdentifierProvider {
|
|
|
12
12
|
private readonly cmsmCallbackOpts?;
|
|
13
13
|
constructor(options?: OydConstructorOptions);
|
|
14
14
|
private assertedKms;
|
|
15
|
-
createIdentifier({ kms, options }: {
|
|
15
|
+
createIdentifier({ kms, alias, options }: {
|
|
16
16
|
kms?: string;
|
|
17
|
+
alias?: string;
|
|
17
18
|
options: OydCreateIdentifierOptions;
|
|
18
19
|
}, context: IContext): Promise<Omit<IIdentifier, 'provider'>>;
|
|
19
20
|
createIdentifierWithCMSM({ kms, options }: {
|
|
@@ -47,7 +48,6 @@ export declare class OydDIDProvider extends AbstractIdentifierProvider {
|
|
|
47
48
|
id: string;
|
|
48
49
|
options?: any;
|
|
49
50
|
}, context: IContext): Promise<any>;
|
|
50
|
-
private importOrCreateKey;
|
|
51
51
|
}
|
|
52
52
|
export declare function defaultOydCmsmPublicKeyCallback(keyManager: KeyManager): (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey>;
|
|
53
53
|
export declare function defaultOydCmsmSignCallback(keyManager: KeyManager): (kid: string, data: string) => Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oyd-did-provider.d.ts","sourceRoot":"","sources":["../src/oyd-did-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oyd-did-provider.d.ts","sourceRoot":"","sources":["../src/oyd-did-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/oyd-did-provider.js
CHANGED
|
@@ -38,6 +38,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
38
38
|
exports.DefaultOydCmsmCallbacks = exports.OydDIDProvider = void 0;
|
|
39
39
|
exports.defaultOydCmsmPublicKeyCallback = defaultOydCmsmPublicKeyCallback;
|
|
40
40
|
exports.defaultOydCmsmSignCallback = defaultOydCmsmSignCallback;
|
|
41
|
+
const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
|
|
41
42
|
const did_manager_1 = require("@veramo/did-manager");
|
|
42
43
|
const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
43
44
|
const multibase_1 = __importDefault(require("multibase"));
|
|
@@ -69,8 +70,8 @@ class OydDIDProvider extends did_manager_1.AbstractIdentifierProvider {
|
|
|
69
70
|
});
|
|
70
71
|
}
|
|
71
72
|
createIdentifier(_a, context_1) {
|
|
72
|
-
return __awaiter(this, arguments, void 0, function* ({ kms, options }, context) {
|
|
73
|
-
var _b, _c;
|
|
73
|
+
return __awaiter(this, arguments, void 0, function* ({ kms, alias, options }, context) {
|
|
74
|
+
var _b, _c, _d, _e;
|
|
74
75
|
const resolvedKms = yield this.assertedKms(kms, this.defaultKms);
|
|
75
76
|
if ((this.cmsmCallbackOpts && !options.cmsm) || (options.cmsm && options.cmsm.enabled !== false)) {
|
|
76
77
|
if (!this.cmsmCallbackOpts) {
|
|
@@ -81,7 +82,7 @@ class OydDIDProvider extends did_manager_1.AbstractIdentifierProvider {
|
|
|
81
82
|
const body = {
|
|
82
83
|
options: {
|
|
83
84
|
cmsm: false,
|
|
84
|
-
key_type: (_b = options.
|
|
85
|
+
key_type: (_b = options.type) !== null && _b !== void 0 ? _b : 'Secp256r1',
|
|
85
86
|
},
|
|
86
87
|
};
|
|
87
88
|
let didDoc;
|
|
@@ -103,14 +104,17 @@ class OydDIDProvider extends did_manager_1.AbstractIdentifierProvider {
|
|
|
103
104
|
debug('Unexpected error from OydDID Registrar: ', error);
|
|
104
105
|
return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()));
|
|
105
106
|
}
|
|
106
|
-
const keyType = (_c = options === null || options === void 0 ? void 0 : options.
|
|
107
|
-
const key = yield
|
|
107
|
+
const keyType = (_c = options === null || options === void 0 ? void 0 : options.type) !== null && _c !== void 0 ? _c : 'Secp256r1';
|
|
108
|
+
const key = yield (0, ssi_sdk_ext_key_utils_1.importProvidedOrGeneratedKey)({
|
|
108
109
|
kms: resolvedKms,
|
|
110
|
+
alias: (_e = (_d = alias !== null && alias !== void 0 ? alias : options.alias) !== null && _d !== void 0 ? _d : options.kid) !== null && _e !== void 0 ? _e : `${didDoc.did}#key-doc`,
|
|
109
111
|
options: {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
key: {
|
|
113
|
+
kid: `${didDoc.did}#key-doc`,
|
|
114
|
+
type: keyType,
|
|
115
|
+
publicKeyHex: didDoc.keys[0].publicKeyHex,
|
|
116
|
+
privateKeyHex: didDoc.keys[0].privateKeyHex,
|
|
117
|
+
},
|
|
114
118
|
},
|
|
115
119
|
}, context);
|
|
116
120
|
const identifier = {
|
|
@@ -131,7 +135,7 @@ class OydDIDProvider extends did_manager_1.AbstractIdentifierProvider {
|
|
|
131
135
|
return Promise.reject(Error('did:oyd: no cmsm options defined!'));
|
|
132
136
|
}
|
|
133
137
|
const assertedKms = yield this.assertedKms(kms, this.defaultKms);
|
|
134
|
-
const pubKey = (_b = options.key) !== null && _b !== void 0 ? _b : (yield cmsmCallbackOpts.publicKeyCallback((_c = options.kid) !== null && _c !== void 0 ? _c : 'default', assertedKms, ((_d = options.cmsm) === null || _d === void 0 ? void 0 : _d.create) !== false, options.
|
|
138
|
+
const pubKey = (_b = options.key) !== null && _b !== void 0 ? _b : (yield cmsmCallbackOpts.publicKeyCallback((_c = options.kid) !== null && _c !== void 0 ? _c : 'default', assertedKms, ((_d = options.cmsm) === null || _d === void 0 ? void 0 : _d.create) !== false, options.type)); // "default" is probably not right, TODO!!
|
|
135
139
|
const kid = pubKey.kid;
|
|
136
140
|
const keyType = pubKey.type;
|
|
137
141
|
const key = base58btc({ publicKeyHex: pubKey.publicKeyHex, keyType });
|
|
@@ -199,19 +203,6 @@ class OydDIDProvider extends did_manager_1.AbstractIdentifierProvider {
|
|
|
199
203
|
debug('Unexpected error from OydDID Registrar: ', error);
|
|
200
204
|
return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()));
|
|
201
205
|
}
|
|
202
|
-
/* let oydKeyType: OydDidSupportedKeyTypes = "Secp256r1";
|
|
203
|
-
|
|
204
|
-
const key = await this.holdKeys(
|
|
205
|
-
{
|
|
206
|
-
kms: assertedKms,
|
|
207
|
-
options: {
|
|
208
|
-
keyType: oydKeyType,
|
|
209
|
-
kid: kid,
|
|
210
|
-
publicKeyHex: pubKey.publicKeyHex,
|
|
211
|
-
},
|
|
212
|
-
},
|
|
213
|
-
context
|
|
214
|
-
);*/
|
|
215
206
|
const identifier = {
|
|
216
207
|
did: didDoc.did,
|
|
217
208
|
controllerKeyId: pubKey.kid,
|
|
@@ -255,29 +246,6 @@ class OydDIDProvider extends did_manager_1.AbstractIdentifierProvider {
|
|
|
255
246
|
return { success: true };
|
|
256
247
|
});
|
|
257
248
|
}
|
|
258
|
-
importOrCreateKey(args, context) {
|
|
259
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
260
|
-
const kms = yield this.assertedKms(args.kms, this.defaultKms);
|
|
261
|
-
if (args.options.privateKeyHex) {
|
|
262
|
-
return context.agent.keyManagerImport({
|
|
263
|
-
kms,
|
|
264
|
-
type: args.options.keyType,
|
|
265
|
-
kid: args.options.kid,
|
|
266
|
-
privateKeyHex: args.options.privateKeyHex,
|
|
267
|
-
/*meta: {
|
|
268
|
-
algorithms: ['Secp256r1'],
|
|
269
|
-
},*/
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
return context.agent.keyManagerCreate({
|
|
273
|
-
type: args.options.keyType,
|
|
274
|
-
kms,
|
|
275
|
-
meta: {
|
|
276
|
-
algorithms: ['Secp256r1'],
|
|
277
|
-
},
|
|
278
|
-
});
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
249
|
}
|
|
282
250
|
exports.OydDIDProvider = OydDIDProvider;
|
|
283
251
|
const keyCodecs = {
|
|
@@ -309,7 +277,22 @@ function defaultOydCmsmPublicKeyCallback(keyManager) {
|
|
|
309
277
|
if (!kms) {
|
|
310
278
|
return Promise.reject(Error('No KMS provided, whilst creating a new key!'));
|
|
311
279
|
}
|
|
312
|
-
|
|
280
|
+
const alias = kid !== null && kid !== void 0 ? kid : `oyd-${new Date().toISOString()}`;
|
|
281
|
+
const agent = keyManager;
|
|
282
|
+
const key = yield (0, ssi_sdk_ext_key_utils_1.importProvidedOrGeneratedKey)({
|
|
283
|
+
kms,
|
|
284
|
+
alias,
|
|
285
|
+
options: {
|
|
286
|
+
key: {
|
|
287
|
+
type: createKeyType !== null && createKeyType !== void 0 ? createKeyType : 'Secp256r1',
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
}, {
|
|
291
|
+
//@ts-ignore
|
|
292
|
+
agent
|
|
293
|
+
});
|
|
294
|
+
return key;
|
|
295
|
+
// return await keyManager.keyManagerCreate({ kms, type: createKeyType ?? 'Secp256r1' })
|
|
313
296
|
}
|
|
314
297
|
return Promise.reject(Error('No existing key found, and create is false!'));
|
|
315
298
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oyd-did-provider.js","sourceRoot":"","sources":["../src/oyd-did-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"oyd-did-provider.js","sourceRoot":"","sources":["../src/oyd-did-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,10 @@ export type OydConstructorOptions = {
|
|
|
4
4
|
clientManagedSecretMode?: CMSMCallbackOpts;
|
|
5
5
|
};
|
|
6
6
|
export type OydCreateIdentifierOptions = {
|
|
7
|
-
|
|
7
|
+
type?: OydDidSupportedKeyTypes;
|
|
8
8
|
privateKeyHex?: string;
|
|
9
9
|
kid?: string;
|
|
10
|
+
alias?: string;
|
|
10
11
|
keyUse?: KeyUse;
|
|
11
12
|
cmsm?: CmsmOptions;
|
|
12
13
|
key?: IKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oyd-provider-types.d.ts","sourceRoot":"","sources":["../../src/types/oyd-provider-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"oyd-provider-types.d.ts","sourceRoot":"","sources":["../../src/types/oyd-provider-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uBAAuB,CAAC,EAAE,gBAAgB,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,GAAG,CAAC,EAAE,IAAI,CAAA;CACX,CAAA;AAGD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;CACvB,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,uBAAuB,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5G,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D,CAAA;AAED,oBAAY,iBAAiB;IAC3B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAErE,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oyd-provider-types.js","sourceRoot":"","sources":["../../src/types/oyd-provider-types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"oyd-provider-types.js","sourceRoot":"","sources":["../../src/types/oyd-provider-types.ts"],"names":[],"mappings":";;;AAwCA,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;AACnB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/did-provider-oyd",
|
|
3
3
|
"description": "OwnYourData plugin that can enable creation and control of did:oyd identifiers.",
|
|
4
|
-
"version": "0.28.1-feature.oyd.cmsm.improv.
|
|
4
|
+
"version": "0.28.1-feature.oyd.cmsm.improv.21+d4f5d24",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"extract-api": "sphereon dev extract-api"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
+
"@sphereon/ssi-sdk-ext.key-utils": "0.28.1-feature.oyd.cmsm.improv.21+d4f5d24",
|
|
13
14
|
"@veramo/core": "4.2.0",
|
|
14
15
|
"@veramo/did-manager": "4.2.0",
|
|
15
16
|
"cross-fetch": "^4.0.0",
|
|
@@ -20,8 +21,8 @@
|
|
|
20
21
|
"uint8arrays": "^3.1.1"
|
|
21
22
|
},
|
|
22
23
|
"devDependencies": {
|
|
23
|
-
"@sphereon/ssi-sdk-ext.key-manager": "0.28.1-feature.oyd.cmsm.improv.
|
|
24
|
-
"@sphereon/ssi-sdk-ext.kms-local": "0.28.1-feature.oyd.cmsm.improv.
|
|
24
|
+
"@sphereon/ssi-sdk-ext.key-manager": "0.28.1-feature.oyd.cmsm.improv.21+d4f5d24",
|
|
25
|
+
"@sphereon/ssi-sdk-ext.kms-local": "0.28.1-feature.oyd.cmsm.improv.21+d4f5d24",
|
|
25
26
|
"@sphereon/ssi-sdk.dev": "0.30.2-feature.SDK.41.oidf.support.286",
|
|
26
27
|
"@types/debug": "4.1.12",
|
|
27
28
|
"@veramo/key-manager": "4.2.0",
|
|
@@ -47,5 +48,5 @@
|
|
|
47
48
|
"node_modules",
|
|
48
49
|
"src"
|
|
49
50
|
],
|
|
50
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "d4f5d24390370292662bf168c8b6f9c1f6e69269"
|
|
51
52
|
}
|
package/src/oyd-did-provider.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { importProvidedOrGeneratedKey } from '@sphereon/ssi-sdk-ext.key-utils'
|
|
1
2
|
import { IAgentContext, IIdentifier, IKey, IKeyManager, IService, TKeyType } from '@veramo/core'
|
|
2
3
|
import { AbstractIdentifierProvider } from '@veramo/did-manager'
|
|
3
4
|
import { KeyManager } from '@veramo/key-manager'
|
|
@@ -12,7 +13,7 @@ import type {
|
|
|
12
13
|
CMSMCallbackOpts,
|
|
13
14
|
OydConstructorOptions,
|
|
14
15
|
OydCreateIdentifierOptions,
|
|
15
|
-
OydDidHoldKeysArgs,
|
|
16
|
+
// OydDidHoldKeysArgs,
|
|
16
17
|
OydDidSupportedKeyTypes,
|
|
17
18
|
} from './types/oyd-provider-types.js'
|
|
18
19
|
|
|
@@ -47,7 +48,7 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
|
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
async createIdentifier(
|
|
50
|
-
{ kms, options }: { kms?: string; options: OydCreateIdentifierOptions },
|
|
51
|
+
{ kms, alias, options }: { kms?: string; alias?: string; options: OydCreateIdentifierOptions },
|
|
51
52
|
context: IContext
|
|
52
53
|
): Promise<Omit<IIdentifier, 'provider'>> {
|
|
53
54
|
const resolvedKms = await this.assertedKms(kms, this.defaultKms)
|
|
@@ -62,7 +63,7 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
|
|
|
62
63
|
const body = {
|
|
63
64
|
options: {
|
|
64
65
|
cmsm: false,
|
|
65
|
-
key_type: options.
|
|
66
|
+
key_type: options.type ?? 'Secp256r1',
|
|
66
67
|
},
|
|
67
68
|
}
|
|
68
69
|
let didDoc: any | undefined
|
|
@@ -84,15 +85,18 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
|
|
|
84
85
|
return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
const keyType: OydDidSupportedKeyTypes = options?.
|
|
88
|
-
const key = await
|
|
88
|
+
const keyType: OydDidSupportedKeyTypes = options?.type ?? 'Secp256r1'
|
|
89
|
+
const key = await importProvidedOrGeneratedKey(
|
|
89
90
|
{
|
|
90
91
|
kms: resolvedKms,
|
|
92
|
+
alias: alias ?? options.alias ?? options.kid ?? `${didDoc.did}#key-doc`,
|
|
91
93
|
options: {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
key: {
|
|
95
|
+
kid: `${didDoc.did}#key-doc`,
|
|
96
|
+
type: keyType,
|
|
97
|
+
publicKeyHex: didDoc.keys[0].publicKeyHex,
|
|
98
|
+
privateKeyHex: didDoc.keys[0].privateKeyHex,
|
|
99
|
+
},
|
|
96
100
|
},
|
|
97
101
|
},
|
|
98
102
|
context
|
|
@@ -119,11 +123,10 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
|
|
|
119
123
|
|
|
120
124
|
const assertedKms = await this.assertedKms(kms, this.defaultKms)
|
|
121
125
|
const pubKey =
|
|
122
|
-
options.key ??
|
|
123
|
-
(await cmsmCallbackOpts.publicKeyCallback(options.kid ?? 'default', assertedKms, options.cmsm?.create !== false, options.keyType)) // "default" is probably not right, TODO!!
|
|
126
|
+
options.key ?? (await cmsmCallbackOpts.publicKeyCallback(options.kid ?? 'default', assertedKms, options.cmsm?.create !== false, options.type)) // "default" is probably not right, TODO!!
|
|
124
127
|
const kid = pubKey.kid
|
|
125
128
|
const keyType = pubKey.type
|
|
126
|
-
const key = base58btc({publicKeyHex: pubKey.publicKeyHex, keyType})
|
|
129
|
+
const key = base58btc({ publicKeyHex: pubKey.publicKeyHex, keyType })
|
|
127
130
|
|
|
128
131
|
console.log(`Bae58 pubkey key: ${key}`)
|
|
129
132
|
let signValue: any | undefined // do the request
|
|
@@ -161,8 +164,6 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
|
|
|
161
164
|
|
|
162
165
|
console.log(`Signature: ${signature}`)
|
|
163
166
|
|
|
164
|
-
|
|
165
|
-
|
|
166
167
|
const body_signed = {
|
|
167
168
|
key,
|
|
168
169
|
options: {
|
|
@@ -195,24 +196,6 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
|
|
|
195
196
|
return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))
|
|
196
197
|
}
|
|
197
198
|
|
|
198
|
-
/* let oydKeyType: OydDidSupportedKeyTypes = "Secp256r1";
|
|
199
|
-
|
|
200
|
-
const key = await this.holdKeys(
|
|
201
|
-
{
|
|
202
|
-
kms: assertedKms,
|
|
203
|
-
options: {
|
|
204
|
-
keyType: oydKeyType,
|
|
205
|
-
kid: kid,
|
|
206
|
-
publicKeyHex: pubKey.publicKeyHex,
|
|
207
|
-
},
|
|
208
|
-
},
|
|
209
|
-
context
|
|
210
|
-
);*/
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
199
|
const identifier: Omit<IIdentifier, 'provider'> = {
|
|
217
200
|
did: didDoc.did,
|
|
218
201
|
controllerKeyId: pubKey.kid,
|
|
@@ -252,31 +235,6 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
|
|
|
252
235
|
async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {
|
|
253
236
|
return { success: true }
|
|
254
237
|
}
|
|
255
|
-
|
|
256
|
-
private async importOrCreateKey(args: OydDidHoldKeysArgs, context: IContext): Promise<IKey> {
|
|
257
|
-
const kms = await this.assertedKms(args.kms, this.defaultKms)
|
|
258
|
-
if (args.options.privateKeyHex) {
|
|
259
|
-
return context.agent.keyManagerImport({
|
|
260
|
-
kms,
|
|
261
|
-
type: args.options.keyType,
|
|
262
|
-
kid: args.options.kid,
|
|
263
|
-
privateKeyHex: args.options.privateKeyHex,
|
|
264
|
-
/*meta: {
|
|
265
|
-
algorithms: ['Secp256r1'],
|
|
266
|
-
},*/
|
|
267
|
-
})
|
|
268
|
-
}
|
|
269
|
-
return context.agent.keyManagerCreate({
|
|
270
|
-
type: args.options.keyType,
|
|
271
|
-
kms,
|
|
272
|
-
meta: {
|
|
273
|
-
algorithms: ['Secp256r1'],
|
|
274
|
-
},
|
|
275
|
-
})
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
238
|
}
|
|
281
239
|
|
|
282
240
|
const keyCodecs = {
|
|
@@ -289,17 +247,15 @@ const keyCodecs = {
|
|
|
289
247
|
Bls12381G2: 'bls12_381-g2-pub',
|
|
290
248
|
} as const
|
|
291
249
|
|
|
292
|
-
const base58btc = ({publicKeyHex, keyType = 'Secp256r1'}:{publicKeyHex: string
|
|
250
|
+
const base58btc = ({ publicKeyHex, keyType = 'Secp256r1' }: { publicKeyHex: string; keyType?: TKeyType }): string => {
|
|
293
251
|
const codecName = keyCodecs[keyType]
|
|
294
252
|
|
|
295
|
-
|
|
296
253
|
// methodSpecificId = bytesToMultibase({bytes: u8a.fromString(key.publicKeyHex, 'hex'), codecName})
|
|
297
254
|
return u8a
|
|
298
|
-
.toString(
|
|
299
|
-
Multibase.encode('base58btc', Multicodec.addPrefix(codecName as Multicodec.CodecName, u8a.fromString(publicKeyHex, 'hex')))
|
|
300
|
-
)
|
|
255
|
+
.toString(Multibase.encode('base58btc', Multicodec.addPrefix(codecName as Multicodec.CodecName, u8a.fromString(publicKeyHex, 'hex'))))
|
|
301
256
|
.toString()
|
|
302
257
|
}
|
|
258
|
+
|
|
303
259
|
export function defaultOydCmsmPublicKeyCallback(
|
|
304
260
|
keyManager: KeyManager
|
|
305
261
|
): (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey> {
|
|
@@ -314,7 +270,27 @@ export function defaultOydCmsmPublicKeyCallback(
|
|
|
314
270
|
if (!kms) {
|
|
315
271
|
return Promise.reject(Error('No KMS provided, whilst creating a new key!'))
|
|
316
272
|
}
|
|
317
|
-
|
|
273
|
+
const alias = kid ?? `oyd-${new Date().toISOString()}`
|
|
274
|
+
|
|
275
|
+
const agent = keyManager
|
|
276
|
+
const key = await importProvidedOrGeneratedKey(
|
|
277
|
+
{
|
|
278
|
+
kms,
|
|
279
|
+
alias,
|
|
280
|
+
options: {
|
|
281
|
+
key: {
|
|
282
|
+
type: createKeyType ?? 'Secp256r1',
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
//@ts-ignore
|
|
288
|
+
agent
|
|
289
|
+
}
|
|
290
|
+
)
|
|
291
|
+
return key
|
|
292
|
+
|
|
293
|
+
// return await keyManager.keyManagerCreate({ kms, type: createKeyType ?? 'Secp256r1' })
|
|
318
294
|
}
|
|
319
295
|
return Promise.reject(Error('No existing key found, and create is false!'))
|
|
320
296
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { IKey, TKeyType } from '@veramo/core'
|
|
2
2
|
|
|
3
3
|
export type OydConstructorOptions = {
|
|
4
|
-
defaultKms?: string
|
|
5
|
-
clientManagedSecretMode?: CMSMCallbackOpts
|
|
4
|
+
defaultKms?: string
|
|
5
|
+
clientManagedSecretMode?: CMSMCallbackOpts
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export type OydCreateIdentifierOptions = {
|
|
9
|
-
|
|
9
|
+
type?: OydDidSupportedKeyTypes;
|
|
10
10
|
privateKeyHex?: string;
|
|
11
11
|
kid?: string;
|
|
12
|
+
alias?: string;
|
|
12
13
|
keyUse?: KeyUse;
|
|
13
14
|
cmsm?: CmsmOptions;
|
|
14
15
|
key?: IKey // Use the supplied key instead of looking it up in the KMS or creating a new one
|