Skip to main content

StoreKeyProvider

Trait StoreKeyProvider 

Source
pub trait StoreKeyProvider {
    // Required method
    fn store_key(&self) -> Result<Zeroizing<[u8; 32]>, StoreKeyError>;
}
Expand description

Supplies the store key that super::SealedFileMlsStorage seals under.

The store key protects the device’s identity keys, its group state and the record key that seals protocol state, so it is the one secret a headless host has to keep. The SDK asks for it once, when the store opens, derives its working keys from it and keeps nothing else.

A host with a keystore (a TPM, a secrets manager, a service manager’s credential store) implements this trait over it. Without one, the key arrives in the clear from wherever the operator put it; the threat model records that as residual risk R18.

Required Methods§

Source

fn store_key(&self) -> Result<Zeroizing<[u8; 32]>, StoreKeyError>

Returns the 32-byte store key.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§