This is the reference implementation of the IETF SD-JWT specification written in Rust.
Note: while the project is started as a reference implementation, it is intended to be evolved to a production-ready, high-performance implementations in the long-run.
SD-JWT crate is the root of the repository.
To build the project simply perform:
cargo build
To run tests:
cargo test
TBD
Note: the current version of the crate is 0.0.x, so the API should be considered as experimental. Proposals about API improvements are highly appreciated.
TBD
Please refer to the list, unchecked items are in progress and will be supported soon
- Issuance of SD-JWT
- Presentation of SD-JWT with custom schema
- Verification of SD-JWT
- CI pipelines for Ubuntu
- Support of multiple hash / sign algorithms
- JWT Key Binding support
- Selective disclosure of arrays elements
- Extended error handling
- Extended CI/CD
Dual license (MIT/Apache 2.0) dependencies: base64, lazy_static log, serde_json, sha2, rand, hmac. MIT license dependencies: jsonwebtoken.
Note: the list of dependencies may be changed in the future.
- Create MAINTAINERS.md file using the format documented on the TAC site.
- Create a CONTRIBUTING.md file that documents steps for contributing to the project
- Create a CODEOWNERS file
- Update the README.md file as necessary