@sphereon/ssi-sdk-ext.key-utils 0.26.1-next.10 → 0.26.1-next.14
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/conversion.d.ts.map +1 -1
- package/dist/conversion.js +3 -2
- package/dist/conversion.js.map +1 -1
- package/dist/functions.d.ts +16 -4
- package/dist/functions.d.ts.map +1 -1
- package/dist/functions.js +213 -29
- package/dist/functions.js.map +1 -1
- package/dist/jwk-jcs.d.ts +9 -0
- package/dist/jwk-jcs.d.ts.map +1 -1
- package/dist/jwk-jcs.js +5 -8
- package/dist/jwk-jcs.js.map +1 -1
- package/dist/types/key-util-types.d.ts +5 -3
- package/dist/types/key-util-types.d.ts.map +1 -1
- package/package.json +7 -3
- package/src/conversion.ts +5 -4
- package/src/functions.ts +620 -423
- package/src/jwk-jcs.ts +7 -8
- package/src/types/key-util-types.ts +5 -3
package/dist/conversion.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,GAAG,EACH,UAAU,EACV,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,GAAG,EACH,UAAU,EACV,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAG5B,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,GAAG,CAWvD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAWnD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,UAAU,CAa3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,gBAAgB,GAAG,YAAY,CAa9E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CA2B/F;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,4BAA4B,GAAG,uBAAuB,CA2B9H;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,iBAAiB,CAqB1G;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,CAqBjF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,eAAe,GAAG,UAAU,CAqB9E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAqB5D"}
|
package/dist/conversion.js
CHANGED
|
@@ -22,13 +22,14 @@ exports.coseToJoseKeyOperation = coseToJoseKeyOperation;
|
|
|
22
22
|
exports.joseToCoseCurve = joseToCoseCurve;
|
|
23
23
|
exports.coseToJoseCurve = coseToJoseCurve;
|
|
24
24
|
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
25
|
+
const functions_1 = require("./functions");
|
|
25
26
|
function coseKeyToJwk(coseKey) {
|
|
26
27
|
const { x5chain, key_ops, crv, alg, baseIV, kty } = coseKey, rest = __rest(coseKey, ["x5chain", "key_ops", "crv", "alg", "baseIV", "kty"]);
|
|
27
|
-
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { kty: coseToJoseKty(kty) }), (crv && { crv: coseToJoseCurve(crv) })), (key_ops && { key_ops: key_ops.map(coseToJoseKeyOperation) })), (alg && { alg: coseToJoseSignatureAlg(alg) })), (baseIV && { iv: baseIV })), (x5chain && { x5c: x5chain }));
|
|
28
|
+
return (0, functions_1.removeNulls)(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { kty: coseToJoseKty(kty) }), (crv && { crv: coseToJoseCurve(crv) })), (key_ops && { key_ops: key_ops.map(coseToJoseKeyOperation) })), (alg && { alg: coseToJoseSignatureAlg(alg) })), (baseIV && { iv: baseIV })), (x5chain && { x5c: x5chain })));
|
|
28
29
|
}
|
|
29
30
|
function jwkToCoseKey(jwk) {
|
|
30
31
|
const { x5c, key_ops, crv, alg, iv, kty } = jwk, rest = __rest(jwk, ["x5c", "key_ops", "crv", "alg", "iv", "kty"]);
|
|
31
|
-
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { kty: joseToCoseKty(kty) }), (crv && { crv: joseToCoseCurve(crv) })), (key_ops && { key_ops: key_ops.map(joseToCoseKeyOperation) })), (alg && { alg: joseToCoseSignatureAlg(alg) })), (iv && { baseIV: iv })), (x5c && { x5chain: x5c }));
|
|
32
|
+
return (0, functions_1.removeNulls)(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { kty: joseToCoseKty(kty) }), (crv && { crv: joseToCoseCurve(crv) })), (key_ops && { key_ops: key_ops.map(joseToCoseKeyOperation) })), (alg && { alg: joseToCoseSignatureAlg(alg) })), (iv && { baseIV: iv })), (x5c && { x5chain: x5c })));
|
|
32
33
|
}
|
|
33
34
|
function coseToJoseKty(kty) {
|
|
34
35
|
switch (kty) {
|
package/dist/conversion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversion.js","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"conversion.js","sourceRoot":"","sources":["../src/conversion.ts"],"names":[],"mappings":"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"}
|
package/dist/functions.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { JoseSignatureAlgorithm, JWK } from '@sphereon/ssi-types';
|
|
2
2
|
import { IAgentContext, IKey, IKeyManager, ManagedKeyInfo, MinimalImportableKey } from '@veramo/core';
|
|
3
|
-
import { JsonWebKey } from 'did-resolver';
|
|
4
3
|
import { IImportProvidedOrGeneratedKeyArgs, JwkKeyUse, KeyTypeFromCryptographicSuiteArgs, SignatureAlgorithmFromKeyArgs, SignatureAlgorithmFromKeyTypeArgs, TKeyType } from './types';
|
|
5
4
|
export declare const logger: import("@sphereon/ssi-types").ISimpleLogger<unknown>;
|
|
6
5
|
/**
|
|
@@ -56,6 +55,13 @@ export declare const toJwk: (publicKeyHex: string, type: TKeyType, opts?: {
|
|
|
56
55
|
isPrivateKey?: boolean;
|
|
57
56
|
noKidThumbprint?: boolean;
|
|
58
57
|
}) => JWK;
|
|
58
|
+
/**
|
|
59
|
+
* Convert a JWK to a raw hex key.
|
|
60
|
+
* Currently supports `RSA` and `EC` keys. Extendable for other key types.
|
|
61
|
+
* @param jwk - The JSON Web Key object.
|
|
62
|
+
* @returns A string representing the key in raw hexadecimal format.
|
|
63
|
+
*/
|
|
64
|
+
export declare const jwkToRawHexKey: (jwk: JWK) => Promise<string>;
|
|
59
65
|
/**
|
|
60
66
|
* Determines the use param based upon the key/signature type or supplied use value.
|
|
61
67
|
*
|
|
@@ -76,10 +82,16 @@ export declare const hexStringFromUint8Array: (value: Uint8Array) => string;
|
|
|
76
82
|
export declare const signatureAlgorithmFromKey: (args: SignatureAlgorithmFromKeyArgs) => Promise<JoseSignatureAlgorithm>;
|
|
77
83
|
export declare const signatureAlgorithmFromKeyType: (args: SignatureAlgorithmFromKeyTypeArgs) => JoseSignatureAlgorithm;
|
|
78
84
|
export declare const keyTypeFromCryptographicSuite: (args: KeyTypeFromCryptographicSuiteArgs) => TKeyType;
|
|
79
|
-
export declare function
|
|
85
|
+
export declare function removeNulls<T>(obj: T | any): any;
|
|
86
|
+
/**
|
|
87
|
+
*
|
|
88
|
+
*/
|
|
89
|
+
export declare function verifyRawSignature({ data, signature, key: inputKey, opts }: {
|
|
80
90
|
data: Uint8Array;
|
|
81
91
|
signature: Uint8Array;
|
|
82
|
-
key:
|
|
83
|
-
|
|
92
|
+
key: JWK;
|
|
93
|
+
opts?: {
|
|
94
|
+
signatureAlg?: JoseSignatureAlgorithm;
|
|
95
|
+
};
|
|
84
96
|
}): Promise<boolean>;
|
|
85
97
|
//# sourceMappingURL=functions.d.ts.map
|
package/dist/functions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/functions.js
CHANGED
|
@@ -35,16 +35,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.keyTypeFromCryptographicSuite = exports.signatureAlgorithmFromKeyType = exports.signatureAlgorithmFromKey = exports.hexStringFromUint8Array = exports.toRawCompressedHexPublicKey = exports.isRawCompressedPublicKey = exports.asn1DerToRawPublicKey = exports.isAsn1Der = exports.padLeft = exports.jwkDetermineUse = exports.toJwk = exports.toJwkFromKey = exports.calculateJwkThumbprint = exports.toBase64url = exports.calculateJwkThumbprintForKey = exports.generatePrivateKeyHex = exports.getKms = exports.logger = void 0;
|
|
38
|
+
exports.keyTypeFromCryptographicSuite = exports.signatureAlgorithmFromKeyType = exports.signatureAlgorithmFromKey = exports.hexStringFromUint8Array = exports.toRawCompressedHexPublicKey = exports.isRawCompressedPublicKey = exports.asn1DerToRawPublicKey = exports.isAsn1Der = exports.padLeft = exports.jwkDetermineUse = exports.jwkToRawHexKey = exports.toJwk = exports.toJwkFromKey = exports.calculateJwkThumbprint = exports.toBase64url = exports.calculateJwkThumbprintForKey = exports.generatePrivateKeyHex = exports.getKms = exports.logger = void 0;
|
|
39
39
|
exports.importProvidedOrGeneratedKey = importProvidedOrGeneratedKey;
|
|
40
|
-
exports.
|
|
40
|
+
exports.removeNulls = removeNulls;
|
|
41
|
+
exports.verifyRawSignature = verifyRawSignature;
|
|
41
42
|
const random_1 = require("@ethersproject/random");
|
|
43
|
+
const bls12_381_1 = require("@noble/curves/bls12-381");
|
|
44
|
+
const ed25519_1 = require("@noble/curves/ed25519");
|
|
45
|
+
const p256_1 = require("@noble/curves/p256");
|
|
46
|
+
const p384_1 = require("@noble/curves/p384");
|
|
47
|
+
const p521_1 = require("@noble/curves/p521");
|
|
48
|
+
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
49
|
+
const sha2_1 = require("@noble/hashes/sha2");
|
|
42
50
|
const ssi_sdk_ext_x509_utils_1 = require("@sphereon/ssi-sdk-ext.x509-utils");
|
|
43
51
|
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
44
|
-
const
|
|
52
|
+
const ed25519_2 = require("@stablelib/ed25519");
|
|
45
53
|
const elliptic_1 = __importDefault(require("elliptic"));
|
|
54
|
+
const rsa = __importStar(require("micro-rsa-dsa-dh/rsa.js"));
|
|
46
55
|
const u8a = __importStar(require("uint8arrays"));
|
|
47
56
|
const digest_methods_1 = require("./digest-methods");
|
|
57
|
+
const jwk_jcs_1 = require("./jwk-jcs");
|
|
48
58
|
const types_1 = require("./types");
|
|
49
59
|
exports.logger = ssi_types_1.Loggers.DEFAULT.get('sphereon:key-utils');
|
|
50
60
|
/**
|
|
@@ -71,7 +81,7 @@ exports.getKms = getKms;
|
|
|
71
81
|
const generatePrivateKeyHex = (type) => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
82
|
switch (type) {
|
|
73
83
|
case 'Ed25519': {
|
|
74
|
-
const keyPairEd25519 = (0,
|
|
84
|
+
const keyPairEd25519 = (0, ed25519_2.generateKeyPair)();
|
|
75
85
|
return u8a.toString(keyPairEd25519.secretKey, 'base16');
|
|
76
86
|
}
|
|
77
87
|
// The Secp256 types use the same method to generate the key
|
|
@@ -243,6 +253,82 @@ const toJwk = (publicKeyHex, type, opts) => {
|
|
|
243
253
|
return jwk;
|
|
244
254
|
};
|
|
245
255
|
exports.toJwk = toJwk;
|
|
256
|
+
/**
|
|
257
|
+
* Convert a JWK to a raw hex key.
|
|
258
|
+
* Currently supports `RSA` and `EC` keys. Extendable for other key types.
|
|
259
|
+
* @param jwk - The JSON Web Key object.
|
|
260
|
+
* @returns A string representing the key in raw hexadecimal format.
|
|
261
|
+
*/
|
|
262
|
+
const jwkToRawHexKey = (jwk) => __awaiter(void 0, void 0, void 0, function* () {
|
|
263
|
+
// TODO: Probably makes sense to have an option to do the same for private keys
|
|
264
|
+
if (jwk.kty === 'RSA') {
|
|
265
|
+
return rsaJwkToRawHexKey(jwk);
|
|
266
|
+
}
|
|
267
|
+
else if (jwk.kty === 'EC') {
|
|
268
|
+
return "04" + ecJwkToRawHexKey(jwk);
|
|
269
|
+
}
|
|
270
|
+
else if (jwk.kty === 'OKP') {
|
|
271
|
+
return okpJwkToRawHexKey(jwk);
|
|
272
|
+
}
|
|
273
|
+
else if (jwk.kty === 'oct') {
|
|
274
|
+
return octJwkToRawHexKey(jwk);
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
throw new Error(`Unsupported key type: ${jwk.kty}`);
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
exports.jwkToRawHexKey = jwkToRawHexKey;
|
|
281
|
+
/**
|
|
282
|
+
* Convert an RSA JWK to a raw hex key.
|
|
283
|
+
* @param jwk - The RSA JWK object.
|
|
284
|
+
* @returns A string representing the RSA key in raw hexadecimal format.
|
|
285
|
+
*/
|
|
286
|
+
function rsaJwkToRawHexKey(jwk) {
|
|
287
|
+
if (!jwk.n || !jwk.e) {
|
|
288
|
+
throw new Error("RSA JWK must contain 'n' and 'e' properties.");
|
|
289
|
+
}
|
|
290
|
+
const modulus = u8a.fromString(jwk.n, 'base64url'); // 'n' is the modulus
|
|
291
|
+
const exponent = u8a.fromString(jwk.e, 'base64url'); // 'e' is the exponent
|
|
292
|
+
return u8a.toString(modulus, 'hex') + u8a.toString(exponent, 'hex');
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Convert an EC JWK to a raw hex key.
|
|
296
|
+
* @param jwk - The EC JWK object.
|
|
297
|
+
* @returns A string representing the EC key in raw hexadecimal format.
|
|
298
|
+
*/
|
|
299
|
+
function ecJwkToRawHexKey(jwk) {
|
|
300
|
+
if (!jwk.x || !jwk.y) {
|
|
301
|
+
throw new Error("EC JWK must contain 'x' and 'y' properties.");
|
|
302
|
+
}
|
|
303
|
+
const x = u8a.fromString(jwk.x, 'base64url');
|
|
304
|
+
const y = u8a.fromString(jwk.y, 'base64url');
|
|
305
|
+
return u8a.toString(x, 'hex') + u8a.toString(y, 'hex');
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Convert an EC JWK to a raw hex key.
|
|
309
|
+
* @param jwk - The EC JWK object.
|
|
310
|
+
* @returns A string representing the EC key in raw hexadecimal format.
|
|
311
|
+
*/
|
|
312
|
+
function okpJwkToRawHexKey(jwk) {
|
|
313
|
+
if (!jwk.x) {
|
|
314
|
+
throw new Error("OKP JWK must contain 'x' property.");
|
|
315
|
+
}
|
|
316
|
+
const x = u8a.fromString(jwk.x, 'base64url');
|
|
317
|
+
;
|
|
318
|
+
return u8a.toString(x, 'hex');
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Convert an octet JWK to a raw hex key.
|
|
322
|
+
* @param jwk - The octet JWK object.
|
|
323
|
+
* @returns A string representing the octet key in raw hexadecimal format.
|
|
324
|
+
*/
|
|
325
|
+
function octJwkToRawHexKey(jwk) {
|
|
326
|
+
if (!jwk.k) {
|
|
327
|
+
throw new Error("Octet JWK must contain 'k' property.");
|
|
328
|
+
}
|
|
329
|
+
const key = u8a.fromString(jwk.k, 'base64url');
|
|
330
|
+
return u8a.toString(key, 'hex');
|
|
331
|
+
}
|
|
246
332
|
/**
|
|
247
333
|
* Determines the use param based upon the key/signature type or supplied use value.
|
|
248
334
|
*
|
|
@@ -331,15 +417,28 @@ const toEd25519OrX25519Jwk = (publicKeyHex, opts) => {
|
|
|
331
417
|
return Object.assign(Object.assign({ alg: ssi_types_1.JoseSignatureAlgorithm.EdDSA }, (use !== undefined && { use })), { kty: ssi_types_1.JwkKeyType.OKP, crv: (_a = opts === null || opts === void 0 ? void 0 : opts.crv) !== null && _a !== void 0 ? _a : ssi_types_1.JoseCurve.Ed25519, x: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(publicKeyHex, 'base64url') });
|
|
332
418
|
};
|
|
333
419
|
const toRSAJwk = (publicKeyHex, opts) => {
|
|
334
|
-
var _a, _b
|
|
335
|
-
const
|
|
420
|
+
var _a, _b;
|
|
421
|
+
const meta = (_a = opts === null || opts === void 0 ? void 0 : opts.key) === null || _a === void 0 ? void 0 : _a.meta;
|
|
422
|
+
if ((meta === null || meta === void 0 ? void 0 : meta.publicKeyJwk) || (meta === null || meta === void 0 ? void 0 : meta.publicKeyPEM)) {
|
|
423
|
+
if (meta === null || meta === void 0 ? void 0 : meta.publicKeyJwk) {
|
|
424
|
+
return meta.publicKeyJwk;
|
|
425
|
+
}
|
|
426
|
+
const publicKeyPEM = (_b = meta === null || meta === void 0 ? void 0 : meta.publicKeyPEM) !== null && _b !== void 0 ? _b : (0, ssi_sdk_ext_x509_utils_1.hexToPEM)(publicKeyHex, 'public');
|
|
427
|
+
return (0, ssi_sdk_ext_x509_utils_1.PEMToJwk)(publicKeyPEM, 'public');
|
|
428
|
+
}
|
|
429
|
+
// exponent (e) is 5 chars long, rest is modulus (n)
|
|
336
430
|
// const publicKey = publicKeyHex
|
|
337
431
|
// assertProperKeyLength(publicKey, [2048, 3072, 4096])
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
const
|
|
342
|
-
return
|
|
432
|
+
const exponent = publicKeyHex.slice(-5);
|
|
433
|
+
const modulus = publicKeyHex.slice(0, -5);
|
|
434
|
+
// const modulusBitLength = (modulus.length / 2) * 8
|
|
435
|
+
// const alg = modulusBitLength === 2048 ? JoseSignatureAlgorithm.RS256 : modulusBitLength === 3072 ? JoseSignatureAlgorithm.RS384 : modulusBitLength === 4096 ? JoseSignatureAlgorithm.RS512 : undefined
|
|
436
|
+
return {
|
|
437
|
+
kty: 'RSA',
|
|
438
|
+
n: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(modulus, 'base64url'),
|
|
439
|
+
e: (0, ssi_sdk_ext_x509_utils_1.hexToBase64)(exponent, 'base64url'),
|
|
440
|
+
// ...(alg && { alg }),
|
|
441
|
+
};
|
|
343
442
|
};
|
|
344
443
|
const padLeft = (args) => {
|
|
345
444
|
var _a, _b;
|
|
@@ -467,6 +566,10 @@ const signatureAlgorithmFromKeyType = (args) => {
|
|
|
467
566
|
return ssi_types_1.JoseSignatureAlgorithm.EdDSA;
|
|
468
567
|
case 'Secp256r1':
|
|
469
568
|
return ssi_types_1.JoseSignatureAlgorithm.ES256;
|
|
569
|
+
case 'Secp384r1':
|
|
570
|
+
return ssi_types_1.JoseSignatureAlgorithm.ES384;
|
|
571
|
+
case 'Secp521r1':
|
|
572
|
+
return ssi_types_1.JoseSignatureAlgorithm.ES512;
|
|
470
573
|
case 'Secp256k1':
|
|
471
574
|
return ssi_types_1.JoseSignatureAlgorithm.ES256K;
|
|
472
575
|
default:
|
|
@@ -476,9 +579,20 @@ const signatureAlgorithmFromKeyType = (args) => {
|
|
|
476
579
|
exports.signatureAlgorithmFromKeyType = signatureAlgorithmFromKeyType;
|
|
477
580
|
// TODO improve this conversion for jwt and jsonld, not a fan of current structure
|
|
478
581
|
const keyTypeFromCryptographicSuite = (args) => {
|
|
479
|
-
const {
|
|
480
|
-
switch (
|
|
582
|
+
const { crv, kty, alg } = args;
|
|
583
|
+
switch (alg) {
|
|
584
|
+
case 'RSASSA-PSS':
|
|
585
|
+
case 'RS256':
|
|
586
|
+
case 'RS384':
|
|
587
|
+
case 'RS512':
|
|
588
|
+
case 'PS256':
|
|
589
|
+
case 'PS384':
|
|
590
|
+
case 'PS512':
|
|
591
|
+
return 'RSA';
|
|
592
|
+
}
|
|
593
|
+
switch (crv) {
|
|
481
594
|
case 'EdDSA':
|
|
595
|
+
case 'Ed25519':
|
|
482
596
|
case 'Ed25519Signature2018':
|
|
483
597
|
case 'Ed25519Signature2020':
|
|
484
598
|
case 'JcsEd25519Signature2020':
|
|
@@ -486,31 +600,101 @@ const keyTypeFromCryptographicSuite = (args) => {
|
|
|
486
600
|
case 'JsonWebSignature2020':
|
|
487
601
|
case 'ES256':
|
|
488
602
|
case 'ECDSA':
|
|
603
|
+
case 'P-256':
|
|
489
604
|
return 'Secp256r1';
|
|
605
|
+
case 'ES384':
|
|
606
|
+
case 'P-384':
|
|
607
|
+
return 'Secp384r1';
|
|
608
|
+
case 'ES512':
|
|
609
|
+
case 'P-521':
|
|
610
|
+
return 'Secp521r1';
|
|
490
611
|
case 'EcdsaSecp256k1Signature2019':
|
|
612
|
+
case 'secp256k1':
|
|
491
613
|
case 'ES256K':
|
|
492
614
|
return 'Secp256k1';
|
|
493
|
-
default:
|
|
494
|
-
throw new Error(`Cryptographic suite '${suite}' not supported`);
|
|
495
615
|
}
|
|
616
|
+
if (kty) {
|
|
617
|
+
return kty;
|
|
618
|
+
}
|
|
619
|
+
throw new Error(`Cryptographic suite '${crv}' not supported`);
|
|
496
620
|
};
|
|
497
621
|
exports.keyTypeFromCryptographicSuite = keyTypeFromCryptographicSuite;
|
|
498
|
-
function
|
|
499
|
-
|
|
622
|
+
function removeNulls(obj) {
|
|
623
|
+
Object.keys(obj).forEach((key) => {
|
|
624
|
+
if (obj[key] && typeof obj[key] === 'object')
|
|
625
|
+
removeNulls(obj[key]);
|
|
626
|
+
else if (obj[key] == null)
|
|
627
|
+
delete obj[key];
|
|
628
|
+
});
|
|
629
|
+
return obj;
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
*
|
|
633
|
+
*/
|
|
634
|
+
function verifyRawSignature(_a) {
|
|
635
|
+
return __awaiter(this, arguments, void 0, function* ({ data, signature, key: inputKey, opts }) {
|
|
500
636
|
var _b;
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
637
|
+
/**
|
|
638
|
+
* Converts a Base64URL-encoded JWK property to a BigInt.
|
|
639
|
+
* @param jwkProp - The Base64URL-encoded string.
|
|
640
|
+
* @returns The BigInt representation of the decoded value.
|
|
641
|
+
*/
|
|
642
|
+
function jwkPropertyToBigInt(jwkProp) {
|
|
643
|
+
// Decode Base64URL to Uint8Array
|
|
644
|
+
const byteArray = u8a.fromString(jwkProp, 'base64url');
|
|
645
|
+
// Convert Uint8Array to hexadecimal string and then to BigInt
|
|
646
|
+
const hex = u8a.toString(byteArray, 'hex');
|
|
647
|
+
return BigInt(`0x${hex}`);
|
|
648
|
+
}
|
|
649
|
+
const key = removeNulls(inputKey);
|
|
650
|
+
(0, jwk_jcs_1.validateJwk)(key);
|
|
651
|
+
const keyType = (0, exports.keyTypeFromCryptographicSuite)({ crv: key.crv, kty: key.kty, alg: key.alg });
|
|
652
|
+
const publicKeyHex = (yield (0, exports.jwkToRawHexKey)(key));
|
|
653
|
+
// TODO: We really should look at the signature alg first if provided! From key type should be the last resort
|
|
654
|
+
switch (keyType) {
|
|
655
|
+
case 'Secp256k1':
|
|
656
|
+
return secp256k1_1.secp256k1.verify(signature, data, publicKeyHex, { format: "compact", prehash: true });
|
|
657
|
+
case 'Secp256r1':
|
|
658
|
+
return p256_1.p256.verify(signature, data, publicKeyHex, { format: "compact", prehash: true });
|
|
659
|
+
case 'Secp384r1':
|
|
660
|
+
return p384_1.p384.verify(signature, data, publicKeyHex, { format: "compact", prehash: true });
|
|
661
|
+
case 'Secp521r1':
|
|
662
|
+
return p521_1.p521.verify(signature, data, publicKeyHex, { format: "compact", prehash: true });
|
|
663
|
+
case 'Ed25519':
|
|
664
|
+
return ed25519_1.ed25519.verify(signature, data, u8a.fromString(publicKeyHex, 'hex'));
|
|
665
|
+
case "Bls12381G1":
|
|
666
|
+
case "Bls12381G2":
|
|
667
|
+
return bls12_381_1.bls12_381.verify(signature, data, u8a.fromString(publicKeyHex, 'hex'));
|
|
668
|
+
case "RSA": {
|
|
669
|
+
const signatureAlgorithm = (_b = opts === null || opts === void 0 ? void 0 : opts.signatureAlg) !== null && _b !== void 0 ? _b : ssi_types_1.JoseSignatureAlgorithm.PS256;
|
|
670
|
+
const hashAlg = signatureAlgorithm === (ssi_types_1.JoseSignatureAlgorithm.RS512 || ssi_types_1.JoseSignatureAlgorithm.PS512) ? sha2_1.sha512 : signatureAlgorithm === (ssi_types_1.JoseSignatureAlgorithm.RS384 || ssi_types_1.JoseSignatureAlgorithm.PS384) ? sha2_1.sha384 : sha2_1.sha256;
|
|
671
|
+
switch (signatureAlgorithm) {
|
|
672
|
+
case ssi_types_1.JoseSignatureAlgorithm.RS256:
|
|
673
|
+
return rsa.PKCS1_SHA256.verify({
|
|
674
|
+
n: jwkPropertyToBigInt(key.n),
|
|
675
|
+
e: jwkPropertyToBigInt(key.e),
|
|
676
|
+
}, data, signature);
|
|
677
|
+
case ssi_types_1.JoseSignatureAlgorithm.RS384:
|
|
678
|
+
return rsa.PKCS1_SHA384.verify({
|
|
679
|
+
n: jwkPropertyToBigInt(key.n),
|
|
680
|
+
e: jwkPropertyToBigInt(key.e),
|
|
681
|
+
}, data, signature);
|
|
682
|
+
case ssi_types_1.JoseSignatureAlgorithm.RS512:
|
|
683
|
+
return rsa.PKCS1_SHA512.verify({
|
|
684
|
+
n: jwkPropertyToBigInt(key.n),
|
|
685
|
+
e: jwkPropertyToBigInt(key.e),
|
|
686
|
+
}, data, signature);
|
|
687
|
+
case ssi_types_1.JoseSignatureAlgorithm.PS256:
|
|
688
|
+
case ssi_types_1.JoseSignatureAlgorithm.PS384:
|
|
689
|
+
case ssi_types_1.JoseSignatureAlgorithm.PS512:
|
|
690
|
+
return rsa.PSS(hashAlg, rsa.mgf1(hashAlg)).verify({
|
|
691
|
+
n: jwkPropertyToBigInt(key.n),
|
|
692
|
+
e: jwkPropertyToBigInt(key.e),
|
|
693
|
+
}, data, signature);
|
|
694
|
+
}
|
|
695
|
+
}
|
|
504
696
|
}
|
|
505
|
-
|
|
506
|
-
const publicKey = yield subtle.importKey('jwk', key, {
|
|
507
|
-
name: alg,
|
|
508
|
-
namedCurve: crv,
|
|
509
|
-
}, true, ['verify']);
|
|
510
|
-
return subtle.verify({
|
|
511
|
-
name: alg,
|
|
512
|
-
hash: 'SHA-256', // fixme; make arg
|
|
513
|
-
}, publicKey, signature, data);
|
|
697
|
+
throw Error(`Unsupported key type for signature validation: ${keyType}`);
|
|
514
698
|
});
|
|
515
699
|
}
|
|
516
700
|
//# sourceMappingURL=functions.js.map
|
package/dist/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/jwk-jcs.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import type { ByteView } from 'multiformats/codecs/interface';
|
|
2
|
+
/**
|
|
3
|
+
* Checks if the JWK is valid. It must contain all the required members.
|
|
4
|
+
*
|
|
5
|
+
* @see https://www.rfc-editor.org/rfc/rfc7518#section-6
|
|
6
|
+
* @see https://www.rfc-editor.org/rfc/rfc8037#section-2
|
|
7
|
+
*
|
|
8
|
+
* @param jwk - The JWK to check.
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateJwk(jwk: any): void;
|
|
2
11
|
/**
|
|
3
12
|
* Extracts the required members of the JWK and canonicalizes it.
|
|
4
13
|
*
|
package/dist/jwk-jcs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwk-jcs.d.ts","sourceRoot":"","sources":["../src/jwk-jcs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jwk-jcs.d.ts","sourceRoot":"","sources":["../src/jwk-jcs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAA;AA6B3D;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,QA6BnC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;EAYlC;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAOpE;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,UAsD1C"}
|
package/dist/jwk-jcs.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateJwk = validateJwk;
|
|
6
4
|
exports.minimalJwk = minimalJwk;
|
|
7
5
|
exports.jwkJcsEncode = jwkJcsEncode;
|
|
8
6
|
exports.jwkJcsDecode = jwkJcsDecode;
|
|
9
7
|
exports.jcsCanonicalize = jcsCanonicalize;
|
|
10
8
|
const web_encoding_1 = require("web-encoding");
|
|
11
|
-
const lodash_isplainobject_1 = __importDefault(require("lodash.isplainobject"));
|
|
12
9
|
const textEncoder = new web_encoding_1.TextEncoder();
|
|
13
10
|
const textDecoder = new web_encoding_1.TextDecoder();
|
|
14
11
|
/**
|
|
@@ -27,9 +24,9 @@ function check(value, description) {
|
|
|
27
24
|
*
|
|
28
25
|
* @param value - The value to check.
|
|
29
26
|
*/
|
|
30
|
-
function
|
|
31
|
-
if (!
|
|
32
|
-
throw new Error('
|
|
27
|
+
function assertObject(value) {
|
|
28
|
+
if (!value || typeof (value) !== 'object') {
|
|
29
|
+
throw new Error('Value must be an object');
|
|
33
30
|
}
|
|
34
31
|
}
|
|
35
32
|
/**
|
|
@@ -41,7 +38,7 @@ function validatePlainObject(value) {
|
|
|
41
38
|
* @param jwk - The JWK to check.
|
|
42
39
|
*/
|
|
43
40
|
function validateJwk(jwk) {
|
|
44
|
-
|
|
41
|
+
assertObject(jwk);
|
|
45
42
|
// Check JWK required members based on the key type
|
|
46
43
|
switch (jwk.kty) {
|
|
47
44
|
/**
|
package/dist/jwk-jcs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwk-jcs.js","sourceRoot":"","sources":["../src/jwk-jcs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jwk-jcs.js","sourceRoot":"","sources":["../src/jwk-jcs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IKey, MinimalImportableKey } from '@veramo/core';
|
|
2
2
|
export declare const JWK_JCS_PUB_NAME: "jwk_jcs-pub";
|
|
3
3
|
export declare const JWK_JCS_PUB_PREFIX = 60241;
|
|
4
|
-
export type TKeyType = 'Ed25519' | 'Secp256k1' | 'Secp256r1' | 'X25519' | 'Bls12381G1' | 'Bls12381G2' | 'RSA';
|
|
4
|
+
export type TKeyType = 'Ed25519' | 'Secp256k1' | 'Secp256r1' | 'Secp384r1' | 'Secp521r1' | 'X25519' | 'Bls12381G1' | 'Bls12381G2' | 'RSA';
|
|
5
5
|
export declare enum Key {
|
|
6
6
|
Ed25519 = "Ed25519",
|
|
7
7
|
Secp256k1 = "Secp256k1",
|
|
@@ -28,7 +28,7 @@ export interface IImportProvidedOrGeneratedKeyArgs {
|
|
|
28
28
|
}
|
|
29
29
|
export interface IKeyOpts {
|
|
30
30
|
key?: Partial<MinimalImportableKey>;
|
|
31
|
-
type?: TKeyType
|
|
31
|
+
type?: Exclude<TKeyType, 'Secp384r1' | 'Secp521r1'>;
|
|
32
32
|
use?: JwkKeyUse;
|
|
33
33
|
x509?: X509Opts;
|
|
34
34
|
}
|
|
@@ -39,6 +39,8 @@ export type SignatureAlgorithmFromKeyTypeArgs = {
|
|
|
39
39
|
type: TKeyType;
|
|
40
40
|
};
|
|
41
41
|
export type KeyTypeFromCryptographicSuiteArgs = {
|
|
42
|
-
|
|
42
|
+
crv?: string;
|
|
43
|
+
kty?: string;
|
|
44
|
+
alg?: string;
|
|
43
45
|
};
|
|
44
46
|
//# sourceMappingURL=key-util-types.d.ts.map
|