pub struct StoredHpkePrivateKey {
pub public_key_hash: Sha256Hash,
pub secret_key: Vec<u8>,
}Expand description
Entity representing a persisted HpkePrivateKey (related to keypackage init keys that the client is aware of)
This entity cannot be updated in the DB: the primary key is the hashed public half of the keypair whose
private half it stores, and OpenMLS only ever writes one at key package generation, from a
freshly generated pair. A second save under the same public key with a different secret would
mean the two halves had come apart, so it reports CryptoKeystoreError::AlreadyExists rather than
overwriting.
This entity doesn’t have in independent existence; it shares a table with StoredKeyPackage.
Fields§
§public_key_hash: Sha256Hash§secret_key: Vec<u8>Trait Implementations§
Source§impl Clone for StoredHpkePrivateKey
impl Clone for StoredHpkePrivateKey
Source§fn clone(&self) -> StoredHpkePrivateKey
fn clone(&self) -> StoredHpkePrivateKey
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 StoredHpkePrivateKey
impl Debug for StoredHpkePrivateKey
Source§impl Drop for StoredHpkePrivateKey
impl Drop for StoredHpkePrivateKey
Source§impl Entity for StoredHpkePrivateKey
impl Entity for StoredHpkePrivateKey
Source§const TABLE_NAME: &'static str = StoredKeyPackage::TABLE_NAME
const TABLE_NAME: &'static str = StoredKeyPackage::TABLE_NAME
The name of the SQL table for this entity
Source§fn get(
conn: &Connection,
key: &Sha256Hash,
) -> CryptoKeystoreResult<Option<Self>>
fn get( conn: &Connection, key: &Sha256Hash, ) -> CryptoKeystoreResult<Option<Self>>
Get an entity by its primary key. Read more
Source§fn count(conn: &Connection) -> CryptoKeystoreResult<u32>
fn count(conn: &Connection) -> CryptoKeystoreResult<u32>
Count the number of entities of this type in the database.
Source§fn load_all(conn: &Connection) -> CryptoKeystoreResult<Vec<Self>>
fn load_all(conn: &Connection) -> CryptoKeystoreResult<Vec<Self>>
Retrieve all entities of this type from the database.
Source§impl EntityDatabaseMutation for StoredHpkePrivateKey
impl EntityDatabaseMutation for StoredHpkePrivateKey
Source§fn save<'a, Tx>(&self, tx: &'a Tx) -> CryptoKeystoreResult<()>
fn save<'a, Tx>(&self, tx: &'a Tx) -> CryptoKeystoreResult<()>
Save this entity to the database in the context of this transaction. Read more
Source§fn delete<'a, Tx>(tx: &'a Tx, id: &Sha256Hash) -> CryptoKeystoreResult<bool>
fn delete<'a, Tx>(tx: &'a Tx, id: &Sha256Hash) -> CryptoKeystoreResult<bool>
Use the transaction’s inteface to delete this entity from the database. Read more
impl Eq for StoredHpkePrivateKey
Source§impl PartialEq for StoredHpkePrivateKey
impl PartialEq for StoredHpkePrivateKey
Source§impl PrimaryKey for StoredHpkePrivateKey
impl PrimaryKey for StoredHpkePrivateKey
Source§type PrimaryKey = Sha256Hash
type PrimaryKey = Sha256Hash
Each distinct
PrimaryKey uniquely identifies either 0 or 1 instance. Read moreSource§fn primary_key(&self) -> Sha256Hash
fn primary_key(&self) -> Sha256Hash
Get this entity’s primary key. Read more
impl StructuralPartialEq for StoredHpkePrivateKey
Auto Trait Implementations§
impl Freeze for StoredHpkePrivateKey
impl RefUnwindSafe for StoredHpkePrivateKey
impl Send for StoredHpkePrivateKey
impl Sync for StoredHpkePrivateKey
impl Unpin for StoredHpkePrivateKey
impl UnsafeUnpin for StoredHpkePrivateKey
impl UnwindSafe for StoredHpkePrivateKey
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,
§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.