pub(super) struct SealedCipherBlob {
format_version: u8,
wrapped_cek: EncString,
envelope: DataEnvelope,
}Expand description
Sealed container that packages a wrapped CEK and encrypted DataEnvelope together.
Serializable into the Cipher.data: Option<String> field.
Fields§
§format_version: u8§wrapped_cek: EncString§envelope: DataEnvelopeImplementations§
Source§impl SealedCipherBlob
impl SealedCipherBlob
Sourcepub(super) fn seal(
data: CipherBlob,
wrapping_key: &SymmetricKeySlotId,
ctx: &mut KeyStoreContext<'_, KeySlotIds>,
) -> Result<Self, SealedCipherBlobError>
pub(super) fn seal( data: CipherBlob, wrapping_key: &SymmetricKeySlotId, ctx: &mut KeyStoreContext<'_, KeySlotIds>, ) -> Result<Self, SealedCipherBlobError>
Seals a CipherBlob into a SealedCipherBlob by encrypting it with a new CEK
wrapped by the provided wrapping key.
Sourcepub(super) fn unseal(
&self,
wrapping_key: &SymmetricKeySlotId,
ctx: &mut KeyStoreContext<'_, KeySlotIds>,
) -> Result<CipherBlob, SealedCipherBlobError>
pub(super) fn unseal( &self, wrapping_key: &SymmetricKeySlotId, ctx: &mut KeyStoreContext<'_, KeySlotIds>, ) -> Result<CipherBlob, SealedCipherBlobError>
Unseals the CipherBlob from this container using the provided wrapping key.
Sourcepub(super) fn to_opaque_string(&self) -> Result<String, SealedCipherBlobError>
pub(super) fn to_opaque_string(&self) -> Result<String, SealedCipherBlobError>
Serializes this container into an opaque base64-encoded CBOR string.
Sourcepub(super) fn from_opaque_string(s: &str) -> Result<Self, SealedCipherBlobError>
pub(super) fn from_opaque_string(s: &str) -> Result<Self, SealedCipherBlobError>
Deserializes a SealedCipherBlob from an opaque base64-encoded CBOR string.
Trait Implementations§
Source§impl Clone for SealedCipherBlob
impl Clone for SealedCipherBlob
Source§fn clone(&self) -> SealedCipherBlob
fn clone(&self) -> SealedCipherBlob
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SealedCipherBlob
impl Debug for SealedCipherBlob
Source§impl<'de> Deserialize<'de> for SealedCipherBlob
impl<'de> Deserialize<'de> for SealedCipherBlob
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
Auto Trait Implementations§
impl Freeze for SealedCipherBlob
impl RefUnwindSafe for SealedCipherBlob
impl Send for SealedCipherBlob
impl Sync for SealedCipherBlob
impl Unpin for SealedCipherBlob
impl UnsafeUnpin for SealedCipherBlob
impl UnwindSafe for SealedCipherBlob
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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