KO
|
EN
gitlite — search
Search
#ai-agent
#python
#mcp-server
#dsh-plugin
#agentic-ai
#automation
#genpark
#llm-tools
#deepseek-harness
#ai-agents
#dsh
#claude-code
sd-jwt-rust
★ 21
Open GitHub ↗
SD-JWT Rust Reference Implementation
Download README (.md)
Explore Similar Repositories
sd-jwt
:
A Java library for the "Selective Disclosure for JWTs (SD-JWT)" specification.
sd-jwt-kotlin
:
A Kotlin implementation of the Selective Disclosure JWT (SD-JWT) spec.
sd-jwt-python
:
A Python implementation of the Selective Disclosure JWT (SD-JWT) spec.
sd-jwt
:
Reference implementation for SD-JWT
vc-go
:
Verifiable Credentials (and related code) for Go
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
sd-jwt-rust
?
Download (.md)
# SD-JWT Rust Reference Implementation This is the reference implementation of the [IETF SD-JWT specification](https://datatracker.ietf.org/doc/draft-ietf-oauth-selective-disclosure-jwt/) written in Rust. Supported version: 7. 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. ## API 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. ```rust fn demo() { let mut issuer = SDJWTIssuer::new(issuer_key, None); let sd_jwt = issuer.issue_sd_jwt(claims, ClaimsForSelectiveDisclosureStrategy::AllLevels, holder_key, add_decoy, SDJWTSerializationFormat::Compact).unwrap(); let mut holder = SDJWTHolder::new(sd_jwt, SDJWTSerializationFormat::Compact, Box::new(cb_to_resolve_issuer_key)).unwrap(); let presentation = holder.create_presentation(claims_to_disclosure, None, None, None, None).unwrap(); let verified_claims = SDJWTVerifier::new(presentation, Box::new(cb_to_resolve_issuer_key), None, None, SDJWTSerializationFormat::Compact).unwrap() .verified_claims; } ``` See `tests/demos.rs` for more details; ## Repository structure ### SD-JWT Rust crate SD-JWT crate is the root of the repository. To build the project simply perform: ```shell cargo build ``` To run tests: ```shell cargo test ``` ### Interoperability testing tool See [Generate tool README](./generate/README.md) document. ## External Dependencies Dual license (MIT/Apache 2.0) dependencies: [base64](https://crates.io/crates/base64), [lazy_static](https://crates.io/crates/lazy_static) [log](https://crates.io/crates/log), [serde](https://crates.io/crates/serde), [serde_json](https://crates.io/crates/serde_json), [sha2](https://crates.io/crates/sha2), [rand](https://crates.io/crates/rand), [hmac](https://crates.io/crates/hmac), [thiserror](https://crates.io/crates/thiserror). MIT license dependencies: [jsonwebtoken](https://crates.io/crates/jsonwebtoken), [strum](https://crates.io/crates/strum) Note: the list of dependencies may be changed in the future. ## Initial Maintainers - Sergey Minaev ([Github](https://github.com/jovfer)) - DSR Corporation Decentralized Systems Team ([Github](https://github.com/orgs/DSRCorporation/teams/decentralized-systems))