1
0
Fork
You've already forked doip-rs
0
forked from keyoxide/doip-rs
A Rust library to interact with decentralized OpenPGP identity claims and proofs.
  • Rust 100%
2023年08月28日 11:12:41 +01:00
examples Added working example 2023年08月13日 10:42:07 -04:00
src feat: move config code to mod.rs 2023年08月28日 11:12:41 +01:00
tests Added tests for ORCiD claim format 2023年08月18日 17:33:26 -04:00
.gitignore feat: include provider configs into build 2023年08月20日 19:12:18 +01:00
.woodpecker.yml ci: Fix apt-get command 2023年03月01日 14:00:23 +01:00
Cargo.toml feat: allow picking providers via features 2023年08月20日 22:39:08 +01:00
CHANGELOG.md Initial commit 2021年11月12日 14:55:29 +01:00
LICENSE Initial commit 2021年11月12日 14:55:29 +01:00
README.md chore: Misc feats and fixes 2023年03月13日 14:46:26 +01:00

doip-rs

A Rust library to interact with decentralized OpenPGP identity claims and proofs.

Usage

A quick example to verify a Gitea account:

usedoip::claim::Claim;usedoip::service_provider::ServiceProvider;// Prepare the identity claim
leturi="https://codeberg.org/yarmo/gitea_proof";letfingerprint="9f0048ac0b23301e1f77e994909f6bd6f80f485d";letclaim=Claim::new(uri,fingerprint);// Find matching service providers
letmatches=claim.find_matches();// Verify the claim
letresult=claim.verify_with_matches(matches.unwrap()).await.unwrap();// Print the result
println!("Claim: {:#?}",claim);println!("Result: {:#?}",result);

About

A Claim is an identity claim that needs to be verified. An identity claim is verified when the account it links to and claims possesses the fingerprint of the cryptographic key in which the identity claim is stored (bidirectional linking).

doip attempts to match the claim any of the library of service providers based on the URI of the claim. For each service provider match, doip makes an HTTP request to the public API associated with the service provider and attemps to find the fingerprint in the data returned by the public API.

If the fingerprint is found, the claim is considered verified.

Roadmap

  • Improve code quality
  • Improve documentation
  • Add parallel processing of claims
  • Add processing of cryptographic keys
  • Add processing of signature profiles
  • Add additional proof request protocols (DNS, IRC, XMPP...)
  • Publish to crates.io

Contributing

Please report bugs and make feature requests on the Codeberg issue tracker.

All PRs are welcome.

License

doip-rs is licensed under Apache License, Version 2.0.