import { VerifiablePresentationValidator } from '../../../../src/validators/presentation/verifiablePresentationValidator.js'; import { CredentialFormat } from '../../../../src/validators/presentation/vpTokenCredentialsExtractor.js'; import { DidPublicKeyResolver } from '../../../../src/resolvers/didPublicKeyResolver.js'; import { SignatureValidator } from '../../../../src/validators/credential/signatureValidator.js'; import { DidDocumentResolver } from '../../../../src/resolvers/didDocumentResolver.js'; import { mock } from 'jest-mock-extended'; import { DCQLQuery } from '../../../../src/shared/dto/dcqlQuery.dto.js'; describe('VerifiablePresentationValidator should', () => { const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['EmailCredential']], }, }, ], }; const verifiablePresentationValidator = new VerifiablePresentationValidator( { dcqlQuery, }, { verifiableCredentials: [ { format: CredentialFormat.JSON, verifiableCredential: { '@context': ['https://www.w3.org/ns/credentials/v2'], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', issuer: { id: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', email: 'isaac.olle@signaturit.com', }, proof: { type: 'JsonWebSignature2020', created: '2026-01-20T09:46:40.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f#key-0', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmI2tleS0wIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJ1cm46dXVpZDpjMThlZGE0OC0wOTBhLTQ5NTktYmY1OC0yZGVkZTg5ODRjYWMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRW1haWxDcmVkZW50aWFsIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiZW1haWwiOiJpc2FhYy5vbGxlQHNpZ25hdHVyaXQuY29tIn0sImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJ2YWxpZEZyb20iOiIyMDI2LTAxLTIwVDA5OjQ2OjQwWiIsImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEjODczIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEiLCJzdGF0dXNMaXN0SW5kZXgiOiI4NzMiLCJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxU3RhdHVzIiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24ifX0sIm5iZiI6MTc2ODkwMjQwMCwiaXNzIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYiLCJpYXQiOjE3Njg5MDI0MDAsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImp0aSI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyJ9.xHcb9kNegBaaisDwGCEPZ1TKKsacpBwzO24_Agr8BQnY3jf5xcibyWjmzInQ1ug1n4Kon8WP7ihdjhpWAB-IHw', }, validFrom: '2026-01-20T09:46:40Z', credentialStatus: { id: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91#873', statusListCredential: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91', statusListIndex: '873', type: 'RevocationList2021Status', statusPurpose: 'revocation', }, }, }, ], verifiableCredentialsDecoded: [ { vc: { '@context': ['https://www.w3.org/ns/credentials/v2'], id: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', type: ['VerifiableCredential', 'EmailCredential'], credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', email: 'isaac.olle@signaturit.com', }, issuer: { id: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', name: 'Validated ID SL', }, validFrom: '2026-01-20T09:46:40Z', credentialStatus: { id: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91#873', statusListCredential: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91', statusListIndex: '873', type: 'RevocationList2021Status', statusPurpose: 'revocation', }, }, nbf: 1768902400, iss: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', iat: 1768902400, sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', jti: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', }, ], credentialQueryIds: ['query_0'], vpTokenIssuer: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', decodedVerifiablePresentation: { iat: 1768919877, exp: 4922519876, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', aud: 'decentralized_identifier:did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDFBktnKrGkokUSPrHRnUeR2fgoZqtTQtPUWbcLzWNTSEJUeM5sv2T7e9LnuC3gVhLj6cYGudKqnBT9LFqpXtREc3Pn18Ab3n1o3zXvxdZm2zPMScgGnkXw6pBuvDWKgtL', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', nbf: 1768919876, nonce: 'KvqYywKVPSiQT_3WJsEN-A', jti: 'urn:did:b4f54d85-8d40-4ef8-9133-a60d962aece9', vp: { id: 'urn:did:b4f54d85-8d40-4ef8-9133-a60d962aece9', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', verifiableCredential: [ { '@context': ['https://www.w3.org/ns/credentials/v2'], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', issuer: { id: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', email: 'isaac.olle@signaturit.com', }, proof: { type: 'JsonWebSignature2020', created: '2026-01-20T09:46:40.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f#key-0', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmI2tleS0wIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJ1cm46dXVpZDpjMThlZGE0OC0wOTBhLTQ5NTktYmY1OC0yZGVkZTg5ODRjYWMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRW1haWxDcmVkZW50aWFsIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiZW1haWwiOiJpc2FhYy5vbGxlQHNpZ25hdHVyaXQuY29tIn0sImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJ2YWxpZEZyb20iOiIyMDI2LTAxLTIwVDA5OjQ2OjQwWiIsImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEjODczIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEiLCJzdGF0dXNMaXN0SW5kZXgiOiI4NzMiLCJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxU3RhdHVzIiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24ifX0sIm5iZiI6MTc2ODkwMjQwMCwiaXNzIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYiLCJpYXQiOjE3Njg5MDI0MDAsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImp0aSI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyJ9.xHcb9kNegBaaisDwGCEPZ1TKKsacpBwzO24_Agr8BQnY3jf5xcibyWjmzInQ1ug1n4Kon8WP7ihdjhpWAB-IHw', }, validFrom: '2026-01-20T09:46:40Z', credentialStatus: { id: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91#873', statusListCredential: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91', statusListIndex: '873', type: 'RevocationList2021Status', statusPurpose: 'revocation', }, }, ], }, }, }, new DidPublicKeyResolver(new DidDocumentResolver()), new SignatureValidator(), ); it('validate a valid jwt presentation using DCQL', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIn0.eyJpYXQiOjE3Njg5MTk4NzcsImV4cCI6NDkyMjUxOTg3NiwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiYXVkIjoiZGVjZW50cmFsaXplZF9pZGVudGlmaWVyOmRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRGQmt0bktyR2tva1VTUHJIUm5VZVIyZmdvWnF0VFF0UFVXYmNMeldOVFNFSlVlTTVzdjJUN2U5TG51QzNnVmhMajZjWUd1ZEtxbkJUOUxGcXBYdFJFYzNQbjE4QWIzbjFvM3pYdnhkWm0yelBNU2NnR25rWHc2cEJ1dkRXS2d0TCIsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsIm5iZiI6MTc2ODkxOTg3Niwibm9uY2UiOiJLdnFZeXdLVlBTaVFUXzNXSnNFTi1BIiwianRpIjoidXJuOmRpZDpiNGY1NGQ4NS04ZDQwLTRlZjgtOTEzMy1hNjBkOTYyYWVjZTkiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjRmNTRkODUtOGQ0MC00ZWY4LTkxMzMtYTYwZDk2MmFlY2U5IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpZCI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyIsImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImVtYWlsIjoiaXNhYWMub2xsZUBzaWduYXR1cml0LmNvbSJ9LCJwcm9vZiI6eyJ0eXBlIjoiSnNvbldlYlNpZ25hdHVyZTIwMjAiLCJjcmVhdGVkIjoiMjAyNi0wMS0yMFQwOTo0Njo0MC4wMDBaIiwicHJvb2ZQdXJwb3NlIjoiYXNzZXJ0aW9uTWV0aG9kIiwidmVyaWZpY2F0aW9uTWV0aG9kIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYja2V5LTAiLCJqd3MiOiJleUpoYkdjaU9pSkZVekkxTmlJc0luUjVjQ0k2SWtwWFZDSXNJbXRwWkNJNkltUnBaRHAzWldJNmMzUmhaMmx1Wnk1MmFXUmphR0ZwYmk1dVpYUTZZWEJwT25ZeE9tUnBaQzEzWldJdGNtVnpiMngyWlhJNlpETmtaalF3T1dRdE1ERTFZaTAwTVdJMExXRmhNekV0WW1RM1pqUXpPRFF3TlRSbUkydGxlUzB3SW4wLmV5SjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlYU3dpYVdRaU9pSjFjbTQ2ZFhWcFpEcGpNVGhsWkdFME9DMHdPVEJoTFRRNU5Ua3RZbVkxT0MweVpHVmtaVGc1T0RSallXTWlMQ0owZVhCbElqcGJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3aVJXMWhhV3hEY21Wa1pXNTBhV0ZzSWwwc0ltTnlaV1JsYm5ScFlXeFRkV0pxWldOMElqcDdJbWxrSWpvaVpHbGtPbXRsZVRwNk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnhabk54WldoQ1FsQTNhMjlCWjJSalJ6WlZaVTFJVVdkS1duQlFTelJLYVU1VWJWcFZZbW96U21kbE9EZGxTbmgyYVZScmMyWXlZVUYxZFV4VVRYbGhSMjFGVUU0NWRrVlFNMUZTVWpOQlRVRlVaVk5yVjFsRGEweHFaWGRSTkV0dVREWTRkMmhJTTNWdmEzQmlOMlZXYTJSQ2MzWTNjbVJOVFROVWNrRXlZazVWSWl3aVpXMWhhV3dpT2lKcGMyRmhZeTV2Ykd4bFFITnBaMjVoZEhWeWFYUXVZMjl0SW4wc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcDNaV0k2YzNSaFoybHVaeTUyYVdSamFHRnBiaTV1WlhRNllYQnBPbll4T21ScFpDMTNaV0l0Y21WemIyeDJaWEk2WkROa1pqUXdPV1F0TURFMVlpMDBNV0kwTFdGaE16RXRZbVEzWmpRek9EUXdOVFJtSWl3aWJtRnRaU0k2SWxaaGJHbGtZWFJsWkNCSlJDQlRUQ0o5TENKMllXeHBaRVp5YjIwaU9pSXlNREkyTFRBeExUSXdWREE1T2pRMk9qUXdXaUlzSW1OeVpXUmxiblJwWVd4VGRHRjBkWE1pT25zaWFXUWlPaUpvZEhSd2N6b3ZMM04wWVdkcGJtY3RjM1IxWkdsdkxuWnBaR05vWVdsdUxtNWxkQzkyYVdSamNtVmtaVzUwYVdGc2N5MXpkSFZrYVc4dllYQnBMM1l4TDNOMFlYUjFjeTFzYVhOMExXTnlaV1JsYm5ScFlXd3ZPVEVqT0Rjeklpd2ljM1JoZEhWelRHbHpkRU55WldSbGJuUnBZV3dpT2lKb2RIUndjem92TDNOMFlXZHBibWN0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2T1RFaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSTROek1pTENKMGVYQmxJam9pVW1WMmIyTmhkR2x2Ymt4cGMzUXlNREl4VTNSaGRIVnpJaXdpYzNSaGRIVnpVSFZ5Y0c5elpTSTZJbkpsZG05allYUnBiMjRpZlgwc0ltNWlaaUk2TVRjMk9Ea3dNalF3TUN3aWFYTnpJam9pWkdsa09uZGxZanB6ZEdGbmFXNW5MblpwWkdOb1lXbHVMbTVsZERwaGNHazZkakU2Wkdsa0xYZGxZaTF5WlhOdmJIWmxjanBrTTJSbU5EQTVaQzB3TVRWaUxUUXhZalF0WVdFek1TMWlaRGRtTkRNNE5EQTFOR1lpTENKcFlYUWlPakUzTmpnNU1ESTBNREFzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1daemNXVm9Ra0pRTjJ0dlFXZGtZMGMyVldWTlNGRm5TbHB3VUVzMFNtbE9WRzFhVldKcU0wcG5aVGczWlVwNGRtbFVhM05tTW1GQmRYVk1WRTE1WVVkdFJWQk9PWFpGVUROUlVsSXpRVTFCVkdWVGExZFpRMnRNYW1WM1VUUkxia3cyT0hkb1NETjFiMnR3WWpkbFZtdGtRbk4yTjNKa1RVMHpWSEpCTW1KT1ZTSXNJbXAwYVNJNkluVnlianAxZFdsa09tTXhPR1ZrWVRRNExUQTVNR0V0TkRrMU9TMWlaalU0TFRKa1pXUmxPRGs0TkdOaFl5SjkueEhjYjlrTmVnQmFhaXNEd0dDRVBaMVRLS3NhY3BCd3pPMjRfQWdyOEJRblkzamY1eGNpYnlXam16SW5RMXVnMW40S29uOFdQN2loZGpocFdBQi1JSHcifSwidmFsaWRGcm9tIjoiMjAyNi0wMS0yMFQwOTo0Njo0MFoiLCJjcmVkZW50aWFsU3RhdHVzIjp7ImlkIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIzg3MyIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIiwic3RhdHVzTGlzdEluZGV4IjoiODczIiwidHlwZSI6IlJldm9jYXRpb25MaXN0MjAyMVN0YXR1cyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn19XX19.rrP242r0qjag_XCUhoqbiIHHO69dx79iAdeC_vpxexLUS424TNssFGVIEAL1wZNgdq2Jy8-Jl0roRNb72TTVKQ', ], }; const audience = 'decentralized_identifier:did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDFBktnKrGkokUSPrHRnUeR2fgoZqtTQtPUWbcLzWNTSEJUeM5sv2T7e9LnuC3gVhLj6cYGudKqnBT9LFqpXtREc3Pn18Ab3n1o3zXvxdZm2zPMScgGnkXw6pBuvDWKgtL'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeTruthy(); }); it('validate a valid json presentation using DCQL', async () => { const presentation = { query_0: [ { id: 'urn:did:b4f54d85-8d40-4ef8-9133-a60d962aece9', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', verifiableCredential: [ { '@context': ['https://www.w3.org/ns/credentials/v2'], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', issuer: { id: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', email: 'isaac.olle@signaturit.com', }, proof: { type: 'JsonWebSignature2020', created: '2026-01-20T09:46:40.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f#key-0', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmI2tleS0wIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJ1cm46dXVpZDpjMThlZGE0OC0wOTBhLTQ5NTktYmY1OC0yZGVkZTg5ODRjYWMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRW1haWxDcmVkZW50aWFsIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiZW1haWwiOiJpc2FhYy5vbGxlQHNpZ25hdHVyaXQuY29tIn0sImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJ2YWxpZEZyb20iOiIyMDI2LTAxLTIwVDA5OjQ2OjQwWiIsImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEjODczIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEiLCJzdGF0dXNMaXN0SW5kZXgiOiI4NzMiLCJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxU3RhdHVzIiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24ifX0sIm5iZiI6MTc2ODkwMjQwMCwiaXNzIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYiLCJpYXQiOjE3Njg5MDI0MDAsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImp0aSI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyJ9.xHcb9kNegBaaisDwGCEPZ1TKKsacpBwzO24_Agr8BQnY3jf5xcibyWjmzInQ1ug1n4Kon8WP7ihdjhpWAB-IHw', }, validFrom: '2026-01-20T09:46:40Z', credentialStatus: { id: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91#873', statusListCredential: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91', statusListIndex: '873', type: 'RevocationList2021Status', statusPurpose: 'revocation', }, }, ], proof: { type: 'JsonWebSignature2020', created: '2026-01-20T09:46:40.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIn0.eyJpYXQiOjE3Njg5MTk4NzcsImV4cCI6NDkyMjUxOTg3NiwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiYXVkIjoiZGVjZW50cmFsaXplZF9pZGVudGlmaWVyOmRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRGQmt0bktyR2tva1VTUHJIUm5VZVIyZmdvWnF0VFF0UFVXYmNMeldOVFNFSlVlTTVzdjJUN2U5TG51QzNnVmhMajZjWUd1ZEtxbkJUOUxGcXBYdFJFYzNQbjE4QWIzbjFvM3pYdnhkWm0yelBNU2NnR25rWHc2cEJ1dkRXS2d0TCIsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsIm5iZiI6MTc2ODkxOTg3Niwibm9uY2UiOiJLdnFZeXdLVlBTaVFUXzNXSnNFTi1BIiwianRpIjoidXJuOmRpZDpiNGY1NGQ4NS04ZDQwLTRlZjgtOTEzMy1hNjBkOTYyYWVjZTkiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjRmNTRkODUtOGQ0MC00ZWY4LTkxMzMtYTYwZDk2MmFlY2U5IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpZCI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyIsImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImVtYWlsIjoiaXNhYWMub2xsZUBzaWduYXR1cml0LmNvbSJ9LCJwcm9vZiI6eyJ0eXBlIjoiSnNvbldlYlNpZ25hdHVyZTIwMjAiLCJjcmVhdGVkIjoiMjAyNi0wMS0yMFQwOTo0Njo0MC4wMDBaIiwicHJvb2ZQdXJwb3NlIjoiYXNzZXJ0aW9uTWV0aG9kIiwidmVyaWZpY2F0aW9uTWV0aG9kIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYja2V5LTAiLCJqd3MiOiJleUpoYkdjaU9pSkZVekkxTmlJc0luUjVjQ0k2SWtwWFZDSXNJbXRwWkNJNkltUnBaRHAzWldJNmMzUmhaMmx1Wnk1MmFXUmphR0ZwYmk1dVpYUTZZWEJwT25ZeE9tUnBaQzEzWldJdGNtVnpiMngyWlhJNlpETmtaalF3T1dRdE1ERTFZaTAwTVdJMExXRmhNekV0WW1RM1pqUXpPRFF3TlRSbUkydGxlUzB3SW4wLmV5SjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlYU3dpYVdRaU9pSjFjbTQ2ZFhWcFpEcGpNVGhsWkdFME9DMHdPVEJoTFRRNU5Ua3RZbVkxT0MweVpHVmtaVGc1T0RSallXTWlMQ0owZVhCbElqcGJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3aVJXMWhhV3hEY21Wa1pXNTBhV0ZzSWwwc0ltTnlaV1JsYm5ScFlXeFRkV0pxWldOMElqcDdJbWxrSWpvaVpHbGtPbXRsZVRwNk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnhabk54WldoQ1FsQTNhMjlCWjJSalJ6WlZaVTFJVVdkS1duQlFTelJLYVU1VWJWcFZZbW96U21kbE9EZGxTbmgyYVZScmMyWXlZVUYxZFV4VVRYbGhSMjFGVUU0NWRrVlFNMUZTVWpOQlRVRlVaVk5yVjFsRGEweHFaWGRSTkV0dVREWTRkMmhJTTNWdmEzQmlOMlZXYTJSQ2MzWTNjbVJOVFROVWNrRXlZazVWSWl3aVpXMWhhV3dpT2lKcGMyRmhZeTV2Ykd4bFFITnBaMjVoZEhWeWFYUXVZMjl0SW4wc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcDNaV0k2YzNSaFoybHVaeTUyYVdSamFHRnBiaTV1WlhRNllYQnBPbll4T21ScFpDMTNaV0l0Y21WemIyeDJaWEk2WkROa1pqUXdPV1F0TURFMVlpMDBNV0kwTFdGaE16RXRZbVEzWmpRek9EUXdOVFJtSWl3aWJtRnRaU0k2SWxaaGJHbGtZWFJsWkNCSlJDQlRUQ0o5TENKMllXeHBaRVp5YjIwaU9pSXlNREkyTFRBeExUSXdWREE1T2pRMk9qUXdXaUlzSW1OeVpXUmxiblJwWVd4VGRHRjBkWE1pT25zaWFXUWlPaUpvZEhSd2N6b3ZMM04wWVdkcGJtY3RjM1IxWkdsdkxuWnBaR05vWVdsdUxtNWxkQzkyYVdSamNtVmtaVzUwYVdGc2N5MXpkSFZrYVc4dllYQnBMM1l4TDNOMFlYUjFjeTFzYVhOMExXTnlaV1JsYm5ScFlXd3ZPVEVqT0Rjeklpd2ljM1JoZEhWelRHbHpkRU55WldSbGJuUnBZV3dpT2lKb2RIUndjem92TDNOMFlXZHBibWN0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2T1RFaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSTROek1pTENKMGVYQmxJam9pVW1WMmIyTmhkR2x2Ymt4cGMzUXlNREl4VTNSaGRIVnpJaXdpYzNSaGRIVnpVSFZ5Y0c5elpTSTZJbkpsZG05allYUnBiMjRpZlgwc0ltNWlaaUk2TVRjMk9Ea3dNalF3TUN3aWFYTnpJam9pWkdsa09uZGxZanB6ZEdGbmFXNW5MblpwWkdOb1lXbHVMbTVsZERwaGNHazZkakU2Wkdsa0xYZGxZaTF5WlhOdmJIWmxjanBrTTJSbU5EQTVaQzB3TVRWaUxUUXhZalF0WVdFek1TMWlaRGRtTkRNNE5EQTFOR1lpTENKcFlYUWlPakUzTmpnNU1ESTBNREFzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1daemNXVm9Ra0pRTjJ0dlFXZGtZMGMyVldWTlNGRm5TbHB3VUVzMFNtbE9WRzFhVldKcU0wcG5aVGczWlVwNGRtbFVhM05tTW1GQmRYVk1WRTE1WVVkdFJWQk9PWFpGVUROUlVsSXpRVTFCVkdWVGExZFpRMnRNYW1WM1VUUkxia3cyT0hkb1NETjFiMnR3WWpkbFZtdGtRbk4yTjNKa1RVMHpWSEpCTW1KT1ZTSXNJbXAwYVNJNkluVnlianAxZFdsa09tTXhPR1ZrWVRRNExUQTVNR0V0TkRrMU9TMWlaalU0TFRKa1pXUmxPRGs0TkdOaFl5SjkueEhjYjlrTmVnQmFhaXNEd0dDRVBaMVRLS3NhY3BCd3pPMjRfQWdyOEJRblkzamY1eGNpYnlXam16SW5RMXVnMW40S29uOFdQN2loZGpocFdBQi1JSHcifSwidmFsaWRGcm9tIjoiMjAyNi0wMS0yMFQwOTo0Njo0MFoiLCJjcmVkZW50aWFsU3RhdHVzIjp7ImlkIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIzg3MyIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIiwic3RhdHVzTGlzdEluZGV4IjoiODczIiwidHlwZSI6IlJldm9jYXRpb25MaXN0MjAyMVN0YXR1cyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn19XX19.rrP242r0qjag_XCUhoqbiIHHO69dx79iAdeC_vpxexLUS424TNssFGVIEAL1wZNgdq2Jy8-Jl0roRNb72TTVKQ', }, }, ], }; const audience = 'decentralized_identifier:did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDFBktnKrGkokUSPrHRnUeR2fgoZqtTQtPUWbcLzWNTSEJUeM5sv2T7e9LnuC3gVhLj6cYGudKqnBT9LFqpXtREc3Pn18Ab3n1o3zXvxdZm2zPMScgGnkXw6pBuvDWKgtL'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeTruthy(); }); it('not validate a presentation with an audience not matching ', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIn0.eyJpYXQiOjE3Njg5MTk4NzcsImV4cCI6NDkyMjUxOTg3NiwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiYXVkIjoiZGVjZW50cmFsaXplZF9pZGVudGlmaWVyOmRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRGQmt0bktyR2tva1VTUHJIUm5VZVIyZmdvWnF0VFF0UFVXYmNMeldOVFNFSlVlTTVzdjJUN2U5TG51QzNnVmhMajZjWUd1ZEtxbkJUOUxGcXBYdFJFYzNQbjE4QWIzbjFvM3pYdnhkWm0yelBNU2NnR25rWHc2cEJ1dkRXS2d0TCIsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsIm5iZiI6MTc2ODkxOTg3Niwibm9uY2UiOiJLdnFZeXdLVlBTaVFUXzNXSnNFTi1BIiwianRpIjoidXJuOmRpZDpiNGY1NGQ4NS04ZDQwLTRlZjgtOTEzMy1hNjBkOTYyYWVjZTkiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjRmNTRkODUtOGQ0MC00ZWY4LTkxMzMtYTYwZDk2MmFlY2U5IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpZCI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyIsImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImVtYWlsIjoiaXNhYWMub2xsZUBzaWduYXR1cml0LmNvbSJ9LCJwcm9vZiI6eyJ0eXBlIjoiSnNvbldlYlNpZ25hdHVyZTIwMjAiLCJjcmVhdGVkIjoiMjAyNi0wMS0yMFQwOTo0Njo0MC4wMDBaIiwicHJvb2ZQdXJwb3NlIjoiYXNzZXJ0aW9uTWV0aG9kIiwidmVyaWZpY2F0aW9uTWV0aG9kIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYja2V5LTAiLCJqd3MiOiJleUpoYkdjaU9pSkZVekkxTmlJc0luUjVjQ0k2SWtwWFZDSXNJbXRwWkNJNkltUnBaRHAzWldJNmMzUmhaMmx1Wnk1MmFXUmphR0ZwYmk1dVpYUTZZWEJwT25ZeE9tUnBaQzEzWldJdGNtVnpiMngyWlhJNlpETmtaalF3T1dRdE1ERTFZaTAwTVdJMExXRmhNekV0WW1RM1pqUXpPRFF3TlRSbUkydGxlUzB3SW4wLmV5SjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlYU3dpYVdRaU9pSjFjbTQ2ZFhWcFpEcGpNVGhsWkdFME9DMHdPVEJoTFRRNU5Ua3RZbVkxT0MweVpHVmtaVGc1T0RSallXTWlMQ0owZVhCbElqcGJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3aVJXMWhhV3hEY21Wa1pXNTBhV0ZzSWwwc0ltTnlaV1JsYm5ScFlXeFRkV0pxWldOMElqcDdJbWxrSWpvaVpHbGtPbXRsZVRwNk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnhabk54WldoQ1FsQTNhMjlCWjJSalJ6WlZaVTFJVVdkS1duQlFTelJLYVU1VWJWcFZZbW96U21kbE9EZGxTbmgyYVZScmMyWXlZVUYxZFV4VVRYbGhSMjFGVUU0NWRrVlFNMUZTVWpOQlRVRlVaVk5yVjFsRGEweHFaWGRSTkV0dVREWTRkMmhJTTNWdmEzQmlOMlZXYTJSQ2MzWTNjbVJOVFROVWNrRXlZazVWSWl3aVpXMWhhV3dpT2lKcGMyRmhZeTV2Ykd4bFFITnBaMjVoZEhWeWFYUXVZMjl0SW4wc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcDNaV0k2YzNSaFoybHVaeTUyYVdSamFHRnBiaTV1WlhRNllYQnBPbll4T21ScFpDMTNaV0l0Y21WemIyeDJaWEk2WkROa1pqUXdPV1F0TURFMVlpMDBNV0kwTFdGaE16RXRZbVEzWmpRek9EUXdOVFJtSWl3aWJtRnRaU0k2SWxaaGJHbGtZWFJsWkNCSlJDQlRUQ0o5TENKMllXeHBaRVp5YjIwaU9pSXlNREkyTFRBeExUSXdWREE1T2pRMk9qUXdXaUlzSW1OeVpXUmxiblJwWVd4VGRHRjBkWE1pT25zaWFXUWlPaUpvZEhSd2N6b3ZMM04wWVdkcGJtY3RjM1IxWkdsdkxuWnBaR05vWVdsdUxtNWxkQzkyYVdSamNtVmtaVzUwYVdGc2N5MXpkSFZrYVc4dllYQnBMM1l4TDNOMFlYUjFjeTFzYVhOMExXTnlaV1JsYm5ScFlXd3ZPVEVqT0Rjeklpd2ljM1JoZEhWelRHbHpkRU55WldSbGJuUnBZV3dpT2lKb2RIUndjem92TDNOMFlXZHBibWN0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2T1RFaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSTROek1pTENKMGVYQmxJam9pVW1WMmIyTmhkR2x2Ymt4cGMzUXlNREl4VTNSaGRIVnpJaXdpYzNSaGRIVnpVSFZ5Y0c5elpTSTZJbkpsZG05allYUnBiMjRpZlgwc0ltNWlaaUk2TVRjMk9Ea3dNalF3TUN3aWFYTnpJam9pWkdsa09uZGxZanB6ZEdGbmFXNW5MblpwWkdOb1lXbHVMbTVsZERwaGNHazZkakU2Wkdsa0xYZGxZaTF5WlhOdmJIWmxjanBrTTJSbU5EQTVaQzB3TVRWaUxUUXhZalF0WVdFek1TMWlaRGRtTkRNNE5EQTFOR1lpTENKcFlYUWlPakUzTmpnNU1ESTBNREFzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1daemNXVm9Ra0pRTjJ0dlFXZGtZMGMyVldWTlNGRm5TbHB3VUVzMFNtbE9WRzFhVldKcU0wcG5aVGczWlVwNGRtbFVhM05tTW1GQmRYVk1WRTE1WVVkdFJWQk9PWFpGVUROUlVsSXpRVTFCVkdWVGExZFpRMnRNYW1WM1VUUkxia3cyT0hkb1NETjFiMnR3WWpkbFZtdGtRbk4yTjNKa1RVMHpWSEpCTW1KT1ZTSXNJbXAwYVNJNkluVnlianAxZFdsa09tTXhPR1ZrWVRRNExUQTVNR0V0TkRrMU9TMWlaalU0TFRKa1pXUmxPRGs0TkdOaFl5SjkueEhjYjlrTmVnQmFhaXNEd0dDRVBaMVRLS3NhY3BCd3pPMjRfQWdyOEJRblkzamY1eGNpYnlXam16SW5RMXVnMW40S29uOFdQN2loZGpocFdBQi1JSHcifSwidmFsaWRGcm9tIjoiMjAyNi0wMS0yMFQwOTo0Njo0MFoiLCJjcmVkZW50aWFsU3RhdHVzIjp7ImlkIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIzg3MyIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIiwic3RhdHVzTGlzdEluZGV4IjoiODczIiwidHlwZSI6IlJldm9jYXRpb25MaXN0MjAyMVN0YXR1cyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn19XX19.rrP242r0qjag_XCUhoqbiIHHO69dx79iAdeC_vpxexLUS424TNssFGVIEAL1wZNgdq2Jy8-Jl0roRNb72TTVKQ', ], }; const audience = 'wrong audience'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeFalsy(); expect(result.messages).toEqual([ 'ValidationError: JWT "aud" property MUST match the expected audience. Presentation: urn:did:b4f54d85-8d40-4ef8-9133-a60d962aece9', ]); }); it('not validate a presentation with invalid structure: Invalid @context ', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMDU2NTMsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMDU2NTMsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDpiMzFkMzhhNy1iYjk5LTQ1MGYtOWI5OS02Mzg5MmQyMTFkOTIiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjMxZDM4YTctYmI5OS00NTBmLTliOTktNjM4OTJkMjExZDkyIiwiQGNvbnRleHQiOltdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiaG9sZGVyIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlsiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwbFluTnBPbnB5Y20xUWRYUktUVFZqWjJScVIxRkdOR05FZVRWaUkzUkNOaTFVYjJreFdsSk9TM1ZmUkVkaVpHVnJiVXhETjJFM1R6SjBha1JEUTNaalVGZHlja2xMTTJNaWZRLmV5SnFkR2tpT2lKMWNtNDZaR2xrT2pFeU16UTFOaUlzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1U1RFJtcHRZa3BPU0VOVVVtUlROSGROUWpWTk5sTkJZVk5NWWs1YU16WnFPVlZ2TlZReVMzazBjbUpaTjNwTlNEWjZlWEJuVWtWVFJtOUdkMWRUVVVKbU9ISXlOMlJGYTJOR1pESnRhSHBwTW5oeE1UTlFXbU52T1ZVeE5YQnViWEJoUjFCUVlYTjJXbWxYYWpkR2JsQlZaWGRxY2xCMFVtVklZVlp5Um5aWk5DSXNJbWx6Y3lJNkltUnBaRHBsWW5OcE9ucHljbTFRZFhSS1RUVmpaMlJxUjFGR05HTkVlVFZpSWl3aWJtSm1Jam94TmpNMU56STBPREF3TENKbGVIQWlPalV4TURrME16WTRNREFzSW1saGRDSTZNVFl6TlRVMU1qQXdNQ3dpZG1NaU9uc2lRR052Ym5SbGVIUWlPbHNpYUhSMGNITTZMeTkzZDNjdWR6TXViM0puTHpJd01UZ3ZZM0psWkdWdWRHbGhiSE12ZGpFaVhTd2lhV1FpT2lKMWNtNDZaR2xrT2pFeU16UTFOaUlzSW5SNWNHVWlPbHNpVm1WeWFXWnBZV0pzWlVOeVpXUmxiblJwWVd3aUxDSldaWEpwWm1saFlteGxRWFIwWlhOMFlYUnBiMjRpWFN3aWFYTnpkV1Z5SWpvaVpHbGtPbVZpYzJrNmVuSnliVkIxZEVwTk5XTm5aR3BIVVVZMFkwUjVOV0lpTENKcGMzTjFZVzVqWlVSaGRHVWlPaUl5TURJeExURXhMVEF4VkRBd09qQXdPakF3V2lJc0luWmhiR2xrUm5KdmJTSTZJakl3TWpFdE1URXRNREZVTURBNk1EQTZNREJhSWl3aWFYTnpkV1ZrSWpvaU1qQXlNUzB4TUMwek1GUXdNRG93TURvd01Gb2lMQ0pqY21Wa1pXNTBhV0ZzVTNWaWFtVmpkQ0k2ZXlKcFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1U1RFJtcHRZa3BPU0VOVVVtUlROSGROUWpWTk5sTkJZVk5NWWs1YU16WnFPVlZ2TlZReVMzazBjbUpaTjNwTlNEWjZlWEJuVWtWVFJtOUdkMWRUVVVKbU9ISXlOMlJGYTJOR1pESnRhSHBwTW5oeE1UTlFXbU52T1ZVeE5YQnViWEJoUjFCUVlYTjJXbWxYYWpkR2JsQlZaWGRxY2xCMFVtVklZVlp5Um5aWk5DSXNJbkJsY25OdmJtRnNTV1JsYm5ScFptbGxjaUk2SWtsVUwwUkZMekV5TXpRaUxDSm1ZVzFwYkhsT1lXMWxJam9pUTJGemRHRm1hVzl5YVNJc0ltWnBjbk4wVG1GdFpTSTZJa0pwWVc1allTSXNJbVJoZEdWUFprSnBjblJvSWpvaU1Ua3pNQzB4TUMwd01TSjlMQ0pqY21Wa1pXNTBhV0ZzVTJOb1pXMWhJanA3SW1sa0lqb2lhSFIwY0hNNkx5OWhjR2t0Y0dsc2IzUXVaV0p6YVM1bGRTOTBjblZ6ZEdWa0xYTmphR1Z0WVhNdGNtVm5hWE4wY25rdmRqSXZjMk5vWlcxaGN5OHdlREJtTkRGaE1XWTBPVE0wWlRFeFpqaG1PVGhsTkRRMFpXUXpOR1ppTURRd05qUTFaR05qTURSalpXRmtNbUZsTWpobVkyRXdOakpsWVdKbVlXTXhPREVpTENKMGVYQmxJam9pUm5Wc2JFcHpiMjVUWTJobGJXRldZV3hwWkdGMGIzSXlNREl4SW4wc0ltVjRjR2x5WVhScGIyNUVZWFJsSWpvaU1qRXpNUzB4TVMwek1GUXdNRG93TURvd01Gb2lmWDAuM1N0ODRQcTYtdTRSMlNkLTdhQldMdjAyOXMtaGJzaTNyTXlOeUEwSXozQUpWZTZuMENlbGZyN2ExMFVBbzU1Y1dQa3czckdTMTlBbXp0WGRWVlZsQUEiXX19.fnbwX98ybUlPdj_VCaXvXkJMB_wuBKPSlobEZ04-oItTQkabsCzMdPQSaW9ECXuRaaecTPU_qs1c8K-DgFiyug', ], }; const audience = 'audience'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeFalsy(); expect(result.messages).toEqual([ 'ValidationError: @context is missing default context https://www.w3.org/2018/credentials/v1. Presentation: urn:did:b31d38a7-bb99-450f-9b99-63892d211d92', ]); }); it('not validate a presentation with invalid structure: invalid type array', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMDgyMzIsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMDgyMzIsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDozODNhZjQxZi1iZTY1LTRhNzUtOWE2Yi04Yzk4NmY2YjllNzMiLCJ2cCI6eyJpZCI6InVybjpkaWQ6MzgzYWY0MWYtYmU2NS00YTc1LTlhNmItOGM5ODZmNmI5ZTczIiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJQcmVzZW50YXRpb24iXSwiaG9sZGVyIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlsiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwbFluTnBPbnB5Y20xUWRYUktUVFZqWjJScVIxRkdOR05FZVRWaUkzUkNOaTFVYjJreFdsSk9TM1ZmUkVkaVpHVnJiVXhETjJFM1R6SjBha1JEUTNaalVGZHlja2xMTTJNaWZRLmV5SnFkR2tpT2lKMWNtNDZaR2xrT2pFeU16UTFOaUlzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY0RkalRGcE1Vbmh6V25WRlZHczVRazVuTTI5V1lWSlVSRkZEVGpoMVdHRjVlSGxsZERWYVkycG5XbmgyZDI1MVRWaFpWMGQ2Y3pkTWVGZ3hjelJIVW1KTVZVcDNSa3BJUm5wRlpVNTZRbk0yVm5kTE9GTktlV3B5YVV0cVJUZzJlRXRHVkVWQmQxWnpOM0Y1VTBocmNqaGFNM2xwYldoelUwdzNZbXRqVFRkT2RDSXNJbWx6Y3lJNkltUnBaRHBsWW5OcE9ucHljbTFRZFhSS1RUVmpaMlJxUjFGR05HTkVlVFZpSWl3aWJtSm1Jam94TmpNMU56STBPREF3TENKbGVIQWlPalV4TURrME16WTRNREFzSW1saGRDSTZNVFl6TlRVMU1qQXdNQ3dpZG1NaU9uc2lRR052Ym5SbGVIUWlPbHNpYUhSMGNITTZMeTkzZDNjdWR6TXViM0puTHpJd01UZ3ZZM0psWkdWdWRHbGhiSE12ZGpFaVhTd2lhV1FpT2lKMWNtNDZaR2xrT2pFeU16UTFOaUlzSW5SNWNHVWlPbHNpVm1WeWFXWnBZV0pzWlVOeVpXUmxiblJwWVd3aUxDSldaWEpwWm1saFlteGxRWFIwWlhOMFlYUnBiMjRpWFN3aWFYTnpkV1Z5SWpvaVpHbGtPbVZpYzJrNmVuSnliVkIxZEVwTk5XTm5aR3BIVVVZMFkwUjVOV0lpTENKcGMzTjFZVzVqWlVSaGRHVWlPaUl5TURJeExURXhMVEF4VkRBd09qQXdPakF3V2lJc0luWmhiR2xrUm5KdmJTSTZJakl3TWpFdE1URXRNREZVTURBNk1EQTZNREJhSWl3aWFYTnpkV1ZrSWpvaU1qQXlNUzB4TUMwek1GUXdNRG93TURvd01Gb2lMQ0pqY21Wa1pXNTBhV0ZzVTNWaWFtVmpkQ0k2ZXlKcFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY0RkalRGcE1Vbmh6V25WRlZHczVRazVuTTI5V1lWSlVSRkZEVGpoMVdHRjVlSGxsZERWYVkycG5XbmgyZDI1MVRWaFpWMGQ2Y3pkTWVGZ3hjelJIVW1KTVZVcDNSa3BJUm5wRlpVNTZRbk0yVm5kTE9GTktlV3B5YVV0cVJUZzJlRXRHVkVWQmQxWnpOM0Y1VTBocmNqaGFNM2xwYldoelUwdzNZbXRqVFRkT2RDSXNJbkJsY25OdmJtRnNTV1JsYm5ScFptbGxjaUk2SWtsVUwwUkZMekV5TXpRaUxDSm1ZVzFwYkhsT1lXMWxJam9pUTJGemRHRm1hVzl5YVNJc0ltWnBjbk4wVG1GdFpTSTZJa0pwWVc1allTSXNJbVJoZEdWUFprSnBjblJvSWpvaU1Ua3pNQzB4TUMwd01TSjlMQ0pqY21Wa1pXNTBhV0ZzVTJOb1pXMWhJanA3SW1sa0lqb2lhSFIwY0hNNkx5OWhjR2t0Y0dsc2IzUXVaV0p6YVM1bGRTOTBjblZ6ZEdWa0xYTmphR1Z0WVhNdGNtVm5hWE4wY25rdmRqSXZjMk5vWlcxaGN5OHdlREJtTkRGaE1XWTBPVE0wWlRFeFpqaG1PVGhsTkRRMFpXUXpOR1ppTURRd05qUTFaR05qTURSalpXRmtNbUZsTWpobVkyRXdOakpsWVdKbVlXTXhPREVpTENKMGVYQmxJam9pUm5Wc2JFcHpiMjVUWTJobGJXRldZV3hwWkdGMGIzSXlNREl4SW4wc0ltVjRjR2x5WVhScGIyNUVZWFJsSWpvaU1qRXpNUzB4TVMwek1GUXdNRG93TURvd01Gb2lmWDAuSzVWWm0xcGF6T1hjbl80UUtaOEhNWUxXakc1bmViS0xwaG9UTDlzcUxqMmtORWxieU1GME5BVlNDLXN6dVRIR1kxa19XMWJnTnhSSE9vOEtjY0JyWXciXX19.V1cc9bbIJi9smHsGTFiRsiXUI4HjjLMx-IfIsw165uFaVASTTu_5UE2J_04DjcJ_J9TZqrT_qzHztHKhr3dNPg', ], }; const audience = 'audience'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeFalsy(); expect(result.messages).toEqual([ 'type is missing default "VerifiablePresentation". Presentation: urn:did:383af41f-be65-4a75-9a6b-8c986f6b9e73', ]); }); it('not validate a presentation with invalid structure: invalid type string', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMTM4OTcsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMTM4OTcsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDpiMjFiNWM3ZS02OGVjLTQzYTctYTU3YS0zMzAyMDczNTEyZDUiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjIxYjVjN2UtNjhlYy00M2E3LWE1N2EtMzMwMjA3MzUxMmQ1IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6IlByZXNlbnRhdGlvbiIsImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbImV5SmhiR2NpT2lKRlV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltdHBaQ0k2SW1ScFpEcGxZbk5wT25weWNtMVFkWFJLVFRWaloyUnFSMUZHTkdORWVUVmlJM1JDTmkxVWIya3hXbEpPUzNWZlJFZGlaR1ZyYlV4RE4yRTNUekowYWtSRFEzWmpVRmR5Y2tsTE0yTWlmUS5leUpxZEdraU9pSjFjbTQ2Wkdsa09qRXlNelExTmlJc0luTjFZaUk2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNEZGpURnBNVW5oelduVkZWR3M1UWs1bk0yOVdZVkpVUkZGRFRqaDFXR0Y1ZUhsbGREVmFZMnBuV25oMmQyNTFUVmhaVjBkNmN6ZE1lRmd4Y3pSSFVtSk1WVXAzUmtwSVJucEZaVTU2UW5NMlZuZExPRk5LZVdweWFVdHFSVGcyZUV0R1ZFVkJkMVp6TjNGNVUwaHJjamhhTTNscGJXaHpVMHczWW10alRUZE9kQ0lzSW1semN5STZJbVJwWkRwbFluTnBPbnB5Y20xUWRYUktUVFZqWjJScVIxRkdOR05FZVRWaUlpd2libUptSWpveE5qTTFOekkwT0RBd0xDSmxlSEFpT2pVeE1EazBNelk0TURBc0ltbGhkQ0k2TVRZek5UVTFNakF3TUN3aWRtTWlPbnNpUUdOdmJuUmxlSFFpT2xzaWFIUjBjSE02THk5M2QzY3Vkek11YjNKbkx6SXdNVGd2WTNKbFpHVnVkR2xoYkhNdmRqRWlYU3dpYVdRaU9pSjFjbTQ2Wkdsa09qRXlNelExTmlJc0luUjVjR1VpT2xzaVZtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lMQ0pXWlhKcFptbGhZbXhsUVhSMFpYTjBZWFJwYjI0aVhTd2lhWE56ZFdWeUlqb2laR2xrT21WaWMyazZlbkp5YlZCMWRFcE5OV05uWkdwSFVVWTBZMFI1TldJaUxDSnBjM04xWVc1alpVUmhkR1VpT2lJeU1ESXhMVEV4TFRBeFZEQXdPakF3T2pBd1dpSXNJblpoYkdsa1JuSnZiU0k2SWpJd01qRXRNVEV0TURGVU1EQTZNREE2TURCYUlpd2lhWE56ZFdWa0lqb2lNakF5TVMweE1DMHpNRlF3TURvd01Eb3dNRm9pTENKamNtVmtaVzUwYVdGc1UzVmlhbVZqZENJNmV5SnBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNEZGpURnBNVW5oelduVkZWR3M1UWs1bk0yOVdZVkpVUkZGRFRqaDFXR0Y1ZUhsbGREVmFZMnBuV25oMmQyNTFUVmhaVjBkNmN6ZE1lRmd4Y3pSSFVtSk1WVXAzUmtwSVJucEZaVTU2UW5NMlZuZExPRk5LZVdweWFVdHFSVGcyZUV0R1ZFVkJkMVp6TjNGNVUwaHJjamhhTTNscGJXaHpVMHczWW10alRUZE9kQ0lzSW5CbGNuTnZibUZzU1dSbGJuUnBabWxsY2lJNklrbFVMMFJGTHpFeU16UWlMQ0ptWVcxcGJIbE9ZVzFsSWpvaVEyRnpkR0ZtYVc5eWFTSXNJbVpwY25OMFRtRnRaU0k2SWtKcFlXNWpZU0lzSW1SaGRHVlBaa0pwY25Sb0lqb2lNVGt6TUMweE1DMHdNU0o5TENKamNtVmtaVzUwYVdGc1UyTm9aVzFoSWpwN0ltbGtJam9pYUhSMGNITTZMeTloY0drdGNHbHNiM1F1WldKemFTNWxkUzkwY25WemRHVmtMWE5qYUdWdFlYTXRjbVZuYVhOMGNua3Zkakl2YzJOb1pXMWhjeTh3ZURCbU5ERmhNV1kwT1RNMFpURXhaamhtT1RobE5EUTBaV1F6TkdaaU1EUXdOalExWkdOak1EUmpaV0ZrTW1GbE1qaG1ZMkV3TmpKbFlXSm1ZV014T0RFaUxDSjBlWEJsSWpvaVJuVnNiRXB6YjI1VFkyaGxiV0ZXWVd4cFpHRjBiM0l5TURJeEluMHNJbVY0Y0dseVlYUnBiMjVFWVhSbElqb2lNakV6TVMweE1TMHpNRlF3TURvd01Eb3dNRm9pZlgwLks1VlptMXBhek9YY25fNFFLWjhITVlMV2pHNW5lYktMcGhvVEw5c3FMajJrTkVsYnlNRjBOQVZTQy1zenVUSEdZMWtfVzFiZ054UkhPbzhLY2NCcll3Il19fQ.-5pBcmReG9Ka_p8cXxpU-1bZJ3t6Qo9mY6VkmQSaTF426KHpP2h9qgRF0JZNEFxmyn5_LRwTikde2K37pgjKPA', ], }; const audience = 'audience'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeFalsy(); expect(result.messages).toEqual([ 'type is missing default "VerifiablePresentation". Presentation: urn:did:b21b5c7e-68ec-43a7-a57a-3302073512d5', ]); }); it('not validate a presentation with invalid structure: empty type string', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMTM5NjUsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMTM5NjUsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDowYzE5YjRhNy02ZTVkLTQyMjMtOGFiNC1hNjlhNTUwMGYxOWYiLCJ2cCI6eyJpZCI6InVybjpkaWQ6MGMxOWI0YTctNmU1ZC00MjIzLThhYjQtYTY5YTU1MDBmMTlmIiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6IiIsImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbImV5SmhiR2NpT2lKRlV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltdHBaQ0k2SW1ScFpEcGxZbk5wT25weWNtMVFkWFJLVFRWaloyUnFSMUZHTkdORWVUVmlJM1JDTmkxVWIya3hXbEpPUzNWZlJFZGlaR1ZyYlV4RE4yRTNUekowYWtSRFEzWmpVRmR5Y2tsTE0yTWlmUS5leUpxZEdraU9pSjFjbTQ2Wkdsa09qRXlNelExTmlJc0luTjFZaUk2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNEZGpURnBNVW5oelduVkZWR3M1UWs1bk0yOVdZVkpVUkZGRFRqaDFXR0Y1ZUhsbGREVmFZMnBuV25oMmQyNTFUVmhaVjBkNmN6ZE1lRmd4Y3pSSFVtSk1WVXAzUmtwSVJucEZaVTU2UW5NMlZuZExPRk5LZVdweWFVdHFSVGcyZUV0R1ZFVkJkMVp6TjNGNVUwaHJjamhhTTNscGJXaHpVMHczWW10alRUZE9kQ0lzSW1semN5STZJbVJwWkRwbFluTnBPbnB5Y20xUWRYUktUVFZqWjJScVIxRkdOR05FZVRWaUlpd2libUptSWpveE5qTTFOekkwT0RBd0xDSmxlSEFpT2pVeE1EazBNelk0TURBc0ltbGhkQ0k2TVRZek5UVTFNakF3TUN3aWRtTWlPbnNpUUdOdmJuUmxlSFFpT2xzaWFIUjBjSE02THk5M2QzY3Vkek11YjNKbkx6SXdNVGd2WTNKbFpHVnVkR2xoYkhNdmRqRWlYU3dpYVdRaU9pSjFjbTQ2Wkdsa09qRXlNelExTmlJc0luUjVjR1VpT2xzaVZtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lMQ0pXWlhKcFptbGhZbXhsUVhSMFpYTjBZWFJwYjI0aVhTd2lhWE56ZFdWeUlqb2laR2xrT21WaWMyazZlbkp5YlZCMWRFcE5OV05uWkdwSFVVWTBZMFI1TldJaUxDSnBjM04xWVc1alpVUmhkR1VpT2lJeU1ESXhMVEV4TFRBeFZEQXdPakF3T2pBd1dpSXNJblpoYkdsa1JuSnZiU0k2SWpJd01qRXRNVEV0TURGVU1EQTZNREE2TURCYUlpd2lhWE56ZFdWa0lqb2lNakF5TVMweE1DMHpNRlF3TURvd01Eb3dNRm9pTENKamNtVmtaVzUwYVdGc1UzVmlhbVZqZENJNmV5SnBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNEZGpURnBNVW5oelduVkZWR3M1UWs1bk0yOVdZVkpVUkZGRFRqaDFXR0Y1ZUhsbGREVmFZMnBuV25oMmQyNTFUVmhaVjBkNmN6ZE1lRmd4Y3pSSFVtSk1WVXAzUmtwSVJucEZaVTU2UW5NMlZuZExPRk5LZVdweWFVdHFSVGcyZUV0R1ZFVkJkMVp6TjNGNVUwaHJjamhhTTNscGJXaHpVMHczWW10alRUZE9kQ0lzSW5CbGNuTnZibUZzU1dSbGJuUnBabWxsY2lJNklrbFVMMFJGTHpFeU16UWlMQ0ptWVcxcGJIbE9ZVzFsSWpvaVEyRnpkR0ZtYVc5eWFTSXNJbVpwY25OMFRtRnRaU0k2SWtKcFlXNWpZU0lzSW1SaGRHVlBaa0pwY25Sb0lqb2lNVGt6TUMweE1DMHdNU0o5TENKamNtVmtaVzUwYVdGc1UyTm9aVzFoSWpwN0ltbGtJam9pYUhSMGNITTZMeTloY0drdGNHbHNiM1F1WldKemFTNWxkUzkwY25WemRHVmtMWE5qYUdWdFlYTXRjbVZuYVhOMGNua3Zkakl2YzJOb1pXMWhjeTh3ZURCbU5ERmhNV1kwT1RNMFpURXhaamhtT1RobE5EUTBaV1F6TkdaaU1EUXdOalExWkdOak1EUmpaV0ZrTW1GbE1qaG1ZMkV3TmpKbFlXSm1ZV014T0RFaUxDSjBlWEJsSWpvaVJuVnNiRXB6YjI1VFkyaGxiV0ZXWVd4cFpHRjBiM0l5TURJeEluMHNJbVY0Y0dseVlYUnBiMjVFWVhSbElqb2lNakV6TVMweE1TMHpNRlF3TURvd01Eb3dNRm9pZlgwLks1VlptMXBhek9YY25fNFFLWjhITVlMV2pHNW5lYktMcGhvVEw5c3FMajJrTkVsYnlNRjBOQVZTQy1zenVUSEdZMWtfVzFiZ054UkhPbzhLY2NCcll3Il19fQ.qilq2E2H9Qhcfk59Z23z0qPG1Tj8ztwqKupbFjybrWlWVAzalqCtQ2iL_Zr4foPJk4-oPIegJyU4ttH7q1Tdiw', ], }; const audience = 'audience'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeFalsy(); expect(result.messages).toEqual([ 'ValidationError: Presentation is missing parameters. Required: @context, type and verifiableCredential. Presentation: urn:did:0c19b4a7-6e5d-4223-8ab4-a69a5500f19f', ]); }); it('not validate a presentation with invalid structure: empty type ', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMDkzMTgsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMDkzMTgsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDo4MDkzODEwZC04ZGM0LTQzMzQtYTdmYy04ODUzZGE5MzE5YzEiLCJ2cCI6eyJpZCI6InVybjpkaWQ6ODA5MzgxMGQtOGRjNC00MzM0LWE3ZmMtODg1M2RhOTMxOWMxIiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6W10sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbImV5SmhiR2NpT2lKRlV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltdHBaQ0k2SW1ScFpEcGxZbk5wT25weWNtMVFkWFJLVFRWaloyUnFSMUZHTkdORWVUVmlJM1JDTmkxVWIya3hXbEpPUzNWZlJFZGlaR1ZyYlV4RE4yRTNUekowYWtSRFEzWmpVRmR5Y2tsTE0yTWlmUS5leUpxZEdraU9pSjFjbTQ2Wkdsa09qRXlNelExTmlJc0luTjFZaUk2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNEZGpURnBNVW5oelduVkZWR3M1UWs1bk0yOVdZVkpVUkZGRFRqaDFXR0Y1ZUhsbGREVmFZMnBuV25oMmQyNTFUVmhaVjBkNmN6ZE1lRmd4Y3pSSFVtSk1WVXAzUmtwSVJucEZaVTU2UW5NMlZuZExPRk5LZVdweWFVdHFSVGcyZUV0R1ZFVkJkMVp6TjNGNVUwaHJjamhhTTNscGJXaHpVMHczWW10alRUZE9kQ0lzSW1semN5STZJbVJwWkRwbFluTnBPbnB5Y20xUWRYUktUVFZqWjJScVIxRkdOR05FZVRWaUlpd2libUptSWpveE5qTTFOekkwT0RBd0xDSmxlSEFpT2pVeE1EazBNelk0TURBc0ltbGhkQ0k2TVRZek5UVTFNakF3TUN3aWRtTWlPbnNpUUdOdmJuUmxlSFFpT2xzaWFIUjBjSE02THk5M2QzY3Vkek11YjNKbkx6SXdNVGd2WTNKbFpHVnVkR2xoYkhNdmRqRWlYU3dpYVdRaU9pSjFjbTQ2Wkdsa09qRXlNelExTmlJc0luUjVjR1VpT2xzaVZtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lMQ0pXWlhKcFptbGhZbXhsUVhSMFpYTjBZWFJwYjI0aVhTd2lhWE56ZFdWeUlqb2laR2xrT21WaWMyazZlbkp5YlZCMWRFcE5OV05uWkdwSFVVWTBZMFI1TldJaUxDSnBjM04xWVc1alpVUmhkR1VpT2lJeU1ESXhMVEV4TFRBeFZEQXdPakF3T2pBd1dpSXNJblpoYkdsa1JuSnZiU0k2SWpJd01qRXRNVEV0TURGVU1EQTZNREE2TURCYUlpd2lhWE56ZFdWa0lqb2lNakF5TVMweE1DMHpNRlF3TURvd01Eb3dNRm9pTENKamNtVmtaVzUwYVdGc1UzVmlhbVZqZENJNmV5SnBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNEZGpURnBNVW5oelduVkZWR3M1UWs1bk0yOVdZVkpVUkZGRFRqaDFXR0Y1ZUhsbGREVmFZMnBuV25oMmQyNTFUVmhaVjBkNmN6ZE1lRmd4Y3pSSFVtSk1WVXAzUmtwSVJucEZaVTU2UW5NMlZuZExPRk5LZVdweWFVdHFSVGcyZUV0R1ZFVkJkMVp6TjNGNVUwaHJjamhhTTNscGJXaHpVMHczWW10alRUZE9kQ0lzSW5CbGNuTnZibUZzU1dSbGJuUnBabWxsY2lJNklrbFVMMFJGTHpFeU16UWlMQ0ptWVcxcGJIbE9ZVzFsSWpvaVEyRnpkR0ZtYVc5eWFTSXNJbVpwY25OMFRtRnRaU0k2SWtKcFlXNWpZU0lzSW1SaGRHVlBaa0pwY25Sb0lqb2lNVGt6TUMweE1DMHdNU0o5TENKamNtVmtaVzUwYVdGc1UyTm9aVzFoSWpwN0ltbGtJam9pYUhSMGNITTZMeTloY0drdGNHbHNiM1F1WldKemFTNWxkUzkwY25WemRHVmtMWE5qYUdWdFlYTXRjbVZuYVhOMGNua3Zkakl2YzJOb1pXMWhjeTh3ZURCbU5ERmhNV1kwT1RNMFpURXhaamhtT1RobE5EUTBaV1F6TkdaaU1EUXdOalExWkdOak1EUmpaV0ZrTW1GbE1qaG1ZMkV3TmpKbFlXSm1ZV014T0RFaUxDSjBlWEJsSWpvaVJuVnNiRXB6YjI1VFkyaGxiV0ZXWVd4cFpHRjBiM0l5TURJeEluMHNJbVY0Y0dseVlYUnBiMjVFWVhSbElqb2lNakV6TVMweE1TMHpNRlF3TURvd01Eb3dNRm9pZlgwLks1VlptMXBhek9YY25fNFFLWjhITVlMV2pHNW5lYktMcGhvVEw5c3FMajJrTkVsYnlNRjBOQVZTQy1zenVUSEdZMWtfVzFiZ054UkhPbzhLY2NCcll3Il19fQ.dIITvdVvcWyY3B2rpb1kKodCrTO5NSxAeXu0DXN3e6IGGmowdnDWZ4fCx8DO-Mt5xq_-PukNKj_7w2aeq5rWAg', ], }; const audience = 'audience'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeFalsy(); expect(result.messages).toEqual([ 'type is missing default "VerifiablePresentation". Presentation: urn:did:8093810d-8dc4-4334-a7fc-8853da9319c1', ]); }); it('not validate a presentation with invalid structure: empty verifiableCredential ', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMDk1MDUsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMDk1MDUsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDoxNWM0ZmVjOS05MWZlLTQyZjQtYWU0MS1jYWM4MTUyZDYwMWYiLCJ2cCI6eyJpZCI6InVybjpkaWQ6MTVjNGZlYzktOTFmZS00MmY0LWFlNDEtY2FjODE1MmQ2MDFmIiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbXX19.45FwduVoFN_73fy09b36Wfd0dASDijCup_0dzKau57vVfMquvosAB7REcyhLHobH17kWJusZOwWVp35VGvUp8Q', ], }; const audience = 'audience'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeFalsy(); expect(result.messages).toEqual([ 'vp.verifiableCredential must not be empty. Presentation: urn:did:15c4fec9-91fe-42f4-ae41-cac8152d601f', ]); }); it('not validate a presentation with invalid structure: expired presentation ', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMDk1OTIsImV4cCI6MTYwOTQ2MDEwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMDk1OTIsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDo4ZTE2Y2FkMi1hMDVlLTRkZjktYjdmMi03Y2MxYTMxZDIzNWYiLCJ2cCI6eyJpZCI6InVybjpkaWQ6OGUxNmNhZDItYTA1ZS00ZGY5LWI3ZjItN2NjMWEzMWQyMzVmIiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbImV5SmhiR2NpT2lKRlV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltdHBaQ0k2SW1ScFpEcGxZbk5wT25weWNtMVFkWFJLVFRWaloyUnFSMUZHTkdORWVUVmlJM1JDTmkxVWIya3hXbEpPUzNWZlJFZGlaR1ZyYlV4RE4yRTNUekowYWtSRFEzWmpVRmR5Y2tsTE0yTWlmUS5leUpxZEdraU9pSjFjbTQ2Wkdsa09qRXlNelExTmlJc0luTjFZaUk2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNEZGpURnBNVW5oelduVkZWR3M1UWs1bk0yOVdZVkpVUkZGRFRqaDFXR0Y1ZUhsbGREVmFZMnBuV25oMmQyNTFUVmhaVjBkNmN6ZE1lRmd4Y3pSSFVtSk1WVXAzUmtwSVJucEZaVTU2UW5NMlZuZExPRk5LZVdweWFVdHFSVGcyZUV0R1ZFVkJkMVp6TjNGNVUwaHJjamhhTTNscGJXaHpVMHczWW10alRUZE9kQ0lzSW1semN5STZJbVJwWkRwbFluTnBPbnB5Y20xUWRYUktUVFZqWjJScVIxRkdOR05FZVRWaUlpd2libUptSWpveE5qTTFOekkwT0RBd0xDSmxlSEFpT2pVeE1EazBNelk0TURBc0ltbGhkQ0k2TVRZek5UVTFNakF3TUN3aWRtTWlPbnNpUUdOdmJuUmxlSFFpT2xzaWFIUjBjSE02THk5M2QzY3Vkek11YjNKbkx6SXdNVGd2WTNKbFpHVnVkR2xoYkhNdmRqRWlYU3dpYVdRaU9pSjFjbTQ2Wkdsa09qRXlNelExTmlJc0luUjVjR1VpT2xzaVZtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lMQ0pXWlhKcFptbGhZbXhsUVhSMFpYTjBZWFJwYjI0aVhTd2lhWE56ZFdWeUlqb2laR2xrT21WaWMyazZlbkp5YlZCMWRFcE5OV05uWkdwSFVVWTBZMFI1TldJaUxDSnBjM04xWVc1alpVUmhkR1VpT2lJeU1ESXhMVEV4TFRBeFZEQXdPakF3T2pBd1dpSXNJblpoYkdsa1JuSnZiU0k2SWpJd01qRXRNVEV0TURGVU1EQTZNREE2TURCYUlpd2lhWE56ZFdWa0lqb2lNakF5TVMweE1DMHpNRlF3TURvd01Eb3dNRm9pTENKamNtVmtaVzUwYVdGc1UzVmlhbVZqZENJNmV5SnBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNEZGpURnBNVW5oelduVkZWR3M1UWs1bk0yOVdZVkpVUkZGRFRqaDFXR0Y1ZUhsbGREVmFZMnBuV25oMmQyNTFUVmhaVjBkNmN6ZE1lRmd4Y3pSSFVtSk1WVXAzUmtwSVJucEZaVTU2UW5NMlZuZExPRk5LZVdweWFVdHFSVGcyZUV0R1ZFVkJkMVp6TjNGNVUwaHJjamhhTTNscGJXaHpVMHczWW10alRUZE9kQ0lzSW5CbGNuTnZibUZzU1dSbGJuUnBabWxsY2lJNklrbFVMMFJGTHpFeU16UWlMQ0ptWVcxcGJIbE9ZVzFsSWpvaVEyRnpkR0ZtYVc5eWFTSXNJbVpwY25OMFRtRnRaU0k2SWtKcFlXNWpZU0lzSW1SaGRHVlBaa0pwY25Sb0lqb2lNVGt6TUMweE1DMHdNU0o5TENKamNtVmtaVzUwYVdGc1UyTm9aVzFoSWpwN0ltbGtJam9pYUhSMGNITTZMeTloY0drdGNHbHNiM1F1WldKemFTNWxkUzkwY25WemRHVmtMWE5qYUdWdFlYTXRjbVZuYVhOMGNua3Zkakl2YzJOb1pXMWhjeTh3ZURCbU5ERmhNV1kwT1RNMFpURXhaamhtT1RobE5EUTBaV1F6TkdaaU1EUXdOalExWkdOak1EUmpaV0ZrTW1GbE1qaG1ZMkV3TmpKbFlXSm1ZV014T0RFaUxDSjBlWEJsSWpvaVJuVnNiRXB6YjI1VFkyaGxiV0ZXWVd4cFpHRjBiM0l5TURJeEluMHNJbVY0Y0dseVlYUnBiMjVFWVhSbElqb2lNakV6TVMweE1TMHpNRlF3TURvd01Eb3dNRm9pZlgwLks1VlptMXBhek9YY25fNFFLWjhITVlMV2pHNW5lYktMcGhvVEw5c3FMajJrTkVsYnlNRjBOQVZTQy1zenVUSEdZMWtfVzFiZ054UkhPbzhLY2NCcll3Il19fQ.pKk4_6FPLzHDTEh-e0TL6JwK-Etkl6U08_Ap9L_CmsMnLC7f4t97PWLwMs_dbI3RSIVeG3Y7RyFcmgN82JFe-g', ], }; const audience = 'audience'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeFalsy(); expect(result.messages).toEqual([ 'Verifiable Presentation is expired. Presentation: urn:did:8e16cad2-a05e-4df9-b7f2-7cc1a31d235f', ]); }); it('not validate a presentation with invalid signature', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.ewogICJpYXQiOiAxNzIyMTQ0NTI4LAogICJleHAiOiA0ODU5NzQxNzAwLAogICJpc3MiOiAiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwKICAiYXVkIjogImh0dHBzOi8vc3RhZ2luZy1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9vaWRjNHZjL3YxL3ZlcmlmaWVyLzU0MTdhZjY1LTYwNTgtNGFiNC1hODkxLWQwYTAwMzUzZTg0NyIsCiAgInN1YiI6ICJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLAogICJuYmYiOiAxNzEyMTQ0NTI4LAogICJub25jZSI6ICI3MGNjZjZlMS00YWNmLTRiNDgtYjg1My1iYzVlNWY0NTIzYjAiLAogICJqdGkiOiAidXJuOmRpZDo1N2M4ZGZmNS1mOWJjLTQwZDktOTU1Yi03ZWJkOTBlY2M5OTUiLAogICJ2cCI6IHsKICAgICJpZCI6ICJ1cm46ZGlkOjU3YzhkZmY1LWY5YmMtNDBkOS05NTViLTdlYmQ5MGVjYzk5NSIsCiAgICAiQGNvbnRleHQiOiBbCiAgICAgICJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIKICAgIF0sCiAgICAidHlwZSI6IFsKICAgICAgIlZlcmlmaWFibGVQcmVzZW50YXRpb24iCiAgICBdLAogICAgImhvbGRlciI6ICJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLAogICAgInZlcmlmaWFibGVDcmVkZW50aWFsIjogWwogICAgICB7CiAgICAgICAgIkBjb250ZXh0IjogWwogICAgICAgICAgImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIiwKICAgICAgICAgICJodHRwczovL2FwaS52aWRjaGFpbi5uZXQvYXBpL3YxL2NvbnRleHRzL3YxIgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiBbCiAgICAgICAgICAiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLAogICAgICAgICAgIkVtYWlsQ3JlZGVudGlhbCIKICAgICAgICBdLAogICAgICAgICJpZCI6ICJ1cm46dXVpZDoxODYxNDEyYy05ZTYzLTQ1NTktYjcyZS1kMTkwNDlkMjEzOGEiLAogICAgICAgICJpc3N1ZXIiOiB7CiAgICAgICAgICAiaWQiOiAiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012IiwKICAgICAgICAgICJuYW1lIjogIlZhbGlkYXRlZCBJRCBTTCIKICAgICAgICB9LAogICAgICAgICJjcmVkZW50aWFsU3ViamVjdCI6IHsKICAgICAgICAgICJpZCI6ICJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLAogICAgICAgICAgImVtYWlsIjogImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20iCiAgICAgICAgfSwKICAgICAgICAicHJvb2YiOiB7CiAgICAgICAgICAidHlwZSI6ICJKc29uV2ViU2lnbmF0dXJlMjAyMCIsCiAgICAgICAgICAiY3JlYXRlZCI6ICIyMDI0LTAzLTI1VDEyOjI3OjI4LjAwMFoiLAogICAgICAgICAgInByb29mUHVycG9zZSI6ICJhc3NlcnRpb25NZXRob2QiLAogICAgICAgICAgInZlcmlmaWNhdGlvbk1ldGhvZCI6ICJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYjejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiIsCiAgICAgICAgICAiandzIjogImV5SmhiR2NpT2lKRlV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltdHBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWJ6RTVNbWRpVW1aNFRERTNXVVJLUzNkdlpYVmFTa3AyTW01Tk9FMTVZbmx3WWpkUVVsTm5SRGRGUWpkNU1rRTFZbVZHWlZodlpuSnBSRXhhVFVaVVRGQlRiakpxU0ZnNU5FSXpkREoyU21GdFlUZzJUbVJWZFhwYVYxQmhkV3MzUlhsa2FYZGhTM1ZEYVdaWlJqVjBWblkyZURkRlpEaFhVMjFvWmpsT05HOU5kaU42TW1SdGVrUTRNV05uVUhnNFZtdHBOMHBpZFhWTmJVWlpjbGRRWjFsdmVYUjVhMVZhTTJWNWNXaDBNV281UzJKdk1Ua3laMkpTWm5oTU1UZFpSRXBMZDI5bGRWcEtTbll5YmswNFRYbGllWEJpTjFCU1UyZEVOMFZDTjNreVFUVmlaVVpsV0c5bWNtbEVURnBOUmxSTVVGTnVNbXBJV0RrMFFqTjBNblpLWVcxaE9EWk9aRlYxZWxwWFVHRjFhemRGZVdScGQyRkxkVU5wWmxsR05YUldkalo0TjBWa09GZFRiV2htT1U0MGIwMTJJbjAuZXlKMll5STZleUpBWTI5dWRHVjRkQ0k2V3lKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdk1qQXhPQzlqY21Wa1pXNTBhV0ZzY3k5Mk1TSXNJbWgwZEhCek9pOHZZWEJwTG5acFpHTm9ZV2x1TG01bGRDOWhjR2t2ZGpFdlkyOXVkR1Y0ZEhNdmRqRWlYU3dpZEhsd1pTSTZXeUpXWlhKcFptbGhZbXhsUTNKbFpHVnVkR2xoYkNJc0lrVnRZV2xzUTNKbFpHVnVkR2xoYkNKZExDSnBjM04xWlhJaU9uc2lhV1FpT2lKa2FXUTZhMlY1T25veVpHMTZSRGd4WTJkUWVEaFdhMmszU21KMWRVMXRSbGx5VjFCbldXOTVkSGxyVlZvelpYbHhhSFF4YWpsTFltOHhPVEpuWWxKbWVFd3hOMWxFU2t0M2IyVjFXa3BLZGpKdVRUaE5lV0o1Y0dJM1VGSlRaMFEzUlVJM2VUSkJOV0psUm1WWWIyWnlhVVJNV2sxR1ZFeFFVMjR5YWtoWU9UUkNNM1F5ZGtwaGJXRTROazVrVlhWNldsZFFZWFZyTjBWNVpHbDNZVXQxUTJsbVdVWTFkRloyTm5nM1JXUTRWMU50YUdZNVRqUnZUWFlpTENKdVlXMWxJam9pVm1Gc2FXUmhkR1ZrSUVsRUlGTk1JbjBzSW1sa0lqb2lkWEp1T25WMWFXUTZNVGcyTVRReE1tTXRPV1UyTXkwME5UVTVMV0kzTW1VdFpERTVNRFE1WkRJeE16aGhJaXdpWTNKbFpHVnVkR2xoYkZOMVltcGxZM1FpT25zaWFXUWlPaUprYVdRNmEyVjVPbm95WkcxNlJEZ3hZMmRRZURoV2EyazNTbUoxZFUxdFJsbHlWMUJuV1c5NWRIbHJWVm96WlhseGFIUXhhamxMWW5BM1kweGFURko0YzFwMVJWUnJPVUpPWnpOdlZtRlNWRVJSUTA0NGRWaGhlWGg1WlhRMVdtTnFaMXA0ZG5kdWRVMVlXVmRIZW5NM1RIaFlNWE0wUjFKaVRGVktkMFpLU0VaNlJXVk9la0p6TmxaM1N6aFRTbmxxY21sTGFrVTRObmhMUmxSRlFYZFdjemR4ZVZOSWEzSTRXak41YVcxb2MxTk1OMkpyWTAwM1RuUWlMQ0psYldGcGJDSTZJbUpsY201aGRDNXRZWEpqYVd4c1lVQjJZV3hwWkdGMFpXUnBaQzVqYjIwaWZTd2lZM0psWkdWdWRHbGhiRk4wWVhSMWN5STZleUowZVhCbElqb2lVbVYyYjJOaGRHbHZia3hwYzNReU1ESXhJaXdpYVdRaU9pSm9kSFJ3Y3pvdkwyUmxkaTUyYVdSamFHRnBiaTV1WlhRdllYQnBMM1l4TDNKbGRtOWpZWFJwYjI0dlkzSmxaR1Z1ZEdsaGJDMXpkR0YwZFhNdmMzUmhkSFZ6TFd4cGMzUXZNakkwTDJOeVpXUmxiblJwWVd3dk1qWWlMQ0p6ZEdGMGRYTk1hWE4wUTNKbFpHVnVkR2xoYkNJNkltaDBkSEJ6T2k4dlpHVjJMblpwWkdOb1lXbHVMbTVsZEM5aGNHa3ZkakV2Y21WMmIyTmhkR2x2Ymk5emRHRjBkWE10YkdsemRDOHlNalFpTENKemRHRjBkWE5NYVhOMFNXNWtaWGdpT2lJeU5pSjlmU3dpYVdGMElqb3hOekV4TXpZNU5qUTRMQ0pwYzNNaU9pSmthV1E2YTJWNU9ub3laRzE2UkRneFkyZFFlRGhXYTJrM1NtSjFkVTF0UmxseVYxQm5XVzk1ZEhsclZWb3paWGx4YUhReGFqbExZbTh4T1RKbllsSm1lRXd4TjFsRVNrdDNiMlYxV2twS2RqSnVUVGhOZVdKNWNHSTNVRkpUWjBRM1JVSTNlVEpCTldKbFJtVlliMlp5YVVSTVdrMUdWRXhRVTI0eWFraFlPVFJDTTNReWRrcGhiV0U0Tms1a1ZYVjZXbGRRWVhWck4wVjVaR2wzWVV0MVEybG1XVVkxZEZaMk5uZzNSV1E0VjFOdGFHWTVUalJ2VFhZaWZRLm4zeDRuZEtpb2F4MHcxSDMxU25oNGYyMnBtY0k1VDdjcDhfQU16R2lVSHlnTFV4bldYYW1HMDAtWGlTTk16QWUxWXFaOEs3aE5RMFp5SWJnbEFlVkJRIgogICAgICAgIH0sCiAgICAgICAgImlzc3VhbmNlRGF0ZSI6ICIyMDI0LTAzLTI1VDEyOjI3OjI4LjAwMFoiLAogICAgICAgICJjcmVkZW50aWFsU3RhdHVzIjogewogICAgICAgICAgInR5cGUiOiAiUmV2b2NhdGlvbkxpc3QyMDIxIiwKICAgICAgICAgICJpZCI6ICJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLAogICAgICAgICAgInN0YXR1c0xpc3RDcmVkZW50aWFsIjogImh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLAogICAgICAgICAgInN0YXR1c0xpc3RJbmRleCI6ICIyNiIKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cn0=.2Md0_YH9dcMM5XdfnM4YVtKdLAntr0NSzV6DtzMkSjqq35JqNb18DjUpyigyme8wSUQP-JRD3UMEXlkL_W9GBQ', ], }; const audience = 'https://staging-studio.vidchain.net/vidcredentials-studio/oidc4vc/v1/verifier/5417af65-6058-4ab4-a891-d0a00353e847'; const result = await verifiablePresentationValidator.validate( presentation, audience, ); expect(result.valid).toBeFalsy(); expect(result.messages).toEqual([ 'Verifiable presentation signature is not correct', ]); }); it('should validate all if report flag is true', async () => { const didPublicKeyResolverMock = mock(); const signatureValidator = mock(); const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIn0.eyJpYXQiOjE3Njg5MTk4NzcsImV4cCI6NDkyMjUxOTg3NiwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiYXVkIjoiZGVjZW50cmFsaXplZF9pZGVudGlmaWVyOmRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRGQmt0bktyR2tva1VTUHJIUm5VZVIyZmdvWnF0VFF0UFVXYmNMeldOVFNFSlVlTTVzdjJUN2U5TG51QzNnVmhMajZjWUd1ZEtxbkJUOUxGcXBYdFJFYzNQbjE4QWIzbjFvM3pYdnhkWm0yelBNU2NnR25rWHc2cEJ1dkRXS2d0TCIsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsIm5iZiI6MTc2ODkxOTg3Niwibm9uY2UiOiJLdnFZeXdLVlBTaVFUXzNXSnNFTi1BIiwianRpIjoidXJuOmRpZDpiNGY1NGQ4NS04ZDQwLTRlZjgtOTEzMy1hNjBkOTYyYWVjZTkiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjRmNTRkODUtOGQ0MC00ZWY4LTkxMzMtYTYwZDk2MmFlY2U5IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpZCI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyIsImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImVtYWlsIjoiaXNhYWMub2xsZUBzaWduYXR1cml0LmNvbSJ9LCJwcm9vZiI6eyJ0eXBlIjoiSnNvbldlYlNpZ25hdHVyZTIwMjAiLCJjcmVhdGVkIjoiMjAyNi0wMS0yMFQwOTo0Njo0MC4wMDBaIiwicHJvb2ZQdXJwb3NlIjoiYXNzZXJ0aW9uTWV0aG9kIiwidmVyaWZpY2F0aW9uTWV0aG9kIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYja2V5LTAiLCJqd3MiOiJleUpoYkdjaU9pSkZVekkxTmlJc0luUjVjQ0k2SWtwWFZDSXNJbXRwWkNJNkltUnBaRHAzWldJNmMzUmhaMmx1Wnk1MmFXUmphR0ZwYmk1dVpYUTZZWEJwT25ZeE9tUnBaQzEzWldJdGNtVnpiMngyWlhJNlpETmtaalF3T1dRdE1ERTFZaTAwTVdJMExXRmhNekV0WW1RM1pqUXpPRFF3TlRSbUkydGxlUzB3SW4wLmV5SjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlYU3dpYVdRaU9pSjFjbTQ2ZFhWcFpEcGpNVGhsWkdFME9DMHdPVEJoTFRRNU5Ua3RZbVkxT0MweVpHVmtaVGc1T0RSallXTWlMQ0owZVhCbElqcGJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3aVJXMWhhV3hEY21Wa1pXNTBhV0ZzSWwwc0ltTnlaV1JsYm5ScFlXeFRkV0pxWldOMElqcDdJbWxrSWpvaVpHbGtPbXRsZVRwNk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnhabk54WldoQ1FsQTNhMjlCWjJSalJ6WlZaVTFJVVdkS1duQlFTelJLYVU1VWJWcFZZbW96U21kbE9EZGxTbmgyYVZScmMyWXlZVUYxZFV4VVRYbGhSMjFGVUU0NWRrVlFNMUZTVWpOQlRVRlVaVk5yVjFsRGEweHFaWGRSTkV0dVREWTRkMmhJTTNWdmEzQmlOMlZXYTJSQ2MzWTNjbVJOVFROVWNrRXlZazVWSWl3aVpXMWhhV3dpT2lKcGMyRmhZeTV2Ykd4bFFITnBaMjVoZEhWeWFYUXVZMjl0SW4wc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcDNaV0k2YzNSaFoybHVaeTUyYVdSamFHRnBiaTV1WlhRNllYQnBPbll4T21ScFpDMTNaV0l0Y21WemIyeDJaWEk2WkROa1pqUXdPV1F0TURFMVlpMDBNV0kwTFdGaE16RXRZbVEzWmpRek9EUXdOVFJtSWl3aWJtRnRaU0k2SWxaaGJHbGtZWFJsWkNCSlJDQlRUQ0o5TENKMllXeHBaRVp5YjIwaU9pSXlNREkyTFRBeExUSXdWREE1T2pRMk9qUXdXaUlzSW1OeVpXUmxiblJwWVd4VGRHRjBkWE1pT25zaWFXUWlPaUpvZEhSd2N6b3ZMM04wWVdkcGJtY3RjM1IxWkdsdkxuWnBaR05vWVdsdUxtNWxkQzkyYVdSamNtVmtaVzUwYVdGc2N5MXpkSFZrYVc4dllYQnBMM1l4TDNOMFlYUjFjeTFzYVhOMExXTnlaV1JsYm5ScFlXd3ZPVEVqT0Rjeklpd2ljM1JoZEhWelRHbHpkRU55WldSbGJuUnBZV3dpT2lKb2RIUndjem92TDNOMFlXZHBibWN0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2T1RFaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSTROek1pTENKMGVYQmxJam9pVW1WMmIyTmhkR2x2Ymt4cGMzUXlNREl4VTNSaGRIVnpJaXdpYzNSaGRIVnpVSFZ5Y0c5elpTSTZJbkpsZG05allYUnBiMjRpZlgwc0ltNWlaaUk2TVRjMk9Ea3dNalF3TUN3aWFYTnpJam9pWkdsa09uZGxZanB6ZEdGbmFXNW5MblpwWkdOb1lXbHVMbTVsZERwaGNHazZkakU2Wkdsa0xYZGxZaTF5WlhOdmJIWmxjanBrTTJSbU5EQTVaQzB3TVRWaUxUUXhZalF0WVdFek1TMWlaRGRtTkRNNE5EQTFOR1lpTENKcFlYUWlPakUzTmpnNU1ESTBNREFzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1daemNXVm9Ra0pRTjJ0dlFXZGtZMGMyVldWTlNGRm5TbHB3VUVzMFNtbE9WRzFhVldKcU0wcG5aVGczWlVwNGRtbFVhM05tTW1GQmRYVk1WRTE1WVVkdFJWQk9PWFpGVUROUlVsSXpRVTFCVkdWVGExZFpRMnRNYW1WM1VUUkxia3cyT0hkb1NETjFiMnR3WWpkbFZtdGtRbk4yTjNKa1RVMHpWSEpCTW1KT1ZTSXNJbXAwYVNJNkluVnlianAxZFdsa09tTXhPR1ZrWVRRNExUQTVNR0V0TkRrMU9TMWlaalU0TFRKa1pXUmxPRGs0TkdOaFl5SjkueEhjYjlrTmVnQmFhaXNEd0dDRVBaMVRLS3NhY3BCd3pPMjRfQWdyOEJRblkzamY1eGNpYnlXam16SW5RMXVnMW40S29uOFdQN2loZGpocFdBQi1JSHcifSwidmFsaWRGcm9tIjoiMjAyNi0wMS0yMFQwOTo0Njo0MFoiLCJjcmVkZW50aWFsU3RhdHVzIjp7ImlkIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIzg3MyIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIiwic3RhdHVzTGlzdEluZGV4IjoiODczIiwidHlwZSI6IlJldm9jYXRpb25MaXN0MjAyMVN0YXR1cyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn19XX19.rrP242r0qjag_XCUhoqbiIHHO69dx79iAdeC_vpxexLUS424TNssFGVIEAL1wZNgdq2Jy8-Jl0roRNb72TTVKQ', ], }; const verifiablePresentationValidator = new VerifiablePresentationValidator( { dcqlQuery, }, { verifiableCredentials: [ { format: CredentialFormat.JSON, verifiableCredential: { '@context': ['https://www.w3.org/ns/credentials/v2'], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', issuer: { id: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', email: 'isaac.olle@signaturit.com', }, proof: { type: 'JsonWebSignature2020', created: '2026-01-20T09:46:40.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f#key-0', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmI2tleS0wIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJ1cm46dXVpZDpjMThlZGE0OC0wOTBhLTQ5NTktYmY1OC0yZGVkZTg5ODRjYWMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRW1haWxDcmVkZW50aWFsIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiZW1haWwiOiJpc2FhYy5vbGxlQHNpZ25hdHVyaXQuY29tIn0sImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJ2YWxpZEZyb20iOiIyMDI2LTAxLTIwVDA5OjQ2OjQwWiIsImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEjODczIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEiLCJzdGF0dXNMaXN0SW5kZXgiOiI4NzMiLCJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxU3RhdHVzIiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24ifX0sIm5iZiI6MTc2ODkwMjQwMCwiaXNzIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYiLCJpYXQiOjE3Njg5MDI0MDAsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImp0aSI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyJ9.xHcb9kNegBaaisDwGCEPZ1TKKsacpBwzO24_Agr8BQnY3jf5xcibyWjmzInQ1ug1n4Kon8WP7ihdjhpWAB-IHw', }, validFrom: '2026-01-20T09:46:40Z', credentialStatus: { id: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91#873', statusListCredential: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91', statusListIndex: '873', type: 'RevocationList2021Status', statusPurpose: 'revocation', }, }, }, ], verifiableCredentialsDecoded: [ { vc: { '@context': ['https://www.w3.org/ns/credentials/v2'], id: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', type: ['VerifiableCredential', 'EmailCredential'], credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', email: 'isaac.olle@signaturit.com', }, issuer: { id: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', name: 'Validated ID SL', }, validFrom: '2026-01-20T09:46:40Z', credentialStatus: { id: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91#873', statusListCredential: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91', statusListIndex: '873', type: 'RevocationList2021Status', statusPurpose: 'revocation', }, }, nbf: 1768902400, iss: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', iat: 1768902400, sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', jti: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', }, ], credentialQueryIds: ['query_0'], vpTokenIssuer: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', decodedVerifiablePresentation: { iat: 1768919877, exp: 4922519876, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', aud: 'decentralized_identifier:did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDFBktnKrGkokUSPrHRnUeR2fgoZqtTQtPUWbcLzWNTSEJUeM5sv2T7e9LnuC3gVhLj6cYGudKqnBT9LFqpXtREc3Pn18Ab3n1o3zXvxdZm2zPMScgGnkXw6pBuvDWKgtL', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', nbf: 1768919876, nonce: 'KvqYywKVPSiQT_3WJsEN-A', jti: 'urn:did:b4f54d85-8d40-4ef8-9133-a60d962aece9', vp: { id: 'urn:did:b4f54d85-8d40-4ef8-9133-a60d962aece9', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', verifiableCredential: [ { '@context': ['https://www.w3.org/ns/credentials/v2'], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', issuer: { id: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', email: 'isaac.olle@signaturit.com', }, proof: { type: 'JsonWebSignature2020', created: '2026-01-20T09:46:40.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f#key-0', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmI2tleS0wIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJ1cm46dXVpZDpjMThlZGE0OC0wOTBhLTQ5NTktYmY1OC0yZGVkZTg5ODRjYWMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRW1haWxDcmVkZW50aWFsIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiZW1haWwiOiJpc2FhYy5vbGxlQHNpZ25hdHVyaXQuY29tIn0sImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJ2YWxpZEZyb20iOiIyMDI2LTAxLTIwVDA5OjQ2OjQwWiIsImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEjODczIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEiLCJzdGF0dXNMaXN0SW5kZXgiOiI4NzMiLCJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxU3RhdHVzIiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24ifX0sIm5iZiI6MTc2ODkwMjQwMCwiaXNzIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYiLCJpYXQiOjE3Njg5MDI0MDAsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImp0aSI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyJ9.xHcb9kNegBaaisDwGCEPZ1TKKsacpBwzO24_Agr8BQnY3jf5xcibyWjmzInQ1ug1n4Kon8WP7ihdjhpWAB-IHw', }, validFrom: '2026-01-20T09:46:40Z', credentialStatus: { id: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91#873', statusListCredential: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91', statusListIndex: '873', type: 'RevocationList2021Status', statusPurpose: 'revocation', }, }, ], }, }, }, didPublicKeyResolverMock, signatureValidator, ); await verifiablePresentationValidator.validate( presentation, 'decentralized_identifier:did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDFBktnKrGkokUSPrHRnUeR2fgoZqtTQtPUWbcLzWNTSEJUeM5sv2T7e9LnuC3gVhLj6cYGudKqnBT9LFqpXtREc3Pn18Ab3n1o3zXvxdZm2zPMScgGnkXw6pBuvDWKgtL', ); expect(didPublicKeyResolverMock.getPublicKeyJwk).toHaveBeenCalled(); expect(signatureValidator.validate).toHaveBeenCalled(); }); });