pub enum UpgradeNeeded {
LegacyKdf,
MissingIntegrityTag,
UnboundRecords,
}Expand description
Why a store cannot be opened by KeyStore::open without being upgraded.
Each variant is a security property the store predates. They are reported rather than silently accommodated: every one of them was previously accepted on open, which meant a store could be downgraded into the weaker shape and opened without complaint.
Variants§
LegacyKdf
Encrypted under the bare SHA-256 KDF — no salt, no iterations.
MissingIntegrityTag
No envelope HMAC, so the plaintext fields — including revoked — are
unauthenticated and a record swap is undetectable.
UnboundRecords
Records are not bound to their fingerprints (pre-V4).
Trait Implementations§
Source§impl Clone for UpgradeNeeded
impl Clone for UpgradeNeeded
impl Copy for UpgradeNeeded
Source§impl Debug for UpgradeNeeded
impl Debug for UpgradeNeeded
impl Eq for UpgradeNeeded
Source§impl PartialEq for UpgradeNeeded
impl PartialEq for UpgradeNeeded
impl StructuralPartialEq for UpgradeNeeded
Auto Trait Implementations§
impl Freeze for UpgradeNeeded
impl RefUnwindSafe for UpgradeNeeded
impl Send for UpgradeNeeded
impl Sync for UpgradeNeeded
impl Unpin for UpgradeNeeded
impl UnsafeUnpin for UpgradeNeeded
impl UnwindSafe for UpgradeNeeded
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more