enigma-storage 0.0.1

Encrypted local storage for Enigma with mandatory at-rest encryption and cross-platform key vault providers.
Documentation
use crate::error::Result;
use crate::key_provider::{KeyProvider, MasterKey};

pub struct ForeignKeyProvider {
    key: MasterKey,
}

impl ForeignKeyProvider {
    pub fn new(key: [u8; 32]) -> Self {
        ForeignKeyProvider {
            key: MasterKey::new(key),
        }
    }
}

impl KeyProvider for ForeignKeyProvider {
    fn get_or_create_master_key(&self) -> Result<MasterKey> {
        Ok(self.key.clone())
    }

    fn get_master_key(&self) -> Result<MasterKey> {
        Ok(self.key.clone())
    }
}