@sphereon/did-provider-oyd 0.28.1-feature.esm.cjs.8 → 0.28.1-feature.oyd.cmsm.improv.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,75 @@
1
- # OwnYourData did:oyd provider
1
+ # `did:oyd` Provider
2
2
 
3
- This package contains an implementation of `AbstractIdentifierProvider` for the `did:oyd` method.
4
- This enables creation and control of `did:oyd` entities.
3
+ This package contains an implementation of the `AbstractIdentifierProvider` for the `did:oyd` method. Enabling creating and resolving of `did:oyd` entities, conforming to the [spec for OYDID](https://ownyourdata.github.io/oydid/)
4
+
5
+ ## Available functions
6
+
7
+ - createIdentifier
8
+ - resolveDidOyd
9
+
10
+ ## Usage
11
+
12
+ ### Creating an identifier
13
+
14
+ The most simple version of creating a did:oyd is without any input parameters:
15
+
16
+ ```typescript
17
+ const identifier: IIdentifier = await agent.didManagerCreate()
18
+ ```
19
+
20
+ Use the following options to create a did:oyd using Client-Managed-Secret-Mode:
21
+
22
+ ```typescript
23
+ const DID_METHOD = 'did:oyd'
24
+ const oydDIDProvider = new OydDIDProvider({
25
+ defaultKms: 'mem',
26
+ clientManagedSecretMode: {
27
+ publicKeyCallback: some_function, // callback to provide public Key
28
+ signCallback: some_function // callback for signing payload
29
+ }
30
+ });
31
+
32
+ const agent = createAgent<IKeyManager, DIDManager>({
33
+ plugins: [
34
+ new SphereonKeyManager({
35
+ store: new MemoryKeyStore(),
36
+ kms: {
37
+ mem: new SphereonKeyManagementSystem(new MemoryPrivateKeyStore())
38
+ },
39
+ }),
40
+ new DIDManager({
41
+ providers: {
42
+ [DID_METHOD]: oydDIDProvider,
43
+ },
44
+ defaultProvider: DID_METHOD,
45
+ store: new MemoryDIDStore()
46
+ }),
47
+ ],
48
+ });
49
+
50
+ const identifier: IIdentifier = await agent.didManagerCreate();
51
+ ```
52
+
53
+
54
+ ### Resolving a DID
55
+
56
+ The example below resolves a did:oyd to DIDResolutionResult.
57
+
58
+ ```typescript
59
+ const didResolutionResult: DIDResolutionResult = await agent.resolveDid({ didUrl: 'did:oyd:zQm...' })
60
+ ```
61
+
62
+ ## Installation
63
+
64
+ ```shell
65
+ yarn add @sphereon/ssi-sdk-ext.did-provider-oyd
66
+ ```
67
+
68
+ ## Build
69
+
70
+ ```shell
71
+ yarn build
72
+ ```
73
+
74
+ ## REST API Endpoints for `did:oyd`
75
+ For managing did:oyd DIDs (create, update, delete), refer to the following page, which provides detailed information on the available REST API endpoints: https://github.com/OwnYourData/oydid/tree/main/uni-registrar-driver-did-oyd
package/dist/index.d.ts CHANGED
@@ -1,82 +1,10 @@
1
- import { IAgentContext, IKeyManager, IIdentifier, IKey, IService } from '@veramo/core';
2
- import { AbstractIdentifierProvider } from '@veramo/did-manager';
3
- import { DIDResolver } from 'did-resolver';
4
-
5
- type OydCreateIdentifierOptions = {
6
- keyType?: OydDidSupportedKeyTypes;
7
- privateKeyHex?: string;
8
- keyUse?: KeyUse;
9
- };
10
- type OydDidHoldKeysArgs = {
11
- kms: string;
12
- options: HoldKeysOpts;
13
- };
14
- type HoldKeysOpts = {
15
- keyType: OydDidSupportedKeyTypes;
16
- kid: string;
17
- publicKeyHex?: string;
18
- privateKeyHex?: string;
19
- };
20
- declare enum SupportedKeyTypes {
21
- Secp256r1 = "Secp256r1",
22
- Secp256k1 = "Secp256k1",
23
- Ed25519 = "Ed25519",
24
- X25519 = "X25519"
25
- }
26
- type OydDidSupportedKeyTypes = keyof typeof SupportedKeyTypes;
27
- type KeyUse = 'sig' | 'enc';
28
-
29
- type IContext = IAgentContext<IKeyManager>;
30
1
  /**
31
- * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers
32
- * @public
33
- */
34
- declare class OydDIDProvider extends AbstractIdentifierProvider {
35
- private defaultKms?;
36
- constructor(options: {
37
- defaultKms?: string;
38
- });
39
- createIdentifier({ kms, options }: {
40
- kms?: string;
41
- options: OydCreateIdentifierOptions;
42
- }, context: IContext): Promise<Omit<IIdentifier, 'provider'>>;
43
- updateIdentifier(args: {
44
- did: string;
45
- kms?: string | undefined;
46
- alias?: string | undefined;
47
- options?: any;
48
- }, context: IAgentContext<IKeyManager>): Promise<IIdentifier>;
49
- deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean>;
50
- addKey({ identifier, key, options }: {
51
- identifier: IIdentifier;
52
- key: IKey;
53
- options?: any;
54
- }, context: IContext): Promise<any>;
55
- addService({ identifier, service, options }: {
56
- identifier: IIdentifier;
57
- service: IService;
58
- options?: any;
59
- }, context: IContext): Promise<any>;
60
- removeKey(args: {
61
- identifier: IIdentifier;
62
- kid: string;
63
- options?: any;
64
- }, context: IContext): Promise<any>;
65
- removeService(args: {
66
- identifier: IIdentifier;
67
- id: string;
68
- options?: any;
69
- }, context: IContext): Promise<any>;
70
- private holdKeys;
71
- }
72
-
73
- /**
74
- * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.
2
+ * Provides `did:oyd` {@link @ownyourdata/did-provider-oyd#OydDIDProvider | identifier provider } for the
3
+ * {@link @veramo/did-manager#DIDManager}
75
4
  *
76
- * @public
5
+ * @packageDocumentation
77
6
  */
78
- declare function getDidOydResolver(): {
79
- oyd: DIDResolver;
80
- };
81
-
82
- export { type KeyUse, type OydCreateIdentifierOptions, OydDIDProvider, type OydDidHoldKeysArgs, type OydDidSupportedKeyTypes, SupportedKeyTypes, getDidOydResolver };
7
+ export { OydDIDProvider } from './oyd-did-provider';
8
+ export { getDidOydResolver } from './resolver';
9
+ export * from './types/oyd-provider-types';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,cAAc,4BAA4B,CAAA"}
package/dist/index.js CHANGED
@@ -1,162 +1,29 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // src/oyd-did-provider.ts
5
- import { AbstractIdentifierProvider } from "@veramo/did-manager";
6
- import fetch from "cross-fetch";
7
- import Debug from "debug";
8
- var debug = Debug("veramo:oyd-did:identifier-provider");
9
- var OydDIDProvider = class extends AbstractIdentifierProvider {
10
- static {
11
- __name(this, "OydDIDProvider");
12
- }
13
- defaultKms;
14
- constructor(options) {
15
- super();
16
- this.defaultKms = options.defaultKms;
17
- }
18
- async createIdentifier({ kms, options }, context) {
19
- const body = {
20
- options
21
- };
22
- const url = "https://oydid-registrar.data-container.net/1.0/createIdentifier";
23
- let didDoc;
24
- try {
25
- const response = await fetch(url, {
26
- method: "POST",
27
- headers: {
28
- "Content-Type": "application/json"
29
- },
30
- body: JSON.stringify(body)
31
- });
32
- if (!response.ok) {
33
- throw new Error("Network response was not ok: " + response.statusText);
34
- }
35
- didDoc = await response.json();
36
- } catch (error) {
37
- throw new Error("There has been a problem with the fetch operation: " + error.toString());
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]; } };
38
7
  }
39
- const keyType = options?.keyType || "Ed25519";
40
- const key = await this.holdKeys({
41
- // @ts-ignore
42
- kms: kms || this.defaultKms,
43
- options: {
44
- keyType,
45
- kid: didDoc.did + "#key-doc",
46
- publicKeyHex: didDoc.keys[0].publicKeyHex,
47
- privateKeyHex: didDoc.keys[0].privateKeyHex
48
- }
49
- }, context);
50
- const identifier = {
51
- did: didDoc.did,
52
- controllerKeyId: key.kid,
53
- keys: [
54
- key
55
- ],
56
- services: []
57
- };
58
- debug("Created", identifier.did);
59
- return identifier;
60
- }
61
- async updateIdentifier(args, context) {
62
- throw new Error("OydDIDProvider updateIdentifier not supported yet.");
63
- }
64
- async deleteIdentifier(identifier, context) {
65
- for (const { kid } of identifier.keys) {
66
- await context.agent.keyManagerDelete({
67
- kid
68
- });
69
- }
70
- return true;
71
- }
72
- async addKey({ identifier, key, options }, context) {
73
- return {
74
- success: true
75
- };
76
- }
77
- async addService({ identifier, service, options }, context) {
78
- return {
79
- success: true
80
- };
81
- }
82
- async removeKey(args, context) {
83
- return {
84
- success: true
85
- };
86
- }
87
- async removeService(args, context) {
88
- return {
89
- success: true
90
- };
91
- }
92
- async holdKeys(args, context) {
93
- if (args.options.privateKeyHex) {
94
- return context.agent.keyManagerImport({
95
- // @ts-ignore
96
- kms: args.kms || this.defaultKms,
97
- type: args.options.keyType,
98
- kid: args.options.kid,
99
- privateKeyHex: args.options.privateKeyHex,
100
- meta: {
101
- algorithms: [
102
- "Ed25519"
103
- ]
104
- }
105
- });
106
- }
107
- return context.agent.keyManagerCreate({
108
- type: args.options.keyType,
109
- // @ts-ignore
110
- kms: args.kms || this.defaultKms,
111
- meta: {
112
- algorithms: [
113
- "Ed25519"
114
- ]
115
- }
116
- });
117
- }
118
- };
119
-
120
- // src/resolver.ts
121
- import fetch2 from "cross-fetch";
122
- var resolveDidOyd = /* @__PURE__ */ __name(async (didUrl, _parsed, _resolver, options) => {
123
- try {
124
- const baseUrl = "https://oydid-resolver.data-container.net";
125
- const response = await fetch2(`${baseUrl}/1.0/identifiers/${didUrl}`);
126
- if (!response.ok) {
127
- throw new Error("Network response was not ok: " + response.statusText);
128
- }
129
- const didDoc = await response.json();
130
- return didDoc;
131
- } catch (err) {
132
- return {
133
- didDocumentMetadata: {},
134
- didResolutionMetadata: {
135
- error: "invalidDid",
136
- message: err.toString()
137
- },
138
- didDocument: null
139
- };
140
- }
141
- }, "resolveDidOyd");
142
- function getDidOydResolver() {
143
- return {
144
- oyd: resolveDidOyd
145
- };
146
- }
147
- __name(getDidOydResolver, "getDidOydResolver");
148
-
149
- // src/types/oyd-provider-types.ts
150
- var SupportedKeyTypes = /* @__PURE__ */ function(SupportedKeyTypes2) {
151
- SupportedKeyTypes2["Secp256r1"] = "Secp256r1";
152
- SupportedKeyTypes2["Secp256k1"] = "Secp256k1";
153
- SupportedKeyTypes2["Ed25519"] = "Ed25519";
154
- SupportedKeyTypes2["X25519"] = "X25519";
155
- return SupportedKeyTypes2;
156
- }({});
157
- export {
158
- OydDIDProvider,
159
- SupportedKeyTypes,
160
- getDidOydResolver
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);
161
15
  };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getDidOydResolver = exports.OydDIDProvider = void 0;
18
+ /**
19
+ * Provides `did:oyd` {@link @ownyourdata/did-provider-oyd#OydDIDProvider | identifier provider } for the
20
+ * {@link @veramo/did-manager#DIDManager}
21
+ *
22
+ * @packageDocumentation
23
+ */
24
+ var oyd_did_provider_1 = require("./oyd-did-provider");
25
+ Object.defineProperty(exports, "OydDIDProvider", { enumerable: true, get: function () { return oyd_did_provider_1.OydDIDProvider; } });
26
+ var resolver_1 = require("./resolver");
27
+ Object.defineProperty(exports, "getDidOydResolver", { enumerable: true, get: function () { return resolver_1.getDidOydResolver; } });
28
+ __exportStar(require("./types/oyd-provider-types"), exports);
162
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/oyd-did-provider.ts","../src/resolver.ts","../src/types/oyd-provider-types.ts"],"sourcesContent":["import { IIdentifier, IKey, IService, IAgentContext, IKeyManager } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport type { OydCreateIdentifierOptions, OydDidHoldKeysArgs, OydDidSupportedKeyTypes } from './types/oyd-provider-types.js'\nimport fetch from 'cross-fetch'\n\nimport Debug from 'debug'\nconst debug = Debug('veramo:oyd-did:identifier-provider')\n\ntype IContext = IAgentContext<IKeyManager>\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers\n * @public\n */\nexport class OydDIDProvider extends AbstractIdentifierProvider {\n private defaultKms?: string\n\n constructor(options: { defaultKms?: string }) {\n super()\n this.defaultKms = options.defaultKms\n }\n\n async createIdentifier(\n { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },\n context: IContext\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const body = { options }\n const url = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'\n\n let didDoc: any | undefined\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n didDoc = await response.json()\n } catch (error) {\n // @ts-ignore\n throw new Error('There has been a problem with the fetch operation: ' + error.toString())\n }\n\n const keyType: OydDidSupportedKeyTypes = options?.keyType || 'Ed25519'\n const key = await this.holdKeys(\n {\n // @ts-ignore\n kms: kms || this.defaultKms,\n options: {\n keyType,\n kid: didDoc.did + '#key-doc',\n publicKeyHex: didDoc.keys[0].publicKeyHex,\n privateKeyHex: didDoc.keys[0].privateKeyHex,\n },\n },\n context\n )\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: key.kid,\n keys: [key],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async updateIdentifier(\n args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },\n context: IAgentContext<IKeyManager>\n ): Promise<IIdentifier> {\n throw new Error('OydDIDProvider updateIdentifier not supported yet.')\n }\n\n async deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean> {\n for (const { kid } of identifier.keys) {\n await context.agent.keyManagerDelete({ kid })\n }\n return true\n }\n\n async addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeKey(args: { identifier: IIdentifier; kid: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n private async holdKeys(args: OydDidHoldKeysArgs, context: IContext): Promise<IKey> {\n if (args.options.privateKeyHex) {\n return context.agent.keyManagerImport({\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n type: args.options.keyType,\n kid: args.options.kid,\n privateKeyHex: args.options.privateKeyHex,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n return context.agent.keyManagerCreate({\n type: args.options.keyType,\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n}\n","import { DIDResolutionOptions, DIDResolutionResult, DIDResolver, ParsedDID, Resolvable } from 'did-resolver'\nimport fetch from 'cross-fetch'\n\nconst resolveDidOyd: DIDResolver = async (\n didUrl: string,\n _parsed: ParsedDID,\n _resolver: Resolvable,\n options: DIDResolutionOptions\n): Promise<DIDResolutionResult> => {\n try {\n const baseUrl: string = 'https://oydid-resolver.data-container.net'\n // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);\n const response = await fetch(`${baseUrl}/1.0/identifiers/${didUrl}`)\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n const didDoc = await response.json()\n return didDoc as DIDResolutionResult\n } catch (err: any) {\n return {\n didDocumentMetadata: {},\n didResolutionMetadata: { error: 'invalidDid', message: err.toString() },\n didDocument: null,\n }\n }\n}\n\n/**\n * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.\n *\n * @public\n */\nexport function getDidOydResolver() {\n return { oyd: resolveDidOyd }\n}\n","export type OydCreateIdentifierOptions = {\n keyType?: OydDidSupportedKeyTypes\n privateKeyHex?: string\n keyUse?: KeyUse\n}\n\nexport type OydDidHoldKeysArgs = {\n kms: string\n options: HoldKeysOpts\n}\n\ntype HoldKeysOpts = {\n keyType: OydDidSupportedKeyTypes\n kid: string\n publicKeyHex?: string\n privateKeyHex?: string\n}\n\nexport enum SupportedKeyTypes {\n Secp256r1 = 'Secp256r1',\n Secp256k1 = 'Secp256k1',\n Ed25519 = 'Ed25519',\n X25519 = 'X25519',\n}\n\nexport type OydDidSupportedKeyTypes = keyof typeof SupportedKeyTypes\n\nexport type KeyUse = 'sig' | 'enc'\n"],"mappings":"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","names":["AbstractIdentifierProvider","fetch","Debug","debug","Debug","OydDIDProvider","AbstractIdentifierProvider","defaultKms","constructor","options","createIdentifier","kms","context","body","url","didDoc","response","fetch","method","headers","JSON","stringify","ok","Error","statusText","json","error","toString","keyType","key","holdKeys","kid","did","publicKeyHex","keys","privateKeyHex","identifier","controllerKeyId","services","updateIdentifier","args","deleteIdentifier","agent","keyManagerDelete","addKey","success","addService","service","removeKey","removeService","keyManagerImport","type","meta","algorithms","keyManagerCreate","fetch","resolveDidOyd","didUrl","_parsed","_resolver","options","baseUrl","response","fetch","ok","Error","statusText","didDoc","json","err","didDocumentMetadata","didResolutionMetadata","error","message","toString","didDocument","getDidOydResolver","oyd","SupportedKeyTypes"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,uCAA8C;AAArC,6GAAA,iBAAiB,OAAA;AAC1B,6DAA0C"}
@@ -0,0 +1,61 @@
1
+ import { IIdentifier, IKey, IService, IAgentContext, IKeyManager, TKeyType } from '@veramo/core';
2
+ import { AbstractIdentifierProvider } from '@veramo/did-manager';
3
+ import { KeyManager } from '@veramo/key-manager';
4
+ import type { OydCreateIdentifierOptions, CMSMCallbackOpts, OydConstructorOptions } from './types/oyd-provider-types.js';
5
+ type IContext = IAgentContext<IKeyManager>;
6
+ /**
7
+ * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers
8
+ * @public
9
+ */
10
+ export declare class OydDIDProvider extends AbstractIdentifierProvider {
11
+ private readonly defaultKms?;
12
+ private readonly cmsmCallbackOpts?;
13
+ constructor(options?: OydConstructorOptions);
14
+ private assertedKms;
15
+ createIdentifier({ kms, options }: {
16
+ kms?: string;
17
+ options: OydCreateIdentifierOptions;
18
+ }, context: IContext): Promise<Omit<IIdentifier, 'provider'>>;
19
+ createIdentifierWithCMSM({ kms, options }: {
20
+ kms?: string;
21
+ options: OydCreateIdentifierOptions;
22
+ }, context: IContext): Promise<Omit<IIdentifier, 'provider'>>;
23
+ updateIdentifier(args: {
24
+ did: string;
25
+ kms?: string | undefined;
26
+ alias?: string | undefined;
27
+ options?: any;
28
+ }, context: IAgentContext<IKeyManager>): Promise<IIdentifier>;
29
+ deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean>;
30
+ addKey({ identifier, key, options }: {
31
+ identifier: IIdentifier;
32
+ key: IKey;
33
+ options?: any;
34
+ }, context: IContext): Promise<any>;
35
+ addService({ identifier, service, options }: {
36
+ identifier: IIdentifier;
37
+ service: IService;
38
+ options?: any;
39
+ }, context: IContext): Promise<any>;
40
+ removeKey(args: {
41
+ identifier: IIdentifier;
42
+ kid: string;
43
+ options?: any;
44
+ }, context: IContext): Promise<any>;
45
+ removeService(args: {
46
+ identifier: IIdentifier;
47
+ id: string;
48
+ options?: any;
49
+ }, context: IContext): Promise<any>;
50
+ private importOrCreateKey;
51
+ }
52
+ export declare function defaultOydCmsmPublicKeyCallback(keyManager: KeyManager): (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey>;
53
+ export declare function defaultOydCmsmSignCallback(keyManager: KeyManager): (kid: string, data: string) => Promise<string>;
54
+ export declare class DefaultOydCmsmCallbacks implements CMSMCallbackOpts {
55
+ private keyManager;
56
+ constructor(keyManager: KeyManager);
57
+ publicKeyCallback: (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey>;
58
+ signCallback: (kid: string, value: string) => Promise<string>;
59
+ }
60
+ export {};
61
+ //# sourceMappingURL=oyd-did-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oyd-did-provider.d.ts","sourceRoot":"","sources":["../src/oyd-did-provider.ts"],"names":[],"mappings":"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"}