@sphereon/ssi-sdk-ext.jwt-service 0.27.1-feature.SPRIND.113.interop.6 → 0.27.1-feature.SPRIND.113.interop.9
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/agent/JwtService.js +1 -1
- package/dist/agent/JwtService.js.map +1 -1
- package/dist/functions/JWE.d.ts.map +1 -1
- package/dist/functions/JWE.js +33 -19
- package/dist/functions/JWE.js.map +1 -1
- package/package.json +12 -10
- package/src/agent/JwtService.ts +1 -1
- package/src/functions/JWE.ts +39 -18
package/dist/agent/JwtService.js
CHANGED
|
@@ -89,7 +89,7 @@ class JwtService {
|
|
|
89
89
|
const { payload, protectedHeader = { alg: args.alg, enc: args.enc }, recipientKey, issuer, expirationTime, audience } = args;
|
|
90
90
|
try {
|
|
91
91
|
(0, debug_1.default)(`JWE Encrypt: ${JSON.stringify(args, null, 2)}`);
|
|
92
|
-
|
|
92
|
+
const alg = (_b = (_a = (0, __1.jweAlg)(args.alg)) !== null && _a !== void 0 ? _a : (0, __1.jweAlg)(protectedHeader.alg)) !== null && _b !== void 0 ? _b : 'ECDH-ES';
|
|
93
93
|
const enc = (_d = (_c = (0, __1.jweEnc)(args.enc)) !== null && _c !== void 0 ? _c : (0, __1.jweEnc)(protectedHeader.enc)) !== null && _d !== void 0 ? _d : 'A256GCM';
|
|
94
94
|
const encJwks = recipientKey.jwks.length === 1
|
|
95
95
|
? [recipientKey.jwks[0]]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JwtService.js","sourceRoot":"","sources":["../../src/agent/JwtService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAAyB;AACzB,+BAAgC;AAEhC,iDAAkC;AAClC,0BAuBW;AACX,0CAAsD;AAEtD;;GAEG;AACH,MAAa,UAAU;IAAvB;QACW,WAAM,GAAG,UAAM,CAAC,WAAW,CAAA;QAC3B,YAAO,GAAgB;YAC9B,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;YAClF,kCAAkC,EAAE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtF,4BAA4B,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1E,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5D,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAChE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;SACjE,CAAA;IAwEH,CAAC;IAtEe,aAAa,CAAC,IAAuB,EAAE,OAAyB;;YAC5E,OAAO,MAAM,IAAA,oBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;KAAA;IAEa,gCAAgC,CAAC,IAAuB,EAAE,OAAyB;;YAC/F,OAAO,MAAM,IAAA,wBAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClD,CAAC;KAAA;IAEa,kCAAkC,CAAC,IAA4B,EAAE,OAAyB;;YACtG,OAAO,MAAM,IAAA,0BAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpD,CAAC;KAAA;IAEa,4BAA4B,CAAC,IAA0B,EAAE,OAAyB;;YAC9F,oDAAoD;YACpD,OAAO,EAAE,GAAG,EAAE,MAAM,IAAA,oBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAA;QACvD,CAAC;KAAA;IAEa,qBAAqB,CAAC,IAAmB,EAAE,OAAyB;;YAChF,OAAO,MAAM,IAAA,aAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvC,CAAC;KAAA;IAEa,uBAAuB,CAAC,IAA8B,EAAE,OAAyB;;;YAC7F,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YAE5H,IAAI,CAAC;gBACH,IAAA,eAAK,EAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;gBAEtD,
|
|
1
|
+
{"version":3,"file":"JwtService.js","sourceRoot":"","sources":["../../src/agent/JwtService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAAyB;AACzB,+BAAgC;AAEhC,iDAAkC;AAClC,0BAuBW;AACX,0CAAsD;AAEtD;;GAEG;AACH,MAAa,UAAU;IAAvB;QACW,WAAM,GAAG,UAAM,CAAC,WAAW,CAAA;QAC3B,YAAO,GAAgB;YAC9B,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;YAClF,kCAAkC,EAAE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtF,4BAA4B,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1E,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5D,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAChE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;SACjE,CAAA;IAwEH,CAAC;IAtEe,aAAa,CAAC,IAAuB,EAAE,OAAyB;;YAC5E,OAAO,MAAM,IAAA,oBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;KAAA;IAEa,gCAAgC,CAAC,IAAuB,EAAE,OAAyB;;YAC/F,OAAO,MAAM,IAAA,wBAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClD,CAAC;KAAA;IAEa,kCAAkC,CAAC,IAA4B,EAAE,OAAyB;;YACtG,OAAO,MAAM,IAAA,0BAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpD,CAAC;KAAA;IAEa,4BAA4B,CAAC,IAA0B,EAAE,OAAyB;;YAC9F,oDAAoD;YACpD,OAAO,EAAE,GAAG,EAAE,MAAM,IAAA,oBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAA;QACvD,CAAC;KAAA;IAEa,qBAAqB,CAAC,IAAmB,EAAE,OAAyB;;YAChF,OAAO,MAAM,IAAA,aAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvC,CAAC;KAAA;IAEa,uBAAuB,CAAC,IAA8B,EAAE,OAAyB;;;YAC7F,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YAE5H,IAAI,CAAC;gBACH,IAAA,eAAK,EAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;gBAEtD,MAAM,GAAG,GAAG,MAAA,MAAA,IAAA,UAAM,EAAC,IAAI,CAAC,GAAG,CAAC,mCAAI,IAAA,UAAM,EAAC,eAAe,CAAC,GAAG,CAAC,mCAAI,SAAS,CAAA;gBACxE,MAAM,GAAG,GAAG,MAAA,MAAA,IAAA,UAAM,EAAC,IAAI,CAAC,GAAG,CAAC,mCAAI,IAAA,UAAM,EAAC,eAAe,CAAC,GAAG,CAAC,mCAAI,SAAS,CAAA;gBACxE,MAAM,OAAO,GACX,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;oBAC5B,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,CAAA;gBACzI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAA;gBACzF,CAAC;gBACD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;gBAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,aAAS,CAAC,OAAO,CAAC,2FAA2F,EAAE,OAAO,CAAC,CAAA;gBACzH,CAAC;gBACD,IAAI,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,GAAG,0CAAE,UAAU,CAAC,IAAI,CAAC,MAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1E,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAA,CAAC,6CAA6C;gBACjL,CAAC;gBACD,MAAM,MAAM,GAAG,MAAA,eAAe,CAAC,GAAG,mCAAI,IAAI,CAAC,GAAG,CAAA;gBAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACpE,MAAM,MAAM,GAAG,MAAA,eAAe,CAAC,GAAG,mCAAI,IAAI,CAAC,GAAG,CAAA;gBAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAEpE,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAS,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBAC/E,MAAM,SAAS,GAAG,IAAI,yBAAmB,CAAC;oBACxC,GAAG;oBACH,GAAG;oBACH,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;oBACjC,GAAG,EAAE,MAAM;oBACX,MAAM;oBACN,cAAc;oBACd,QAAQ;iBACT,CAAC,CAAA;gBAEF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBAC1D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;YACrB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAA;gBAC9D,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;KAAA;IAEa,uBAAuB,CAAC,IAA8B,EAAE,OAAyB;;YAC7F,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;QACzB,CAAC;KAAA;CACF;AAlFD,gCAkFC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JWE.d.ts","sourceRoot":"","sources":["../../src/functions/JWE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElF,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAEpD,OAAO,EACL,MAAM,EAEN,MAAM,EAEN,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,6BAA6B,EAC7B,UAAU,EACX,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"JWE.d.ts","sourceRoot":"","sources":["../../src/functions/JWE.ts"],"names":[],"mappings":"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"}
|
package/dist/functions/JWE.js
CHANGED
|
@@ -42,7 +42,9 @@ const utils_1 = require("@veramo/utils");
|
|
|
42
42
|
const jose = __importStar(require("jose"));
|
|
43
43
|
const u8a = __importStar(require("uint8arrays"));
|
|
44
44
|
const IJwtService_1 = require("../types/IJwtService");
|
|
45
|
-
const
|
|
45
|
+
const p256_1 = require("@noble/curves/p256");
|
|
46
|
+
const sha256_1 = require("@noble/hashes/sha256");
|
|
47
|
+
const hmac_1 = require("@noble/hashes/hmac");
|
|
46
48
|
const generateContentEncryptionKey = (_a) => __awaiter(void 0, [_a], void 0, function* ({ alg, randomSource = random_1.defaultRandomSource, }) {
|
|
47
49
|
let length;
|
|
48
50
|
switch (alg) {
|
|
@@ -128,7 +130,7 @@ class CompactJwtEncrypter {
|
|
|
128
130
|
}
|
|
129
131
|
encryptCompactJWT(payload, jweProtectedHeader, aad) {
|
|
130
132
|
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
-
var _a, _b;
|
|
133
|
+
var _a, _b, _c;
|
|
132
134
|
const protectedHeader = Object.assign(Object.assign({}, jweProtectedHeader), { alg: (_a = jweProtectedHeader.alg) !== null && _a !== void 0 ? _a : this._alg, enc: (_b = jweProtectedHeader.enc) !== null && _b !== void 0 ? _b : this._enc });
|
|
133
135
|
if (!protectedHeader.alg || !protectedHeader.enc) {
|
|
134
136
|
return Promise.reject(Error(`no 'alg' or 'enc' value set for the protected JWE header!`));
|
|
@@ -167,10 +169,9 @@ class CompactJwtEncrypter {
|
|
|
167
169
|
// Convert base64url components back to Uint8Arrays for HMAC verification
|
|
168
170
|
const iv = (0, utils_1.base64ToBytes)(ivB64);
|
|
169
171
|
const ciphertext = (0, utils_1.base64ToBytes)(ciphertextB64);
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
verifyHmac(iv, ciphertext, this.recipientKey);
|
|
172
|
+
if (((_c = this._alg) === null || _c === void 0 ? void 0 : _c.startsWith('ECDH')) && '_import' in this.recipientKey) {
|
|
173
|
+
const derivedKey = yield deriveEcdhKey(this.recipientKey);
|
|
174
|
+
verifyHmacEcdh(iv, ciphertext, derivedKey);
|
|
174
175
|
}
|
|
175
176
|
return jwt;
|
|
176
177
|
});
|
|
@@ -290,18 +291,31 @@ function decryptJwe(jwe, decrypter) {
|
|
|
290
291
|
function toWebCryptoCiphertext(ciphertext, tag) {
|
|
291
292
|
return u8a.concat([(0, utils_1.base64ToBytes)(ciphertext), (0, utils_1.base64ToBytes)(tag)]);
|
|
292
293
|
}
|
|
293
|
-
function
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
294
|
+
function deriveEcdhKey(publicKey) {
|
|
295
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
296
|
+
const keyData = publicKey._import.keyData;
|
|
297
|
+
if (!keyData.x || !keyData.y) {
|
|
298
|
+
throw new Error('Invalid public key format');
|
|
299
|
+
}
|
|
300
|
+
const xBytes = (0, utils_1.base64ToBytes)(keyData.x);
|
|
301
|
+
const yBytes = (0, utils_1.base64ToBytes)(keyData.y);
|
|
302
|
+
const point = p256_1.p256.ProjectivePoint.fromAffine({
|
|
303
|
+
x: BigInt('0x' + u8a.toString(xBytes, 'hex')),
|
|
304
|
+
y: BigInt('0x' + u8a.toString(yBytes, 'hex'))
|
|
305
|
+
});
|
|
306
|
+
const ephemeralPrivate = p256_1.p256.utils.randomPrivateKey();
|
|
307
|
+
const sharedPoint = point.multiply(BigInt('0x' + u8a.toString(ephemeralPrivate, 'hex')));
|
|
308
|
+
// Convert x coordinate to bytes using encode method
|
|
309
|
+
const sharedSecret = p256_1.p256.CURVE.Fp.toBytes(sharedPoint.x);
|
|
310
|
+
const derivedKey = yield crypto.subtle.digest('SHA-256', sharedSecret);
|
|
311
|
+
return new Uint8Array(derivedKey);
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
function verifyHmacEcdh(iv, ciphertext, derivedKey) {
|
|
315
|
+
const hmacKey = hmac_1.hmac.create(sha256_1.sha256, derivedKey);
|
|
316
|
+
const data = new Uint8Array([...iv, ...ciphertext]);
|
|
317
|
+
const computedHmac = hmacKey.update(data).digest();
|
|
318
|
+
console.log('ECDH Derived Key:', u8a.toString(derivedKey, 'hex'));
|
|
319
|
+
console.log('Computed HMAC:', u8a.toString(computedHmac, 'hex'));
|
|
306
320
|
}
|
|
307
321
|
//# sourceMappingURL=JWE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JWE.js","sourceRoot":"","sources":["../../src/functions/JWE.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiSA,8BAuCC;AASD,0CAgBC;AAED,gCA0BC;AAED,sDAEC;AAjYD,8CAAkF;AAClF,yCAAgF;AAChF,2CAA4B;AAG5B,iDAAkC;AAClC,sDAW6B;AAW7B,mCAAkC;AAE3B,MAAM,4BAA4B,GAAG,KAMpB,EAAE,4CANyB,EACjD,GAAG,EACH,YAAY,GAAG,4BAAmB,GAInC;IACC,IAAI,MAAc,CAAA;IAClB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,EAAE,CAAA;YACX,MAAK;QACP,KAAK,SAAS;YACZ,MAAM,GAAG,EAAE,CAAA;YACX,MAAK;QACP,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS;YACZ,MAAM,GAAG,EAAE,CAAA;YACX,MAAK;QACP,KAAK,eAAe;YAClB,MAAM,GAAG,EAAE,CAAA;YACX,MAAK;QACP,KAAK,eAAe;YAClB,MAAM,GAAG,EAAE,CAAA;YACX,MAAK;QACP;YACE,MAAM,GAAG,EAAE,CAAA;IACf,CAAC;IACD,OAAO,IAAA,oBAAW,EAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAC1C,CAAC,CAAA,CAAA;AA7BY,QAAA,4BAA4B,gCA6BxC;AAiCD,SAAS,cAAc,CAAC,GAAmB;IACzC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,CAAC,iEAAiE,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAuB,EAAE,EAAE;YAC7C,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,CAAC,+DAA+D,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,UAAU,EACV,GAAG,EACH,EAAE,EACF,eAAe,EACf,UAAU,EACV,GAAG,EACH,WAAW,GAIZ;IACC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,0EACF,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,KACnC,SAAS,EAAU,eAAe,EAClC,EAAE,EAAE,IAAA,wBAAgB,EAAC,EAAE,CAAC,EACxB,UAAU,EAAE,IAAA,wBAAgB,EAAC,UAAU,CAAC,KACrC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,IAAA,wBAAgB,EAAC,GAAG,CAAC,EAAE,CAAC,GACvC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,IAAA,wBAAgB,EAAC,GAAG,CAAC,EAAE,CAAC,KAC1C,UAAU,GACc,CAAA;AAC5B,CAAC;AAED,MAAa,mBAAmB;IAS9B,YAAY,IAQX;QACC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAA;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC/B,CAAC;IAED,IAAI,GAAG;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,KAAK,CAAC,aAAa,CAAC,CAAA;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,GAAG,CAAC,KAAsB;QAC5B,aAAa;QACb,IAAI,CAAC,qBAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,KAAe,CAAA;IAC7B,CAAC;IAED,IAAI,GAAG;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,KAAK,CAAC,aAAa,CAAC,CAAA;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,GAAG,CAAC,KAAsB;QAC5B,aAAa;QACb,IAAI,CAAC,qBAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,KAAe,CAAA;IAC7B,CAAC;IAEK,iBAAiB,CAAC,OAAmB,EAAE,kBAAsC,EAAE,GAA4B;;;YAC/G,MAAM,eAAe,mCAChB,kBAAkB,KACrB,GAAG,EAAE,MAAA,kBAAkB,CAAC,GAAG,mCAAI,IAAI,CAAC,IAAI,EACxC,GAAG,EAAE,MAAA,kBAAkB,CAAC,GAAG,mCAAI,IAAI,CAAC,IAAI,GACzC,CAAA;YAED,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;gBACjD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC,CAAA;YAC3F,CAAC;YAED,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG,CAAA;YAC9B,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG,CAAA;YAE9B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAA;YACnC,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAA;YAC3B,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAA;YAC7B,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,kBAAkB,iCAC1D,eAAe,KAClB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,IACb,CAAA;YAEF,IAAI,IAAI,CAAC,IAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAA;gBACrE,CAAC;gBACD,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,oBAAqB,CAAC,CAAA;YAChE,CAAC;YAED,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAChD,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAChC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpC,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAEpD,0CAA0C;YAC1C,aAAa;YACb,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAElF,yEAAyE;YACzE,MAAM,EAAE,GAAG,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAA;YAC/B,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,aAAa,CAAC,CAAA;YAE/C,qEAAqE;YACrE,IAAI,IAAI,CAAC,YAAY,YAAY,UAAU,EAAE,CAAC;gBAC5C,2BAA2B;gBAC3B,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;YAC/C,CAAC;YAED,OAAO,GAAG,CAAA;QACZ,CAAC;KAAA;IAGM,MAAM,CAAO,iBAAiB,CAAC,GAAW,EAAE,GAAyB,EAAE,OAA2B;;YACvG,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QACjD,CAAC;KAAA;IAEK,OAAO,CAAC,OAAmB,EAAE,kBAAsC,EAAE,GAA4B;;YACrG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAA;YACpG,MAAM,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjF,gFAAgF;YAChF,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;YAEzC,OAAO;gBACL,eAAe;gBACf,GAAG,EAAE,IAAA,qBAAa,EAAC,MAAM,CAAC;gBAC1B,UAAU,EAAE,IAAA,qBAAa,EAAC,UAAU,CAAC;gBACrC,EAAE,EAAE,IAAA,qBAAa,EAAC,KAAK,CAAC;gBACxB,UAAU,EAAE;sCAIL,CAAC,YAAY,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;iBAEvD;aACF,CAAA;QACH,CAAC;KAAA;CAGF;AA5JD,kDA4JC;AAED,SAAsB,SAAS,CAC7B,SAAqB,EACrB,UAA0B,EAC1B,eAAmC,EACnC,GAAgB;;;QAEhB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;YACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAC,+DAA+D,UAAU,CAAC,MAAM,WAAW,CAAC,CAAA;YAC1G,CAAC;YACD,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;YACrF,OAAO,SAAS,iCAAM,gBAAgB,KAAE,GAAG,IAAG,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YAChC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBAClF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrE,CAAC;YACD,IAAI,GAAG,GAA2B,SAAS,CAAA;YAC3C,IAAI,GAAG,GAA+B,SAAS,CAAA;YAC/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;oBACjF,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAA;oBAC1B,GAAG,GAAG,SAAS,iCAAM,gBAAgB,KAAE,GAAG,IAAG,CAAA;gBAC/C,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,MAAM,CAAA,MAAA,SAAS,CAAC,UAAU,0DAAG,GAAG,CAAC,CAAA,CAAA;oBACnD,IAAI,SAAS,EAAE,CAAC;wBACd,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,0CAAE,IAAI,CAAC,SAAS,CAAC,CAAA;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;YACnC,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;CAAA;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,EAC9B,eAAe,EACf,iBAAiB,EACjB,0BAA0B,GAK3B;IACC,oDAAoD;IACpD,MAAM,MAAM,iDAAQ,eAAe,GAAK,iBAAiB,GAAK,0BAA0B,CAAE,CAAA;IAE1F,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,MAAmB,CAAA;AAC5B,CAAC;AAED,SAAsB,UAAU,CAAC,GAAmB,EAAE,SAAuB;;QAC3E,cAAc,CAAC,GAAG,CAAC,CAAA;QACnB,MAAM,eAAe,GAAuB,IAAI,CAAC,KAAK,CAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;QACtF,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,MAAK,SAAS,CAAC,GAAG,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,CAAC,GAAG,kCAAkC,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACvH,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,CAAC,GAAG,kCAAkC,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACvH,CAAC;QACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnF,IAAI,SAAS,GAAG,IAAI,CAAA;QACpB,IAAI,eAAe,CAAC,GAAG,KAAK,KAAK,IAAI,SAAS,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAC7D,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAA,qBAAa,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QACzE,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,MAAM,SAAS,GAAiB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;gBACjD,SAAS,CAAC,MAAM,GAAG,gCAAK,SAAS,CAAC,MAAM,GAAK,eAAe,CAAmC,CAAA;gBAC/F,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;oBAC3C,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAA,qBAAa,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,SAAS,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QACrE,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA;AAED,SAAgB,qBAAqB,CAAC,UAAkB,EAAE,GAAW;IACnE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAA,qBAAa,EAAC,UAAU,CAAC,EAAE,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,EAAc,EAAE,UAAsB,EAAE,MAAkB;IAC5E,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAElC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;IAEhE,kFAAkF;IAClF,MAAM,eAAe,GAAG,IAAI,UAAU,EAAE,CAAA,CAAC,yCAAyC;IAClF,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAC7C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"JWE.js","sourceRoot":"","sources":["../../src/functions/JWE.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk-ext.jwt-service",
|
|
3
|
-
"version": "0.27.1-feature.SPRIND.113.interop.
|
|
3
|
+
"version": "0.27.1-feature.SPRIND.113.interop.9+506414d",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,11 +15,13 @@
|
|
|
15
15
|
"generate-plugin-schema": "sphereon dev generate-plugin-schema"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@
|
|
19
|
-
"@
|
|
20
|
-
"@sphereon/ssi-sdk-ext.
|
|
21
|
-
"@sphereon/ssi-sdk-ext.
|
|
22
|
-
"@sphereon/ssi-sdk-ext.
|
|
18
|
+
"@noble/curves": "1.7.0",
|
|
19
|
+
"@noble/hashes": "1.6.1",
|
|
20
|
+
"@sphereon/ssi-sdk-ext.did-utils": "0.27.1-feature.SPRIND.113.interop.9+506414d",
|
|
21
|
+
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.27.1-feature.SPRIND.113.interop.9+506414d",
|
|
22
|
+
"@sphereon/ssi-sdk-ext.key-manager": "0.27.1-feature.SPRIND.113.interop.9+506414d",
|
|
23
|
+
"@sphereon/ssi-sdk-ext.key-utils": "0.27.1-feature.SPRIND.113.interop.9+506414d",
|
|
24
|
+
"@sphereon/ssi-sdk-ext.x509-utils": "0.27.1-feature.SPRIND.113.interop.9+506414d",
|
|
23
25
|
"@sphereon/ssi-sdk.agent-config": "0.30.2-feature.SDK.41.oidf.support.286",
|
|
24
26
|
"@sphereon/ssi-types": "0.30.2-feature.SDK.41.oidf.support.286",
|
|
25
27
|
"@stablelib/random": "^1.0.2",
|
|
@@ -31,9 +33,9 @@
|
|
|
31
33
|
"uint8arrays": "^3.1.1"
|
|
32
34
|
},
|
|
33
35
|
"devDependencies": {
|
|
34
|
-
"@sphereon/ssi-sdk-ext.did-provider-jwk": "0.27.1-feature.SPRIND.113.interop.
|
|
35
|
-
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.27.1-feature.SPRIND.113.interop.
|
|
36
|
-
"@sphereon/ssi-sdk-ext.kms-local": "0.27.1-feature.SPRIND.113.interop.
|
|
36
|
+
"@sphereon/ssi-sdk-ext.did-provider-jwk": "0.27.1-feature.SPRIND.113.interop.9+506414d",
|
|
37
|
+
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.27.1-feature.SPRIND.113.interop.9+506414d",
|
|
38
|
+
"@sphereon/ssi-sdk-ext.kms-local": "0.27.1-feature.SPRIND.113.interop.9+506414d",
|
|
37
39
|
"@sphereon/ssi-sdk.dev": "0.30.2-feature.SDK.41.oidf.support.286",
|
|
38
40
|
"@veramo/data-store": "4.2.0",
|
|
39
41
|
"@veramo/did-manager": "4.2.0",
|
|
@@ -68,5 +70,5 @@
|
|
|
68
70
|
"X.509 Certificates",
|
|
69
71
|
"ARF"
|
|
70
72
|
],
|
|
71
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "506414da2e263a44c31a2ade3dc99976522b45bf"
|
|
72
74
|
}
|
package/src/agent/JwtService.ts
CHANGED
|
@@ -71,7 +71,7 @@ export class JwtService implements IAgentPlugin {
|
|
|
71
71
|
try {
|
|
72
72
|
debug(`JWE Encrypt: ${JSON.stringify(args, null, 2)}`)
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
const alg = jweAlg(args.alg) ?? jweAlg(protectedHeader.alg) ?? 'ECDH-ES'
|
|
75
75
|
const enc = jweEnc(args.enc) ?? jweEnc(protectedHeader.enc) ?? 'A256GCM'
|
|
76
76
|
const encJwks =
|
|
77
77
|
recipientKey.jwks.length === 1
|
package/src/functions/JWE.ts
CHANGED
|
@@ -17,6 +17,10 @@ import {
|
|
|
17
17
|
JwsPayload,
|
|
18
18
|
} from '../types/IJwtService'
|
|
19
19
|
|
|
20
|
+
import { p256 } from '@noble/curves/p256'
|
|
21
|
+
import { sha256 } from '@noble/hashes/sha256'
|
|
22
|
+
import { hmac } from '@noble/hashes/hmac'
|
|
23
|
+
|
|
20
24
|
export interface EncryptionResult {
|
|
21
25
|
ciphertext: Uint8Array
|
|
22
26
|
tag: Uint8Array
|
|
@@ -26,7 +30,6 @@ export interface EncryptionResult {
|
|
|
26
30
|
cek?: Uint8Array
|
|
27
31
|
}
|
|
28
32
|
|
|
29
|
-
import {createHmac} from 'crypto';
|
|
30
33
|
|
|
31
34
|
export const generateContentEncryptionKey = async ({
|
|
32
35
|
alg,
|
|
@@ -249,12 +252,11 @@ export class CompactJwtEncrypter implements JweEncrypter {
|
|
|
249
252
|
const iv = base64ToBytes(ivB64)
|
|
250
253
|
const ciphertext = base64ToBytes(ciphertextB64)
|
|
251
254
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
verifyHmac(iv, ciphertext, this.recipientKey)
|
|
255
|
+
if (this._alg?.startsWith('ECDH') && '_import' in this.recipientKey) {
|
|
256
|
+
const derivedKey = await deriveEcdhKey(this.recipientKey)
|
|
257
|
+
verifyHmacEcdh(iv, ciphertext, derivedKey)
|
|
256
258
|
}
|
|
257
|
-
|
|
259
|
+
|
|
258
260
|
return jwt
|
|
259
261
|
}
|
|
260
262
|
|
|
@@ -385,18 +387,37 @@ export function toWebCryptoCiphertext(ciphertext: string, tag: string): Uint8Arr
|
|
|
385
387
|
return u8a.concat([base64ToBytes(ciphertext), base64ToBytes(tag)])
|
|
386
388
|
}
|
|
387
389
|
|
|
388
|
-
function verifyHmac(iv: Uint8Array, ciphertext: Uint8Array, macKey: Uint8Array) {
|
|
389
|
-
const hmac = createHmac('sha256', macKey)
|
|
390
|
-
hmac.update(new Uint8Array([...iv, ...ciphertext]))
|
|
391
|
-
const computedHash = hmac.digest()
|
|
392
390
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
if (u8a.equals(computedHash, expectedAuthTag)) {
|
|
398
|
-
console.log('HMAC verification succeeded!')
|
|
399
|
-
} else {
|
|
400
|
-
console.error('HMAC verification failed!')
|
|
391
|
+
async function deriveEcdhKey(publicKey: any): Promise<Uint8Array> {
|
|
392
|
+
const keyData = (publicKey as any)._import.keyData
|
|
393
|
+
if (!keyData.x || !keyData.y) {
|
|
394
|
+
throw new Error('Invalid public key format')
|
|
401
395
|
}
|
|
396
|
+
|
|
397
|
+
const xBytes = base64ToBytes(keyData.x)
|
|
398
|
+
const yBytes = base64ToBytes(keyData.y)
|
|
399
|
+
|
|
400
|
+
const point = p256.ProjectivePoint.fromAffine({
|
|
401
|
+
x: BigInt('0x' + u8a.toString(xBytes, 'hex')),
|
|
402
|
+
y: BigInt('0x' + u8a.toString(yBytes, 'hex'))
|
|
403
|
+
})
|
|
404
|
+
|
|
405
|
+
const ephemeralPrivate = p256.utils.randomPrivateKey()
|
|
406
|
+
const sharedPoint = point.multiply(BigInt('0x' + u8a.toString(ephemeralPrivate, 'hex')))
|
|
407
|
+
|
|
408
|
+
// Convert x coordinate to bytes using encode method
|
|
409
|
+
const sharedSecret = p256.CURVE.Fp.toBytes(sharedPoint.x)
|
|
410
|
+
|
|
411
|
+
const derivedKey = await crypto.subtle.digest('SHA-256', sharedSecret)
|
|
412
|
+
|
|
413
|
+
return new Uint8Array(derivedKey)
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
function verifyHmacEcdh(iv: Uint8Array, ciphertext: Uint8Array, derivedKey: Uint8Array) {
|
|
417
|
+
const hmacKey = hmac.create(sha256, derivedKey)
|
|
418
|
+
const data = new Uint8Array([...iv, ...ciphertext])
|
|
419
|
+
const computedHmac = hmacKey.update(data).digest()
|
|
420
|
+
|
|
421
|
+
console.log('ECDH Derived Key:', u8a.toString(derivedKey, 'hex'))
|
|
422
|
+
console.log('Computed HMAC:', u8a.toString(computedHmac, 'hex'))
|
|
402
423
|
}
|