@sphereon/ssi-sdk-ext.jwt-service 0.27.1-feature.SPRIND.113.interop.6 → 0.27.1-feature.SPRIND.116.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/agent/JwtService.js +2 -2
- package/dist/agent/JwtService.js.map +1 -1
- package/dist/functions/JWE.d.ts.map +1 -1
- package/dist/functions/JWE.js +1 -28
- package/dist/functions/JWE.js.map +1 -1
- package/package.json +10 -10
- package/plugin.schema.json +2 -0
- package/src/agent/JwtService.ts +3 -3
- package/src/functions/JWE.ts +3 -46
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]]
|
|
@@ -108,7 +108,7 @@ class JwtService {
|
|
|
108
108
|
const apu = apuVal ? u8a.fromString(apuVal, 'base64url') : undefined;
|
|
109
109
|
const apvVal = (_g = protectedHeader.apv) !== null && _g !== void 0 ? _g : args.apv;
|
|
110
110
|
const apv = apvVal ? u8a.fromString(apvVal, 'base64url') : undefined;
|
|
111
|
-
const pubKey = yield (0, jose_1.importJWK)(jwkInfo.jwk
|
|
111
|
+
const pubKey = yield (0, jose_1.importJWK)(jwkInfo.jwk);
|
|
112
112
|
const encrypter = new JWE_1.CompactJwtEncrypter({
|
|
113
113
|
enc,
|
|
114
114
|
alg,
|
|
@@ -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":"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"}
|
|
@@ -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;AAE7B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,UAAU,CAAA;IACf,EAAE,EAAE,UAAU,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;IAC3B,GAAG,CAAC,EAAE,UAAU,CAAA;CACjB;
|
|
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,6 @@ 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 crypto_1 = require("crypto");
|
|
46
45
|
const generateContentEncryptionKey = (_a) => __awaiter(void 0, [_a], void 0, function* ({ alg, randomSource = random_1.defaultRandomSource, }) {
|
|
47
46
|
let length;
|
|
48
47
|
switch (alg) {
|
|
@@ -160,19 +159,7 @@ class CompactJwtEncrypter {
|
|
|
160
159
|
if (this.audience) {
|
|
161
160
|
encrypt.setAudience(this.audience);
|
|
162
161
|
}
|
|
163
|
-
|
|
164
|
-
// Extract components from the compact JWT
|
|
165
|
-
// @ts-ignore
|
|
166
|
-
const [protectedPart, encryptedKey, ivB64, ciphertextB64, tagB64] = jwt.split('.');
|
|
167
|
-
// Convert base64url components back to Uint8Arrays for HMAC verification
|
|
168
|
-
const iv = (0, utils_1.base64ToBytes)(ivB64);
|
|
169
|
-
const ciphertext = (0, utils_1.base64ToBytes)(ciphertextB64);
|
|
170
|
-
// If this is a content encryption key, we can use it as the HMAC key
|
|
171
|
-
if (this.recipientKey instanceof Uint8Array) {
|
|
172
|
-
// Log the HMAC calculation
|
|
173
|
-
verifyHmac(iv, ciphertext, this.recipientKey);
|
|
174
|
-
}
|
|
175
|
-
return jwt;
|
|
162
|
+
return yield encrypt.encrypt(this.recipientKey);
|
|
176
163
|
});
|
|
177
164
|
}
|
|
178
165
|
static decryptCompactJWT(jwt, key, options) {
|
|
@@ -290,18 +277,4 @@ function decryptJwe(jwe, decrypter) {
|
|
|
290
277
|
function toWebCryptoCiphertext(ciphertext, tag) {
|
|
291
278
|
return u8a.concat([(0, utils_1.base64ToBytes)(ciphertext), (0, utils_1.base64ToBytes)(tag)]);
|
|
292
279
|
}
|
|
293
|
-
function verifyHmac(iv, ciphertext, macKey) {
|
|
294
|
-
const hmac = (0, crypto_1.createHmac)('sha256', macKey);
|
|
295
|
-
hmac.update(new Uint8Array([...iv, ...ciphertext]));
|
|
296
|
-
const computedHash = hmac.digest();
|
|
297
|
-
console.log('Computed HMAC:', u8a.toString(computedHash, 'hex'));
|
|
298
|
-
// Here, replace `expectedAuthTag` with the actual authentication tag from the JWE
|
|
299
|
-
const expectedAuthTag = new Uint8Array(); // Placeholder, replace with actual value
|
|
300
|
-
if (u8a.equals(computedHash, expectedAuthTag)) {
|
|
301
|
-
console.log('HMAC verification succeeded!');
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
console.error('HMAC verification failed!');
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
280
|
//# sourceMappingURL=JWE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JWE.js","sourceRoot":"","sources":["../../src/functions/JWE.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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.
|
|
3
|
+
"version": "0.27.1-feature.SPRIND.116.13+4c832ab",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
"generate-plugin-schema": "sphereon dev generate-plugin-schema"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@sphereon/ssi-sdk-ext.did-utils": "0.27.1-feature.SPRIND.
|
|
19
|
-
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.27.1-feature.SPRIND.
|
|
20
|
-
"@sphereon/ssi-sdk-ext.key-manager": "0.27.1-feature.SPRIND.
|
|
21
|
-
"@sphereon/ssi-sdk-ext.key-utils": "0.27.1-feature.SPRIND.
|
|
22
|
-
"@sphereon/ssi-sdk-ext.x509-utils": "0.27.1-feature.SPRIND.
|
|
18
|
+
"@sphereon/ssi-sdk-ext.did-utils": "0.27.1-feature.SPRIND.116.13+4c832ab",
|
|
19
|
+
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.27.1-feature.SPRIND.116.13+4c832ab",
|
|
20
|
+
"@sphereon/ssi-sdk-ext.key-manager": "0.27.1-feature.SPRIND.116.13+4c832ab",
|
|
21
|
+
"@sphereon/ssi-sdk-ext.key-utils": "0.27.1-feature.SPRIND.116.13+4c832ab",
|
|
22
|
+
"@sphereon/ssi-sdk-ext.x509-utils": "0.27.1-feature.SPRIND.116.13+4c832ab",
|
|
23
23
|
"@sphereon/ssi-sdk.agent-config": "0.30.2-feature.SDK.41.oidf.support.286",
|
|
24
24
|
"@sphereon/ssi-types": "0.30.2-feature.SDK.41.oidf.support.286",
|
|
25
25
|
"@stablelib/random": "^1.0.2",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"uint8arrays": "^3.1.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@sphereon/ssi-sdk-ext.did-provider-jwk": "0.27.1-feature.SPRIND.
|
|
35
|
-
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.27.1-feature.SPRIND.
|
|
36
|
-
"@sphereon/ssi-sdk-ext.kms-local": "0.27.1-feature.SPRIND.
|
|
34
|
+
"@sphereon/ssi-sdk-ext.did-provider-jwk": "0.27.1-feature.SPRIND.116.13+4c832ab",
|
|
35
|
+
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.27.1-feature.SPRIND.116.13+4c832ab",
|
|
36
|
+
"@sphereon/ssi-sdk-ext.kms-local": "0.27.1-feature.SPRIND.116.13+4c832ab",
|
|
37
37
|
"@sphereon/ssi-sdk.dev": "0.30.2-feature.SDK.41.oidf.support.286",
|
|
38
38
|
"@veramo/data-store": "4.2.0",
|
|
39
39
|
"@veramo/did-manager": "4.2.0",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"X.509 Certificates",
|
|
69
69
|
"ARF"
|
|
70
70
|
],
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "4c832ab68039264f7595d7f2c432ef558f7c59a2"
|
|
72
72
|
}
|
package/plugin.schema.json
CHANGED
|
@@ -4000,6 +4000,7 @@
|
|
|
4000
4000
|
"$ref": "#/components/schemas/ErrorMessage"
|
|
4001
4001
|
}
|
|
4002
4002
|
},
|
|
4003
|
+
"jwtPayload": {},
|
|
4003
4004
|
"trustEstablished": {
|
|
4004
4005
|
"type": "boolean"
|
|
4005
4006
|
}
|
|
@@ -5858,6 +5859,7 @@
|
|
|
5858
5859
|
"$ref": "#/components/schemas/ErrorMessage"
|
|
5859
5860
|
}
|
|
5860
5861
|
},
|
|
5862
|
+
"jwtPayload": {},
|
|
5861
5863
|
"trustEstablished": {
|
|
5862
5864
|
"type": "boolean"
|
|
5863
5865
|
}
|
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
|
|
@@ -91,8 +91,8 @@ export class JwtService implements IAgentPlugin {
|
|
|
91
91
|
const apu = apuVal ? u8a.fromString(apuVal, 'base64url') : undefined
|
|
92
92
|
const apvVal = protectedHeader.apv ?? args.apv
|
|
93
93
|
const apv = apvVal ? u8a.fromString(apvVal, 'base64url') : undefined
|
|
94
|
-
|
|
95
|
-
const pubKey = await importJWK(jwkInfo.jwk
|
|
94
|
+
|
|
95
|
+
const pubKey = await importJWK(jwkInfo.jwk)
|
|
96
96
|
const encrypter = new CompactJwtEncrypter({
|
|
97
97
|
enc,
|
|
98
98
|
alg,
|
package/src/functions/JWE.ts
CHANGED
|
@@ -26,8 +26,6 @@ export interface EncryptionResult {
|
|
|
26
26
|
cek?: Uint8Array
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
import {createHmac} from 'crypto';
|
|
30
|
-
|
|
31
29
|
export const generateContentEncryptionKey = async ({
|
|
32
30
|
alg,
|
|
33
31
|
randomSource = defaultRandomSource,
|
|
@@ -194,16 +192,13 @@ export class CompactJwtEncrypter implements JweEncrypter {
|
|
|
194
192
|
const protectedHeader = {
|
|
195
193
|
...jweProtectedHeader,
|
|
196
194
|
alg: jweProtectedHeader.alg ?? this._alg,
|
|
197
|
-
enc: jweProtectedHeader.enc ?? this._enc
|
|
195
|
+
enc: jweProtectedHeader.enc ?? this._enc,
|
|
198
196
|
}
|
|
199
|
-
|
|
200
197
|
if (!protectedHeader.alg || !protectedHeader.enc) {
|
|
201
198
|
return Promise.reject(Error(`no 'alg' or 'enc' value set for the protected JWE header!`))
|
|
202
199
|
}
|
|
203
|
-
|
|
204
200
|
this.enc = protectedHeader.enc
|
|
205
201
|
this.alg = protectedHeader.alg
|
|
206
|
-
|
|
207
202
|
if (payload.exp) {
|
|
208
203
|
this.expirationTime = payload.exp
|
|
209
204
|
}
|
|
@@ -213,20 +208,17 @@ export class CompactJwtEncrypter implements JweEncrypter {
|
|
|
213
208
|
if (payload.aud) {
|
|
214
209
|
this.audience = payload.aud
|
|
215
210
|
}
|
|
216
|
-
|
|
217
211
|
const encrypt = new jose.EncryptJWT(payload).setProtectedHeader({
|
|
218
212
|
...protectedHeader,
|
|
219
213
|
alg: this.alg,
|
|
220
|
-
enc: this.enc
|
|
214
|
+
enc: this.enc,
|
|
221
215
|
})
|
|
222
|
-
|
|
223
216
|
if (this._alg!.startsWith('ECDH')) {
|
|
224
217
|
if (!this._keyManagementParams) {
|
|
225
218
|
return Promise.reject(Error(`ECDH requires key management params`))
|
|
226
219
|
}
|
|
227
220
|
encrypt.setKeyManagementParameters(this._keyManagementParams!)
|
|
228
221
|
}
|
|
229
|
-
|
|
230
222
|
if (this.expirationTime !== undefined) {
|
|
231
223
|
encrypt.setExpirationTime(this.expirationTime)
|
|
232
224
|
}
|
|
@@ -234,30 +226,11 @@ export class CompactJwtEncrypter implements JweEncrypter {
|
|
|
234
226
|
if (this.issuer) {
|
|
235
227
|
encrypt.setIssuer(this.issuer)
|
|
236
228
|
}
|
|
237
|
-
|
|
238
229
|
if (this.audience) {
|
|
239
230
|
encrypt.setAudience(this.audience)
|
|
240
231
|
}
|
|
241
|
-
|
|
242
|
-
const jwt = await encrypt.encrypt(this.recipientKey)
|
|
243
|
-
|
|
244
|
-
// Extract components from the compact JWT
|
|
245
|
-
// @ts-ignore
|
|
246
|
-
const [protectedPart, encryptedKey, ivB64, ciphertextB64, tagB64] = jwt.split('.')
|
|
247
|
-
|
|
248
|
-
// Convert base64url components back to Uint8Arrays for HMAC verification
|
|
249
|
-
const iv = base64ToBytes(ivB64)
|
|
250
|
-
const ciphertext = base64ToBytes(ciphertextB64)
|
|
251
|
-
|
|
252
|
-
// If this is a content encryption key, we can use it as the HMAC key
|
|
253
|
-
if (this.recipientKey instanceof Uint8Array) {
|
|
254
|
-
// Log the HMAC calculation
|
|
255
|
-
verifyHmac(iv, ciphertext, this.recipientKey)
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
return jwt
|
|
232
|
+
return await encrypt.encrypt(this.recipientKey)
|
|
259
233
|
}
|
|
260
|
-
|
|
261
234
|
|
|
262
235
|
public static async decryptCompactJWT(jwt: string, key: KeyLike | Uint8Array, options?: JWTDecryptOptions) {
|
|
263
236
|
return await jose.jwtDecrypt(jwt, key, options)
|
|
@@ -384,19 +357,3 @@ export async function decryptJwe(jwe: JweJsonGeneral, decrypter: JweDecrypter):
|
|
|
384
357
|
export function toWebCryptoCiphertext(ciphertext: string, tag: string): Uint8Array {
|
|
385
358
|
return u8a.concat([base64ToBytes(ciphertext), base64ToBytes(tag)])
|
|
386
359
|
}
|
|
387
|
-
|
|
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
|
-
|
|
393
|
-
console.log('Computed HMAC:', u8a.toString(computedHash, 'hex'))
|
|
394
|
-
|
|
395
|
-
// Here, replace `expectedAuthTag` with the actual authentication tag from the JWE
|
|
396
|
-
const expectedAuthTag = new Uint8Array() // Placeholder, replace with actual value
|
|
397
|
-
if (u8a.equals(computedHash, expectedAuthTag)) {
|
|
398
|
-
console.log('HMAC verification succeeded!')
|
|
399
|
-
} else {
|
|
400
|
-
console.error('HMAC verification failed!')
|
|
401
|
-
}
|
|
402
|
-
}
|