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.Auto Trait Implementations§
impl Freeze for WrappedKey
impl RefUnwindSafe for WrappedKey
impl Send for WrappedKey
impl Sync for WrappedKey
impl Unpin for WrappedKey
impl UnsafeUnpin for WrappedKey
impl UnwindSafe for WrappedKey
Blanket Implementations§
Source§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
Source§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
Source§type MarkerInResultUnion = T
type MarkerInResultUnion = T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
T to [Self]