pub struct EncryptedManifest(/* private fields */);Expand description
Encrypted tree manifest blob (AAD_MANIFEST).
Contains a CBOR-serialized TreeManifest struct encrypted with
AES-256-GCM. Stored in the ObjectStore, addressed by ManifestCid.
Implementations§
Source§impl EncryptedManifest
impl EncryptedManifest
Sourcepub fn from_bytes(bytes: Vec<u8>) -> EncryptedManifest
pub fn from_bytes(bytes: Vec<u8>) -> EncryptedManifest
Wrap raw ciphertext bytes.
Sourcepub fn into_bytes(self) -> Vec<u8> ⓘ
pub fn into_bytes(self) -> Vec<u8> ⓘ
Consume and return the underlying ciphertext bytes.
Sourcepub fn encrypt(
key: &[u8; 32],
plaintext: &[u8],
) -> Result<EncryptedManifest, CryptoError>
pub fn encrypt( key: &[u8; 32], plaintext: &[u8], ) -> Result<EncryptedManifest, CryptoError>
Encrypt plaintext with this blob type’s AAD.
Sourcepub fn decrypt(&self, key: &[u8; 32]) -> Result<Vec<u8>, CryptoError>
pub fn decrypt(&self, key: &[u8; 32]) -> Result<Vec<u8>, CryptoError>
Decrypt this blob with the correct AAD.
Sourcepub fn decrypt_and_parse<T>(&self, key: &[u8; 32]) -> Result<T, CryptoError>where
T: DeserializeOwned,
pub fn decrypt_and_parse<T>(&self, key: &[u8; 32]) -> Result<T, CryptoError>where
T: DeserializeOwned,
Decrypt and parse a CBOR-encoded type with the correct AAD.
Trait Implementations§
Source§impl Debug for EncryptedManifest
impl Debug for EncryptedManifest
Source§impl EncryptedBlob for EncryptedManifest
impl EncryptedBlob for EncryptedManifest
Auto Trait Implementations§
impl Freeze for EncryptedManifest
impl RefUnwindSafe for EncryptedManifest
impl Send for EncryptedManifest
impl Sync for EncryptedManifest
impl Unpin for EncryptedManifest
impl UnsafeUnpin for EncryptedManifest
impl UnwindSafe for EncryptedManifest
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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