You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are trying to verify a connectionless proof which state has been set to “presentation_received”. We are using the release 0.7.0 of aca-py (also tried with 0.6.0) to spin up an agent, accompanied by the tails server for revocation functionality.
However, we are receiving a 400: Record ID not provided when we try to verify a connectionless proof request (when calling POST /present-proof/records/{pres_ex_id}/verify-presentation).
Logging which we found in the agent has been added as an attachment (agentlogging.txt).
We looked through Aries agent code on how it handles presentation verification (present-proof v1.0, file routes.py, method presentation_exchange_verify_presentation) and it seems that it tries to fetch Presentation Exchange by given pres_ex_id, which should be fine, and it doesn't actually fail right there. But on line 820 it wants a connection ID, and then it tries to fetch a connection record, and it fails, which seems to result in a Bad Request error. Present-proof v2.0 seems not to differ too much in this regard, but we have not tested that yet.
So our question: is this the expected behaviour? Are connectionless proof requests not able to be verified at this time or ever, or could it be something else?
After some review of vc-authn-oidc's implmentation, I see one big difference between our implementation and vc-authn-oidc.
For vc-authn-oidc aca-py is started with the option auto-verify-presentation. We do not use that option.
We do the POST to localhost:8021/present-proof/records/{pres_ex_id}/verify-presentation ourselves. And on this call the error (400: Record ID not provided) occurs.
The verify function checks the state of the connection record to make sure it's in the "ready" state.
I don't think this check is necessary at all - if we're verifying a presentation it means we've already received the presentation, so the connection state is irrelevent.
I'm going to remove this check from both the v1 and v2 "verify_proof" routes.
Issue created from this question on Hyperledger Chat: https://chat.hyperledger.org/channel/aries-cloudagent-python?msg=7qeKFQtQcwnHimKR8
We are trying to verify a connectionless proof which state has been set to “presentation_received”. We are using the release 0.7.0 of aca-py (also tried with 0.6.0) to spin up an agent, accompanied by the tails server for revocation functionality.
We use the following startup params:
However, we are receiving a 400: Record ID not provided when we try to verify a connectionless proof request (when calling
POST /present-proof/records/{pres_ex_id}/verify-presentation
).Logging which we found in the agent has been added as an attachment (agentlogging.txt).
We looked through Aries agent code on how it handles presentation verification (present-proof v1.0, file routes.py, method presentation_exchange_verify_presentation) and it seems that it tries to fetch Presentation Exchange by given pres_ex_id, which should be fine, and it doesn't actually fail right there. But on line 820 it wants a connection ID, and then it tries to fetch a connection record, and it fails, which seems to result in a Bad Request error. Present-proof v2.0 seems not to differ too much in this regard, but we have not tested that yet.
So our question: is this the expected behaviour? Are connectionless proof requests not able to be verified at this time or ever, or could it be something else?
After some review of vc-authn-oidc's implmentation, I see one big difference between our implementation and vc-authn-oidc.
For vc-authn-oidc aca-py is started with the option auto-verify-presentation. We do not use that option.
We do the POST to localhost:8021/present-proof/records/{pres_ex_id}/verify-presentation ourselves. And on this call the error (400: Record ID not provided) occurs.
Here is the presentation request:
The text was updated successfully, but these errors were encountered: