@enbox/dids 0.0.1
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/LICENSE +201 -0
- package/README.md +1 -0
- package/dist/browser.js +77 -0
- package/dist/browser.js.map +7 -0
- package/dist/browser.mjs +77 -0
- package/dist/browser.mjs.map +7 -0
- package/dist/cjs/index.js +6303 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/utils.js +245 -0
- package/dist/cjs/utils.js.map +7 -0
- package/dist/esm/bearer-did.js +201 -0
- package/dist/esm/bearer-did.js.map +1 -0
- package/dist/esm/did-error.js +62 -0
- package/dist/esm/did-error.js.map +1 -0
- package/dist/esm/did.js +114 -0
- package/dist/esm/did.js.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/methods/did-dht.js +1241 -0
- package/dist/esm/methods/did-dht.js.map +1 -0
- package/dist/esm/methods/did-ion.js +570 -0
- package/dist/esm/methods/did-ion.js.map +1 -0
- package/dist/esm/methods/did-jwk.js +298 -0
- package/dist/esm/methods/did-jwk.js.map +1 -0
- package/dist/esm/methods/did-key.js +983 -0
- package/dist/esm/methods/did-key.js.map +1 -0
- package/dist/esm/methods/did-method.js +53 -0
- package/dist/esm/methods/did-method.js.map +1 -0
- package/dist/esm/methods/did-web.js +83 -0
- package/dist/esm/methods/did-web.js.map +1 -0
- package/dist/esm/resolver/resolver-cache-level.js +101 -0
- package/dist/esm/resolver/resolver-cache-level.js.map +1 -0
- package/dist/esm/resolver/resolver-cache-noop.js +24 -0
- package/dist/esm/resolver/resolver-cache-noop.js.map +1 -0
- package/dist/esm/resolver/universal-resolver.js +187 -0
- package/dist/esm/resolver/universal-resolver.js.map +1 -0
- package/dist/esm/types/did-core.js +51 -0
- package/dist/esm/types/did-core.js.map +1 -0
- package/dist/esm/types/did-resolution.js +12 -0
- package/dist/esm/types/did-resolution.js.map +1 -0
- package/dist/esm/types/multibase.js +2 -0
- package/dist/esm/types/multibase.js.map +1 -0
- package/dist/esm/types/portable-did.js +2 -0
- package/dist/esm/types/portable-did.js.map +1 -0
- package/dist/esm/utils.js +458 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/types/bearer-did.d.ts +143 -0
- package/dist/types/bearer-did.d.ts.map +1 -0
- package/dist/types/did-error.d.ts +50 -0
- package/dist/types/did-error.d.ts.map +1 -0
- package/dist/types/did.d.ts +125 -0
- package/dist/types/did.d.ts.map +1 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/methods/did-dht.d.ts +682 -0
- package/dist/types/methods/did-dht.d.ts.map +1 -0
- package/dist/types/methods/did-ion.d.ts +492 -0
- package/dist/types/methods/did-ion.d.ts.map +1 -0
- package/dist/types/methods/did-jwk.d.ts +236 -0
- package/dist/types/methods/did-jwk.d.ts.map +1 -0
- package/dist/types/methods/did-key.d.ts +499 -0
- package/dist/types/methods/did-key.d.ts.map +1 -0
- package/dist/types/methods/did-method.d.ts +238 -0
- package/dist/types/methods/did-method.d.ts.map +1 -0
- package/dist/types/methods/did-web.d.ts +37 -0
- package/dist/types/methods/did-web.d.ts.map +1 -0
- package/dist/types/resolver/resolver-cache-level.d.ts +86 -0
- package/dist/types/resolver/resolver-cache-level.d.ts.map +1 -0
- package/dist/types/resolver/resolver-cache-noop.d.ts +9 -0
- package/dist/types/resolver/resolver-cache-noop.d.ts.map +1 -0
- package/dist/types/resolver/universal-resolver.d.ts +109 -0
- package/dist/types/resolver/universal-resolver.d.ts.map +1 -0
- package/dist/types/types/did-core.d.ts +523 -0
- package/dist/types/types/did-core.d.ts.map +1 -0
- package/dist/types/types/did-resolution.d.ts +85 -0
- package/dist/types/types/did-resolution.d.ts.map +1 -0
- package/dist/types/types/multibase.d.ts +28 -0
- package/dist/types/types/multibase.d.ts.map +1 -0
- package/dist/types/types/portable-did.d.ts +59 -0
- package/dist/types/types/portable-did.d.ts.map +1 -0
- package/dist/types/utils.d.ts +378 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/utils.js +28 -0
- package/dist/utils.js.map +7 -0
- package/package.json +116 -0
- package/src/bearer-did.ts +287 -0
- package/src/did-error.ts +75 -0
- package/src/did.ts +186 -0
- package/src/index.ts +21 -0
- package/src/methods/did-dht.ts +1637 -0
- package/src/methods/did-ion.ts +887 -0
- package/src/methods/did-jwk.ts +410 -0
- package/src/methods/did-key.ts +1248 -0
- package/src/methods/did-method.ts +276 -0
- package/src/methods/did-web.ts +96 -0
- package/src/resolver/resolver-cache-level.ts +163 -0
- package/src/resolver/resolver-cache-noop.ts +26 -0
- package/src/resolver/universal-resolver.ts +238 -0
- package/src/types/did-core.ts +580 -0
- package/src/types/did-resolution.ts +93 -0
- package/src/types/multibase.ts +29 -0
- package/src/types/portable-did.ts +64 -0
- package/src/utils.ts +532 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-ion.js","sourceRoot":"","sources":["../../../src/methods/did-ion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Convert } from '@enbox/common';
|
|
11
|
+
import { LocalKeyManager } from '@enbox/crypto';
|
|
12
|
+
import { Did } from '../did.js';
|
|
13
|
+
import { DidMethod } from './did-method.js';
|
|
14
|
+
import { BearerDid } from '../bearer-did.js';
|
|
15
|
+
import { DidError, DidErrorCode } from '../did-error.js';
|
|
16
|
+
import { EMPTY_DID_RESOLUTION_RESULT } from '../types/did-resolution.js';
|
|
17
|
+
/**
|
|
18
|
+
* The `DidJwk` class provides an implementation of the `did:jwk` DID method.
|
|
19
|
+
*
|
|
20
|
+
* Features:
|
|
21
|
+
* - DID Creation: Create new `did:jwk` DIDs.
|
|
22
|
+
* - DID Key Management: Instantiate a DID object from an existing verification method key set or
|
|
23
|
+
* or a key in a Key Management System (KMS). If supported by the KMS, a DID's
|
|
24
|
+
* key can be exported to a portable DID format.
|
|
25
|
+
* - DID Resolution: Resolve a `did:jwk` to its corresponding DID Document.
|
|
26
|
+
* - Signature Operations: Sign and verify messages using keys associated with a DID.
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* The `did:jwk` DID method uses a single JSON Web Key (JWK) to generate a DID and does not rely
|
|
30
|
+
* on any external system such as a blockchain or centralized database. This characteristic makes
|
|
31
|
+
* it suitable for use cases where a assertions about a DID Subject can be self-verifiable by
|
|
32
|
+
* third parties.
|
|
33
|
+
*
|
|
34
|
+
* The DID URI is formed by Base64URL-encoding the JWK and prefixing with `did:jwk:`. The DID
|
|
35
|
+
* Document of a `did:jwk` DID contains a single verification method, which is the JWK used
|
|
36
|
+
* to generate the DID. The verification method is identified by the key ID `#0`.
|
|
37
|
+
*
|
|
38
|
+
* @see {@link https://github.com/quartzjer/did-jwk/blob/main/spec.md | DID JWK Specification}
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* // DID Creation
|
|
43
|
+
* const did = await DidJwk.create();
|
|
44
|
+
*
|
|
45
|
+
* // DID Creation with a KMS
|
|
46
|
+
* const keyManager = new LocalKeyManager();
|
|
47
|
+
* const did = await DidJwk.create({ keyManager });
|
|
48
|
+
*
|
|
49
|
+
* // DID Resolution
|
|
50
|
+
* const resolutionResult = await DidJwk.resolve({ did: did.uri });
|
|
51
|
+
*
|
|
52
|
+
* // Signature Operations
|
|
53
|
+
* const signer = await did.getSigner();
|
|
54
|
+
* const signature = await signer.sign({ data: new TextEncoder().encode('Message') });
|
|
55
|
+
* const isValid = await signer.verify({ data: new TextEncoder().encode('Message'), signature });
|
|
56
|
+
*
|
|
57
|
+
* // Key Management
|
|
58
|
+
*
|
|
59
|
+
* // Instantiate a DID object from an existing key in a KMS
|
|
60
|
+
* const did = await DidJwk.fromKeyManager({
|
|
61
|
+
* didUri: 'did:jwk:eyJrIjoiT0tQIiwidCI6IkV1c2UyNTYifQ',
|
|
62
|
+
* keyManager
|
|
63
|
+
* });
|
|
64
|
+
*
|
|
65
|
+
* // Instantiate a DID object from an existing verification method key
|
|
66
|
+
* const did = await DidJwk.fromKeys({
|
|
67
|
+
* verificationMethods: [{
|
|
68
|
+
* publicKeyJwk: {
|
|
69
|
+
* kty: 'OKP',
|
|
70
|
+
* crv: 'Ed25519',
|
|
71
|
+
* x: 'cHs7YMLQ3gCWjkacMURBsnEJBcEsvlsE5DfnsfTNDP4'
|
|
72
|
+
* },
|
|
73
|
+
* privateKeyJwk: {
|
|
74
|
+
* kty: 'OKP',
|
|
75
|
+
* crv: 'Ed25519',
|
|
76
|
+
* x: 'cHs7YMLQ3gCWjkacMURBsnEJBcEsvlsE5DfnsfTNDP4',
|
|
77
|
+
* d: 'bdcGE4KzEaekOwoa-ee3gAm1a991WvNj_Eq3WKyqTnE'
|
|
78
|
+
* }
|
|
79
|
+
* }]
|
|
80
|
+
* });
|
|
81
|
+
*
|
|
82
|
+
* // Convert a DID object to a portable format
|
|
83
|
+
* const portableDid = await DidJwk.toKeys({ did });
|
|
84
|
+
*
|
|
85
|
+
* // Reconstruct a DID object from a portable format
|
|
86
|
+
* const did = await DidJwk.fromKeys(portableDid);
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export class DidJwk extends DidMethod {
|
|
90
|
+
/**
|
|
91
|
+
* Creates a new DID using the `did:jwk` method formed from a newly generated key.
|
|
92
|
+
*
|
|
93
|
+
* @remarks
|
|
94
|
+
* The DID URI is formed by Base64URL-encoding the JWK and prefixing with `did:jwk:`.
|
|
95
|
+
*
|
|
96
|
+
* Notes:
|
|
97
|
+
* - If no `options` are given, by default a new Ed25519 key will be generated.
|
|
98
|
+
* - The `algorithm` and `verificationMethods` options are mutually exclusive. If both are given,
|
|
99
|
+
* an error will be thrown.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* // DID Creation
|
|
104
|
+
* const did = await DidJwk.create();
|
|
105
|
+
*
|
|
106
|
+
* // DID Creation with a KMS
|
|
107
|
+
* const keyManager = new LocalKeyManager();
|
|
108
|
+
* const did = await DidJwk.create({ keyManager });
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* @param params - The parameters for the create operation.
|
|
112
|
+
* @param params.keyManager - Optionally specify a Key Management System (KMS) used to generate
|
|
113
|
+
* keys and sign data.
|
|
114
|
+
* @param params.options - Optional parameters that can be specified when creating a new DID.
|
|
115
|
+
* @returns A Promise resolving to a {@link BearerDid} object representing the new DID.
|
|
116
|
+
*/
|
|
117
|
+
static create() {
|
|
118
|
+
return __awaiter(this, arguments, void 0, function* ({ keyManager = new LocalKeyManager(), options = {} } = {}) {
|
|
119
|
+
// Before processing the create operation, validate DID-method-specific requirements to prevent
|
|
120
|
+
// keys from being generated unnecessarily.
|
|
121
|
+
var _a, _b, _c, _d;
|
|
122
|
+
// Check 1: Validate that `algorithm` or `verificationMethods` options are not both given.
|
|
123
|
+
if (options.algorithm && options.verificationMethods) {
|
|
124
|
+
throw new Error(`The 'algorithm' and 'verificationMethods' options are mutually exclusive`);
|
|
125
|
+
}
|
|
126
|
+
// Check 2: If `verificationMethods` is given, it must contain exactly one entry since DID JWK
|
|
127
|
+
// only supports a single verification method.
|
|
128
|
+
if (options.verificationMethods && options.verificationMethods.length !== 1) {
|
|
129
|
+
throw new Error(`The 'verificationMethods' option must contain exactly one entry`);
|
|
130
|
+
}
|
|
131
|
+
// Default to Ed25519 key generation if an algorithm is not given.
|
|
132
|
+
const algorithm = (_d = (_a = options.algorithm) !== null && _a !== void 0 ? _a : (_c = (_b = options.verificationMethods) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.algorithm) !== null && _d !== void 0 ? _d : 'Ed25519';
|
|
133
|
+
// Generate a new key using the specified `algorithm`.
|
|
134
|
+
const keyUri = yield keyManager.generateKey({ algorithm });
|
|
135
|
+
const publicKey = yield keyManager.getPublicKey({ keyUri });
|
|
136
|
+
// Compute the DID identifier from the public key by serializing the JWK to a UTF-8 string and
|
|
137
|
+
// encoding in Base64URL format.
|
|
138
|
+
const identifier = Convert.object(publicKey).toBase64Url();
|
|
139
|
+
// Attach the prefix `did:jwk` to form the complete DID URI.
|
|
140
|
+
const didUri = `did:${DidJwk.methodName}:${identifier}`;
|
|
141
|
+
// Expand the DID URI string to a DID document.
|
|
142
|
+
const didResolutionResult = yield DidJwk.resolve(didUri);
|
|
143
|
+
const document = didResolutionResult.didDocument;
|
|
144
|
+
// Create the BearerDid object from the generated key material.
|
|
145
|
+
const did = new BearerDid({
|
|
146
|
+
uri: didUri,
|
|
147
|
+
document,
|
|
148
|
+
metadata: {},
|
|
149
|
+
keyManager
|
|
150
|
+
});
|
|
151
|
+
return did;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Given the W3C DID Document of a `did:jwk` DID, return the verification method that will be used
|
|
156
|
+
* for signing messages and credentials. If given, the `methodId` parameter is used to select the
|
|
157
|
+
* verification method. If not given, the first verification method in the DID Document is used.
|
|
158
|
+
*
|
|
159
|
+
* Note that for DID JWK, only one verification method can exist so specifying `methodId` could be
|
|
160
|
+
* considered redundant or unnecessary. The option is provided for consistency with other DID
|
|
161
|
+
* method implementations.
|
|
162
|
+
*
|
|
163
|
+
* @param params - The parameters for the `getSigningMethod` operation.
|
|
164
|
+
* @param params.didDocument - DID Document to get the verification method from.
|
|
165
|
+
* @param params.methodId - ID of the verification method to use for signing.
|
|
166
|
+
* @returns Verification method to use for signing.
|
|
167
|
+
*/
|
|
168
|
+
static getSigningMethod(_a) {
|
|
169
|
+
return __awaiter(this, arguments, void 0, function* ({ didDocument }) {
|
|
170
|
+
var _b;
|
|
171
|
+
// Verify the DID method is supported.
|
|
172
|
+
const parsedDid = Did.parse(didDocument.id);
|
|
173
|
+
if (parsedDid && parsedDid.method !== this.methodName) {
|
|
174
|
+
throw new DidError(DidErrorCode.MethodNotSupported, `Method not supported: ${parsedDid.method}`);
|
|
175
|
+
}
|
|
176
|
+
// Attempt to find the verification method in the DID Document.
|
|
177
|
+
const [verificationMethod] = (_b = didDocument.verificationMethod) !== null && _b !== void 0 ? _b : [];
|
|
178
|
+
if (!(verificationMethod && verificationMethod.publicKeyJwk)) {
|
|
179
|
+
throw new DidError(DidErrorCode.InternalError, 'A verification method intended for signing could not be determined from the DID Document');
|
|
180
|
+
}
|
|
181
|
+
return verificationMethod;
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Instantiates a {@link BearerDid} object for the DID JWK method from a given {@link PortableDid}.
|
|
186
|
+
*
|
|
187
|
+
* This method allows for the creation of a `BearerDid` object using a previously created DID's
|
|
188
|
+
* key material, DID document, and metadata.
|
|
189
|
+
*
|
|
190
|
+
* @remarks
|
|
191
|
+
* The `verificationMethod` array of the DID document must contain exactly one key since the
|
|
192
|
+
* `did:jwk` method only supports a single verification method.
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```ts
|
|
196
|
+
* // Export an existing BearerDid to PortableDid format.
|
|
197
|
+
* const portableDid = await did.export();
|
|
198
|
+
* // Reconstruct a BearerDid object from the PortableDid.
|
|
199
|
+
* const did = await DidJwk.import({ portableDid });
|
|
200
|
+
* ```
|
|
201
|
+
*
|
|
202
|
+
* @param params - The parameters for the import operation.
|
|
203
|
+
* @param params.portableDid - The PortableDid object to import.
|
|
204
|
+
* @param params.keyManager - Optionally specify an external Key Management System (KMS) used to
|
|
205
|
+
* generate keys and sign data. If not given, a new
|
|
206
|
+
* {@link LocalKeyManager} instance will be created and
|
|
207
|
+
* used.
|
|
208
|
+
* @returns A Promise resolving to a `BearerDid` object representing the DID formed from the provided keys.
|
|
209
|
+
* @throws An error if the DID document does not contain exactly one verification method.
|
|
210
|
+
*/
|
|
211
|
+
static import(_a) {
|
|
212
|
+
return __awaiter(this, arguments, void 0, function* ({ portableDid, keyManager = new LocalKeyManager() }) {
|
|
213
|
+
// Verify the DID method is supported.
|
|
214
|
+
const parsedDid = Did.parse(portableDid.uri);
|
|
215
|
+
if ((parsedDid === null || parsedDid === void 0 ? void 0 : parsedDid.method) !== DidJwk.methodName) {
|
|
216
|
+
throw new DidError(DidErrorCode.MethodNotSupported, `Method not supported`);
|
|
217
|
+
}
|
|
218
|
+
// Use the given PortableDid to construct the BearerDid object.
|
|
219
|
+
const did = yield BearerDid.import({ portableDid, keyManager });
|
|
220
|
+
// Validate that the given DID document contains exactly one verification method.
|
|
221
|
+
// Note: The non-undefined assertion is necessary because the type system cannot infer that
|
|
222
|
+
// the `verificationMethod` property is defined -- which is checked by `BearerDid.import()`.
|
|
223
|
+
if (did.document.verificationMethod.length !== 1) {
|
|
224
|
+
throw new DidError(DidErrorCode.InvalidDidDocument, `DID document must contain exactly one verification method`);
|
|
225
|
+
}
|
|
226
|
+
return did;
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Resolves a `did:jwk` identifier to a DID Document.
|
|
231
|
+
*
|
|
232
|
+
* @param didUri - The DID to be resolved.
|
|
233
|
+
* @param _options - Optional parameters for resolving the DID. Unused by this DID method.
|
|
234
|
+
* @returns A Promise resolving to a {@link DidResolutionResult} object representing the result of the resolution.
|
|
235
|
+
*/
|
|
236
|
+
static resolve(didUri, _options) {
|
|
237
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
238
|
+
// Attempt to parse the DID URI.
|
|
239
|
+
const parsedDid = Did.parse(didUri);
|
|
240
|
+
// Attempt to decode the Base64URL-encoded JWK.
|
|
241
|
+
let publicKey;
|
|
242
|
+
try {
|
|
243
|
+
publicKey = Convert.base64Url(parsedDid.id).toObject();
|
|
244
|
+
}
|
|
245
|
+
catch ( /* Consume the error so that a DID resolution error can be returned later. */_a) { /* Consume the error so that a DID resolution error can be returned later. */ }
|
|
246
|
+
// If parsing or decoding failed, the DID is invalid.
|
|
247
|
+
if (!parsedDid || !publicKey) {
|
|
248
|
+
return Object.assign(Object.assign({}, EMPTY_DID_RESOLUTION_RESULT), { didResolutionMetadata: { error: 'invalidDid' } });
|
|
249
|
+
}
|
|
250
|
+
// If the DID method is not "jwk", return an error.
|
|
251
|
+
if (parsedDid.method !== DidJwk.methodName) {
|
|
252
|
+
return Object.assign(Object.assign({}, EMPTY_DID_RESOLUTION_RESULT), { didResolutionMetadata: { error: 'methodNotSupported' } });
|
|
253
|
+
}
|
|
254
|
+
const didDocument = {
|
|
255
|
+
'@context': [
|
|
256
|
+
'https://www.w3.org/ns/did/v1'
|
|
257
|
+
],
|
|
258
|
+
id: parsedDid.uri
|
|
259
|
+
};
|
|
260
|
+
const keyUri = `${didDocument.id}#0`;
|
|
261
|
+
// Set the Verification Method property.
|
|
262
|
+
didDocument.verificationMethod = [{
|
|
263
|
+
id: keyUri,
|
|
264
|
+
type: 'JsonWebKey',
|
|
265
|
+
controller: didDocument.id,
|
|
266
|
+
publicKeyJwk: publicKey
|
|
267
|
+
}];
|
|
268
|
+
// Set the Verification Relationship properties.
|
|
269
|
+
didDocument.authentication = [keyUri];
|
|
270
|
+
didDocument.assertionMethod = [keyUri];
|
|
271
|
+
didDocument.capabilityInvocation = [keyUri];
|
|
272
|
+
didDocument.capabilityDelegation = [keyUri];
|
|
273
|
+
didDocument.keyAgreement = [keyUri];
|
|
274
|
+
// If the JWK contains a `use` property with the value "sig" then the `keyAgreement` property
|
|
275
|
+
// is not included in the DID Document. If the `use` value is "enc" then only the `keyAgreement`
|
|
276
|
+
// property is included in the DID Document.
|
|
277
|
+
switch (publicKey.use) {
|
|
278
|
+
case 'sig': {
|
|
279
|
+
delete didDocument.keyAgreement;
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
case 'enc': {
|
|
283
|
+
delete didDocument.authentication;
|
|
284
|
+
delete didDocument.assertionMethod;
|
|
285
|
+
delete didDocument.capabilityInvocation;
|
|
286
|
+
delete didDocument.capabilityDelegation;
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return Object.assign(Object.assign({}, EMPTY_DID_RESOLUTION_RESULT), { didDocument });
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Name of the DID method, as defined in the DID JWK specification.
|
|
296
|
+
*/
|
|
297
|
+
DidJwk.methodName = 'jwk';
|
|
298
|
+
//# sourceMappingURL=did-jwk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-jwk.js","sourceRoot":"","sources":["../../../src/methods/did-jwk.ts"],"names":[],"mappings":"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"}
|