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
When responding to a proof request with an attribute and predicate of the same value, e.g. requesting attribute age and predicate age>5 the request fails. This makes sense (ish) as it should not happen that we request a value as well as a predicate variant of this. Indy-sdk throws an error here with CommonInvalidStructure. Since this is not logged at the agent it is very difficult to debug. (Even with the log of CommonInvalidStructure it is difficult to debug).
I propose to check in the framework if the requested attributes and requested predicates do not match in some way. After the check throw an error, as we cannot warn this, that the requested predicate cannot be in the attributes as well.
However... all of this should not even happen at the prover. The verifier should never be able to send this request. My verifier is ACA-Py so it might also be an issue there. I also don't think we check this when creating a proof in AFJ.
I am not a 100% that this is the exact reason why IndySdk errors. It might be something else that also happens when we have this kind of proof request structure.
Write some tests cases that test the following:
Can we parse a proof request that having matching attribute names with the same cred def id filter
Can we parse a proof request that have a attribute name and predicate name matching with the same cred def id filter
Can we parse a proof request that having matching attribute names with different cred def id filter
Can we parse a proof request that have a attribute name and predicate name matching with the different cred def id filter
The text was updated successfully, but these errors were encountered:
When responding to a proof request with an attribute and predicate of the same value, e.g. requesting attribute
age
and predicateage
>
5
the request fails. This makes sense (ish) as it should not happen that we request a value as well as a predicate variant of this. Indy-sdk throws an error here withCommonInvalidStructure
. Since this is not logged at the agent it is very difficult to debug. (Even with the log ofCommonInvalidStructure
it is difficult to debug).I propose to check in the framework if the requested attributes and requested predicates do not match in some way. After the check throw an error, as we cannot warn this, that the requested predicate cannot be in the attributes as well.
However... all of this should not even happen at the prover. The verifier should never be able to send this request. My verifier is ACA-Py so it might also be an issue there. I also don't think we check this when creating a proof in AFJ.
I am not a 100% that this is the exact reason why IndySdk errors. It might be something else that also happens when we have this kind of proof request structure.
The text was updated successfully, but these errors were encountered: