pub enum WrappedKey {
Fxfs(FxfsKey),
Zxcrypt(Vec<u8>),
FscryptInoLblk32Dir(FscryptKeyIdentifierAndNonce),
FscryptInoLblk32File(FscryptKeyIdentifier),
FscryptInoLblk64Dir(FscryptKeyIdentifierAndNonce),
FscryptInoLblk64File(FscryptKeyIdentifier),
// some variants omitted
}Variants§
Fxfs(FxfsKey)
Fxfs’s default crypto (AES256GCM-SIV wrapped key using AES256XTS encryption) In: 16-byte wrapping_key_id + 48-byte wrapped key. Out: 32-byte unwrapped key.
Zxcrypt(Vec<u8>)
Zxcrypt (For use with FVM/Minfs only) In: 132-byte request blob. Out: 80-byte unwrapped key blob.
FscryptInoLblk32Dir(FscryptKeyIdentifierAndNonce)
Fscrypt INO_LBLK32 directory (For use with starnix only) In: 16-byte key_identifier + 16-byte nonce. Out: 32-byte cts_key, 16-byte ino_hash, 16-byte dirhash.
FscryptInoLblk32File(FscryptKeyIdentifier)
Fscrypt INO_LBLK32 file (For use with starnix only)
In: 16-byte key_identifier.
Out: 16-byte ino_hash (hardware key slot is registered via key_token).
FscryptInoLblk64Dir(FscryptKeyIdentifierAndNonce)
Fscrypt INO_LBLK64 directory (For use with starnix only) In: 16-byte key_identifier + 16-byte nonce. Out: 32-byte cts_key, 16-byte dirhash.
FscryptInoLblk64File(FscryptKeyIdentifier)
Fscrypt INO_LBLK64 file (For use with starnix only)
In: 16-byte key_identifier.
Out: empty unwrapped_key (hardware key slot is registered via key_token).
Implementations§
Source§impl WrappedKey
impl WrappedKey
pub fn ordinal(&self) -> u64
pub fn unknown_variant_for_testing() -> WrappedKey
pub fn is_unknown(&self) -> bool
Trait Implementations§
Source§impl Clone for WrappedKey
impl Clone for WrappedKey
Source§fn clone(&self) -> WrappedKey
fn clone(&self) -> WrappedKey
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WrappedKey
impl Debug for WrappedKey
Source§impl<D> Decode<WrappedKey, D> for WrappedKeywhere
D: ResourceDialect,
impl<D> Decode<WrappedKey, D> for WrappedKeywhere
D: ResourceDialect,
Source§fn new_empty() -> WrappedKey
fn new_empty() -> WrappedKey
Self. The specific value does not matter,
since it will be overwritten by decode.Source§impl<D> Encode<WrappedKey, D> for &WrappedKeywhere
D: ResourceDialect,
impl<D> Encode<WrappedKey, D> for &WrappedKeywhere
D: ResourceDialect,
Source§impl PartialEq for WrappedKey
impl PartialEq for WrappedKey
impl Persistable for WrappedKey
Source§impl TypeMarker for WrappedKey
impl TypeMarker for WrappedKey
Source§type Owned = WrappedKey
type Owned = WrappedKey
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align.Source§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned to a single memcpy. Read moreSource§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned to a single memcpy.Source§impl ValueTypeMarker for WrappedKey
impl ValueTypeMarker for WrappedKey
Source§type Borrowed<'a> = &'a WrappedKey
type Borrowed<'a> = &'a WrappedKey
Encode<Self>
type cheaply obtainable from &Self::Owned. There are three cases: Read moreSource§fn borrow(
value: &<WrappedKey as TypeMarker>::Owned,
) -> <WrappedKey as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<WrappedKey as TypeMarker>::Owned, ) -> <WrappedKey as ValueTypeMarker>::Borrowed<'_>
&Self::Owned to Self::Borrowed.