identity.rs
identity.rs copied to clipboard
[Task] Support `publicKeyJwk` verification material format
Description
Implement publicKeyJwk
as a verification material format according to the DID-core specification.
We currently have a placeholder enum for publicKeyJwk
that is not implemented.
Motivation
Comply with the W3C DID specification.
Resources
- W3C DID-core specification
- Combined compliance tracking issue #196
To-do list
Create a task-specific to-do list . Please link PRs that match the To-do list item behind the item after it has been submitted.
- [ ] Implement
publicKeyJwk
, with tests - [ ] Add
publicKeyJwk
examples with various combinations of valid properties in the JWK
Change checklist
Add an x
to the boxes that are relevant to your changes, and delete any items that are not.
- [ ] The feature or fix is implemented in Rust and across all bindings whereas possible.
- [ ] The feature or fix has sufficient testing coverage
- [ ] All tests and examples build and run locally as expected
- [ ] Every piece of code has been document according to the documentation guidelines.
- [ ] If conceptual documentation (mdbook) and examples highlighting the feature exist, they are properly updated.
- [ ] If the feature is not currently documented, a documentation task Issue has been opened to address this.
This will need one or more signature suites before it can be fully utilized in a DID Document. Currently there is the JSON Web Signature 2020 suite from the Linked Data Proofs spec but it uses a JSON-LD canonicalization algorithm that we didn't intend to support (JSON-LD support is a much bigger task).
I added this issue for creating a new suite with a supported canonicalization algorithm. It can be picked up anytime by anyone and will probably need a bit of discussion regarding supported algorithms though.