@sphereon/ssi-sdk-ext.did-resolver-key 0.28.1-feature.esm.cjs.11 → 0.28.1-feature.esm.cjs.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +56 -27
- package/dist/index.cjs.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -1,13 +1,48 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
2
8
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
3
30
|
|
|
4
31
|
// src/index.ts
|
|
5
|
-
var
|
|
6
|
-
|
|
32
|
+
var index_exports = {};
|
|
33
|
+
__export(index_exports, {
|
|
34
|
+
DID_JSON: () => DID_JSON,
|
|
35
|
+
DID_LD_JSON: () => DID_LD_JSON,
|
|
36
|
+
default: () => index_default,
|
|
37
|
+
getResolver: () => getResolver
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(index_exports);
|
|
40
|
+
var import_varint = __toESM(require("varint"), 1);
|
|
41
|
+
var import_base58 = require("multiformats/bases/base58");
|
|
7
42
|
|
|
8
43
|
// src/drivers/ed25519.ts
|
|
9
|
-
var
|
|
10
|
-
var
|
|
44
|
+
var u8a = __toESM(require("uint8arrays"), 1);
|
|
45
|
+
var import_ed25519 = require("@stablelib/ed25519");
|
|
11
46
|
|
|
12
47
|
// src/types.ts
|
|
13
48
|
var DID_LD_JSON = "application/did+ld+json";
|
|
@@ -17,7 +52,7 @@ var DID_JSON = "application/did+json";
|
|
|
17
52
|
var { toString } = u8a;
|
|
18
53
|
function encodeKey(key, encodeKey2) {
|
|
19
54
|
const bytes = new Uint8Array(key.length + 2);
|
|
20
|
-
bytes[0] =
|
|
55
|
+
bytes[0] = encodeKey2 ?? 236;
|
|
21
56
|
bytes[1] = 1;
|
|
22
57
|
bytes.set(key, 2);
|
|
23
58
|
return `z${toString(bytes, "base58btc")}`;
|
|
@@ -25,7 +60,7 @@ function encodeKey(key, encodeKey2) {
|
|
|
25
60
|
__name(encodeKey, "encodeKey");
|
|
26
61
|
var keyToDidDoc = /* @__PURE__ */ __name((args) => {
|
|
27
62
|
const { options } = args;
|
|
28
|
-
if (!
|
|
63
|
+
if (!options?.publicKeyFormat) {
|
|
29
64
|
return keyToDidDoc2020(args);
|
|
30
65
|
}
|
|
31
66
|
switch (options.publicKeyFormat) {
|
|
@@ -43,7 +78,7 @@ var keyToDidDoc = /* @__PURE__ */ __name((args) => {
|
|
|
43
78
|
var keyToDidDoc2018_2019 = /* @__PURE__ */ __name(({ pubKeyBytes, fingerprint, contentType }) => {
|
|
44
79
|
const did = `did:key:${fingerprint}`;
|
|
45
80
|
const keyId = `${did}#${fingerprint}`;
|
|
46
|
-
const x25519PubBytes =
|
|
81
|
+
const x25519PubBytes = (0, import_ed25519.convertPublicKeyToX25519)(pubKeyBytes);
|
|
47
82
|
const x25519KeyId = `${did}#${encodeKey(x25519PubBytes)}`;
|
|
48
83
|
return {
|
|
49
84
|
...contentType === DID_LD_JSON && {
|
|
@@ -88,7 +123,7 @@ var keyToDidDoc2018_2019 = /* @__PURE__ */ __name(({ pubKeyBytes, fingerprint, c
|
|
|
88
123
|
var keyToDidDoc2020 = /* @__PURE__ */ __name(({ pubKeyBytes, fingerprint, contentType }) => {
|
|
89
124
|
const did = `did:key:${fingerprint}`;
|
|
90
125
|
const keyId = `${did}#${fingerprint}`;
|
|
91
|
-
const x25519PubBytes =
|
|
126
|
+
const x25519PubBytes = (0, import_ed25519.convertPublicKeyToX25519)(pubKeyBytes);
|
|
92
127
|
const x25519KeyId = `${did}#${encodeKey(x25519PubBytes)}`;
|
|
93
128
|
return {
|
|
94
129
|
...contentType === DID_LD_JSON && {
|
|
@@ -134,7 +169,7 @@ var ed25519_default = {
|
|
|
134
169
|
};
|
|
135
170
|
|
|
136
171
|
// src/drivers/bls12381g2.ts
|
|
137
|
-
|
|
172
|
+
var u8a2 = __toESM(require("uint8arrays"), 1);
|
|
138
173
|
var { toString: toString2 } = u8a2;
|
|
139
174
|
var keyToDidDoc2 = /* @__PURE__ */ __name(({ pubKeyBytes, fingerprint }) => {
|
|
140
175
|
const did = `did:key:${fingerprint}`;
|
|
@@ -168,7 +203,7 @@ var bls12381g2_default = {
|
|
|
168
203
|
};
|
|
169
204
|
|
|
170
205
|
// src/drivers/secp256k1.ts
|
|
171
|
-
|
|
206
|
+
var u8a3 = __toESM(require("uint8arrays"), 1);
|
|
172
207
|
var { toString: toString3 } = u8a3;
|
|
173
208
|
var keyToDidDoc3 = /* @__PURE__ */ __name(({ pubKeyBytes, fingerprint }) => {
|
|
174
209
|
const did = `did:key:${fingerprint}`;
|
|
@@ -202,8 +237,8 @@ var secp256k1_default = {
|
|
|
202
237
|
};
|
|
203
238
|
|
|
204
239
|
// src/drivers/secp256r1.ts
|
|
205
|
-
var
|
|
206
|
-
|
|
240
|
+
var nist_weierstrauss = __toESM(require("nist-weierstrauss"), 1);
|
|
241
|
+
var u8a4 = __toESM(require("uint8arrays"), 1);
|
|
207
242
|
var { fromString } = u8a4;
|
|
208
243
|
function keyToDidDoc4({ pubKeyBytes, fingerprint }) {
|
|
209
244
|
const did = `did:key:${fingerprint}`;
|
|
@@ -269,8 +304,8 @@ var secp256r1_default = {
|
|
|
269
304
|
};
|
|
270
305
|
|
|
271
306
|
// src/drivers/secp384r1.ts
|
|
272
|
-
|
|
273
|
-
|
|
307
|
+
var u8a5 = __toESM(require("uint8arrays"), 1);
|
|
308
|
+
var nist_weierstrauss2 = __toESM(require("nist-weierstrauss"), 1);
|
|
274
309
|
var { fromString: fromString2 } = u8a5;
|
|
275
310
|
function keyToDidDoc5({ pubKeyBytes, fingerprint }) {
|
|
276
311
|
const did = `did:key:${fingerprint}`;
|
|
@@ -336,8 +371,8 @@ var secp384r1_default = {
|
|
|
336
371
|
};
|
|
337
372
|
|
|
338
373
|
// src/drivers/secp521r1.ts
|
|
339
|
-
|
|
340
|
-
|
|
374
|
+
var u8a6 = __toESM(require("uint8arrays"), 1);
|
|
375
|
+
var nist_weierstrauss3 = __toESM(require("nist-weierstrauss"), 1);
|
|
341
376
|
var { fromString: fromString3 } = u8a6;
|
|
342
377
|
function keyToDidDoc6({ pubKeyBytes, fingerprint }) {
|
|
343
378
|
const did = `did:key:${fingerprint}`;
|
|
@@ -393,11 +428,11 @@ var secp521r1_default = {
|
|
|
393
428
|
};
|
|
394
429
|
|
|
395
430
|
// src/drivers/jwk.jcs.ts
|
|
396
|
-
var
|
|
431
|
+
var import_ssi_sdk_ext = require("@sphereon/ssi-sdk-ext.key-utils");
|
|
397
432
|
var keyToDidDoc7 = /* @__PURE__ */ __name(({ pubKeyBytes, fingerprint, contentType }) => {
|
|
398
433
|
const did = `did:key:${fingerprint}`;
|
|
399
434
|
const keyId = `${did}#${fingerprint}`;
|
|
400
|
-
const publicKeyJwk =
|
|
435
|
+
const publicKeyJwk = (0, import_ssi_sdk_ext.jwkJcsDecode)(pubKeyBytes);
|
|
401
436
|
return {
|
|
402
437
|
...contentType === DID_LD_JSON && {
|
|
403
438
|
"@context": [
|
|
@@ -433,7 +468,7 @@ var jwk_jcs_default = {
|
|
|
433
468
|
};
|
|
434
469
|
|
|
435
470
|
// src/index.ts
|
|
436
|
-
var { decode } =
|
|
471
|
+
var { decode } = import_varint.default;
|
|
437
472
|
var prefixToDriverMap = {
|
|
438
473
|
231: secp256k1_default,
|
|
439
474
|
237: ed25519_default,
|
|
@@ -455,7 +490,7 @@ var getResolver = /* @__PURE__ */ __name(() => {
|
|
|
455
490
|
didDocumentMetadata: {}
|
|
456
491
|
};
|
|
457
492
|
try {
|
|
458
|
-
const multicodecPubKey =
|
|
493
|
+
const multicodecPubKey = import_base58.base58btc.decode(parsed.id);
|
|
459
494
|
const keyType = decode(multicodecPubKey);
|
|
460
495
|
const pubKeyBytes = multicodecPubKey.slice(decode.bytes);
|
|
461
496
|
const args = {
|
|
@@ -489,10 +524,4 @@ var getResolver = /* @__PURE__ */ __name(() => {
|
|
|
489
524
|
var index_default = {
|
|
490
525
|
getResolver
|
|
491
526
|
};
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
exports.DID_JSON = DID_JSON; exports.DID_LD_JSON = DID_LD_JSON; exports.default = index_default; exports.getResolver = getResolver;
|
|
498
527
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-resolver-key/dist/index.cjs","../src/index.ts","../src/drivers/ed25519.ts","../src/types.ts","../src/drivers/bls12381g2.ts","../src/drivers/secp256k1.ts","../src/drivers/secp256r1.ts","../src/drivers/secp384r1.ts","../src/drivers/secp521r1.ts","../src/drivers/jwk.jcs.ts"],"names":["DID_LD_JSON","DID_JSON","toString","u8a","encodeKey","key","bytes","Uint8Array","length","set","args","publicKeyFormat","fingerprint","convertPublicKeyToX25519","x25519PubBytes","did","keyId","pubKeyBytes","x25519KeyId","keyToDidDoc","xm","ym","nist_weierstrauss_common","slice","publicKeyHex","secp256r1","pubKeyBytesToXY","secp384r1","secp521r1","publicKeyJwk","varint","secp256k1","ed25519","bls12381g2","jwkJcs","accept","contentType","base58btc","multicodecPubKey","id","options","prefixToDriverMap","doc","didResolutionMetadata","error","message","response","getResolver"],"mappings":"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","file":"/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-resolver-key/dist/index.cjs","sourcesContent":[null,"import varint from 'varint'\nconst { decode } = varint\n// @ts-ignore\nimport { base58btc } from 'multiformats/bases/base58'\nimport ed25519 from './drivers/ed25519'\nimport bls12381g2 from './drivers/bls12381g2'\nimport secp256k1 from './drivers/secp256k1'\nimport secp256r1 from './drivers/secp256r1'\nimport secp384r1 from './drivers/secp384r1'\nimport secp521r1 from './drivers/secp521r1'\nimport { DIDResolutionResult, ParsedDID, Resolvable, ResolverRegistry } from 'did-resolver'\nimport jwkJcs from './drivers/jwk.jcs'\nimport { DID_JSON, DID_LD_JSON, DIDKeyResolutionOptions, KeyToDidDocArgs } from './types'\n\nexport * from './types'\n\nconst prefixToDriverMap: any = {\n 0xe7: secp256k1,\n 0xed: ed25519,\n 0x1200: secp256r1,\n 0x1201: secp384r1,\n 0x1202: secp521r1,\n 0xeb: bls12381g2,\n 0xeb51: jwkJcs,\n}\n\nexport const getResolver = (): ResolverRegistry => {\n return {\n key: async (did: string, parsed: ParsedDID, r: Resolvable, options: DIDKeyResolutionOptions) => {\n const contentType = options.accept || DID_LD_JSON\n const response: DIDResolutionResult = {\n didResolutionMetadata: { contentType },\n didDocument: null,\n didDocumentMetadata: {},\n }\n try {\n const multicodecPubKey = base58btc.decode(parsed.id)\n const keyType = decode(multicodecPubKey)\n const pubKeyBytes = multicodecPubKey.slice(decode.bytes)\n const args: KeyToDidDocArgs = { pubKeyBytes, fingerprint: parsed.id, contentType, options }\n const doc = await prefixToDriverMap[keyType].keyToDidDoc(args)\n if (contentType === DID_LD_JSON) {\n if (!doc['@context']) {\n doc['@context'] = 'https://w3id.org/did/v1'\n } else if (\n Array.isArray(doc['@context']) &&\n !doc['@context'].includes('https://w3id.org/did/v1') &&\n !doc['@context'].includes('https://www.w3.org/ns/did/v1')\n ) {\n doc['@context'].push('https://w3id.org/did/v1')\n }\n response.didDocument = doc\n } else if (contentType === DID_JSON) {\n response.didDocument = doc\n } else {\n delete response.didResolutionMetadata.contentType\n response.didResolutionMetadata.error = 'representationNotSupported'\n }\n } catch (e: any) {\n response.didResolutionMetadata.error = 'invalidDid'\n response.didResolutionMetadata.message = e.toString()\n }\n return response\n },\n }\n}\nexport default { getResolver }\n","// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { toString } = u8a\nimport { DIDDocument } from 'did-resolver'\n// import { edwardsToMontgomery } from '@noble/curves/ed25519'\nimport { convertPublicKeyToX25519 } from '@stablelib/ed25519'\nimport { DID_LD_JSON, KeyToDidDocArgs } from '../types'\n\nfunction encodeKey(key: Uint8Array, encodeKey?: number) {\n const bytes = new Uint8Array(key.length + 2)\n bytes[0] = encodeKey ?? 0xec\n // The multicodec is encoded as a varint so we need to add this.\n // See js-multicodec for a general implementation\n bytes[1] = 0x01\n bytes.set(key, 2)\n return `z${toString(bytes, 'base58btc')}`\n}\n\nexport const keyToDidDoc = (args: KeyToDidDocArgs) => {\n const { options } = args\n if (!options?.publicKeyFormat) {\n return keyToDidDoc2020(args)\n }\n switch (options.publicKeyFormat) {\n case 'Ed25519VerificationKey2018':\n case 'X25519KeyAgreementKey2019':\n return keyToDidDoc2018_2019(args)\n case 'Ed25519VerificationKey2020':\n case 'X25519KeyAgreementKey2020':\n case 'Multikey':\n return keyToDidDoc2020(args)\n default:\n throw Error(`${options.publicKeyFormat} not supported yet for the ed25519 driver`)\n }\n}\nconst keyToDidDoc2018_2019 = ({ pubKeyBytes, fingerprint, contentType }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n\n //todo: Move to noble lib. x25519 values differ between below methods. Current implementation is correct according to DID:key spec\n // const pubKeyHex = toString(pubKeyBytes, 'base16')\n // const x25519PubBytes = edwardsToMontgomery(pubKeyHex)\n const x25519PubBytes = convertPublicKeyToX25519(pubKeyBytes)\n\n const x25519KeyId = `${did}#${encodeKey(x25519PubBytes)}`\n return {\n ...(contentType === DID_LD_JSON && {\n '@context': [\n 'https://www.w3.org/ns/did/v1',\n 'https://w3id.org/security/suites/ed25519-2018/v1',\n 'https://w3id.org/security/suites/x25519-2019/v1',\n ],\n }),\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'Ed25519VerificationKey2018',\n controller: did,\n publicKeyBase58: toString(pubKeyBytes, 'base58btc'),\n },\n {\n id: x25519KeyId,\n type: 'X25519KeyAgreementKey2019',\n controller: did,\n publicKeyBase58: toString(x25519PubBytes, 'base58btc'),\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n keyAgreement: [x25519KeyId],\n }\n}\n\nconst keyToDidDoc2020 = ({ pubKeyBytes, fingerprint, contentType }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n //todo: Move to noble lib. x25519 values differ between below methods. Current implementation is correct according to DID:key spec\n // const pubKeyHex = u8a.toString(pubKeyBytes, 'base16')\n // const x25519PubBytes = edwardsToMontgomery(pubKeyBytes)\n const x25519PubBytes = convertPublicKeyToX25519(pubKeyBytes)\n\n const x25519KeyId = `${did}#${encodeKey(x25519PubBytes)}`\n return {\n ...(contentType === DID_LD_JSON && {\n '@context': [\n 'https://www.w3.org/ns/did/v1',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n 'https://w3id.org/security/suites/x25519-2020/v1',\n ],\n }),\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'Ed25519VerificationKey2020',\n controller: did,\n publicKeyMultibase: encodeKey(pubKeyBytes, 0xed),\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n keyAgreement: [\n {\n id: x25519KeyId,\n type: 'X25519KeyAgreementKey2020',\n controller: did,\n publicKeyMultibase: encodeKey(x25519PubBytes, 0xec),\n },\n ],\n }\n}\nexport default { keyToDidDoc }\n","import { DIDResolutionOptions } from 'did-resolver'\n\nexport const DID_LD_JSON = 'application/did+ld+json'\nexport const DID_JSON = 'application/did+json'\n\nexport type PublicKeyFormat =\n | 'JsonWebKey2020'\n | 'Ed25519VerificationKey2018'\n | 'X25519KeyAgreementKey2019'\n | 'Ed25519VerificationKey2020'\n | 'X25519KeyAgreementKey2020'\n | 'Multikey'\nexport interface KeyToDidDocArgs {\n pubKeyBytes: Uint8Array\n fingerprint: string\n contentType?: string\n options?: DIDKeyResolutionOptions\n}\n\nexport interface DIDKeyResolutionOptions extends DIDResolutionOptions {\n publicKeyFormat?: PublicKeyFormat\n}\n","import { DIDDocument } from 'did-resolver'\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { toString } = u8a\nimport { KeyToDidDocArgs } from '../index'\n\nexport const keyToDidDoc = ({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'Bls12381G2Key2020',\n controller: did,\n publicKeyBase58: toString(pubKeyBytes, 'base58btc'),\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\nexport default { keyToDidDoc }\n","// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { toString } = u8a\nimport { DIDDocument } from 'did-resolver'\nimport { KeyToDidDocArgs } from '../types'\n\nexport const keyToDidDoc = ({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'Secp256k1VerificationKey2018',\n controller: did,\n publicKeyBase58: toString(pubKeyBytes, 'base58btc'),\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\n\nexport default { keyToDidDoc }\n","// Brent Shambaugh <brent.shambaugh@gmail.com>. 2021.\n\nimport * as nist_weierstrauss from 'nist-weierstrauss'\nimport { base64urlPoint } from 'nist-weierstrauss'\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { fromString } = u8a\nimport { KeyToDidDocArgs } from '../types'\n\n/**\n * Constructs the document based on the method key\n */\nexport function keyToDidDoc({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): any {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n const key = pubKeyBytesToXY(pubKeyBytes)\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'JsonWebKey2020',\n controller: did,\n publicKeyJwk: {\n kty: 'EC',\n crv: 'P-256',\n x: key.xm,\n y: key.ym,\n },\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\n\n/**\n *\n * @param pubKeyBytes - public key as uncompressed byte array with no prefix (raw key),\n * uncompressed with 0x04 prefix, or compressed with 0x02 prefix if even and 0x03 prefix if odd.\n * @returns point x,y with coordinates as multibase encoded base64urls\n *\n * See the the did:key specification: https://w3c-ccg.github.io/did-method-key/#p-256.\n * At present only raw p-256 keys are covered in the specification.\n * @throws TypeError: input cannot be null or undefined.\n * @throws Error: Unexpected pubKeyBytes\n * @internal\n */\nexport function pubKeyBytesToXY(pubKeyBytes: Uint8Array): base64urlPoint {\n if (!nist_weierstrauss.nist_weierstrauss_common.testUint8Array(pubKeyBytes)) {\n throw new TypeError('input must be a Uint8Array')\n }\n const publicKeyHex = nist_weierstrauss.nist_weierstrauss_common.pubKeyBytesToHex(pubKeyBytes)\n const bytesCount = publicKeyHex.length / 2\n\n // raw p-256 key\n if (bytesCount == 64) {\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyToXY(publicKeyHex)\n }\n\n // uncompressed p-256 key, SEC format\n if (bytesCount == 65) {\n if (publicKeyHex.slice(0, 2) == '04') {\n const publicKey = publicKeyHex.slice(2)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyToXY(publicKey)\n }\n }\n\n // compressed p-256 key, SEC format\n if (bytesCount == 33) {\n if (publicKeyHex.slice(0, 2) == '03' || publicKeyHex.slice(0, 2) == '02') {\n const publicKey = fromString(publicKeyHex, 'base16')\n const point = nist_weierstrauss.secp256r1.ECPointDecompress(publicKey)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyIntToXY(point)\n }\n }\n\n throw new Error('Unexpected pubKeyBytes')\n}\n\nexport default { keyToDidDoc }\n","// Brent Shambaugh <brent.shambaugh@gmail.com>. 2021.\n\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { fromString } = u8a\n\nimport * as nist_weierstrauss from 'nist-weierstrauss'\nimport { base64urlPoint } from 'nist-weierstrauss'\nimport { KeyToDidDocArgs } from '../types'\n\n/**\n * Constructs the document based on the method key\n */\nexport function keyToDidDoc({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): any {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n const key = pubKeyBytesToXY(pubKeyBytes)\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'JsonWebKey2020',\n controller: did,\n publicKeyJwk: {\n kty: 'EC',\n crv: 'P-384',\n x: key.xm,\n y: key.ym,\n },\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\n\n/**\n *\n * @param pubKeyBytes - public key as uncompressed byte array with no prefix (raw key),\n * uncompressed with 0x04 prefix, or compressed with 0x02 prefix if even and 0x03 prefix if odd.\n * @returns point x,y with coordinates as multibase encoded base64urls\n *\n * See the the did:key specification: https://w3c-ccg.github.io/did-method-key/#p-384.\n * At present only raw p-384 keys are covered in the specification.\n * @throws TypeError: input cannot be null or undefined.\n * @throws Error: Unexpected pubKeyBytes\n * @internal\n */\nexport function pubKeyBytesToXY(pubKeyBytes: Uint8Array): base64urlPoint {\n if (!nist_weierstrauss.nist_weierstrauss_common.testUint8Array(pubKeyBytes)) {\n throw new TypeError('input must be a Uint8Array')\n }\n const publicKeyHex = nist_weierstrauss.nist_weierstrauss_common.pubKeyBytesToHex(pubKeyBytes)\n const bytesCount = publicKeyHex.length / 2\n\n // raw p-384 key\n if (bytesCount == 96) {\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyToXY(publicKeyHex)\n }\n\n // uncompressed p-384 key, SEC format\n if (bytesCount == 97) {\n if (publicKeyHex.slice(0, 2) == '04') {\n const publicKey = publicKeyHex.slice(2)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyToXY(publicKey)\n }\n }\n\n // compressed p-384 key, SEC format\n if (bytesCount == 49) {\n if (publicKeyHex.slice(0, 2) == '03' || publicKeyHex.slice(0, 2) == '02') {\n const publicKey = fromString(publicKeyHex, 'base16')\n const point = nist_weierstrauss.secp384r1.ECPointDecompress(publicKey)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyIntToXY(point)\n }\n }\n\n throw new Error('Unexpected pubKeyBytes')\n}\n\nexport default { keyToDidDoc }\n","// Brent Shambaugh <brent.shambaugh@gmail.com>. 2021.\n\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { fromString } = u8a\n\nimport * as nist_weierstrauss from 'nist-weierstrauss'\nimport { base64urlPoint } from 'nist-weierstrauss'\nimport { KeyToDidDocArgs } from '../types'\n\n/**\n * Constructs the document based on the method key\n */\nexport function keyToDidDoc({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): any {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n const key = pubKeyBytesToXY(pubKeyBytes)\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'JsonWebKey2020',\n controller: did,\n publicKeyJwk: {\n kty: 'EC',\n crv: 'P-521',\n x: key.xm,\n y: key.ym,\n },\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\n\n/**\n *\n * @param pubKeyBytes - public key as compressed with 0x02 prefix if even and 0x03 prefix if odd.\n * @returns point x,y with coordinates as multibase encoded base64urls\n *\n * See the the did:key specification: https://w3c-ccg.github.io/did-method-key/#p-521.\n * For compression see: https://tools.ietf.org/id/draft-jivsov-ecc-compact-05.html#rfc.section.3\n * @throws TypeError: input cannot be null or undefined.\n * @throws Error: Unexpected pubKeyBytes\n * @internal\n */\nexport function pubKeyBytesToXY(pubKeyBytes: Uint8Array): base64urlPoint {\n if (!nist_weierstrauss.nist_weierstrauss_common.testUint8Array(pubKeyBytes)) {\n throw new TypeError('input must be a Uint8Array')\n }\n const publicKeyHex = nist_weierstrauss.nist_weierstrauss_common.pubKeyBytesToHex(pubKeyBytes)\n\n // compressed p-521 key, SEC format\n // publicKeyHex.length / 2.0 = 67.0 bytes\n if (132 <= publicKeyHex.length && publicKeyHex.length <= 134) {\n if (publicKeyHex.slice(0, 2) == '03' || publicKeyHex.slice(0, 2) == '02') {\n const publicKey = fromString(publicKeyHex, 'base16')\n const point = nist_weierstrauss.secp521r1.ECPointDecompress(publicKey)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyIntToXY(point)\n }\n }\n\n throw new Error('Unexpected pubKeyBytes')\n}\n\nexport default { keyToDidDoc }\n","import { DIDDocument, JsonWebKey as DIFJWK } from 'did-resolver'\nimport { DID_LD_JSON, KeyToDidDocArgs } from '../index'\nimport { jwkJcsDecode } from '@sphereon/ssi-sdk-ext.key-utils'\n\nexport const keyToDidDoc = ({ pubKeyBytes, fingerprint, contentType }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n const publicKeyJwk = jwkJcsDecode(pubKeyBytes) as DIFJWK\n return {\n ...(contentType === DID_LD_JSON && {\n '@context': ['https://www.w3.org/ns/did/v1', 'https://w3id.org/security/suites/jws-2020/v1'],\n }),\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'JsonWebKey2020',\n controller: did,\n publicKeyJwk,\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\nexport default { keyToDidDoc }\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/drivers/ed25519.ts","../src/types.ts","../src/drivers/bls12381g2.ts","../src/drivers/secp256k1.ts","../src/drivers/secp256r1.ts","../src/drivers/secp384r1.ts","../src/drivers/secp521r1.ts","../src/drivers/jwk.jcs.ts"],"sourcesContent":["import varint from 'varint'\nconst { decode } = varint\n// @ts-ignore\nimport { base58btc } from 'multiformats/bases/base58'\nimport ed25519 from './drivers/ed25519'\nimport bls12381g2 from './drivers/bls12381g2'\nimport secp256k1 from './drivers/secp256k1'\nimport secp256r1 from './drivers/secp256r1'\nimport secp384r1 from './drivers/secp384r1'\nimport secp521r1 from './drivers/secp521r1'\nimport { DIDResolutionResult, ParsedDID, Resolvable, ResolverRegistry } from 'did-resolver'\nimport jwkJcs from './drivers/jwk.jcs'\nimport { DID_JSON, DID_LD_JSON, DIDKeyResolutionOptions, KeyToDidDocArgs } from './types'\n\nexport * from './types'\n\nconst prefixToDriverMap: any = {\n 0xe7: secp256k1,\n 0xed: ed25519,\n 0x1200: secp256r1,\n 0x1201: secp384r1,\n 0x1202: secp521r1,\n 0xeb: bls12381g2,\n 0xeb51: jwkJcs,\n}\n\nexport const getResolver = (): ResolverRegistry => {\n return {\n key: async (did: string, parsed: ParsedDID, r: Resolvable, options: DIDKeyResolutionOptions) => {\n const contentType = options.accept || DID_LD_JSON\n const response: DIDResolutionResult = {\n didResolutionMetadata: { contentType },\n didDocument: null,\n didDocumentMetadata: {},\n }\n try {\n const multicodecPubKey = base58btc.decode(parsed.id)\n const keyType = decode(multicodecPubKey)\n const pubKeyBytes = multicodecPubKey.slice(decode.bytes)\n const args: KeyToDidDocArgs = { pubKeyBytes, fingerprint: parsed.id, contentType, options }\n const doc = await prefixToDriverMap[keyType].keyToDidDoc(args)\n if (contentType === DID_LD_JSON) {\n if (!doc['@context']) {\n doc['@context'] = 'https://w3id.org/did/v1'\n } else if (\n Array.isArray(doc['@context']) &&\n !doc['@context'].includes('https://w3id.org/did/v1') &&\n !doc['@context'].includes('https://www.w3.org/ns/did/v1')\n ) {\n doc['@context'].push('https://w3id.org/did/v1')\n }\n response.didDocument = doc\n } else if (contentType === DID_JSON) {\n response.didDocument = doc\n } else {\n delete response.didResolutionMetadata.contentType\n response.didResolutionMetadata.error = 'representationNotSupported'\n }\n } catch (e: any) {\n response.didResolutionMetadata.error = 'invalidDid'\n response.didResolutionMetadata.message = e.toString()\n }\n return response\n },\n }\n}\nexport default { getResolver }\n","// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { toString } = u8a\nimport { DIDDocument } from 'did-resolver'\n// import { edwardsToMontgomery } from '@noble/curves/ed25519'\nimport { convertPublicKeyToX25519 } from '@stablelib/ed25519'\nimport { DID_LD_JSON, KeyToDidDocArgs } from '../types'\n\nfunction encodeKey(key: Uint8Array, encodeKey?: number) {\n const bytes = new Uint8Array(key.length + 2)\n bytes[0] = encodeKey ?? 0xec\n // The multicodec is encoded as a varint so we need to add this.\n // See js-multicodec for a general implementation\n bytes[1] = 0x01\n bytes.set(key, 2)\n return `z${toString(bytes, 'base58btc')}`\n}\n\nexport const keyToDidDoc = (args: KeyToDidDocArgs) => {\n const { options } = args\n if (!options?.publicKeyFormat) {\n return keyToDidDoc2020(args)\n }\n switch (options.publicKeyFormat) {\n case 'Ed25519VerificationKey2018':\n case 'X25519KeyAgreementKey2019':\n return keyToDidDoc2018_2019(args)\n case 'Ed25519VerificationKey2020':\n case 'X25519KeyAgreementKey2020':\n case 'Multikey':\n return keyToDidDoc2020(args)\n default:\n throw Error(`${options.publicKeyFormat} not supported yet for the ed25519 driver`)\n }\n}\nconst keyToDidDoc2018_2019 = ({ pubKeyBytes, fingerprint, contentType }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n\n //todo: Move to noble lib. x25519 values differ between below methods. Current implementation is correct according to DID:key spec\n // const pubKeyHex = toString(pubKeyBytes, 'base16')\n // const x25519PubBytes = edwardsToMontgomery(pubKeyHex)\n const x25519PubBytes = convertPublicKeyToX25519(pubKeyBytes)\n\n const x25519KeyId = `${did}#${encodeKey(x25519PubBytes)}`\n return {\n ...(contentType === DID_LD_JSON && {\n '@context': [\n 'https://www.w3.org/ns/did/v1',\n 'https://w3id.org/security/suites/ed25519-2018/v1',\n 'https://w3id.org/security/suites/x25519-2019/v1',\n ],\n }),\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'Ed25519VerificationKey2018',\n controller: did,\n publicKeyBase58: toString(pubKeyBytes, 'base58btc'),\n },\n {\n id: x25519KeyId,\n type: 'X25519KeyAgreementKey2019',\n controller: did,\n publicKeyBase58: toString(x25519PubBytes, 'base58btc'),\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n keyAgreement: [x25519KeyId],\n }\n}\n\nconst keyToDidDoc2020 = ({ pubKeyBytes, fingerprint, contentType }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n //todo: Move to noble lib. x25519 values differ between below methods. Current implementation is correct according to DID:key spec\n // const pubKeyHex = u8a.toString(pubKeyBytes, 'base16')\n // const x25519PubBytes = edwardsToMontgomery(pubKeyBytes)\n const x25519PubBytes = convertPublicKeyToX25519(pubKeyBytes)\n\n const x25519KeyId = `${did}#${encodeKey(x25519PubBytes)}`\n return {\n ...(contentType === DID_LD_JSON && {\n '@context': [\n 'https://www.w3.org/ns/did/v1',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n 'https://w3id.org/security/suites/x25519-2020/v1',\n ],\n }),\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'Ed25519VerificationKey2020',\n controller: did,\n publicKeyMultibase: encodeKey(pubKeyBytes, 0xed),\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n keyAgreement: [\n {\n id: x25519KeyId,\n type: 'X25519KeyAgreementKey2020',\n controller: did,\n publicKeyMultibase: encodeKey(x25519PubBytes, 0xec),\n },\n ],\n }\n}\nexport default { keyToDidDoc }\n","import { DIDResolutionOptions } from 'did-resolver'\n\nexport const DID_LD_JSON = 'application/did+ld+json'\nexport const DID_JSON = 'application/did+json'\n\nexport type PublicKeyFormat =\n | 'JsonWebKey2020'\n | 'Ed25519VerificationKey2018'\n | 'X25519KeyAgreementKey2019'\n | 'Ed25519VerificationKey2020'\n | 'X25519KeyAgreementKey2020'\n | 'Multikey'\nexport interface KeyToDidDocArgs {\n pubKeyBytes: Uint8Array\n fingerprint: string\n contentType?: string\n options?: DIDKeyResolutionOptions\n}\n\nexport interface DIDKeyResolutionOptions extends DIDResolutionOptions {\n publicKeyFormat?: PublicKeyFormat\n}\n","import { DIDDocument } from 'did-resolver'\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { toString } = u8a\nimport { KeyToDidDocArgs } from '../index'\n\nexport const keyToDidDoc = ({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'Bls12381G2Key2020',\n controller: did,\n publicKeyBase58: toString(pubKeyBytes, 'base58btc'),\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\nexport default { keyToDidDoc }\n","// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { toString } = u8a\nimport { DIDDocument } from 'did-resolver'\nimport { KeyToDidDocArgs } from '../types'\n\nexport const keyToDidDoc = ({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'Secp256k1VerificationKey2018',\n controller: did,\n publicKeyBase58: toString(pubKeyBytes, 'base58btc'),\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\n\nexport default { keyToDidDoc }\n","// Brent Shambaugh <brent.shambaugh@gmail.com>. 2021.\n\nimport * as nist_weierstrauss from 'nist-weierstrauss'\nimport { base64urlPoint } from 'nist-weierstrauss'\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { fromString } = u8a\nimport { KeyToDidDocArgs } from '../types'\n\n/**\n * Constructs the document based on the method key\n */\nexport function keyToDidDoc({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): any {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n const key = pubKeyBytesToXY(pubKeyBytes)\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'JsonWebKey2020',\n controller: did,\n publicKeyJwk: {\n kty: 'EC',\n crv: 'P-256',\n x: key.xm,\n y: key.ym,\n },\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\n\n/**\n *\n * @param pubKeyBytes - public key as uncompressed byte array with no prefix (raw key),\n * uncompressed with 0x04 prefix, or compressed with 0x02 prefix if even and 0x03 prefix if odd.\n * @returns point x,y with coordinates as multibase encoded base64urls\n *\n * See the the did:key specification: https://w3c-ccg.github.io/did-method-key/#p-256.\n * At present only raw p-256 keys are covered in the specification.\n * @throws TypeError: input cannot be null or undefined.\n * @throws Error: Unexpected pubKeyBytes\n * @internal\n */\nexport function pubKeyBytesToXY(pubKeyBytes: Uint8Array): base64urlPoint {\n if (!nist_weierstrauss.nist_weierstrauss_common.testUint8Array(pubKeyBytes)) {\n throw new TypeError('input must be a Uint8Array')\n }\n const publicKeyHex = nist_weierstrauss.nist_weierstrauss_common.pubKeyBytesToHex(pubKeyBytes)\n const bytesCount = publicKeyHex.length / 2\n\n // raw p-256 key\n if (bytesCount == 64) {\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyToXY(publicKeyHex)\n }\n\n // uncompressed p-256 key, SEC format\n if (bytesCount == 65) {\n if (publicKeyHex.slice(0, 2) == '04') {\n const publicKey = publicKeyHex.slice(2)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyToXY(publicKey)\n }\n }\n\n // compressed p-256 key, SEC format\n if (bytesCount == 33) {\n if (publicKeyHex.slice(0, 2) == '03' || publicKeyHex.slice(0, 2) == '02') {\n const publicKey = fromString(publicKeyHex, 'base16')\n const point = nist_weierstrauss.secp256r1.ECPointDecompress(publicKey)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyIntToXY(point)\n }\n }\n\n throw new Error('Unexpected pubKeyBytes')\n}\n\nexport default { keyToDidDoc }\n","// Brent Shambaugh <brent.shambaugh@gmail.com>. 2021.\n\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { fromString } = u8a\n\nimport * as nist_weierstrauss from 'nist-weierstrauss'\nimport { base64urlPoint } from 'nist-weierstrauss'\nimport { KeyToDidDocArgs } from '../types'\n\n/**\n * Constructs the document based on the method key\n */\nexport function keyToDidDoc({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): any {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n const key = pubKeyBytesToXY(pubKeyBytes)\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'JsonWebKey2020',\n controller: did,\n publicKeyJwk: {\n kty: 'EC',\n crv: 'P-384',\n x: key.xm,\n y: key.ym,\n },\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\n\n/**\n *\n * @param pubKeyBytes - public key as uncompressed byte array with no prefix (raw key),\n * uncompressed with 0x04 prefix, or compressed with 0x02 prefix if even and 0x03 prefix if odd.\n * @returns point x,y with coordinates as multibase encoded base64urls\n *\n * See the the did:key specification: https://w3c-ccg.github.io/did-method-key/#p-384.\n * At present only raw p-384 keys are covered in the specification.\n * @throws TypeError: input cannot be null or undefined.\n * @throws Error: Unexpected pubKeyBytes\n * @internal\n */\nexport function pubKeyBytesToXY(pubKeyBytes: Uint8Array): base64urlPoint {\n if (!nist_weierstrauss.nist_weierstrauss_common.testUint8Array(pubKeyBytes)) {\n throw new TypeError('input must be a Uint8Array')\n }\n const publicKeyHex = nist_weierstrauss.nist_weierstrauss_common.pubKeyBytesToHex(pubKeyBytes)\n const bytesCount = publicKeyHex.length / 2\n\n // raw p-384 key\n if (bytesCount == 96) {\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyToXY(publicKeyHex)\n }\n\n // uncompressed p-384 key, SEC format\n if (bytesCount == 97) {\n if (publicKeyHex.slice(0, 2) == '04') {\n const publicKey = publicKeyHex.slice(2)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyToXY(publicKey)\n }\n }\n\n // compressed p-384 key, SEC format\n if (bytesCount == 49) {\n if (publicKeyHex.slice(0, 2) == '03' || publicKeyHex.slice(0, 2) == '02') {\n const publicKey = fromString(publicKeyHex, 'base16')\n const point = nist_weierstrauss.secp384r1.ECPointDecompress(publicKey)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyIntToXY(point)\n }\n }\n\n throw new Error('Unexpected pubKeyBytes')\n}\n\nexport default { keyToDidDoc }\n","// Brent Shambaugh <brent.shambaugh@gmail.com>. 2021.\n\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { fromString } = u8a\n\nimport * as nist_weierstrauss from 'nist-weierstrauss'\nimport { base64urlPoint } from 'nist-weierstrauss'\nimport { KeyToDidDocArgs } from '../types'\n\n/**\n * Constructs the document based on the method key\n */\nexport function keyToDidDoc({ pubKeyBytes, fingerprint }: KeyToDidDocArgs): any {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n const key = pubKeyBytesToXY(pubKeyBytes)\n return {\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'JsonWebKey2020',\n controller: did,\n publicKeyJwk: {\n kty: 'EC',\n crv: 'P-521',\n x: key.xm,\n y: key.ym,\n },\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\n\n/**\n *\n * @param pubKeyBytes - public key as compressed with 0x02 prefix if even and 0x03 prefix if odd.\n * @returns point x,y with coordinates as multibase encoded base64urls\n *\n * See the the did:key specification: https://w3c-ccg.github.io/did-method-key/#p-521.\n * For compression see: https://tools.ietf.org/id/draft-jivsov-ecc-compact-05.html#rfc.section.3\n * @throws TypeError: input cannot be null or undefined.\n * @throws Error: Unexpected pubKeyBytes\n * @internal\n */\nexport function pubKeyBytesToXY(pubKeyBytes: Uint8Array): base64urlPoint {\n if (!nist_weierstrauss.nist_weierstrauss_common.testUint8Array(pubKeyBytes)) {\n throw new TypeError('input must be a Uint8Array')\n }\n const publicKeyHex = nist_weierstrauss.nist_weierstrauss_common.pubKeyBytesToHex(pubKeyBytes)\n\n // compressed p-521 key, SEC format\n // publicKeyHex.length / 2.0 = 67.0 bytes\n if (132 <= publicKeyHex.length && publicKeyHex.length <= 134) {\n if (publicKeyHex.slice(0, 2) == '03' || publicKeyHex.slice(0, 2) == '02') {\n const publicKey = fromString(publicKeyHex, 'base16')\n const point = nist_weierstrauss.secp521r1.ECPointDecompress(publicKey)\n return nist_weierstrauss.nist_weierstrauss_common.publicKeyIntToXY(point)\n }\n }\n\n throw new Error('Unexpected pubKeyBytes')\n}\n\nexport default { keyToDidDoc }\n","import { DIDDocument, JsonWebKey as DIFJWK } from 'did-resolver'\nimport { DID_LD_JSON, KeyToDidDocArgs } from '../index'\nimport { jwkJcsDecode } from '@sphereon/ssi-sdk-ext.key-utils'\n\nexport const keyToDidDoc = ({ pubKeyBytes, fingerprint, contentType }: KeyToDidDocArgs): DIDDocument => {\n const did = `did:key:${fingerprint}`\n const keyId = `${did}#${fingerprint}`\n const publicKeyJwk = jwkJcsDecode(pubKeyBytes) as DIFJWK\n return {\n ...(contentType === DID_LD_JSON && {\n '@context': ['https://www.w3.org/ns/did/v1', 'https://w3id.org/security/suites/jws-2020/v1'],\n }),\n id: did,\n verificationMethod: [\n {\n id: keyId,\n type: 'JsonWebKey2020',\n controller: did,\n publicKeyJwk,\n },\n ],\n authentication: [keyId],\n assertionMethod: [keyId],\n capabilityDelegation: [keyId],\n capabilityInvocation: [keyId],\n }\n}\nexport default { keyToDidDoc }\n"],"mappings":"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","names":["DID_LD_JSON","DID_JSON","toString","u8a","encodeKey","key","bytes","Uint8Array","length","set","keyToDidDoc","args","options","publicKeyFormat","keyToDidDoc2020","keyToDidDoc2018_2019","Error","pubKeyBytes","fingerprint","contentType","did","keyId","x25519PubBytes","convertPublicKeyToX25519","x25519KeyId","DID_LD_JSON","id","verificationMethod","type","controller","publicKeyBase58","authentication","assertionMethod","capabilityDelegation","capabilityInvocation","keyAgreement","publicKeyMultibase","u8a","toString","u8a","keyToDidDoc","pubKeyBytes","fingerprint","did","keyId","id","verificationMethod","type","controller","publicKeyBase58","authentication","assertionMethod","capabilityDelegation","capabilityInvocation","u8a","toString","u8a","keyToDidDoc","pubKeyBytes","fingerprint","did","keyId","id","verificationMethod","type","controller","publicKeyBase58","authentication","assertionMethod","capabilityDelegation","capabilityInvocation","u8a","fromString","u8a","keyToDidDoc","pubKeyBytes","fingerprint","did","keyId","key","pubKeyBytesToXY","id","verificationMethod","type","controller","publicKeyJwk","kty","crv","x","xm","y","ym","authentication","assertionMethod","capabilityDelegation","capabilityInvocation","nist_weierstrauss_common","testUint8Array","TypeError","publicKeyHex","pubKeyBytesToHex","bytesCount","length","publicKeyToXY","slice","publicKey","point","secp256r1","ECPointDecompress","publicKeyIntToXY","Error","u8a","nist_weierstrauss","fromString","u8a","keyToDidDoc","pubKeyBytes","fingerprint","did","keyId","key","pubKeyBytesToXY","id","verificationMethod","type","controller","publicKeyJwk","kty","crv","x","xm","y","ym","authentication","assertionMethod","capabilityDelegation","capabilityInvocation","nist_weierstrauss_common","testUint8Array","TypeError","publicKeyHex","pubKeyBytesToHex","bytesCount","length","publicKeyToXY","slice","publicKey","point","secp384r1","ECPointDecompress","publicKeyIntToXY","Error","u8a","nist_weierstrauss","fromString","u8a","keyToDidDoc","pubKeyBytes","fingerprint","did","keyId","key","pubKeyBytesToXY","id","verificationMethod","type","controller","publicKeyJwk","kty","crv","x","xm","y","ym","authentication","assertionMethod","capabilityDelegation","capabilityInvocation","nist_weierstrauss_common","testUint8Array","TypeError","publicKeyHex","pubKeyBytesToHex","length","slice","publicKey","point","secp521r1","ECPointDecompress","publicKeyIntToXY","Error","keyToDidDoc","pubKeyBytes","fingerprint","contentType","did","keyId","publicKeyJwk","jwkJcsDecode","DID_LD_JSON","id","verificationMethod","type","controller","authentication","assertionMethod","capabilityDelegation","capabilityInvocation","decode","varint","prefixToDriverMap","secp256k1","ed25519","secp256r1","secp384r1","secp521r1","bls12381g2","jwkJcs","getResolver","key","did","parsed","r","options","contentType","accept","DID_LD_JSON","response","didResolutionMetadata","didDocument","didDocumentMetadata","multicodecPubKey","base58btc","id","keyType","pubKeyBytes","slice","bytes","args","fingerprint","doc","keyToDidDoc","Array","isArray","includes","push","DID_JSON","error","e","message","toString"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk-ext.did-resolver-key",
|
|
3
3
|
"description": "Sphereon did:key resolver with BBS+/BLS and EBSI support.",
|
|
4
|
-
"version": "0.28.1-feature.esm.cjs.
|
|
4
|
+
"version": "0.28.1-feature.esm.cjs.13+24ca549",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@sphereon/ssi-sdk-ext.key-utils": "^0.28.1-feature.esm.cjs.
|
|
24
|
+
"@sphereon/ssi-sdk-ext.key-utils": "^0.28.1-feature.esm.cjs.13+24ca549",
|
|
25
25
|
"@stablelib/ed25519": "^1.0.3",
|
|
26
26
|
"bigint-mod-arith": "^3.3.1",
|
|
27
27
|
"did-resolver": "^4.1.0",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"secp256r1",
|
|
64
64
|
"RSA"
|
|
65
65
|
],
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "24ca549841533d8ae29184b42dc92a416bdb246d"
|
|
67
67
|
}
|