pub struct VaultFile {
pub vault_version: VaultFile_VaultVersion,
pub kdf: VaultFile_Kdf,
pub cipher: VaultFile_Cipher,
pub entries: Vec<VaultEntry>,
}Expand description
Passphrase-encrypted key vault on disk. KDF = Argon2id, cipher = ChaCha20-Poly1305.
Fields§
§vault_version: VaultFile_VaultVersionVersion of the vault file schema itself.
kdf: VaultFile_KdfKey-derivation parameters used to turn the passphrase into the 32-byte wrap key.
cipher: VaultFile_CipherAEAD cipher used to seal each entry.
entries: Vec<VaultEntry>Encrypted entries. Each entry’s ciphertext decrypts under the wrap key to raw key bytes.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for VaultFile
impl<'de> Deserialize<'de> for VaultFile
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for VaultFile
impl StructuralPartialEq for VaultFile
Auto Trait Implementations§
impl Freeze for VaultFile
impl RefUnwindSafe for VaultFile
impl Send for VaultFile
impl Sync for VaultFile
impl Unpin for VaultFile
impl UnsafeUnpin for VaultFile
impl UnwindSafe for VaultFile
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more