pub struct StoredCredential {
pub session_id: Vec<u8>,
pub credential: Vec<u8>,
pub created_at: u64,
pub ciphersuite: u16,
pub public_key: Vec<u8>,
pub private_key: Vec<u8>,
}Expand description
Entity representing a persisted Credential
Fields§
§session_id: Vec<u8>Note: this is not a unique identifier, but the session id this credential belongs to.
credential: Vec<u8>§created_at: u64§ciphersuite: u16§public_key: Vec<u8>§private_key: Vec<u8>Trait Implementations§
Source§impl Clone for StoredCredential
impl Clone for StoredCredential
Source§fn clone(&self) -> StoredCredential
fn clone(&self) -> StoredCredential
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 StoredCredential
impl Debug for StoredCredential
Source§impl<'de> Deserialize<'de> for StoredCredential
impl<'de> Deserialize<'de> for StoredCredential
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
Source§impl Entity for StoredCredential
impl Entity for StoredCredential
fn id_raw(&self) -> &[u8] ⓘ
fn find_all<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
params: EntityFindParams,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_one<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
id: &'life1 StringEntityId<'_>,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn count<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn merge_key(&self) -> Vec<u8> ⓘ
fn merge_key(&self) -> Vec<u8> ⓘ
The query results that are obtained during a transaction
from the transaction cache and the database are merged by this key.
fn find_many<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
ids: &'life1 [StringEntityId<'_>],
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§impl Entity for StoredCredential
impl Entity for StoredCredential
Source§type PrimaryKey = Sha256Hash
type PrimaryKey = Sha256Hash
Each distinct
PrimaryKey uniquely identifies either 0 or 1 instance. Read moreSource§fn primary_key(&self) -> Self::PrimaryKey
fn primary_key(&self) -> Self::PrimaryKey
Get this entity’s primary key. Read more
Source§fn get<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
key: &'life1 Self::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
key: &'life1 Self::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get an entity by its primary key. Read more
Source§fn count<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Count the number of entities of this type in the database.
Source§fn load_all<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_all<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieve all entities of this type from the database.
Source§impl EntityBase for StoredCredential
impl EntityBase for StoredCredential
Source§const COLLECTION_NAME: &'static str = "mls_credentials"
const COLLECTION_NAME: &'static str = "mls_credentials"
Beware: if you change the value of this constant on any WASM entity, you’ll need to do a data migration
not only because it is used as reference to the object store names but also for the value of the aad.
type ConnectionType = SqlCipherConnection
type AutoGeneratedFields = u64
fn to_missing_key_err_kind() -> MissingKeyErrorKind
fn to_transaction_entity(self) -> Entity
fn downcast<T: EntityBase>(&self) -> Option<&T>
Source§impl EntityBase for StoredCredential
impl EntityBase for StoredCredential
Source§const COLLECTION_NAME: &'static str = "mls_credentials"
const COLLECTION_NAME: &'static str = "mls_credentials"
Beware: if you change the value of this constant on any WASM entity, you’ll need to do a data migration
not only because it is used as reference to the object store names but also for the value of the aad.
type ConnectionType = SqlCipherConnection
type AutoGeneratedFields = u64
fn to_transaction_entity(self) -> Entity
fn downcast<T: EntityBase>(&self) -> Option<&T>
Source§impl<'a> EntityDatabaseMutation<'a> for StoredCredential
impl<'a> EntityDatabaseMutation<'a> for StoredCredential
type Transaction = TransactionWrapper<'a>
Source§fn pre_save<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Self::AutoGeneratedFields>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn pre_save<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Self::AutoGeneratedFields>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Adjust self before saving. Read more
Source§fn save<'life0, 'async_trait>(
&'a self,
tx: &'life0 Self::Transaction,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn save<'life0, 'async_trait>(
&'a self,
tx: &'life0 Self::Transaction,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
Use the transaction’s interface to save this entity to the database
Source§fn count<'life0, 'async_trait>(
tx: &'life0 Self::Transaction,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count<'life0, 'async_trait>(
tx: &'life0 Self::Transaction,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Use the transaction’s interface to count the number of entities of this type in the database.
Source§fn delete<'life0, 'life1, 'async_trait>(
tx: &'life0 Self::Transaction,
id: &'life1 <Self as NewEntity>::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
tx: &'life0 Self::Transaction,
id: &'life1 <Self as NewEntity>::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Use the transaction’s inteface to delete this entity from the database. Read more
Source§impl EntityTransactionExt for StoredCredential
impl EntityTransactionExt for StoredCredential
fn save<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
transaction: &'life1 TransactionWrapper<'life2>,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn pre_save<'a, 'async_trait>(
&'a mut self,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Self::AutoGeneratedFields>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
fn delete_fail_on_missing_id<'life0, 'life1, 'life2, 'async_trait>(
transaction: &'life0 TransactionWrapper<'life1>,
id: StringEntityId<'life2>,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<()>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete<'life0, 'life1, 'life2, 'async_trait>(
tx: &'life0 TransactionWrapper<'life1>,
id: StringEntityId<'life2>,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<()>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§impl PartialEq for StoredCredential
impl PartialEq for StoredCredential
Source§impl Serialize for StoredCredential
impl Serialize for StoredCredential
Source§impl ToValue for StoredCredential
impl ToValue for StoredCredential
Source§impl Zeroize for StoredCredential
impl Zeroize for StoredCredential
impl Eq for StoredCredential
impl StructuralPartialEq for StoredCredential
Auto Trait Implementations§
impl Freeze for StoredCredential
impl RefUnwindSafe for StoredCredential
impl Send for StoredCredential
impl Sync for StoredCredential
impl Unpin for StoredCredential
impl UnwindSafe for StoredCredential
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<E> DecryptData for Ewhere
E: Entity,
impl<E> DecryptData for Ewhere
E: Entity,
Source§fn decrypt_data(
cipher: &AesGcm<Aes256, UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>>,
primary_key: &<E as Entity>::PrimaryKey,
data: &[u8],
) -> Result<Vec<u8>, CryptoKeystoreError>
fn decrypt_data( cipher: &AesGcm<Aes256, UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>>, primary_key: &<E as Entity>::PrimaryKey, data: &[u8], ) -> Result<Vec<u8>, CryptoKeystoreError>
Decrypt some data, symmetrically to the process
encrypt_data uses.Source§impl<E> EncryptData for Ewhere
E: Entity,
impl<E> EncryptData for Ewhere
E: Entity,
Source§impl<T> EntityIdStringExt for Twhere
T: Entity,
impl<T> EntityIdStringExt for Twhere
T: Entity,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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