3 releases (breaking)

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

#1353 in Cryptography

Download history 78/week @ 2023-12-22 145/week @ 2023-12-29 69/week @ 2024-01-05 48/week @ 2024-01-12 40/week @ 2024-01-19 56/week @ 2024-01-26 39/week @ 2024-02-02 55/week @ 2024-02-09 83/week @ 2024-02-16 115/week @ 2024-02-23 81/week @ 2024-03-01 137/week @ 2024-03-08 57/week @ 2024-03-15 65/week @ 2024-03-22 83/week @ 2024-03-29 203/week @ 2024-04-05

416 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–41MB
~742K SLoC