aere-quantum/identity/interop/rezultate-interop-sdjwt-vc.json

267 lines
8.8 KiB
JSON

{
"generat": "2026-10-18T06:18:52.552Z",
"biblioteci": {
"@sd-jwt/sd-jwt-vc": "0.23.0",
"@sd-jwt/core": "0.23.0",
"@owf/token-status-list": "0.5.0",
"@sd-jwt/crypto-nodejs": "0.19.0",
"jose": "6.2.12",
"node": "v24.14.1"
},
"ceas": 1792281600,
"randuri": [
{
"sens": "noi->lor",
"caz": "EdDSA: SD-JWT VC (typ dc+sd-jwt, vct urn:eudi:pid:1, status_list idx 5) + lista noastra de stare (toate 0), KB(aud, nonce)",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "ES256: SD-JWT VC (typ dc+sd-jwt, vct urn:eudi:pid:1, status_list idx 5) + lista noastra de stare (toate 0), KB(aud, nonce)",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "ML-DSA-65: SD-JWT VC (typ dc+sd-jwt, vct urn:eudi:pid:1, status_list idx 5) + lista noastra de stare (toate 0), KB(aud, nonce)",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "NEGATIV: lista noastra cu indexul 5 = 1 (INVALID, revocat)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: status 1 (INVALID) in https://issuer.example/status/pid/1 at index 5",
"lor": "REFUZ: Status is not valid",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "NEGATIV: lista noastra pe 2 biti cu indexul 5 = 2 (SUSPENDED)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: status 2 (SUSPENDED) in https://issuer.example/status/pid/1 at index 5",
"lor": "REFUZ: Status is not valid",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "lista noastra pe 8 biti, toate 0 (impachetarea pe mai multi biti citita de ei)",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "NEGATIV: lista noastra publicata pentru ALT uri (sub != uri-ul din jeton)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: status list: sub \"https://issuer.example/status/pid/1-alta\" is not the uri referenced (https://issuer.example/",
"lor": "REFUZ: The subject claim 'https://issuer.example/status/pid/1-alta' must be equal to the uri 'https://issuer.example/",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "fara lista: noi cu requireStatus:false (stare nejudecata, spusa), ei cu disableStatusVerification",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": "la noi, implicit (requireStatus:true) acelasi credential e REFUZAT: the credential names a status (status_list) that was not judged: give statusListJwt fetche"
},
{
"sens": "noi->lor",
"caz": "NEGATIV: verificatorul asteapta alt vct (urn:eudi:pid:2)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: vct \"urn:eudi:pid:1\" is not the type expected (urn:eudi:pid:2)",
"lor": "REFUZ: Verify Error: Invalid VCT",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "NEGATIV: KB pentru alt aud",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: key binding: made for https://other.example, not https://verifier.example",
"lor": "REFUZ: Verify Error: Invalid Key Binding audience",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "credential FARA status (nu numeste nicio lista): valid fara lista",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "noi->lor",
"caz": "EMITERE: vct cerut dezvaluibil, refuzat de amandoi emitentii (s.2.2.2.3)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: sd-jwt-vc: vct may not be selectively disclosed (s.2.2.2.3)",
"lor": "REFUZ: Cannot disclose protected field",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "EdDSA: SD-JWT VC al LOR (typ dc+sd-jwt, status_list idx 5) + lista LOR de stare (@owf/token-status-list, toate 0), KB(aud, nonce); tipul implicit al nostru",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "ES256: SD-JWT VC al LOR (typ dc+sd-jwt, status_list idx 5) + lista LOR de stare (@owf/token-status-list, toate 0), KB(aud, nonce); tipul implicit al nostru",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "ML-DSA-65: SD-JWT VC al LOR (typ dc+sd-jwt, status_list idx 5) + lista LOR de stare (@owf/token-status-list, toate 0), KB(aud, nonce); tipul implicit al nostru",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "NEGATIV: lista LOR cu indexul 5 = 1 (INVALID)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: status 1 (INVALID) in https://issuer.example/status/pid/1 at index 5",
"lor": "REFUZ: Status is not valid",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "NEGATIV: lista LOR pe 2 biti cu indexul 5 = 2 (SUSPENDED)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: status 2 (SUSPENDED) in https://issuer.example/status/pid/1 at index 5",
"lor": "REFUZ: Status is not valid",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "lista LOR pe 8 biti, toate 0 (impachetarea lor pe mai multi biti citita de noi)",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "IMPACHETARE: lista LOR pe 2 biti cu 12 stari amestecate, citite de noi index cu index",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": "citit: [0,1,2,3,0,1,2,3,3,2,1,0] = scris: [0,1,2,3,0,1,2,3,3,2,1,0]"
},
{
"sens": "noi->lor",
"caz": "IMPACHETARE: lista NOASTRA pe 2 biti cu 12 stari amestecate, citite de ei index cu index",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": "citit: [0,1,2,3,0,1,2,3,3,2,1,0] = scris: [0,1,2,3,0,1,2,3,3,2,1,0]"
},
{
"sens": "lor->noi",
"caz": "NEGATIV: lista LOR pentru ALT uri (sub != uri-ul din jeton)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: status list: sub \"https://issuer.example/status/pid/1-alta\" is not the uri referenced (https://issuer.example/",
"lor": "REFUZ: The subject claim 'https://issuer.example/status/pid/1-alta' must be equal to the uri 'https://issuer.example/",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "NEGATIV: lista LOR expirata",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: status list: expired at 1792281630",
"lor": "REFUZ: Status List JWT verification failed: Verify Error: JWT is expired <- Verify Error: JWT is expired",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "NEGATIV: verificatorul asteapta alt vct (urn:eudi:pid:2)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: vct \"urn:eudi:pid:1\" is not the type expected (urn:eudi:pid:2)",
"lor": "REFUZ: Verify Error: Invalid VCT",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "NEGATIV: fara lista, la noi implicit (requireStatus:true): refuz numit; la ei disableStatusVerification: valid",
"asteptat": "REFUZ/VALID",
"noi": "REFUZ: the credential names a status (status_list) that was not judged: give statusListJwt fetched from https://issue",
"lor": "VALID",
"ok": true,
"nota": "politica: noi nu dam VALID pe o stare nejudecata fara ca verificatorul sa o ceara explicit (requireStatus:false); ei lasa decizia pe disableStatusVerification"
},
{
"sens": "lor->noi",
"caz": "fara lista, la noi cu requireStatus:false: valid, cu starea raportata nejudecata",
"asteptat": "VALID/VALID",
"noi": "VALID",
"lor": "VALID",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "NEGATIV: KB pentru alt aud",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: key binding: made for https://other.example, not https://verifier.example",
"lor": "REFUZ: Verify Error: Invalid Key Binding audience",
"ok": true,
"nota": ""
},
{
"sens": "lor->noi",
"caz": "NEGATIV: SD-JWT VC al LOR FARA vct (emitentul lor il lasa afara)",
"asteptat": "REFUZ/REFUZ",
"noi": "REFUZ: vct is required and the payload has none (draft-ietf-oauth-sd-jwt-vc s.2.2.2.3)",
"lor": "REFUZ: Verify Error: Invalid VCT",
"ok": true,
"nota": "al lor: SDJwtVcInstance.issue nu cere vct; verificatorul lor il refuza numai daca i se da expectedVct"
},
{
"sens": "lor->noi",
"caz": "DIFERENTA: acelasi SD-JWT VC fara vct, verificatorul LOR fara expectedVct",
"asteptat": "REFUZ/VALID",
"noi": "REFUZ: vct is required and the payload has none (draft-ietf-oauth-sd-jwt-vc s.2.2.2.3)",
"lor": "VALID",
"ok": true,
"nota": "al lor: fara expectedVct nu cere vct deloc; la noi expectedVct e obligatoriu si vct e cerut in jeton (s.2.2.2.3 REQUIRED)"
}
]
}