-
Notifications
You must be signed in to change notification settings - Fork 512
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
Add an integration test for mixed proof with a revocable cred and a n… #1672
Conversation
…on-revocable cred Signed-off-by: Ian Costanzo <ian@anon-solutions.ca>
Signed-off-by: Ian Costanzo <ian@anon-solutions.ca>
Good news and bad news - I've updated the aca-py proof validations to account for whether a credential is revocable or not. BUT now the test fails in Indy or Askar. Indy:
Askar:
|
Signed-off-by: Ian Costanzo <ian@anon-solutions.ca>
Isn't that good news? We can fix it. We have a failed test -- the right place to start :-) At least I hope we can fix it. |
If Indy/Askar is rejecting the proof then I'm not sure it will be so easy to fix :-( |
I double-checked indy-sdk and I didn't find any tests with mixed proofs (including revocable and non-revocable creds). It may be worth adding a test to Indy (and/or Askar) to verify whether this is supported or not. |
I'm wondering if we can do some shenanigans in ACA-Py based on knowledge of the credential being revokable or not. What we want is for the business layer (above ACA-Py) to care if the credential is revokable or not as the verifier may not know when constructing the proof request. For example, a request for a university credential where two universities use the same schema, but one has a revokable credential, the other doesn't. To me, the verifier should always assume a revokable credential and still have things work if the holder presents a proof from a non-revokable credential. |
I was digging into this a bit more and Indy is definitely rejecting the proof. I found this comment in the code so I suspect that this is a non-Indy supported use case:
|
Arrggh... @andrewwhitehead -- thoughts on this? Can/should CredX change that? I don't like this... |
Signed-off-by: Ian Costanzo <ian@anon-solutions.ca>
Updated the integration test per my comment on Issue #1651 - when the non-revoked interval is specified per attribute (revealed or predicate) then the proof can contain mixed revocable and non-revocable credentials. (I think aca-py is cleverly "fixing" the proof before asking indy-sdk to validate). If the non-revoked interval is specified globally (for the entire proof request) then all presented credentials must be revocable and non-revoked. |
Signed-off-by: Ian Costanzo <ian@anon-solutions.ca>
Signed-off-by: Ian Costanzo <ian@anon-solutions.ca>
Codecov Report
@@ Coverage Diff @@
## main #1672 +/- ##
==========================================
- Coverage 95.29% 95.29% -0.01%
==========================================
Files 528 528
Lines 32933 33028 +95
==========================================
+ Hits 31385 31474 +89
- Misses 1548 1554 +6 |
…on-revocable cred
Signed-off-by: Ian Costanzo ian@anon-solutions.ca
(the branch is incorrectly named against the wrong issue oops)