Skip to main content

dpp_crypto/keystore/
mod.rs

1//! AES-256-GCM encrypted Ed25519 key store with Argon2id key derivation.
2//!
3//! Keys are stored as JSON on disk, encrypted per-record with a unique nonce.
4//! Rotation archives the current key and generates a fresh one; revocation
5//! marks a key as compromised so it is excluded from the published DID document.
6//!
7//! ## Module layout
8//!
9//! - `entry` — [`KeyEntry`], the decrypted in-memory key handed back to callers.
10//! - `store` — [`KeyStore`] itself: the encrypted record map and its
11//!   open/generate/load/persist paths.
12//! - `crypto`, `rotation`, `migration` — key derivation, rotation, and
13//!   legacy-KDF migration, each already a focused file.
14
15mod crypto;
16mod entry;
17mod migration;
18mod rotation;
19mod store;
20#[cfg(test)]
21mod tests;
22
23pub use entry::KeyEntry;
24pub use store::{KeyStore, PublicKeyInfo};