pub struct SessionKey(pub(crate) SymmetricCryptoKey);Expand description
A symmetric key that wraps the user key in the persisted state, allowing a rehydrated client to unlock without re-deriving the user key from a master password or other primary unlock factor.
Callers are responsible for storing this key in a secure location outside
the SDK (e.g. the OS keychain) and providing it back to
UnlockClient::unlock when reconstructing
the client.
Tuple Fields§
§0: SymmetricCryptoKeyImplementations§
Source§impl SessionKey
impl SessionKey
Sourcepub fn from_context<Ids: KeySlotIds>(
key_to_seal: Ids::Symmetric,
ctx: &mut KeyStoreContext<'_, Ids>,
) -> Result<(SymmetricKeyEnvelope, SessionKey), SymmetricKeyEnvelopeError>
pub fn from_context<Ids: KeySlotIds>( key_to_seal: Ids::Symmetric, ctx: &mut KeyStoreContext<'_, Ids>, ) -> Result<(SymmetricKeyEnvelope, SessionKey), SymmetricKeyEnvelopeError>
Mint a new session key, seal key_to_seal (already present in ctx)
with it, and return both the envelope and the new session key.
Sourcepub fn unwrap_to_context<Ids: KeySlotIds>(
&self,
envelope: &SymmetricKeyEnvelope,
ctx: &mut KeyStoreContext<'_, Ids>,
) -> Result<Ids::Symmetric, SymmetricKeyEnvelopeError>
pub fn unwrap_to_context<Ids: KeySlotIds>( &self, envelope: &SymmetricKeyEnvelope, ctx: &mut KeyStoreContext<'_, Ids>, ) -> Result<Ids::Symmetric, SymmetricKeyEnvelopeError>
Unseal envelope using this session key and place the resulting key in
ctx, returning the local id under which it is registered.
Trait Implementations§
Source§impl PartialEq for SessionKey
impl PartialEq for SessionKey
impl StructuralPartialEq for SessionKey
Auto Trait Implementations§
impl Freeze for SessionKey
impl RefUnwindSafe for SessionKey
impl Send for SessionKey
impl Sync for SessionKey
impl Unpin for SessionKey
impl UnsafeUnpin for SessionKey
impl UnwindSafe for SessionKey
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for 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
Mutably borrows from an owned value. Read more
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<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