pub trait SealedObjectStore {
// Required methods
fn write_object(&self, path: &str, payload: &[u8]) -> StorageResult<()>;
fn read_object(&self, path: &str) -> StorageResult<Vec<u8>>;
fn verify_object(&self, path: &str) -> StorageResult<()>;
fn rekey_object(&self, path: &str, new_key_id: KeyId) -> StorageResult<()>;
}Expand description
Generic sealed-object store contract.
Required Methods§
Sourcefn write_object(&self, path: &str, payload: &[u8]) -> StorageResult<()>
fn write_object(&self, path: &str, payload: &[u8]) -> StorageResult<()>
Seals and atomically writes an object.
Sourcefn read_object(&self, path: &str) -> StorageResult<Vec<u8>>
fn read_object(&self, path: &str) -> StorageResult<Vec<u8>>
Reads, authenticates and opens an object.
Sourcefn verify_object(&self, path: &str) -> StorageResult<()>
fn verify_object(&self, path: &str) -> StorageResult<()>
Cryptographically verifies an object without returning plaintext.
Sourcefn rekey_object(&self, path: &str, new_key_id: KeyId) -> StorageResult<()>
fn rekey_object(&self, path: &str, new_key_id: KeyId) -> StorageResult<()>
Re-encrypts an object under a new key.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".