| Crates.io | sequoia-cert-store |
| lib.rs | sequoia-cert-store |
| version | 0.7.0 |
| created_at | 2023-03-02 11:00:23.410443+00 |
| updated_at | 2025-03-04 18:53:30.242323+00 |
| description | A certificate database interface. |
| homepage | https://sequoia-pgp.org/ |
| repository | https://gitlab.com/sequoia-pgp/sequoia-cert-store |
| max_upload_size | |
| id | 798816 |
| size | 880,885 |
An OpenPGP certificate store abstraction and implementation.
This crates provides a unified, high-level API for different
certificate stores via the Store and StoreUpdate traits. It also
provides a number of helper functions and data structures, like
UserIDIndex to help implement this functionality. Finally, the
CertStore data structure combines multiple certificate backends in a
transparent way to users.
This crate supports multiple backends: CertD uses an OpenPGP
Certificate Directory. Certs manages a bunch of certificates
in-memory. It can be loaded with certificates from a keyring, a
keybox, a database, etc. It can also be used as the basis for a new
backend, which actually writes changes back to the underlying store.
Pep provides access to a pEp certificate store. Finally, there is a
key server backend, which can fetch certificates via HKPS and WKD.
To use sequoia-cert-store from your project, you should add the following
to your crate's Cargo.toml:
[dependencies]
sequoia-cert-store = "0.7"
sequoia-openpgp = { version = "2", default-features = false }
To compile your crate you would then run:
$ cargo build --release --features sequoia-openpgp/crypto-default
$ cargo test --features sequoia-openpgp/crypto-default
$ cargo doc --no-deps --features sequoia-openpgp/crypto-default
If you do not disable the use of sequoia-openpgp's default features,
then sequoia-openpgp will select the default cryptographic backend,
and your users won't be able to easily compile your crate with a
different cryptographic backend.
sequoia-openpgp currently uses Nettle as its default cryptographic
backend. sequoia-openpgp also supports OpenSSL
(sequoia-openpgp/crypto-openssl), Botan
(sequoia-openpgp/crypto-botan), Windows CNG
(sequoia-openpgp/crypto-cng), Rust Crypto
(sequoia-openpgp/crypto-rust). For more information about building
sequoia-openpgp, please refer to sequoia-openpgp's README. This
also includes information about the different backends' build
requirements.
sequoia-cert-store is distributed under the terms of LGPL 2.0 or later.
See LICENSE.txt and CONTRIBUTING.md for details.