[][src]Crate sequoia_store

For storing transferable public keys.

The key store stores transferable public keys (TPKs) using an arbitrary label. Stored keys are automatically updated from remote sources. This ensures that updates like new subkeys and revocations are discovered in a timely manner.

Security considerations

Storing public keys potentially leaks communication partners. Protecting against adversaries inspecting the local storage is out of scope for Sequoia. Please take the necessary precautions.

Sequoia updates keys in compliance with the network policy used to create the store.

Example

let store = Store::open(&ctx, "default")?;

let fp = Fingerprint::from_bytes(b"bbbbbbbbbbbbbbbbbbbb");
let binding = store.add("Mister B.", &fp)?;

println!("Binding {:?}", binding.stats()?);
// prints:
// Binding Stats {
//     created: Some(Timespec { tv_sec: 1513704042, tv_nsec: 0 }),
//     updated: None,
//     encryption: Stamps { count: 0, first: None, last: None },
//     verification: Stamps { count: 0, first: None, last: None }
// }

Structs

Binding

Represents an entry in a Store.

BindingIter

Iterates over bindings in a store.

Key

Represents a key in a store.

KeyIter

Iterates over keys in the common key pool.

Log

Represents a log entry.

LogIter

Iterates over logs.

Pool

The common key pool.

Stamps

Counter and timestamps.

Stats

Statistics about bindings and stored keys.

Store

A public key store.

StoreIter

Iterates over stores.

Enums

Error

Errors returned from the store.

Type Definitions

Result

Results for sequoia-store.