5个版本

0.7.0 2024年2月18日
0.0.6 2024年1月22日
0.0.5 2023年12月26日

266身份验证

Download history 24/week @ 2024-03-13 2/week @ 2024-03-27 2/week @ 2024-04-03 3/week @ 2024-05-29 4/week @ 2024-06-05 33/week @ 2024-06-12 3/week @ 2024-06-19 11/week @ 2024-06-26

每月下载量 51

Apache-2.0 OR MIT

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)依赖项: base64lazy_static logserdeserde_jsonsha2randhmacthiserror。MIT许可证依赖项: jsonwebtokenstrum

注意:依赖项列表可能在未来发生变化。

初始维护者

  • Sergey Minaev (Github)
  • DSR公司去中心化系统团队 (Github)

依赖项

~2–12MB
~144K SLoC