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

Update Bitstring Status List implementation. #609

Merged
merged 5 commits into from
Sep 20, 2024

Conversation

timothee-haudebourg
Copy link
Contributor

@timothee-haudebourg timothee-haudebourg commented Sep 5, 2024

This PR updates the Bitstring Status List implementation to the Candidate Recommendation Draft 10 June 2024. The current implementation is based on the Working Draft 6 April 2024.

In this new version, the statusSize, statusMessage and statusReference properties have been moved from BitstringStatusList to BitstringStatusListEntry. This has implications in the rest of the ssi-status crate. Because the status size is not stored in the list but in each entry, this changes the common API shared with TokenStatusList (defined in crates/status/src/impl/any.rs) so that a status size can be optionally passed to the access functions.

To accomodate status list construction I added the SizedBitString and SizedStatusList types that also store the status size.

There is still one small uncertainy about the new spec version because the old BitstringStatusList properties are still beeing referenced in one paragraph, but I think that's a mistake. Just to be sure I notified the vc-bitstring-status-list repo: w3c/vc-bitstring-status-list#175

Other changes

  • Added the ssi-jws/secp256r1 for the ssi-status examples so that its able to verify the P-256 signatures given as samples.
  • Added a signature to the status_list_revocable_*.jsonld sample files so the example client can verify them correctly.

Copy link
Contributor

@eelanagaraj eelanagaraj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some questions (mostly around the changes in spec & whether there are ways to mitigate some of the more problematic changes), but otherwise the changes themselves look generally good to me!

@sbihel sbihel mentioned this pull request Sep 20, 2024
1 task
Copy link
Contributor

@eelanagaraj eelanagaraj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

discussed with Timothée. Leaving the common interfaces as is for now as they are helpful for testing, and since the spec is not fully finalized yet anyways. Once it settles, the interface should be reworked in case there's a cleaner, more useful abstraction.

@timothee-haudebourg timothee-haudebourg merged commit 9075907 into main Sep 20, 2024
4 checks passed
@timothee-haudebourg timothee-haudebourg deleted the bitstring-status-list-10-june-2024 branch September 20, 2024 12:27
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

Successfully merging this pull request may close these issues.

2 participants