pub struct RemoteCrypt { /* private fields */ }Implementations§
Source§impl RemoteCrypt
impl RemoteCrypt
pub fn new(client: ClientEnd<CryptMarker>) -> Self
Trait Implementations§
Source§impl Crypt for RemoteCrypt
impl Crypt for RemoteCrypt
Source§fn create_key<'life0, 'async_trait>(
&'life0 self,
owner: u64,
purpose: KeyPurpose,
) -> Pin<Box<dyn Future<Output = Result<(FxfsKey, UnwrappedKey), Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_key<'life0, 'async_trait>(
&'life0 self,
owner: u64,
purpose: KeyPurpose,
) -> Pin<Box<dyn Future<Output = Result<(FxfsKey, UnwrappedKey), Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
owner is intended to be used such that when the key is wrapped, it appears to be different
to that of the same key wrapped by a different owner. In this way, keys can be shared
amongst different filesystem objects (e.g. for clones), but it is not possible to tell just
by looking at the wrapped keys.Source§fn create_key_with_id<'life0, 'async_trait>(
&'life0 self,
owner: u64,
wrapping_key_id: WrappingKeyId,
object_type: ObjectType,
) -> Pin<Box<dyn Future<Output = Result<(EncryptionKey, UnwrappedKey), Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_key_with_id<'life0, 'async_trait>(
&'life0 self,
owner: u64,
wrapping_key_id: WrappingKeyId,
object_type: ObjectType,
) -> Pin<Box<dyn Future<Output = Result<(EncryptionKey, UnwrappedKey), Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
owner is intended to be used such that when the key is wrapped, it appears to be different
to that of the same key wrapped by a different owner. In this way, keys can be shared
amongst different filesystem objects (e.g. for clones), but it is not possible to tell just
by looking at the wrapped keys.Source§fn unwrap_key<'life0, 'life1, 'async_trait>(
&'life0 self,
wrapped_key: &'life1 WrappedKey,
owner: u64,
) -> Pin<Box<dyn Future<Output = Result<UnwrappedKey, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn unwrap_key<'life0, 'life1, 'async_trait>(
&'life0 self,
wrapped_key: &'life1 WrappedKey,
owner: u64,
) -> Pin<Box<dyn Future<Output = Result<UnwrappedKey, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Unwraps a single key, returning a raw unwrapped key.
This method is generally only used with StreamCipher and FF1.
Returns
zx::Status::UNAVAILABLE if the key is known but cannot be unwrapped (e.g. it is
locked).
Returns zx::Status::NOT_FOUND if the wrapping key is not known.Source§fn unwrap_keys<'life0, 'life1, 'async_trait>(
&'life0 self,
keys: &'life1 BTreeMap<u64, WrappedKey>,
owner: u64,
) -> Pin<Box<dyn Future<Output = Result<CipherSet, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn unwrap_keys<'life0, 'life1, 'async_trait>(
&'life0 self,
keys: &'life1 BTreeMap<u64, WrappedKey>,
owner: u64,
) -> Pin<Box<dyn Future<Output = Result<CipherSet, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Unwraps object keys and stores the result as a CipherSet mapping key_id to: Read more
Auto Trait Implementations§
impl Freeze for RemoteCrypt
impl !RefUnwindSafe for RemoteCrypt
impl Send for RemoteCrypt
impl Sync for RemoteCrypt
impl Unpin for RemoteCrypt
impl UnsafeUnpin for RemoteCrypt
impl !UnwindSafe for RemoteCrypt
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
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
Converts the given service transport handle of type
T to [Self]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