diff --git a/packages/did-provider-ebsi/src/EbsiDidProvider.ts b/packages/did-provider-ebsi/src/EbsiDidProvider.ts index 1ad5183f..4d2598a6 100644 --- a/packages/did-provider-ebsi/src/EbsiDidProvider.ts +++ b/packages/did-provider-ebsi/src/EbsiDidProvider.ts @@ -30,6 +30,7 @@ export class EbsiDidProvider extends AbstractIdentifierProvider { throw new Error(`Type ${type} not supported. Please use @sphereon/ssi-sdk-ext.did-provider-key for Natural Person EBSI DIDs`) } + // CapabilityInvocation purpose const secp256k1ImportKey = await generateOrUseEbsiKeyPair( { keyOpts: secp256k1Key, @@ -40,6 +41,7 @@ export class EbsiDidProvider extends AbstractIdentifierProvider { ) const secp256k1ManagedKeyInfo = await context.agent.keyManagerImport(secp256k1ImportKey) + // Authentication, assertionMethod purpose const secp256r1ImportKey = await generateOrUseEbsiKeyPair( { keyOpts: secp256r1Key, diff --git a/packages/did-provider-ebsi/src/functions.ts b/packages/did-provider-ebsi/src/functions.ts index b109f3ea..59d3bd08 100644 --- a/packages/did-provider-ebsi/src/functions.ts +++ b/packages/did-provider-ebsi/src/functions.ts @@ -192,7 +192,7 @@ export const assertedPurposes = (args: { key?: IKeyOpts }): EbsiPublicKeyPurpose if (key?.purposes && key.purposes.length > 0 && key.purposes?.includes(EbsiPublicKeyPurpose.CapabilityInvocation)) { return key.purposes } - throw new Error(`Secp256k1 key requires ${EbsiPublicKeyPurpose.CapabilityInvocation} purpose`) + throw new Error(`Secp256k1/ES256K key requires ${EbsiPublicKeyPurpose.CapabilityInvocation} purpose`) } case 'Secp256r1': { if ( @@ -202,7 +202,9 @@ export const assertedPurposes = (args: { key?: IKeyOpts }): EbsiPublicKeyPurpose ) { return key.purposes } - throw new Error(`Secp256r1 key requires ${[EbsiPublicKeyPurpose.AssertionMethod, EbsiPublicKeyPurpose.Authentication].join(', ')} purposes`) + throw new Error( + `Secp256r1/ES256 key requires ${[EbsiPublicKeyPurpose.AssertionMethod, EbsiPublicKeyPurpose.Authentication].join(', ')} purposes` + ) } default: throw new Error(`Unsupported key type: ${key.type}`) diff --git a/packages/key-utils/src/types/key-util-types.ts b/packages/key-utils/src/types/key-util-types.ts index 705bf2ac..4a3dc7b3 100644 --- a/packages/key-utils/src/types/key-util-types.ts +++ b/packages/key-utils/src/types/key-util-types.ts @@ -34,7 +34,7 @@ export const ENC_KEY_ALGS = ['X25519', 'ECDH_ES_A256KW', 'RSA_OAEP_256'] export interface JWK extends JsonWebKey { kid?: string - x5c?: string + x5c?: string[] x5u?: string }