3 releases (breaking)

0.2.0 Apr 6, 2024
0.1.0 Aug 27, 2023
0.0.1 Aug 23, 2023

#1341 in Cryptography

Download history 51/week @ 2024-01-22 46/week @ 2024-01-29 45/week @ 2024-02-05 60/week @ 2024-02-12 114/week @ 2024-02-19 101/week @ 2024-02-26 70/week @ 2024-03-04 124/week @ 2024-03-11 57/week @ 2024-03-18 64/week @ 2024-03-25 240/week @ 2024-04-01 75/week @ 2024-04-08 175/week @ 2024-04-15 59/week @ 2024-04-22 74/week @ 2024-04-29 40/week @ 2024-05-06

360 downloads per month
Used in 7 crates (4 directly)

MIT license

42KB
797 lines

🔐 pgp-lib

Rust library to deal with PGP operations, based on rPGP.

Features

  • Encrypts asynchronously bytes using multiple public keys
  • Decrypts asynchronously bytes using a secret key and its passphrase
  • Signs asynchronously bytes using a secret key and its passphrase
  • Verifies asynchronously bytes using a public key and a standalone signature
  • Finds public keys matching emails using WKD and Key Servers (HTTP and HKP protocols supported)
  • Provides helpers to generate a key pair, to read secret/public keys from path, to read signature from bytes etc.

Development

The development environment is managed by Nix. Running nix-shell will spawn a shell with everything you need to get started with the lib: cargo, cargo-watch, rust-bin, rust-analyzer

# Start a Nix shell
$ nix-shell

# then build the lib
$ cargo build -p pgp-lib

Contributing

A bug tracker is available on SourceHut. [send an email]

A mailing list is available on SourceHut. [send an email] [subscribe] [unsubscribe]

If you want to report a bug, please send an email at ~soywod/pimalaya@todo.sr.ht.

If you want to propose a feature or fix a bug, please send a patch at ~soywod/pimalaya@lists.sr.ht. The simplest way to send a patch is to use git send-email, follow this guide to configure git properly.

If you just want to discuss about the project, feel free to join the Matrix workspace #pimalaya or contact me directly @soywod. You can also use the mailing list.

Sponsoring

nlnet

Special thanks to the NLnet foundation and the European Commission that helped the project to receive financial support from:

If you appreciate the project, feel free to donate using one of the following providers:

GitHub PayPal Ko-fi Buy Me a Coffee Liberapay

Dependencies

~28–40MB
~739K SLoC