From 413b6af86421ef502913bab8b21889a7e0b17e86 Mon Sep 17 00:00:00 2001 From: Berend Sliedrecht Date: Mon, 30 Oct 2023 10:51:52 +0100 Subject: [PATCH] fix(sd-jwt): additional check for 'kty' claim Signed-off-by: Berend Sliedrecht --- packages/sd-jwt/src/SdJwtService.ts | 6 ++++++ packages/sd-jwt/tests/sdJwtVc.e2e.test.ts | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/sd-jwt/src/SdJwtService.ts b/packages/sd-jwt/src/SdJwtService.ts index 8397f7ee5d..fe9af08691 100644 --- a/packages/sd-jwt/src/SdJwtService.ts +++ b/packages/sd-jwt/src/SdJwtService.ts @@ -76,6 +76,12 @@ export class SdJwtService { let key = signerKey if (publicKeyJwk) { + if (!('kty' in publicKeyJwk)) { + throw new SdJwtError( + 'Key type (kty) claim could not be found in the JWK of the confirmation (cnf) claim. Only JWK is supported right now' + ) + } + const jwk = getJwkFromJson(publicKeyJwk as JwkJson) key = Key.fromPublicKey(jwk.publicKey, jwk.keyType) } diff --git a/packages/sd-jwt/tests/sdJwtVc.e2e.test.ts b/packages/sd-jwt/tests/sdJwtVc.e2e.test.ts index cd944b5382..c4b57dd022 100644 --- a/packages/sd-jwt/tests/sdJwtVc.e2e.test.ts +++ b/packages/sd-jwt/tests/sdJwtVc.e2e.test.ts @@ -1,10 +1,10 @@ +import type { Key } from '@aries-framework/core' + import { AskarModule } from '@aries-framework/askar' import { Agent, DidKey, DidsModule, - Key, - KeyDidCreateOptions, KeyDidRegistrar, KeyDidResolver, KeyType,