WKD exporter
Exports an OpenPGP keyring into the Web Key Directory directory path.
Install it using your package manager or via cargo:
For bigger deployments, using the advanced variant with a domain filter is recommended:
|
|
For smaller deployments, direct variant may be more appropriate:
|
|
Logging can be enabled using RUST_LOG environment variable (e.g. RUST_LOG=wkd_exporter=debug enables debug-level logging).
Errors are always logged, regardless of the log level, and the exit status indicates the type of the error.
See Key Discovery for differences between these two modes.
Advanced variant is served from the openpgpkey subdomain (e.g. openpgpkey.example.com) while the direct variant is served from the root domain (e.g. example.com).
This project can also be used as a library:
use ;
export.expect;
Note that by default the CLI feature is enabled so to minimize the number of dependencies it is advisable to disable default features when importing as a library:
Multiple certificates
The --append flag causes all certificates sharing the same local part (user in user@example.com) to be exported in the same location.
By default the exporter leaves only the last certificate.
Appending allows exporting several certificates, for example when a certificate has been rotated (one is revoked and one is current).
Other workflows may also require multiple certificates, e.g. a code-signing certificate which is different from a regular one.
Note that if the same directory is used for export and --append flag has been enabled it will cause multiple copies of the same certificate to be present in the target directory.
For that reason it is advisable to use a fresh directory when using --append.
That is one of the reasons why this flag is not enabled by default (even though it is recommended).
An alternative solution: certificate merging, is being implemented. If you're interested in this feature, please reach out and help stabilizing this feature by testing it in your setup.
Packaging the CLI
To generate manpages for the wkd-exporter command-line program in the target/manpages directory use the the following task:
The manpage can be read via man --local-file target/manpages/wkd-exporter.1
Generating shell completions to target/shell_completions uses this task:
Tags are signed using SSH keys.
The signature can be verified against the official list of signing keys (.config/git_allowed_signers file) via:
License
This project is licensed under either of:
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.