| Crates.io | wot-network-rpgpie |
| lib.rs | wot-network-rpgpie |
| version | 0.0.2 |
| created_at | 2025-09-14 19:10:07.639213+00 |
| updated_at | 2025-11-04 19:59:25.587908+00 |
| description | Transform OpenPGP certificate sets into a wot-network structure |
| homepage | |
| repository | https://codeberg.org/heiko/wot-network-rpgpie |
| max_upload_size | |
| id | 1839057 |
| size | 77,771 |
This crate transforms sets of OpenPGP certificates into https://codeberg.org/heiko/wot-network/ representation, for use in Web of Trust calculations.
⚠️ This crate is in an early development stage! Use with caution.
NOTE: Third-party direct key signatures are not yet supported (no delegation edges are produced for them)!
A WoT network graph is formed from a set of OpenPGP certificates. WoT network formation is a particular kind of normalization of OpenPGP certificate data, geared towards efficient WoT path searches.
To form a WoT network, validity of all relevant elements (certificates, identities, certifications and delegations) is determined at a given reference time. A WoT network graph represents a snapshot of the OpenPGP artifacts at that point in time.
Specifically, the output of network formation in this crate is a wot-network::Network data structure.
After network formation, a separate subsystem can perform lookups on the abstract Network representation. Such a path search subsystem does not need to be aware of any OpenPGP specifics.
For more context, see https://codeberg.org/openpgp/wot/.
This crate forms a WoT network graph from a set of OpenPGP certificates as follows:
The notion of "validity" here encompasses:
This crate relies on the rpgpie crate for OpenPGP semantics and policy.
This crate is mainly intended for use as a library.
The most convenient entrypoint is
wot_network_rpgpie::from_file(path: &Path, reference_time: DateTime<Utc>) -> Network, which loads a certificate ring from a file and produces a Network at the reference time.
Alternatively, for easy exploratory use of the library, the CLI tool (wnr) is provided.
Note, however that this CLI tool uses simple output formats, which are a helpful for inspecting simple test networks,
but not appropriate for representing complex, general OpenPGP data!
A certificate file can be exported in the "simple text" WoT network format (also see wot_network::util::simple_text):
$ wnr export <certs>
Additionally, a certificate name mapping can be applied via
$ wnr export <certs> --map <mapping>
Mermaid WoT network graphs can be generated analogously, with the graph command:
$ wnr graph <certs>
See wot-observatory for a tool that generates certificate sets based on a configuration file that describes a set of OpenPGP certificates and certifying signatures.