5个版本
0.7.0 | 2024年2月18日 |
---|---|
0.0.6 | 2024年1月22日 |
0.0.5 | 2023年12月26日 |
266 在 身份验证 中
每月下载量 51
89KB
2K SLoC
SD-JWT Rust参考实现
这是用Rust编写的IETF SD-JWT规范的参考实现。支持版本:7。
注意:虽然该项目最初作为参考实现启动,但长期目标是发展成为生产就绪、高性能的实现。
API
注意:当前crate的版本为0.0.x,因此API应被视为实验性的。关于API改进的提议非常受欢迎。
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).unwrap();
let presentation = holder.create_presentation(claims_to_disclosure, None, None, None, None).unwrap();
let verified_claims = SDJWTVerifier::new(presentation, cb_to_resolve_issuer_key, None, None, SDJWTSerializationFormat::Compact).unwrap()
.verified_claims;
}
有关更多详细信息,请参阅 tests/demos.rs
;
仓库结构
SD-JWT Rust crate
SD-JWT crate是仓库的根目录。
要构建项目,只需执行
cargo build
要运行测试
cargo test
互操作性测试工具
请参阅 生成工具README 文档。
外部依赖
双许可(MIT/Apache 2.0)依赖项: base64, lazy_static log, serde, serde_json, sha2, rand, hmac, thiserror。MIT许可证依赖项: jsonwebtoken, strum
注意:依赖项列表可能在未来发生变化。
初始维护者
依赖项
~2–12MB
~144K SLoC