@enbox/dids 0.0.4 → 0.0.6
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/browser.mjs +1 -1
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/methods/did-dht-dns.js +455 -0
- package/dist/esm/methods/did-dht-dns.js.map +1 -0
- package/dist/esm/methods/did-dht-pkarr.js +168 -0
- package/dist/esm/methods/did-dht-pkarr.js.map +1 -0
- package/dist/esm/methods/did-dht-types.js +116 -0
- package/dist/esm/methods/did-dht-types.js.map +1 -0
- package/dist/esm/methods/did-dht-utils.js +143 -0
- package/dist/esm/methods/did-dht-utils.js.map +1 -0
- package/dist/esm/methods/did-dht.js +65 -842
- package/dist/esm/methods/did-dht.js.map +1 -1
- package/dist/esm/methods/did-ion-utils.js +161 -0
- package/dist/esm/methods/did-ion-utils.js.map +1 -0
- package/dist/esm/methods/did-ion.js +4 -151
- package/dist/esm/methods/did-ion.js.map +1 -1
- package/dist/esm/methods/did-key-utils.js +235 -0
- package/dist/esm/methods/did-key-utils.js.map +1 -0
- package/dist/esm/methods/did-key.js +6 -222
- package/dist/esm/methods/did-key.js.map +1 -1
- package/dist/esm/utils.js +15 -19
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/methods/did-dht-dns.d.ts +114 -0
- package/dist/types/methods/did-dht-dns.d.ts.map +1 -0
- package/dist/types/methods/did-dht-pkarr.d.ts +56 -0
- package/dist/types/methods/did-dht-pkarr.d.ts.map +1 -0
- package/dist/types/methods/did-dht-types.d.ts +286 -0
- package/dist/types/methods/did-dht-types.d.ts.map +1 -0
- package/dist/types/methods/did-dht-utils.d.ts +54 -0
- package/dist/types/methods/did-dht-utils.d.ts.map +1 -0
- package/dist/types/methods/did-dht.d.ts +42 -457
- package/dist/types/methods/did-dht.d.ts.map +1 -1
- package/dist/types/methods/did-ion-utils.d.ts +86 -0
- package/dist/types/methods/did-ion-utils.d.ts.map +1 -0
- package/dist/types/methods/did-ion.d.ts +2 -82
- package/dist/types/methods/did-ion.d.ts.map +1 -1
- package/dist/types/methods/did-key-utils.d.ts +138 -0
- package/dist/types/methods/did-key-utils.d.ts.map +1 -0
- package/dist/types/methods/did-key.d.ts +3 -124
- package/dist/types/methods/did-key.d.ts.map +1 -1
- package/dist/types/utils.d.ts +25 -25
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +4 -4
- package/package.json +4 -4
- package/src/methods/did-dht-dns.ts +516 -0
- package/src/methods/did-dht-pkarr.ts +192 -0
- package/src/methods/did-dht-types.ts +316 -0
- package/src/methods/did-dht-utils.ts +157 -0
- package/src/methods/did-dht.ts +122 -1128
- package/src/methods/did-ion-utils.ts +186 -0
- package/src/methods/did-ion.ts +14 -190
- package/src/methods/did-key-utils.ts +258 -0
- package/src/methods/did-key.ts +14 -266
- package/src/utils.ts +31 -30
|
@@ -0,0 +1,235 @@
|
|
|
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 { Multicodec } from '@enbox/common';
|
|
11
|
+
import { Ed25519, Secp256k1, Secp256r1 } from '@enbox/crypto';
|
|
12
|
+
import { keyBytesToMultibaseId } from '../utils.js';
|
|
13
|
+
import { DidError, DidErrorCode } from '../did-error.js';
|
|
14
|
+
/**
|
|
15
|
+
* Private helper that maps algorithm identifiers to their corresponding DID Key
|
|
16
|
+
* {@link DidKeyRegisteredKeyType | registered key type}.
|
|
17
|
+
*
|
|
18
|
+
* Note: This is also used by `DidKeyUtils.publicKeyToMultibaseId()` to validate key types.
|
|
19
|
+
*/
|
|
20
|
+
export const AlgorithmToKeyTypeMap = {
|
|
21
|
+
Ed25519: 'Ed25519',
|
|
22
|
+
ES256K: 'secp256k1',
|
|
23
|
+
ES256: 'secp256r1',
|
|
24
|
+
'P-256': 'secp256r1',
|
|
25
|
+
secp256k1: 'secp256k1',
|
|
26
|
+
secp256r1: 'secp256r1',
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* The `DidKeyUtils` class provides utility functions to support operations in the DID Key method.
|
|
30
|
+
*/
|
|
31
|
+
export class DidKeyUtils {
|
|
32
|
+
/**
|
|
33
|
+
* Converts a JWK (JSON Web Key) to a Multicodec code and name.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const jwk: Jwk = { crv: 'Ed25519', kty: 'OKP', x: '...' };
|
|
38
|
+
* const { code, name } = await DidKeyUtils.jwkToMulticodec({ jwk });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @param params - The parameters for the conversion.
|
|
42
|
+
* @param params.jwk - The JSON Web Key to be converted.
|
|
43
|
+
* @returns A promise that resolves to a Multicodec definition.
|
|
44
|
+
*/
|
|
45
|
+
static jwkToMulticodec(_a) {
|
|
46
|
+
return __awaiter(this, arguments, void 0, function* ({ jwk }) {
|
|
47
|
+
const params = [];
|
|
48
|
+
if (jwk.crv) {
|
|
49
|
+
params.push(jwk.crv);
|
|
50
|
+
if (jwk.d) {
|
|
51
|
+
params.push('private');
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
params.push('public');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const lookupKey = params.join(':');
|
|
58
|
+
const name = DidKeyUtils.JWK_TO_MULTICODEC[lookupKey];
|
|
59
|
+
if (name === undefined) {
|
|
60
|
+
throw new Error(`Unsupported JWK to Multicodec conversion: '${lookupKey}'`);
|
|
61
|
+
}
|
|
62
|
+
const code = Multicodec.getCodeFromName({ name });
|
|
63
|
+
return { code, name };
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Returns the appropriate public key compressor for the specified cryptographic curve.
|
|
68
|
+
*
|
|
69
|
+
* @param curve - The cryptographic curve to use for the key conversion.
|
|
70
|
+
* @returns A public key compressor for the specified curve.
|
|
71
|
+
*/
|
|
72
|
+
static keyCompressor(curve) {
|
|
73
|
+
// ): ({ publicKeyBytes }: { publicKeyBytes: Uint8Array }) => Promise<Uint8Array> {
|
|
74
|
+
const compressors = {
|
|
75
|
+
'P-256': Secp256r1.compressPublicKey,
|
|
76
|
+
'secp256k1': Secp256k1.compressPublicKey
|
|
77
|
+
};
|
|
78
|
+
const compressor = compressors[curve];
|
|
79
|
+
if (!compressor) {
|
|
80
|
+
throw new DidError(DidErrorCode.InvalidPublicKeyType, `Unsupported curve: ${curve}`);
|
|
81
|
+
}
|
|
82
|
+
return compressor;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Returns the appropriate key converter for the specified cryptographic curve.
|
|
86
|
+
*
|
|
87
|
+
* @param curve - The cryptographic curve to use for the key conversion.
|
|
88
|
+
* @returns An `AsymmetricKeyConverter` for the specified curve.
|
|
89
|
+
*/
|
|
90
|
+
static keyConverter(curve) {
|
|
91
|
+
const converters = {
|
|
92
|
+
'Ed25519': Ed25519,
|
|
93
|
+
'P-256': Secp256r1,
|
|
94
|
+
'secp256k1': Secp256k1,
|
|
95
|
+
};
|
|
96
|
+
const converter = converters[curve];
|
|
97
|
+
if (!converter) {
|
|
98
|
+
throw new DidError(DidErrorCode.InvalidPublicKeyType, `Unsupported curve: ${curve}`);
|
|
99
|
+
}
|
|
100
|
+
return converter;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Converts a Multicodec code or name to parial JWK (JSON Web Key).
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* const partialJwk = await DidKeyUtils.multicodecToJwk({ name: 'ed25519-pub' });
|
|
108
|
+
* ```
|
|
109
|
+
*
|
|
110
|
+
* @param params - The parameters for the conversion.
|
|
111
|
+
* @param params.code - Optional Multicodec code to convert.
|
|
112
|
+
* @param params.name - Optional Multicodec name to convert.
|
|
113
|
+
* @returns A promise that resolves to a JOSE format key.
|
|
114
|
+
*/
|
|
115
|
+
static multicodecToJwk(_a) {
|
|
116
|
+
return __awaiter(this, arguments, void 0, function* ({ code, name }) {
|
|
117
|
+
// Either code or name must be specified, but not both.
|
|
118
|
+
if (!(name ? !code : code)) {
|
|
119
|
+
throw new Error(`Either 'name' or 'code' must be defined, but not both.`);
|
|
120
|
+
}
|
|
121
|
+
// If name is undefined, lookup by code.
|
|
122
|
+
name = (name === undefined) ? Multicodec.getNameFromCode({ code: code }) : name;
|
|
123
|
+
const lookupKey = name;
|
|
124
|
+
const jose = DidKeyUtils.MULTICODEC_TO_JWK[lookupKey];
|
|
125
|
+
if (jose === undefined) {
|
|
126
|
+
throw new Error(`Unsupported Multicodec to JWK conversion`);
|
|
127
|
+
}
|
|
128
|
+
return Object.assign({}, jose);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Converts a public key in JWK (JSON Web Key) format to a multibase identifier.
|
|
133
|
+
*
|
|
134
|
+
* @remarks
|
|
135
|
+
* Note: All secp public keys are converted to compressed point encoding
|
|
136
|
+
* before the multibase identifier is computed.
|
|
137
|
+
*
|
|
138
|
+
* Per {@link https://github.com/multiformats/multicodec/blob/master/table.csv | Multicodec table}:
|
|
139
|
+
* Public keys for Elliptic Curve cryptography algorithms (e.g., secp256k1,
|
|
140
|
+
* secp256k1r1, secp384r1, etc.) are always represented with compressed point
|
|
141
|
+
* encoding (e.g., secp256k1-pub, p256-pub, p384-pub, etc.).
|
|
142
|
+
*
|
|
143
|
+
* Per {@link https://datatracker.ietf.org/doc/html/rfc8812#name-jose-and-cose-secp256k1-cur | RFC 8812}:
|
|
144
|
+
* "As a compressed point encoding representation is not defined for JWK
|
|
145
|
+
* elliptic curve points, the uncompressed point encoding defined there
|
|
146
|
+
* MUST be used. The x and y values represented MUST both be exactly
|
|
147
|
+
* 256 bits, with any leading zeros preserved."
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```ts
|
|
151
|
+
* const publicKey = { crv: 'Ed25519', kty: 'OKP', x: '...' };
|
|
152
|
+
* const multibaseId = await DidKeyUtils.publicKeyToMultibaseId({ publicKey });
|
|
153
|
+
* ```
|
|
154
|
+
*
|
|
155
|
+
* @param params - The parameters for the conversion.
|
|
156
|
+
* @param params.publicKey - The public key in JWK format.
|
|
157
|
+
* @returns A promise that resolves to the multibase identifier.
|
|
158
|
+
*/
|
|
159
|
+
static publicKeyToMultibaseId(_a) {
|
|
160
|
+
return __awaiter(this, arguments, void 0, function* ({ publicKey }) {
|
|
161
|
+
var _b;
|
|
162
|
+
if (!((publicKey === null || publicKey === void 0 ? void 0 : publicKey.crv) && publicKey.crv in AlgorithmToKeyTypeMap)) {
|
|
163
|
+
throw new DidError(DidErrorCode.InvalidPublicKeyType, `Public key contains an unsupported key type: ${(_b = publicKey === null || publicKey === void 0 ? void 0 : publicKey.crv) !== null && _b !== void 0 ? _b : 'undefined'}`);
|
|
164
|
+
}
|
|
165
|
+
// Convert the public key from JWK format to a byte array.
|
|
166
|
+
let publicKeyBytes = yield DidKeyUtils.keyConverter(publicKey.crv).publicKeyToBytes({ publicKey });
|
|
167
|
+
// Compress the public key if it is an elliptic curve key.
|
|
168
|
+
if (/^(secp256k1|P-256|P-384|P-521)$/.test(publicKey.crv)) {
|
|
169
|
+
publicKeyBytes = yield DidKeyUtils.keyCompressor(publicKey.crv)({ publicKeyBytes });
|
|
170
|
+
}
|
|
171
|
+
// Convert the JSON Web Key (JWK) parameters to a Multicodec name.
|
|
172
|
+
const { name: multicodecName } = yield DidKeyUtils.jwkToMulticodec({ jwk: publicKey });
|
|
173
|
+
// Compute the multibase identifier based on the provided key.
|
|
174
|
+
const multibaseId = keyBytesToMultibaseId({
|
|
175
|
+
keyBytes: publicKeyBytes,
|
|
176
|
+
multicodecName
|
|
177
|
+
});
|
|
178
|
+
return multibaseId;
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* A mapping from JSON Web Key (JWK) property descriptors to multicodec names.
|
|
184
|
+
*
|
|
185
|
+
* This mapping is used to convert keys in JWK (JSON Web Key) format to multicodec format.
|
|
186
|
+
*
|
|
187
|
+
* @remarks
|
|
188
|
+
* The keys of this object are strings that describe the JOSE key type and usage,
|
|
189
|
+
* such as 'Ed25519:public', 'Ed25519:private', etc. The values are the corresponding multicodec
|
|
190
|
+
* names used to represent these key types.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```ts
|
|
194
|
+
* const multicodecName = JWK_TO_MULTICODEC['Ed25519:public'];
|
|
195
|
+
* // Returns 'ed25519-pub', the multicodec name for an Ed25519 public key
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
DidKeyUtils.JWK_TO_MULTICODEC = {
|
|
199
|
+
'Ed25519:public': 'ed25519-pub',
|
|
200
|
+
'Ed25519:private': 'ed25519-priv',
|
|
201
|
+
'secp256k1:public': 'secp256k1-pub',
|
|
202
|
+
'secp256k1:private': 'secp256k1-priv',
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* Defines the expected byte lengths for public keys associated with different cryptographic
|
|
206
|
+
* algorithms, indexed by their multicodec code values.
|
|
207
|
+
*/
|
|
208
|
+
DidKeyUtils.MULTICODEC_PUBLIC_KEY_LENGTH = {
|
|
209
|
+
// secp256k1-pub - Secp256k1 public key (compressed) - 33 bytes
|
|
210
|
+
0xe7: 33,
|
|
211
|
+
// ed25519-pub - Ed25519 public key - 32 bytes
|
|
212
|
+
0xed: 32
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* A mapping from multicodec names to their corresponding JOSE (JSON Object Signing and Encryption)
|
|
216
|
+
* representations. This mapping facilitates the conversion of multicodec key formats to
|
|
217
|
+
* JWK (JSON Web Key) formats.
|
|
218
|
+
*
|
|
219
|
+
* @remarks
|
|
220
|
+
* The keys of this object are multicodec names, such as 'ed25519-pub', 'ed25519-priv', etc.
|
|
221
|
+
* The values are objects representing the corresponding JWK properties for that key type.
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* ```ts
|
|
225
|
+
* const joseKey = MULTICODEC_TO_JWK['ed25519-pub'];
|
|
226
|
+
* // Returns a partial JWK for an Ed25519 public key
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
DidKeyUtils.MULTICODEC_TO_JWK = {
|
|
230
|
+
'ed25519-pub': { crv: 'Ed25519', kty: 'OKP', x: '' },
|
|
231
|
+
'ed25519-priv': { crv: 'Ed25519', kty: 'OKP', x: '', d: '' },
|
|
232
|
+
'secp256k1-pub': { crv: 'secp256k1', kty: 'EC', x: '', y: '' },
|
|
233
|
+
'secp256k1-priv': { crv: 'secp256k1', kty: 'EC', x: '', y: '', d: '' },
|
|
234
|
+
};
|
|
235
|
+
//# sourceMappingURL=did-key-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-key-utils.js","sourceRoot":"","sources":["../../../src/methods/did-key-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,14 +7,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
10
|
+
import { universalTypeOf } from '@enbox/common';
|
|
11
|
+
import { Ed25519, LocalKeyManager, Secp256k1 } from '@enbox/crypto';
|
|
12
12
|
import { BearerDid } from '../bearer-did.js';
|
|
13
13
|
import { Did } from '../did.js';
|
|
14
|
+
import { DidKeyUtils } from './did-key-utils.js';
|
|
14
15
|
import { DidMethod } from './did-method.js';
|
|
15
16
|
import { EMPTY_DID_RESOLUTION_RESULT } from '../types/did-resolution.js';
|
|
16
17
|
import { DidError, DidErrorCode } from '../did-error.js';
|
|
17
|
-
import { getVerificationMethodTypes,
|
|
18
|
+
import { getVerificationMethodTypes, multibaseIdToKeyBytes } from '../utils.js';
|
|
18
19
|
/**
|
|
19
20
|
* Enumerates the types of keys that can be used in a DID Key document.
|
|
20
21
|
*
|
|
@@ -53,18 +54,6 @@ export const DidKeyVerificationMethodType = {
|
|
|
53
54
|
/** Represents a JSON Web Key (JWK) used for digital signatures and key agreement protocols. */
|
|
54
55
|
JsonWebKey2020: 'https://w3id.org/security/suites/jws-2020/v1',
|
|
55
56
|
};
|
|
56
|
-
/**
|
|
57
|
-
* Private helper that maps algorithm identifiers to their corresponding DID Key
|
|
58
|
-
* {@link DidKeyRegisteredKeyType | registered key type}.
|
|
59
|
-
*/
|
|
60
|
-
const AlgorithmToKeyTypeMap = {
|
|
61
|
-
Ed25519: DidKeyRegisteredKeyType.Ed25519,
|
|
62
|
-
ES256K: DidKeyRegisteredKeyType.secp256k1,
|
|
63
|
-
ES256: DidKeyRegisteredKeyType.secp256r1,
|
|
64
|
-
'P-256': DidKeyRegisteredKeyType.secp256r1,
|
|
65
|
-
secp256k1: DidKeyRegisteredKeyType.secp256k1,
|
|
66
|
-
secp256r1: DidKeyRegisteredKeyType.secp256r1,
|
|
67
|
-
};
|
|
68
57
|
/**
|
|
69
58
|
* The `DidKey` class provides an implementation of the 'did:key' DID method.
|
|
70
59
|
*
|
|
@@ -545,211 +534,6 @@ export class DidKey extends DidMethod {
|
|
|
545
534
|
* Name of the DID method, as defined in the DID Key specification.
|
|
546
535
|
*/
|
|
547
536
|
DidKey.methodName = 'key';
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
*/
|
|
551
|
-
export class DidKeyUtils {
|
|
552
|
-
/**
|
|
553
|
-
* Converts a JWK (JSON Web Key) to a Multicodec code and name.
|
|
554
|
-
*
|
|
555
|
-
* @example
|
|
556
|
-
* ```ts
|
|
557
|
-
* const jwk: Jwk = { crv: 'Ed25519', kty: 'OKP', x: '...' };
|
|
558
|
-
* const { code, name } = await DidKeyUtils.jwkToMulticodec({ jwk });
|
|
559
|
-
* ```
|
|
560
|
-
*
|
|
561
|
-
* @param params - The parameters for the conversion.
|
|
562
|
-
* @param params.jwk - The JSON Web Key to be converted.
|
|
563
|
-
* @returns A promise that resolves to a Multicodec definition.
|
|
564
|
-
*/
|
|
565
|
-
static jwkToMulticodec(_a) {
|
|
566
|
-
return __awaiter(this, arguments, void 0, function* ({ jwk }) {
|
|
567
|
-
const params = [];
|
|
568
|
-
if (jwk.crv) {
|
|
569
|
-
params.push(jwk.crv);
|
|
570
|
-
if (jwk.d) {
|
|
571
|
-
params.push('private');
|
|
572
|
-
}
|
|
573
|
-
else {
|
|
574
|
-
params.push('public');
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
const lookupKey = params.join(':');
|
|
578
|
-
const name = DidKeyUtils.JWK_TO_MULTICODEC[lookupKey];
|
|
579
|
-
if (name === undefined) {
|
|
580
|
-
throw new Error(`Unsupported JWK to Multicodec conversion: '${lookupKey}'`);
|
|
581
|
-
}
|
|
582
|
-
const code = Multicodec.getCodeFromName({ name });
|
|
583
|
-
return { code, name };
|
|
584
|
-
});
|
|
585
|
-
}
|
|
586
|
-
/**
|
|
587
|
-
* Returns the appropriate public key compressor for the specified cryptographic curve.
|
|
588
|
-
*
|
|
589
|
-
* @param curve - The cryptographic curve to use for the key conversion.
|
|
590
|
-
* @returns A public key compressor for the specified curve.
|
|
591
|
-
*/
|
|
592
|
-
static keyCompressor(curve) {
|
|
593
|
-
// ): ({ publicKeyBytes }: { publicKeyBytes: Uint8Array }) => Promise<Uint8Array> {
|
|
594
|
-
const compressors = {
|
|
595
|
-
'P-256': Secp256r1.compressPublicKey,
|
|
596
|
-
'secp256k1': Secp256k1.compressPublicKey
|
|
597
|
-
};
|
|
598
|
-
const compressor = compressors[curve];
|
|
599
|
-
if (!compressor) {
|
|
600
|
-
throw new DidError(DidErrorCode.InvalidPublicKeyType, `Unsupported curve: ${curve}`);
|
|
601
|
-
}
|
|
602
|
-
return compressor;
|
|
603
|
-
}
|
|
604
|
-
/**
|
|
605
|
-
* Returns the appropriate key converter for the specified cryptographic curve.
|
|
606
|
-
*
|
|
607
|
-
* @param curve - The cryptographic curve to use for the key conversion.
|
|
608
|
-
* @returns An `AsymmetricKeyConverter` for the specified curve.
|
|
609
|
-
*/
|
|
610
|
-
static keyConverter(curve) {
|
|
611
|
-
const converters = {
|
|
612
|
-
'Ed25519': Ed25519,
|
|
613
|
-
'P-256': Secp256r1,
|
|
614
|
-
'secp256k1': Secp256k1,
|
|
615
|
-
};
|
|
616
|
-
const converter = converters[curve];
|
|
617
|
-
if (!converter) {
|
|
618
|
-
throw new DidError(DidErrorCode.InvalidPublicKeyType, `Unsupported curve: ${curve}`);
|
|
619
|
-
}
|
|
620
|
-
return converter;
|
|
621
|
-
}
|
|
622
|
-
/**
|
|
623
|
-
* Converts a Multicodec code or name to parial JWK (JSON Web Key).
|
|
624
|
-
*
|
|
625
|
-
* @example
|
|
626
|
-
* ```ts
|
|
627
|
-
* const partialJwk = await DidKeyUtils.multicodecToJwk({ name: 'ed25519-pub' });
|
|
628
|
-
* ```
|
|
629
|
-
*
|
|
630
|
-
* @param params - The parameters for the conversion.
|
|
631
|
-
* @param params.code - Optional Multicodec code to convert.
|
|
632
|
-
* @param params.name - Optional Multicodec name to convert.
|
|
633
|
-
* @returns A promise that resolves to a JOSE format key.
|
|
634
|
-
*/
|
|
635
|
-
static multicodecToJwk(_a) {
|
|
636
|
-
return __awaiter(this, arguments, void 0, function* ({ code, name }) {
|
|
637
|
-
// Either code or name must be specified, but not both.
|
|
638
|
-
if (!(name ? !code : code)) {
|
|
639
|
-
throw new Error(`Either 'name' or 'code' must be defined, but not both.`);
|
|
640
|
-
}
|
|
641
|
-
// If name is undefined, lookup by code.
|
|
642
|
-
name = (name === undefined) ? Multicodec.getNameFromCode({ code: code }) : name;
|
|
643
|
-
const lookupKey = name;
|
|
644
|
-
const jose = DidKeyUtils.MULTICODEC_TO_JWK[lookupKey];
|
|
645
|
-
if (jose === undefined) {
|
|
646
|
-
throw new Error(`Unsupported Multicodec to JWK conversion`);
|
|
647
|
-
}
|
|
648
|
-
return Object.assign({}, jose);
|
|
649
|
-
});
|
|
650
|
-
}
|
|
651
|
-
/**
|
|
652
|
-
* Converts a public key in JWK (JSON Web Key) format to a multibase identifier.
|
|
653
|
-
*
|
|
654
|
-
* @remarks
|
|
655
|
-
* Note: All secp public keys are converted to compressed point encoding
|
|
656
|
-
* before the multibase identifier is computed.
|
|
657
|
-
*
|
|
658
|
-
* Per {@link https://github.com/multiformats/multicodec/blob/master/table.csv | Multicodec table}:
|
|
659
|
-
* Public keys for Elliptic Curve cryptography algorithms (e.g., secp256k1,
|
|
660
|
-
* secp256k1r1, secp384r1, etc.) are always represented with compressed point
|
|
661
|
-
* encoding (e.g., secp256k1-pub, p256-pub, p384-pub, etc.).
|
|
662
|
-
*
|
|
663
|
-
* Per {@link https://datatracker.ietf.org/doc/html/rfc8812#name-jose-and-cose-secp256k1-cur | RFC 8812}:
|
|
664
|
-
* "As a compressed point encoding representation is not defined for JWK
|
|
665
|
-
* elliptic curve points, the uncompressed point encoding defined there
|
|
666
|
-
* MUST be used. The x and y values represented MUST both be exactly
|
|
667
|
-
* 256 bits, with any leading zeros preserved."
|
|
668
|
-
*
|
|
669
|
-
* @example
|
|
670
|
-
* ```ts
|
|
671
|
-
* const publicKey = { crv: 'Ed25519', kty: 'OKP', x: '...' };
|
|
672
|
-
* const multibaseId = await DidKeyUtils.publicKeyToMultibaseId({ publicKey });
|
|
673
|
-
* ```
|
|
674
|
-
*
|
|
675
|
-
* @param params - The parameters for the conversion.
|
|
676
|
-
* @param params.publicKey - The public key in JWK format.
|
|
677
|
-
* @returns A promise that resolves to the multibase identifier.
|
|
678
|
-
*/
|
|
679
|
-
static publicKeyToMultibaseId(_a) {
|
|
680
|
-
return __awaiter(this, arguments, void 0, function* ({ publicKey }) {
|
|
681
|
-
var _b;
|
|
682
|
-
if (!((publicKey === null || publicKey === void 0 ? void 0 : publicKey.crv) && publicKey.crv in AlgorithmToKeyTypeMap)) {
|
|
683
|
-
throw new DidError(DidErrorCode.InvalidPublicKeyType, `Public key contains an unsupported key type: ${(_b = publicKey === null || publicKey === void 0 ? void 0 : publicKey.crv) !== null && _b !== void 0 ? _b : 'undefined'}`);
|
|
684
|
-
}
|
|
685
|
-
// Convert the public key from JWK format to a byte array.
|
|
686
|
-
let publicKeyBytes = yield DidKeyUtils.keyConverter(publicKey.crv).publicKeyToBytes({ publicKey });
|
|
687
|
-
// Compress the public key if it is an elliptic curve key.
|
|
688
|
-
if (/^(secp256k1|P-256|P-384|P-521)$/.test(publicKey.crv)) {
|
|
689
|
-
publicKeyBytes = yield DidKeyUtils.keyCompressor(publicKey.crv)({ publicKeyBytes });
|
|
690
|
-
}
|
|
691
|
-
// Convert the JSON Web Key (JWK) parameters to a Multicodec name.
|
|
692
|
-
const { name: multicodecName } = yield DidKeyUtils.jwkToMulticodec({ jwk: publicKey });
|
|
693
|
-
// Compute the multibase identifier based on the provided key.
|
|
694
|
-
const multibaseId = keyBytesToMultibaseId({
|
|
695
|
-
keyBytes: publicKeyBytes,
|
|
696
|
-
multicodecName
|
|
697
|
-
});
|
|
698
|
-
return multibaseId;
|
|
699
|
-
});
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
/**
|
|
703
|
-
* A mapping from JSON Web Key (JWK) property descriptors to multicodec names.
|
|
704
|
-
*
|
|
705
|
-
* This mapping is used to convert keys in JWK (JSON Web Key) format to multicodec format.
|
|
706
|
-
*
|
|
707
|
-
* @remarks
|
|
708
|
-
* The keys of this object are strings that describe the JOSE key type and usage,
|
|
709
|
-
* such as 'Ed25519:public', 'Ed25519:private', etc. The values are the corresponding multicodec
|
|
710
|
-
* names used to represent these key types.
|
|
711
|
-
*
|
|
712
|
-
* @example
|
|
713
|
-
* ```ts
|
|
714
|
-
* const multicodecName = JWK_TO_MULTICODEC['Ed25519:public'];
|
|
715
|
-
* // Returns 'ed25519-pub', the multicodec name for an Ed25519 public key
|
|
716
|
-
* ```
|
|
717
|
-
*/
|
|
718
|
-
DidKeyUtils.JWK_TO_MULTICODEC = {
|
|
719
|
-
'Ed25519:public': 'ed25519-pub',
|
|
720
|
-
'Ed25519:private': 'ed25519-priv',
|
|
721
|
-
'secp256k1:public': 'secp256k1-pub',
|
|
722
|
-
'secp256k1:private': 'secp256k1-priv',
|
|
723
|
-
};
|
|
724
|
-
/**
|
|
725
|
-
* Defines the expected byte lengths for public keys associated with different cryptographic
|
|
726
|
-
* algorithms, indexed by their multicodec code values.
|
|
727
|
-
*/
|
|
728
|
-
DidKeyUtils.MULTICODEC_PUBLIC_KEY_LENGTH = {
|
|
729
|
-
// secp256k1-pub - Secp256k1 public key (compressed) - 33 bytes
|
|
730
|
-
0xe7: 33,
|
|
731
|
-
// ed25519-pub - Ed25519 public key - 32 bytes
|
|
732
|
-
0xed: 32
|
|
733
|
-
};
|
|
734
|
-
/**
|
|
735
|
-
* A mapping from multicodec names to their corresponding JOSE (JSON Object Signing and Encryption)
|
|
736
|
-
* representations. This mapping facilitates the conversion of multicodec key formats to
|
|
737
|
-
* JWK (JSON Web Key) formats.
|
|
738
|
-
*
|
|
739
|
-
* @remarks
|
|
740
|
-
* The keys of this object are multicodec names, such as 'ed25519-pub', 'ed25519-priv', etc.
|
|
741
|
-
* The values are objects representing the corresponding JWK properties for that key type.
|
|
742
|
-
*
|
|
743
|
-
* @example
|
|
744
|
-
* ```ts
|
|
745
|
-
* const joseKey = MULTICODEC_TO_JWK['ed25519-pub'];
|
|
746
|
-
* // Returns a partial JWK for an Ed25519 public key
|
|
747
|
-
* ```
|
|
748
|
-
*/
|
|
749
|
-
DidKeyUtils.MULTICODEC_TO_JWK = {
|
|
750
|
-
'ed25519-pub': { crv: 'Ed25519', kty: 'OKP', x: '' },
|
|
751
|
-
'ed25519-priv': { crv: 'Ed25519', kty: 'OKP', x: '', d: '' },
|
|
752
|
-
'secp256k1-pub': { crv: 'secp256k1', kty: 'EC', x: '', y: '' },
|
|
753
|
-
'secp256k1-priv': { crv: 'secp256k1', kty: 'EC', x: '', y: '', d: '' },
|
|
754
|
-
};
|
|
537
|
+
// Re-export DidKeyUtils from its dedicated module for backward compatibility.
|
|
538
|
+
export { DidKeyUtils } from './did-key-utils.js';
|
|
755
539
|
//# sourceMappingURL=did-key.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-key.js","sourceRoot":"","sources":["../../../src/methods/did-key.ts"],"names":[],"mappings":";;;;;;;;;AAaA,OAAO,EACL,OAAO,EACP,eAAe,EACf,SAAS,EACT,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAW5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA0FvG;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,uBAkBX;AAlBD,WAAY,uBAAuB;IACjC;;;OAGG;IACH,8CAAmB,CAAA;IAEnB;;;OAGG;IACH,kDAAuB,CAAA;IAEvB;;;OAGG;IACH,kDAAuB,CAAA;AACzB,CAAC,EAlBW,uBAAuB,KAAvB,uBAAuB,QAkBlC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,oEAAoE;IACpE,0BAA0B,EAAE,kDAAkD;IAE9E,+FAA+F;IAC/F,cAAc,EAAE,8CAA8C;CACtD,CAAC;AAEX;;;GAGG;AACH,MAAM,qBAAqB,GAAG;IAC5B,OAAO,EAAK,uBAAuB,CAAC,OAAO;IAC3C,MAAM,EAAM,uBAAuB,CAAC,SAAS;IAC7C,KAAK,EAAO,uBAAuB,CAAC,SAAS;IAC7C,OAAO,EAAK,uBAAuB,CAAC,SAAS;IAC7C,SAAS,EAAG,uBAAuB,CAAC,SAAS;IAC7C,SAAS,EAAG,uBAAuB,CAAC,SAAS;CACrC,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,MAAM,OAAO,MAAO,SAAQ,SAAS;IAOnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,MAAM,CAAO,MAAM;6DAAkD,EAC1E,UAAU,GAAG,IAAI,eAAe,EAAE,EAClC,OAAO,GAAG,EAAE,KAIV,EAAE;YACJ,+FAA+F;YAC/F,2CAA2C;;YAE3C,0FAA0F;YAC1F,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC9F,CAAC;YAED,8FAA8F;YAC9F,8CAA8C;YAC9C,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YAED,kEAAkE;YAClE,MAAM,SAAS,GAAG,MAAA,MAAA,OAAO,CAAC,SAAS,mCAAI,MAAA,MAAA,OAAO,CAAC,mBAAmB,0CAAG,CAAC,CAAC,0CAAE,SAAS,mCAAI,SAAS,CAAC;YAEhG,sDAAsD;YACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAE5D,8FAA8F;YAC9F,oBAAoB;YACpB,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,sBAAsB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAE3E,4DAA4D;YAC5D,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;YAExD,+CAA+C;YAC/C,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAA0B,CAAC;YAEhE,+DAA+D;YAC/D,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC;gBACxB,GAAG,EAAQ,MAAM;gBACjB,QAAQ;gBACR,QAAQ,EAAG,EAAE;gBACb,UAAU;aACX,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAED;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAO,gBAAgB;6DAAC,EAAE,WAAW,EAGjD;;YACC,sCAAsC;YACtC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtD,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,yBAAyB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,2EAA2E;YAC3E,MAAM,CAAE,QAAQ,CAAE,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;YACvD,MAAM,kBAAkB,GAAG,MAAA,WAAW,CAAC,kBAAkB,0CAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YAE1F,IAAI,CAAC,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,0FAA0F,CAAC,CAAC;YAC7I,CAAC;YAED,OAAO,kBAAkB,CAAC;QAC5B,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACI,MAAM,CAAO,MAAM;6DAAC,EAAE,WAAW,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAG3E;YACC,sCAAsC;YACtC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC5C,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;YAC9E,CAAC;YAED,+DAA+D;YAC/D,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YAEhE,iFAAiF;YACjF,2FAA2F;YAC3F,4FAA4F;YAC5F,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClD,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,2DAA2D,CAAC,CAAC;YACnH,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAED;;;;;;OAMG;IACI,MAAM,CAAO,OAAO,CAAC,MAAc,EAAE,OAA8B;;YACxE,IAAI,CAAC;gBACH,0DAA0D;gBAC1D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBAErE,2DAA2D;gBAC3D,uCACK,2BAA2B,KAC9B,WAAW,IACX;YAEJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,2DAA2D;gBAC3D,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,EAAE,CAAC;oBAAA,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;gBAAA,CAAC;gBAE3D,kEAAkE;gBAClE,uCACK,2BAA2B,KAC9B,qBAAqB,kBACnB,KAAK,EAAE,KAAK,CAAC,IAAI,IACd,KAAK,CAAC,OAAO,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,KAErD;YACJ,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;OAOG;IACK,MAAM,CAAO,cAAc;6DAAC,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAGzD;YACC,MAAM,EACJ,cAAc,GAAG,8BAA8B,EAC/C,gCAAgC,GAAG,KAAK,EACxC,eAAe,GAAG,gBAAgB,EACnC,GAAG,OAAO,CAAC;YAEZ;;eAEG;YACH,MAAM,WAAW,GAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAE5C;;;;;eAKG;YACH,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAoB,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,cAAc,GAAG,SAAS,CAAC,EAAE,CAAC;YAEpC;;;;;;eAMG;YACH,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3C,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,yBAAyB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAoB,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC;YAED;;;;eAIG;YACH,MAAM,2BAA2B,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC;gBACrE,MAAM;gBACN,cAAc;gBACd,OAAO,EAAE,EAAE,gCAAgC,EAAE,eAAe,EAAE;aAC/D,CAAC,CAAC;YAEH;;;;;;eAMG;YACH,WAAW,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC;YAE/B;;;eAGG;YACH,WAAW,CAAC,kBAAkB,GAAG,CAAC,2BAA2B,CAAC,CAAC;YAE/D;;;;;eAKG;YACH,WAAW,CAAC,cAAc,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;YAC9D,WAAW,CAAC,eAAe,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;YAC/D,WAAW,CAAC,oBAAoB,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;YACpE,WAAW,CAAC,oBAAoB,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;YAEpE;;;eAGG;YACH,8EAA8E;YAC9E,MAAM,YAAY,GAAG,CAAE,cAAc,CAAE,CAAC;YAExC,0EAA0E;YAC1E,yEAAyE;YACzE,iEAAiE;YACjE,kGAAkG;YAClG,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YAC5E,uBAAuB,CAAC,OAAO,CAAC,CAAC,QAAgB,EAAE,EAAE;gBACnD,MAAM,OAAO,GAAG,4BAA4B,CAAC,QAAqD,CAAC,CAAC;gBACpG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;YAEvC;;eAEG;YACH,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAED;;;;;OAKG;IACK,MAAM,CAAO,qBAAqB;6DAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAI3E;YACC,MAAM,EAAE,gCAAgC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;YAEtE;;eAEG;YACH,MAAM,kBAAkB,GAA0B,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAEvF;;;eAGG;YACH,MAAM,EACJ,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,eAAe,EAC/B,cAAc,EACf,GAAG,qBAAqB,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC;YAE9D;;;;;eAKG;YACH,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC;YAC/C,MAAM,cAAc,GAAG,WAAW,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAC;YACjF,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;gBACpC,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,sBAAsB,EAAE,YAAY,YAAY,mBAAmB,cAAc,EAAE,CAAC,CAAC;YACvH,CAAC;YAED;;;;eAIG;YACH,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,QAAQ,cAAc,EAAE,CAAC;gBACvB,KAAK,eAAe;oBAClB,OAAO,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,aAAa;oBAChB,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;oBAC9D,MAAM;YACV,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAC;YACpF,CAAC;YAED;;;;eAIG;YACH,kBAAkB,CAAC,EAAE,GAAG,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;YAAC,WAAM,CAAC;gBACP,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,gDAAgD,CAAC,CAAC;YACnG,CAAC;YAED;;;;eAIG;YACH,IAAI,CAAC,CAAC,eAAe,IAAI,4BAA4B,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,wBAAwB,EAAE,uBAAuB,eAAe,EAAE,CAAC,CAAC;YACtG,CAAC;YAED;;;;eAIG;YACH,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;YAC5F,IAAI,gCAAgC,KAAK,KAAK;mBACzC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,QAAQ,CAChB,YAAY,CAAC,oBAAoB,EACjC,cAAc,eAAe,6DAA6D,CAC3F,CAAC;YACJ,CAAC;YAED;;eAEG;YACH,kBAAkB,CAAC,IAAI,GAAG,eAAe,CAAC;YAE1C;;eAEG;YACH,kBAAkB,CAAC,UAAU,GAAG,MAAM,CAAC;YAEvC;;;;;;eAMG;YACH,IAAI,eAAe,KAAK,4BAA4B,EAAE,CAAC;gBACrD,kBAAkB,CAAC,kBAAkB,GAAG,cAAc,CAAC;YACzD,CAAC;YAED;;;eAGG;YACH,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;gBACzC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC7E,kBAAkB,CAAC,YAAY,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,GAAI,CAAC,CAAC,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAC9G,CAAC;YAED;;eAEG;YACH,OAAO,kBAAkB,CAAC;QAC5B,CAAC;KAAA;IAGD;;;;;;;OAOG;IACK,MAAM,CAAC,kBAAkB,CAAC,SAAc;QAC9C,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;QACjD,MAAM,CAAE,MAAM,CAAE,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAE/C;;;;;WAKG;QACH,MAAM,OAAO,GAAG,GAAG,CAAC;QAEpB,OAAO,CACL,MAAM,KAAK,KAAK;YAChB,MAAM,KAAK,KAAK;YAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,eAAe,CAAC,cAAc,CAAC,KAAK,QAAQ;YAC5C,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAC/B,CAAC;IACJ,CAAC;;AAtdD;;GAEG;AACW,iBAAU,GAAG,KAAK,CAAC;AAsdnC;;GAEG;AACH,MAAM,OAAO,WAAW;IA0DtB;;;;;;;;;;;;OAYG;IACI,MAAM,CAAO,eAAe;6DAAC,EAAE,GAAG,EAExC;YACC,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEtD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,8CAA8C,SAAS,GAAG,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAElD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;KAAA;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CACzB,KAAa;QAEf,mFAAmF;QACjF,MAAM,WAAW,GAAG;YAClB,OAAO,EAAO,SAAS,CAAC,iBAAiB;YACzC,WAAW,EAAG,SAAS,CAAC,iBAAiB;SACY,CAAC;QAExD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAAA,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,oBAAoB,EAAE,sBAAsB,KAAK,EAAE,CAAC,CAAC;QAAA,CAAC;QAExG,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,YAAY,CAAC,KAAa;QACtC,MAAM,UAAU,GAA2C;YACzD,SAAS,EAAK,OAAO;YACrB,OAAO,EAAO,SAAS;YACvB,WAAW,EAAG,SAAS;SACxB,CAAC;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,SAAS,EAAE,CAAC;YAAA,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,oBAAoB,EAAE,sBAAsB,KAAK,EAAE,CAAC,CAAC;QAAA,CAAC;QAEvG,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,MAAM,CAAO,eAAe;6DAAC,EAAE,IAAI,EAAE,IAAI,EAG/C;YACC,uDAAuD;YACvD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC5E,CAAC;YAED,wCAAwC;YACxC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAE,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAElF,MAAM,SAAS,GAAG,IAAI,CAAC;YACvB,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEtD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,yBAAY,IAAI,EAAG;QACrB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,MAAM,CAAO,sBAAsB;6DAAC,EAAE,SAAS,EAErD;;YACC,IAAI,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,KAAI,SAAS,CAAC,GAAG,IAAI,qBAAqB,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,oBAAoB,EAAE,gDAAgD,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,mCAAI,WAAW,EAAE,CAAC,CAAC;YACzI,CAAC;YAED,0DAA0D;YAC1D,IAAI,cAAc,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAEnG,0DAA0D;YAC1D,IAAI,iCAAiC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,cAAc,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,kEAAkE;YAClE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YAEvF,8DAA8D;YAC9D,MAAM,WAAW,GAAG,qBAAqB,CAAC;gBACxC,QAAQ,EAAE,cAAc;gBACxB,cAAc;aACf,CAAC,CAAC;YAEH,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;;AAlOD;;;;;;;;;;;;;;;GAeG;AACY,6BAAiB,GAA8B;IAC5D,gBAAgB,EAAM,aAAa;IACnC,iBAAiB,EAAK,cAAc;IACpC,kBAAkB,EAAI,eAAe;IACrC,mBAAmB,EAAG,gBAAgB;CACvC,CAAC;AAEF;;;GAGG;AACW,wCAA4B,GAA2B;IACnE,+DAA+D;IAC/D,IAAI,EAAE,EAAE;IAER,8CAA8C;IAC9C,IAAI,EAAE,EAAE;CACT,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACY,6BAAiB,GAA2B;IACzD,aAAa,EAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;IACxD,cAAc,EAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;IAC/D,eAAe,EAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;IAChE,gBAAgB,EAAG,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;CACxE,CAAC"}
|
|
1
|
+
{"version":3,"file":"did-key.js","sourceRoot":"","sources":["../../../src/methods/did-key.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils.js
CHANGED
|
@@ -305,9 +305,11 @@ export function isDidService(obj) {
|
|
|
305
305
|
/**
|
|
306
306
|
* Checks if a given object is a {@link DwnDidService}.
|
|
307
307
|
*
|
|
308
|
-
* A {@link DwnDidService} is defined as {@link DidService} object with a `type` of
|
|
309
|
-
* "DecentralizedWebNode"
|
|
310
|
-
*
|
|
308
|
+
* A {@link DwnDidService} is defined as a {@link DidService} object with a `type` of
|
|
309
|
+
* `"DecentralizedWebNode"`. The `enc` and `sig` properties are optional — they may be present
|
|
310
|
+
* on existing DID documents for backward compatibility, but are not required per the DWN
|
|
311
|
+
* specification. Encryption and signing keys are resolved from the DID document's verification
|
|
312
|
+
* methods, not from the service entry.
|
|
311
313
|
*
|
|
312
314
|
* @example
|
|
313
315
|
* ```ts
|
|
@@ -319,33 +321,25 @@ export function isDidService(obj) {
|
|
|
319
321
|
* type: 'JsonWebKey2020',
|
|
320
322
|
* controller: 'did:example:123',
|
|
321
323
|
* publicKeyJwk: { ... }
|
|
322
|
-
* },
|
|
323
|
-
* {
|
|
324
|
-
* id: 'did:example:123#key-2',
|
|
325
|
-
* type: 'JsonWebKey2020',
|
|
326
|
-
* controller: 'did:example:123',
|
|
327
|
-
* publicKeyJwk: { ... }
|
|
328
324
|
* }
|
|
329
325
|
* ],
|
|
330
326
|
* service: [
|
|
331
327
|
* {
|
|
332
328
|
* id: 'did:example:123#dwn',
|
|
333
329
|
* type: 'DecentralizedWebNode',
|
|
334
|
-
* serviceEndpoint: 'https://enbox-dwn.fly.dev'
|
|
335
|
-
* enc: 'did:example:123#key-1',
|
|
336
|
-
* sig: 'did:example:123#key-2'
|
|
330
|
+
* serviceEndpoint: 'https://enbox-dwn.fly.dev'
|
|
337
331
|
* }
|
|
338
332
|
* ]
|
|
339
333
|
* };
|
|
340
334
|
*
|
|
341
|
-
* if (
|
|
335
|
+
* if (isDwnDidService(didDocument.service[0])) {
|
|
342
336
|
* console.log('The object is a DwnDidService');
|
|
343
337
|
* } else {
|
|
344
338
|
* console.log('The object is not a DwnDidService');
|
|
345
339
|
* }
|
|
346
340
|
* ```
|
|
347
341
|
*
|
|
348
|
-
* @see {@link https://
|
|
342
|
+
* @see {@link https://github.com/enboxorg/dwn-spec | Enbox DWN Specification}
|
|
349
343
|
*
|
|
350
344
|
* @param obj - The object to be checked.
|
|
351
345
|
* @returns `true` if `obj` is a DwnDidService; otherwise, `false`.
|
|
@@ -359,13 +353,15 @@ export function isDwnDidService(obj) {
|
|
|
359
353
|
if (obj.type !== 'DecentralizedWebNode') {
|
|
360
354
|
return false;
|
|
361
355
|
}
|
|
362
|
-
//
|
|
363
|
-
|
|
356
|
+
// If `enc` or `sig` are present, validate they are strings or arrays of strings.
|
|
357
|
+
const isStringOrStringArray = (prop) => typeof prop === 'string' || Array.isArray(prop) && prop.every(item => typeof item === 'string');
|
|
358
|
+
if ('enc' in obj && obj.enc !== undefined && !isStringOrStringArray(obj.enc)) {
|
|
364
359
|
return false;
|
|
365
360
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
361
|
+
if ('sig' in obj && obj.sig !== undefined && !isStringOrStringArray(obj.sig)) {
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
return true;
|
|
369
365
|
}
|
|
370
366
|
/**
|
|
371
367
|
* Checks if a given object is a DID Verification Method.
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAUpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|