@sphereon/ssi-sdk-ext.did-utils 0.14.0 → 0.14.1-next.3
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/did-functions.d.ts +11 -1
- package/dist/did-functions.d.ts.map +1 -1
- package/dist/did-functions.js +58 -4
- package/dist/did-functions.js.map +1 -1
- package/package.json +5 -3
- package/src/did-functions.ts +60 -3
package/dist/did-functions.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { JwkKeyUse } from '@sphereon/ssi-sdk-ext.key-utils';
|
|
1
2
|
import { DIDDocument, DIDDocumentSection, DIDResolutionResult, IAgentContext, IDIDManager, IIdentifier, IKey, IResolver } from '@veramo/core';
|
|
2
3
|
import { _ExtendedIKey, _ExtendedVerificationMethod, _NormalizedVerificationMethod } from '@veramo/utils';
|
|
3
4
|
import { DIDResolutionOptions, Resolvable } from 'did-resolver';
|
|
4
5
|
import { IDIDOptions, IIdentifierOpts } from './types';
|
|
5
|
-
import { JwkKeyUse } from '@sphereon/ssi-sdk-ext.key-utils';
|
|
6
6
|
export declare const getFirstKeyWithRelation: (identifier: IIdentifier, context: IAgentContext<IResolver & IDIDManager>, vmRelationship?: DIDDocumentSection, errorOnNotFound?: boolean) => Promise<_ExtendedIKey | undefined>;
|
|
7
7
|
/**
|
|
8
8
|
* Dereferences keys from DID document and normalizes them for easy comparison.
|
|
@@ -25,6 +25,16 @@ export declare function dereferenceDidKeysWithJwkSupport(didDocument: DIDDocumen
|
|
|
25
25
|
* @beta This API may change without a BREAKING CHANGE notice.
|
|
26
26
|
*/
|
|
27
27
|
export declare function extractPublicKeyHexWithJwkSupport(pk: _ExtendedVerificationMethod, convert?: boolean): string;
|
|
28
|
+
/**
|
|
29
|
+
* Converts the publicKey of a VerificationMethod to hex encoding (publicKeyHex)
|
|
30
|
+
*
|
|
31
|
+
* @param pk - the VerificationMethod to be converted
|
|
32
|
+
* @param convert - when this flag is set to true, Ed25519 keys are converted to their X25519 pairs
|
|
33
|
+
* @returns the hex encoding of the public key
|
|
34
|
+
*
|
|
35
|
+
* @beta This API may change without a BREAKING CHANGE notice.
|
|
36
|
+
*/
|
|
37
|
+
export declare function extractPublicKeyHex(pk: _ExtendedVerificationMethod, convert?: boolean): string;
|
|
28
38
|
/**
|
|
29
39
|
* Maps the keys of a locally managed {@link @veramo/core#IIdentifier | IIdentifier} to the corresponding
|
|
30
40
|
* {@link did-resolver#VerificationMethod | VerificationMethod} entries from the DID document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-functions.d.ts","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"did-functions.d.ts","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"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"}
|
package/dist/did-functions.js
CHANGED
|
@@ -46,14 +46,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
46
46
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
47
|
};
|
|
48
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.asDidWeb = exports.toDidResolutionResult = exports.toDidDocument = exports.AgentDIDResolver = exports.getAgentResolver = exports.getSupportedDIDMethods = exports.determineKid = exports.getKey = exports.toDIDs = exports.toDID = exports.getDID = exports.getIdentifier = exports.getAgentDIDMethods = exports.mapIdentifierKeysToDocWithJwkSupport = exports.extractPublicKeyHexWithJwkSupport = exports.dereferenceDidKeysWithJwkSupport = exports.getFirstKeyWithRelation = void 0;
|
|
49
|
+
exports.asDidWeb = exports.toDidResolutionResult = exports.toDidDocument = exports.AgentDIDResolver = exports.getAgentResolver = exports.getSupportedDIDMethods = exports.determineKid = exports.getKey = exports.toDIDs = exports.toDID = exports.getDID = exports.getIdentifier = exports.getAgentDIDMethods = exports.mapIdentifierKeysToDocWithJwkSupport = exports.extractPublicKeyHex = exports.extractPublicKeyHexWithJwkSupport = exports.dereferenceDidKeysWithJwkSupport = exports.getFirstKeyWithRelation = void 0;
|
|
50
|
+
const transactions_1 = require("@ethersproject/transactions");
|
|
50
51
|
const did_uni_client_1 = require("@sphereon/did-uni-client");
|
|
52
|
+
const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
|
|
53
|
+
const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
|
|
54
|
+
const ed25519_1 = require("@stablelib/ed25519");
|
|
51
55
|
const utils_1 = require("@veramo/utils");
|
|
52
56
|
// @ts-ignore
|
|
53
57
|
const elliptic_1 = __importDefault(require("elliptic"));
|
|
54
58
|
const u8a = __importStar(require("uint8arrays"));
|
|
55
|
-
const transactions_1 = require("@ethersproject/transactions");
|
|
56
|
-
const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
|
|
57
59
|
const getFirstKeyWithRelation = (identifier, context, vmRelationship, errorOnNotFound) => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
60
|
const section = vmRelationship !== null && vmRelationship !== void 0 ? vmRelationship : 'verificationMethod'; // search all VMs in case no relationship is provided
|
|
59
61
|
const matchedKeys = yield mapIdentifierKeysToDocWithJwkSupport(identifier, section, context);
|
|
@@ -148,9 +150,61 @@ function extractPublicKeyHexWithJwkSupport(pk, convert = false) {
|
|
|
148
150
|
}
|
|
149
151
|
}
|
|
150
152
|
// delegate the other types to the original Veramo function
|
|
151
|
-
return
|
|
153
|
+
return extractPublicKeyHex(pk, convert);
|
|
152
154
|
}
|
|
153
155
|
exports.extractPublicKeyHexWithJwkSupport = extractPublicKeyHexWithJwkSupport;
|
|
156
|
+
/**
|
|
157
|
+
* Converts the publicKey of a VerificationMethod to hex encoding (publicKeyHex)
|
|
158
|
+
*
|
|
159
|
+
* @param pk - the VerificationMethod to be converted
|
|
160
|
+
* @param convert - when this flag is set to true, Ed25519 keys are converted to their X25519 pairs
|
|
161
|
+
* @returns the hex encoding of the public key
|
|
162
|
+
*
|
|
163
|
+
* @beta This API may change without a BREAKING CHANGE notice.
|
|
164
|
+
*/
|
|
165
|
+
function extractPublicKeyHex(pk, convert = false) {
|
|
166
|
+
var _a, _b;
|
|
167
|
+
let keyBytes = extractPublicKeyBytes(pk);
|
|
168
|
+
if (convert) {
|
|
169
|
+
if (['Ed25519', 'Ed25519VerificationKey2018', 'Ed25519VerificationKey2020'].includes(pk.type) ||
|
|
170
|
+
(pk.type === 'JsonWebKey2020' && ((_a = pk.publicKeyJwk) === null || _a === void 0 ? void 0 : _a.crv) === 'Ed25519')) {
|
|
171
|
+
keyBytes = (0, ed25519_1.convertPublicKeyToX25519)(keyBytes);
|
|
172
|
+
}
|
|
173
|
+
else if (!['X25519', 'X25519KeyAgreementKey2019', 'X25519KeyAgreementKey2020'].includes(pk.type) &&
|
|
174
|
+
!(pk.type === 'JsonWebKey2020' && ((_b = pk.publicKeyJwk) === null || _b === void 0 ? void 0 : _b.crv) === 'X25519')) {
|
|
175
|
+
return '';
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return (0, ssi_sdk_core_1.bytesToHex)(keyBytes);
|
|
179
|
+
}
|
|
180
|
+
exports.extractPublicKeyHex = extractPublicKeyHex;
|
|
181
|
+
function extractPublicKeyBytes(pk) {
|
|
182
|
+
if (pk.publicKeyBase58) {
|
|
183
|
+
return (0, ssi_sdk_core_1.base58ToBytes)(pk.publicKeyBase58);
|
|
184
|
+
}
|
|
185
|
+
else if (pk.publicKeyMultibase) {
|
|
186
|
+
return (0, ssi_sdk_core_1.multibaseKeyToBytes)(pk.publicKeyMultibase);
|
|
187
|
+
}
|
|
188
|
+
else if (pk.publicKeyBase64) {
|
|
189
|
+
return (0, ssi_sdk_core_1.base64ToBytes)(pk.publicKeyBase64);
|
|
190
|
+
}
|
|
191
|
+
else if (pk.publicKeyHex) {
|
|
192
|
+
return (0, ssi_sdk_core_1.hexToBytes)(pk.publicKeyHex);
|
|
193
|
+
}
|
|
194
|
+
else if (pk.publicKeyJwk && pk.publicKeyJwk.crv === 'secp256k1' && pk.publicKeyJwk.x && pk.publicKeyJwk.y) {
|
|
195
|
+
const secp256k1 = new elliptic_1.default.ec('secp256k1');
|
|
196
|
+
return (0, ssi_sdk_core_1.hexToBytes)(secp256k1
|
|
197
|
+
.keyFromPublic({
|
|
198
|
+
x: (0, ssi_sdk_core_1.bytesToHex)((0, ssi_sdk_core_1.base64ToBytes)(pk.publicKeyJwk.x)),
|
|
199
|
+
y: (0, ssi_sdk_core_1.bytesToHex)((0, ssi_sdk_core_1.base64ToBytes)(pk.publicKeyJwk.y)),
|
|
200
|
+
})
|
|
201
|
+
.getPublic('hex'));
|
|
202
|
+
}
|
|
203
|
+
else if (pk.publicKeyJwk && (pk.publicKeyJwk.crv === 'Ed25519' || pk.publicKeyJwk.crv === 'X25519') && pk.publicKeyJwk.x) {
|
|
204
|
+
return (0, ssi_sdk_core_1.base64ToBytes)(pk.publicKeyJwk.x);
|
|
205
|
+
}
|
|
206
|
+
return new Uint8Array();
|
|
207
|
+
}
|
|
154
208
|
/**
|
|
155
209
|
* Maps the keys of a locally managed {@link @veramo/core#IIdentifier | IIdentifier} to the corresponding
|
|
156
210
|
* {@link did-resolver#VerificationMethod | VerificationMethod} entries from the DID document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-functions.js","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"did-functions.js","sourceRoot":"","sources":["../src/did-functions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk-ext.did-utils",
|
|
3
3
|
"description": "DID Utils",
|
|
4
|
-
"version": "0.14.
|
|
4
|
+
"version": "0.14.1-next.3+4789c5b",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@ethersproject/transactions": "^5.7.0",
|
|
14
14
|
"@sphereon/did-uni-client": "^0.6.0",
|
|
15
|
-
"@sphereon/ssi-sdk-ext.key-utils": "^0.14.
|
|
15
|
+
"@sphereon/ssi-sdk-ext.key-utils": "^0.14.1-next.3+4789c5b",
|
|
16
|
+
"@sphereon/ssi-sdk.core": "0.15.2-next.32",
|
|
17
|
+
"@stablelib/ed25519": "^1.0.3",
|
|
16
18
|
"@veramo/core": "4.2.0",
|
|
17
19
|
"@veramo/utils": "4.2.0",
|
|
18
20
|
"did-jwt": "6.11.6",
|
|
@@ -35,5 +37,5 @@
|
|
|
35
37
|
"author": "Sphereon <dev@sphereon.com>",
|
|
36
38
|
"license": "Apache-2.0",
|
|
37
39
|
"keywords": [],
|
|
38
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "4789c5b7a518e67b22478e7769aa383002e2a2c7"
|
|
39
41
|
}
|
package/src/did-functions.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import { computeAddress } from '@ethersproject/transactions'
|
|
1
2
|
import { UniResolver } from '@sphereon/did-uni-client'
|
|
3
|
+
import { ENC_KEY_ALGS, hexKeyFromPEMBasedJwk, JwkKeyUse, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'
|
|
4
|
+
import { base58ToBytes, base64ToBytes, bytesToHex, hexToBytes, multibaseKeyToBytes } from '@sphereon/ssi-sdk.core'
|
|
5
|
+
import { convertPublicKeyToX25519 } from '@stablelib/ed25519'
|
|
2
6
|
import { DIDDocument, DIDDocumentSection, DIDResolutionResult, IAgentContext, IDIDManager, IIdentifier, IKey, IResolver } from '@veramo/core'
|
|
3
7
|
import {
|
|
4
8
|
_ExtendedIKey,
|
|
@@ -6,7 +10,6 @@ import {
|
|
|
6
10
|
_NormalizedVerificationMethod,
|
|
7
11
|
compressIdentifierSecp256k1Keys,
|
|
8
12
|
convertIdentifierEncryptionKeys,
|
|
9
|
-
extractPublicKeyHex,
|
|
10
13
|
getEthereumAddress,
|
|
11
14
|
isDefined,
|
|
12
15
|
mapIdentifierKeysToDoc,
|
|
@@ -16,8 +19,6 @@ import { DIDResolutionOptions, Resolvable, VerificationMethod } from 'did-resolv
|
|
|
16
19
|
import elliptic from 'elliptic'
|
|
17
20
|
import * as u8a from 'uint8arrays'
|
|
18
21
|
import { IDIDOptions, IIdentifierOpts } from './types'
|
|
19
|
-
import { computeAddress } from '@ethersproject/transactions'
|
|
20
|
-
import { ENC_KEY_ALGS, hexKeyFromPEMBasedJwk, JwkKeyUse, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'
|
|
21
22
|
|
|
22
23
|
export const getFirstKeyWithRelation = async (
|
|
23
24
|
identifier: IIdentifier,
|
|
@@ -125,6 +126,62 @@ export function extractPublicKeyHexWithJwkSupport(pk: _ExtendedVerificationMetho
|
|
|
125
126
|
return extractPublicKeyHex(pk, convert)
|
|
126
127
|
}
|
|
127
128
|
|
|
129
|
+
interface LegacyVerificationMethod extends VerificationMethod {
|
|
130
|
+
publicKeyBase64: string
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Converts the publicKey of a VerificationMethod to hex encoding (publicKeyHex)
|
|
135
|
+
*
|
|
136
|
+
* @param pk - the VerificationMethod to be converted
|
|
137
|
+
* @param convert - when this flag is set to true, Ed25519 keys are converted to their X25519 pairs
|
|
138
|
+
* @returns the hex encoding of the public key
|
|
139
|
+
*
|
|
140
|
+
* @beta This API may change without a BREAKING CHANGE notice.
|
|
141
|
+
*/
|
|
142
|
+
export function extractPublicKeyHex(pk: _ExtendedVerificationMethod, convert: boolean = false): string {
|
|
143
|
+
let keyBytes = extractPublicKeyBytes(pk)
|
|
144
|
+
if (convert) {
|
|
145
|
+
if (
|
|
146
|
+
['Ed25519', 'Ed25519VerificationKey2018', 'Ed25519VerificationKey2020'].includes(pk.type) ||
|
|
147
|
+
(pk.type === 'JsonWebKey2020' && pk.publicKeyJwk?.crv === 'Ed25519')
|
|
148
|
+
) {
|
|
149
|
+
keyBytes = convertPublicKeyToX25519(keyBytes)
|
|
150
|
+
} else if (
|
|
151
|
+
!['X25519', 'X25519KeyAgreementKey2019', 'X25519KeyAgreementKey2020'].includes(pk.type) &&
|
|
152
|
+
!(pk.type === 'JsonWebKey2020' && pk.publicKeyJwk?.crv === 'X25519')
|
|
153
|
+
) {
|
|
154
|
+
return ''
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return bytesToHex(keyBytes)
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
function extractPublicKeyBytes(pk: VerificationMethod): Uint8Array {
|
|
161
|
+
if (pk.publicKeyBase58) {
|
|
162
|
+
return base58ToBytes(pk.publicKeyBase58)
|
|
163
|
+
} else if (pk.publicKeyMultibase) {
|
|
164
|
+
return multibaseKeyToBytes(pk.publicKeyMultibase)
|
|
165
|
+
} else if ((<LegacyVerificationMethod>pk).publicKeyBase64) {
|
|
166
|
+
return base64ToBytes((<LegacyVerificationMethod>pk).publicKeyBase64)
|
|
167
|
+
} else if (pk.publicKeyHex) {
|
|
168
|
+
return hexToBytes(pk.publicKeyHex)
|
|
169
|
+
} else if (pk.publicKeyJwk && pk.publicKeyJwk.crv === 'secp256k1' && pk.publicKeyJwk.x && pk.publicKeyJwk.y) {
|
|
170
|
+
const secp256k1 = new elliptic.ec('secp256k1')
|
|
171
|
+
return hexToBytes(
|
|
172
|
+
secp256k1
|
|
173
|
+
.keyFromPublic({
|
|
174
|
+
x: bytesToHex(base64ToBytes(pk.publicKeyJwk.x)),
|
|
175
|
+
y: bytesToHex(base64ToBytes(pk.publicKeyJwk.y)),
|
|
176
|
+
})
|
|
177
|
+
.getPublic('hex')
|
|
178
|
+
)
|
|
179
|
+
} else if (pk.publicKeyJwk && (pk.publicKeyJwk.crv === 'Ed25519' || pk.publicKeyJwk.crv === 'X25519') && pk.publicKeyJwk.x) {
|
|
180
|
+
return base64ToBytes(pk.publicKeyJwk.x)
|
|
181
|
+
}
|
|
182
|
+
return new Uint8Array()
|
|
183
|
+
}
|
|
184
|
+
|
|
128
185
|
/**
|
|
129
186
|
* Maps the keys of a locally managed {@link @veramo/core#IIdentifier | IIdentifier} to the corresponding
|
|
130
187
|
* {@link did-resolver#VerificationMethod | VerificationMethod} entries from the DID document.
|