#[non_exhaustive]pub enum Error {
Show 18 variants
Io(Error),
InvalidHeader,
UnsupportedVersion(u32),
RetiredFormat,
Authentication,
Encryption,
KeyDerivation,
InvalidKdfParams,
InvalidVault,
VaultExists,
VaultNotFound,
VaultLocked,
VaultUnlocked,
InvalidEntryName(String),
EntryNotFound(String),
EntryExists(String),
MalformedPayload,
Operation(String),
}Expand description
Errors returned by krypton operations.
Variants are deliberately coarse-grained: cryptographic failures never reveal whether the password was wrong or the data was tampered with, and internal details (key material, paths inside the vault) are never included in error text.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Io(Error)
Underlying filesystem I/O failed.
InvalidHeader
The container header is malformed or truncated.
UnsupportedVersion(u32)
The container format version is not supported by this build.
RetiredFormat
The file uses a retired pre-0.4 krypton format. Re-encrypt or extract it with krypton 0.3 before use; no retired reader remains.
Authentication
AEAD authentication failed — wrong password, corrupted data, or deliberate tampering.
Encryption
Symmetric encryption failed.
KeyDerivation
Argon2id key derivation failed.
InvalidKdfParams
KDF parameters are outside the accepted safety bounds.
InvalidVault
A vault-level structure could not be parsed.
VaultExists
The vault has already been initialized.
VaultNotFound
The vault does not exist or is missing required structures.
VaultLocked
The operation requires an unlocked vault.
VaultUnlocked
The vault is already unlocked.
InvalidEntryName(String)
An entry name violates naming rules (empty, too long, path separators,
.. components).
EntryNotFound(String)
The requested entry does not exist in the vault.
EntryExists(String)
An entry with this name already exists.
MalformedPayload
Serialization/deserialization of an encrypted structure failed after successful decryption.
Operation(String)
A user-level operation could not be performed (e.g. password confirmation mismatch).
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()