Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test case 04: Enforce validations in the presentation flow #36

Open
pcosio opened this issue Jan 9, 2025 · 0 comments
Open

Test case 04: Enforce validations in the presentation flow #36

pcosio opened this issue Jan 9, 2025 · 0 comments

Comments

@pcosio
Copy link

pcosio commented Jan 9, 2025

I was executing the Test Case 04 that is related to RFC002 and I discover a possible issue that maybe could be fixed in order to enforce and ensure that the presentation flow is done correctly.
I've realized that the iGrant wallet at the time of performing the presentation, it sends the following presentation_submission:

{
   "definition_id": "d49ee616-0e8d-4698-aff5-2a8a2362652d",
   "descriptor_map": [
       {
           "format": "vc+sd-jwt",
           "id": "abd4acb1-1dcb-41ad-8596-ceb1401a69c7",
           "path": "$",
           "path_nested": {
               "format": "jwt_vc",
               "id": "abd4acb1-1dcb-41ad-8596-ceb1401a69c7",
               "path": "$.vp.verifiableCredential[0]"
           }
       }
   ],
   "id": "8D3529B7-5218-424E-AB31-643032F11102"
 }

There is an issue with the value ""jwt_vc" that is inside the format field within the path_nested object.
That value does not satisfy the presentation definition (https://dss.aegean.gr/rfc-issuer/presentation-definition/itbsdjwt) because it should be "vc+sd-jwt". Moreover, the Verifier could not parse/decode the credential because it is expecting a jwt_vc (defined in the presentation submission) and it is a sd-jwt vc.

My proposal is that the Aegean Verifier could include these validations about the Test Case 04. It means:

  • extract the credentials from the vp_token following the presentation_submisssion
  • decode the credentials and validates that it's complying with the format and constraints defined in the presentation definition. In the context of test case, it means to exist the fields given_name, last_name and vct field to be VerifiablePortableDocumentA1SDJWT.

If not, it could lead to have issues with the wallets and not to ensure the interoperability between the different wallets and verifiers involved in the project

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant